嵌入式课程设计多功能智能插座的应用与设计_第1页
嵌入式课程设计多功能智能插座的应用与设计_第2页
嵌入式课程设计多功能智能插座的应用与设计_第3页
嵌入式课程设计多功能智能插座的应用与设计_第4页
嵌入式课程设计多功能智能插座的应用与设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、安徽大学课程设计报告(嵌入式课程设计)题目:多功能智能插座设计报告 学生姓名(学号): 课程院(系): 电子信息工程学院 物联网工程系指导老师姓名: 职称/学位:副教授 指导老师所在单位:完成时间: 2014年 12月 多功能智能插座设计报告摘要: 智能家居是物联网的主要应用之一,它将实现家居的智能化和信息化。智能插座是智能家居的重要组成部分,它具有供电远程控制、用电状态监测、通信组网等功能,目前市场上的智能插座功能还达不到智能家居系统的要求,因此我们需要设计出新型智能插座。我们设计的智能插座主要利用arduino单片机及esp8266串口wifi等模块,不仅可以做到传统的过载保护,供电定时预

2、约还可以利用微信平台与家用电器实现交互控制,实现远程遥控,借助微信平台还可实现社交物联网,该产品随着智能家居系统的推广,将拥有良好的市场前景。 本文首先介绍了传统的几种智能插座及其功能,并提出了一种新型的智能插座设计方案。从其系统设计方案上介绍了其功能以及其组成部分,并分硬件和软件部分详细的介绍了多功能智能插座的设计方案。 关键字:智能插座; arduino; esp8266串口wifi; 蓝牙目 录1 引言12 智能插座发展现状13 系统设计方案23.1 智能插座的功能23.2 智能插座设计实现34 硬件设计方案34.1 单片机的选择与简介44.1.1 相关参数44.1.2 供电方式44.1

3、.3 输入输出口简介54.2 esp8266串口wifi模块简介54.3 hc05蓝牙模块简介64.4 按键电路75 软件设计方案75.1 程序分析85.1.1 延时程序的设计85.1.2 按键部分95.1.3 按键扫描部分105.1.4 继电器的开关控制105.1.5 红外传感器障碍物检测115.2 软件调试116 小结121 引言 智能插座的未来发展是成为智能家居的组成部分智能家居是物联网的重要应用, 它将融合自动化控制系统、 计算机网络系统和网络通讯技术于一体, 将各种家庭设备如家电设备、 照明系统、安防系统、 网络家电等通过智能家庭网络联网实现自动化。 本文介绍了多功能智能插座的功能和

4、设计方法,它具有智能控制、本地监测、通信组网等多种功能,将满足智能家居系统和物联网的发展需求。智能插座的应用不能单一实现,它必须与智能家居系统相配套,并在系统中发挥作用。随着智能家居系统的快速发展,智能插座的应用将越来越广泛。市场现有的绝大多数插座不具备任何智能功能,极少所谓的智能插座,也只具备定时开关功能,无法对非正常状况进行监测与断电控制,不具备真正的智能功能,并且价格昂贵现有的插座已经不能适应各方面的需要,多功能的智能插座有着强大的市场需求。为此,本文研究了一种以arduino单片机为信息处理核心的多功能智能插座,这种插座具有过流过压保护、定时开通、定时关断、远程控制及电量监控远程查询等

5、功能。 2 智能插座发展现状 传统的电源插座功能仅是分配多路电源, 而智能插座除具备该功能外, 还具有智能化的特点, 普通插座和智能插座从外形到功能均有较大不同, 如图一所示为智能插座与普通插座的对比图。 智能插座 普通插座 图一:智能插座与普通插座对比图 目前市场上已经出现了多种不同功能的智能插座,主要可以分为以下几类:(1)漏电保护型智能插座。该类插座具有漏电保护、超限断电等功能,当发现超过一定幅值的电流未与零线构成回路,认为漏电并立刻切断供电,同时在输入电压过高、用电负荷异常时可自动切断电源,保护电器。(2)定时型智能插座。该类插座主要为用户分时用电而设计。例如在电价便宜时启动电热水器、

6、洗衣机等工作,从而节约电费。该类插座一般具有时钟功能, 可对插座中的每一个插口进行编程,控制电源定时开断。(3)主路控制型智能插座。该类型插座一般有一个主路,其它为辅路。如电脑主机断电后,判断出该主路无电流,则切断整个插座的电源,这样当电脑关机后, 可以将辅路上的其他设备如显示器、音箱等也进行断电,从而减少待机功耗, 提高用电安全性。(4)遥控型智能插座。 插座中的每一路都可以由无线遥控器进行远程控制, 该类插座一般需要同时配一个无线遥控器, 通信方式一般为红外或小无线, 也可声控。(5)计量型智能插座。这类插座的功能类似于单相多功能电表,它可以计量插座中用电设备的电压、电流、功率、电能值等。

7、该类插座一般配有按键和lcd屏,也可将数据传送到电脑上,分析设备的用电情况。图1中的智能插座即为此类。由以上几类智能插座的分析可以得知,智能插座内部均集成了微处理器芯片, 可进行智能处理,但目前的智能插座设计以提供单一的保护、 监测或控制为主, 产品功能较为单一,很难实现信息化和远程控制,还无法达到智能家居系统的应用要求。3 系统设计方案3.1 智能插座的功能 为满足智能家居系统的需求,我们需要设计出新型的智能插座,其必须具有智能化、信息化的特点,除具有电源分配功能外,还应该具备以下功能:(1)过载及漏电保护功能。当用电器超出预设阈值时,自动切断电源,以实现对家用电器及线路的保护。(2)定时预

8、约功能。可利用按键输入定时时间,使智能插座在某一时间节点时打开或关闭电源。如:利用按键设置开电源定时时间3小时,关电源定时时间4小时,则在设置定时3小时之后主控器会自动控制开继电器,在设置定时4小时后,主控器会自动控制关继电器,以实现供电的定时预约功能。(3)远程控制功能。结合蓝牙,串口wifi等通信模块实现近距离或远距离的自动化控制,实现远程实时打开或关闭家用电器。通过开发与微信平台的接口,无论你身在何方,利用微信公众号输入指令即可完成对家用电器设备的控制。(4)用电量监测功能,可实现实时远程查看在某一时间节点后的耗电量及当前设备的功率。可在微信公众好号中输入对应的指令,完成对相关信息的查询

9、。3.2 智能插座设计实现 如下图(2)所示,我们设计的智能插座由以下几个部分构成:负载继电器模块信号测量传感器按键电路通信模块uart主控制器 通信模块按键电路主控制器信号检测模块传感器模块继电器控制部分 图2 智能插座系统结构图(1)主控制器:主控制器主要由一片arduino单片机构成,是整个智能插座的核心,负责整个系统的测量、控制、通信、管理,arduino单片机是一款开源的8bit处理器,兼容性比较强,开发难度较为容易,因此在本课程设计中以arduino单片机作为核心芯片。(2)通信模块:智能插座通过无线通信模块与主控制器进行数据交互,我们设计的智能插座利用esp8266串口wifi模

10、块以及蓝牙模块作为通信模块,实现远程控制插座的通断电以及将主控器采集的功率等数值传上互联网实现,利用微信公众好可查看相关数据以及完成家电设备的控制。(3)按键电路:采用单按键的输入方式触发外部中断,用于开启定时模式,以及完 成定时时间的设定。 (4)信号检测模块:输入的电压、电流强电信号先通过分压电阻、锰铜片等转换为弱电信号,再输入给专用的计量芯片,如att7022b,其内部具有a/d转换、数字运算电路,可自动完成多路电压电流有效值、功率等计算,生成的数据由mcu抄取后处理。(5)传感器模块:由于本系统中很多模块都会耗电,在无人使用时可关掉总电源,因此可用主动式红外模块监测智能插座是否有人使用

11、,若无人使用,则关掉电源,已达到节电的目的。(6)继电器模块:继电器是利用单片机高低电平控制插座通断电的桥梁,可实现小电压控制大电压。4 硬件设计方案4.1 单片机的选择与简介如下图所示为本课程设计所使用arduino单片机的实物图,arduino单片机版本众多,本课程设计使用的是arduino uno,下面对arduino uno进行简单介绍。 图3 arduino单品机实物图4.1.1 相关参数 处理器 atmega328 工作电压 5v 输入电压(推荐) 7-12v 输入电压(范围) 6-20v 数字io脚 14 (其中6路作为pwm输出) 模拟输入脚 6 io脚直流电流 40 ma 3

12、.3v脚直流电流 50 ma flash memory 32 kb (atmega328,其中0.5 kb 用于 bootloader) sram 2 kb (atmega328) eeprom 1 kb (atmega328) 工作时钟 16 mhz4.1.2 供电方式arduino uno可以通过3种方式供电,而且能自动选择供电方式 外部直流电源通过电源插座供电。 电池连接电源连接器的gnd和vin引脚。 usb接口直接供电。电源引脚说明 vin - 当外部直流电源接入电源插座时,可以通过vin向外部供电;也可以通过引 脚向uno直接供电;vin有电时将忽略从usb或者其他引脚接入的电源。

13、 5v - 通过稳压器或usb的5v电压,为uno上的5v芯片供电。 3.3v - 通过稳压器产生的3.3v电压,最大驱动电流50ma。 gnd - 地脚。4.1.3 输入输出口简介 14路数字输入输出口:工作电压为5v,每一路能输出和接入的最大电流为40ma。每一路 配置了20-50k欧姆内部上拉电阻(默认不连接)。除此之外,有些引脚有特定的功能: 串口信号rx(0号)、tx(1号): 与内部 atmega8u2 usb-to-ttl 芯片相连,提供ttl电压水平的串口接收信号。 外部中断(2号和3号):触发中断引脚,可设成上升沿、下降沿或同时触发。 脉冲宽度调制pwm(3、5、6、9、10

14、 、11):提供6路8位pwm输出。 spi(10(ss),11(mosi),12(miso),13(sck)):spi通信接口。 led(13号):arduino专门用于测试led的保留接口,输出为高时点亮led,反之输出为低时led熄灭。 6路模拟输入a0到a5:每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5v,可以通过aref调整输入上限。除此之外,有些引脚有特定功能: aref:模拟输入信号的参考电压。 reset:信号为低时复位单片机芯片。4.2 esp8266串口wifi模块简介图4 esp8266串口wifi模块 esp8266是一款高度集成的芯片

15、,该芯片专门针对无线连接的需求而开发,是一个完整且自成系统的 wi-fi 网络解决方案。它能够搭载软件应用,也能通过另一个应用处理器卸载所有的wi-fi网络功能。esp8266具备强大的片上处理和存储功能,这使其可通过gpio口集成传感器及其他应用的特定设备,既缩短前期开发时间,也最大限度减少运行中系统资源的占用。esp8266 高度片内集成,仅需极少的外部电路,而其包括前端模块在内的整个解决方案,可将设计中 pcb 所占的空间降到最低。产品特性:sdio 2.0、spi、uart接口32-pin qfn 封装集成 rf开关、 balun、lna、24 dbm pa 、dcxo和电源管理单元(

16、pmu)集成 risc 处理器、片上存储器和外部存储器接口集成 mac/基带处理器高品质的服务管理高保真音频应用所需的 i2s 接口所有内部供电均包含片上低压差线性稳压器专有的无杂散时钟生成架构集成 wep、tkip、aes 和 wapi 引擎产品规格:802.11 b/g/nwi-fi direct (p2p)、soft-ap集成 tcp/ip 协议栈集成 tr 开关、balun、lna、pa 和匹配网络集成pll、稳压器、dcxo 和电源管理单元802.11b模式下 +19.5dbm 的输出功率小于 10ua 的断电泄露电流集成低功耗 32 位 cpu,可以兼作应用处理器sdio 1.1/

17、2.0、 spi、uart 接口stbc、 11 mimo、21 mimoa-mpdu & a-msdu 聚合 & 0.4ms 的保护间隔2ms 之内唤醒并传递数据包待机状态消耗功率少于 1.0mw (dtim3)4.3 hc05蓝牙模块简介hc05蓝牙模块与属于hc民用级串口蓝牙模块。可用于各种带蓝牙功能的电脑、蓝牙主机、手机、pda等智能终端配对,兼容单片机系统。当主从模式两个蓝牙模块配对成功后,图5 hc05蓝牙模块可以取代串口线通讯为无线蓝牙。hc05蓝牙模块的主要参数如表1所示,与单片机的连接如图6所示。 表1 hc05蓝牙模块参数说明:接口ttl电平,兼容3.5v/5v单片机波特率

18、4800-1382400,默认9600通讯距离10米(空旷环境)对外接口6pin排针工作电流配对中:3040ma未通讯:18ma通讯中:530ma 图6 单片机与蓝牙模块的连线图 4.4 按键电路 如图(7)所示即为按键电路的原理图,当按键按下时i/o口会接收到一个由高电平到低电平的下降沿,在中断前将i/o口的电位赋为高电平,中断发生时会有一个由高到低的跳变,中断完成后再将i/o口复为高电平等待下一次跳变,用多个按键即可触发多个中断完成智能插座的相关设置。图7 按键电路原理图5软件设计方案软件设计主要实现插座上没有连接电器时自动断电、用户可远程控制插座的通断电、用户可手动设置让插座定时通断电这

19、三个功能。用arduino语言先书写相应的程序块,以函数的形式体现,然后在主程序中调用这些函数。程序部分主要包括延时部分、按键部分、按键扫描部分继电器控制部分和蓝牙模块部分。设计的思想是:首先进行初始化,设置好端口并初始值,红外传感器用于检测插座上是否有遮挡物(即是否有插头在使用),若有插头使用,用户可以通过手机终端控制继电器的开与关进而控制插座的通断电;若无插头使用,则继电器无法打开,插座不能通电。另外使用循环程序设置定时时间也是关键。而蓝牙模块的功能则是用与终端设备的通信,如本实验使用的手机终端,当手机发送“开”或“关”的指令后,蓝牙模块接收到并进行响应。图8 主流程图 初始化的设定包括个

20、引脚的定义,初始电平,按键一次的延时时间和波特率。5.1 程序分析5.1.1 延时程序的设计void timeadd() delay(20); if(digitalread(3)=0)time=time+1000;digitalwrite(3,high); 为避免按键扰动设置有20ms的延时,检查引脚3(该引脚连接按键,按下对应为“0”)是否为“0”,若为“0”则延时加1000ms,若没有延时指令则引脚3写入高电平。因此可以通过多次按键实现延时时间的累计。当然这里为了便于观察现象设置time为1000ms,也可以增大按键一次所延时的时间,以满足用户的需求。图9 延时程序流程图5.1.2 按键部

21、分void button() key_num=0; mstimer2:set(time, timing_switch); mstimer2:start(); void timing_switch() digitalwrite(relay,high); time=1000; mstimer2:stop(); 这里为了简洁使用mstimer2库函数,它是一个定时器中断函数,当time溢出时就跳转至timing_switch,结束中断。需要注意的是当使用这个函数时需要事先在arduino的函数库中导入该函数文件。当然也可以自己编写中断程序。5.1.3 按键扫描部分void scan_key()if(

22、 digitalread(key) = low ) delay(20);if( digitalread(key) = low ) key_num = 1;while(digitalread(key) = 0); 如果并不是要进行定时设置却碰到了按键,这时候很可能会出现错误的响应,因此,加入按键扫描的检查就十分有必要。程序中,首先做一次按键检查,判断按键是否按下,若按下,延时20ms后再次检查,若仍为按下则进行确认。这样就需要我们在按键时停顿一会,避免了扰动产生的问题。5.1.4 继电器的开关控制if(uart_buffer0 = o & uart_buffer1 = n & uart_buff

23、er2 = !)digitalwrite(relay,low); serial.println(relay on complete!);for(i = 0 ; i 20 ; i+)uart_bufferi = 0;if(uart_buffer0 = o & uart_buffer1 = f & uart_buffer2 = f & uart_buffer3 = !)digitalwrite(relay,high);serial.println(relay off complete!);for(i = 0 ; i 20 ; i+)uart_bufferi = 0;图10 继电器流程图 首先接收蓝

24、牙接收终端发过来的ascii码并判断,若设置”on!”和”off!”接收到为“on!”则打开继电器,接收到为“off!”则关闭继电器,从而实现对插座的通断电控制。5.1.5 红外传感器障碍物检测void barrier_dete()if (digitalread(2)=1)delay(50);if (digitalread(2)=1)digitalwrite(relay,high); 红外传感器通过红外线的反射来检测障碍物,红外线传感器测量时不与被测物体直接接触,因而不存在摩擦,并且有灵敏度高,反应快等优点。如果有障碍物则可以控制插座开关,如果无障碍物返回高电平,无法打开继电器。5.2 软件调

25、试 arduino的程序层次清晰,便于检查和修改,调试起来比较方便,程序的运行分为两个步骤,第一步就是要在电脑进行编译,这时候能够查出程序中的语法错误;第二步就是将程序下载到板子上进行运行,控制插座的通断电和定时时间的检验,来判断逻辑性错误,纠正思路、方法。比如定时通断电,我们遮挡住红外传感器,按下延时按键几次,观察小灯亮的时间是否与预计一致。手机终端使用“蓝牙串口通信助手”进行调试。初次使用时连接蓝牙设备配对,可设置ascii和hex输入输出类型,课选择键盘模式,预置好发送的内容,即可在需要时与已连接的设备通信。6 小结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼

26、实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,物联网将应用于生活的各方各面,其中的智能家居更是人们所关注的重点领域,所以我们此次的课程设计为多功能智能插座的应用与设计。回顾起此次嵌入式课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在差不多俩个月的日子里,学到很多很多的的东西,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计已经顺利完成,我们在设计中

27、遇到了很多问题,最后在老师的指导下,终于游逆而解。我想我们在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!通过这次课程设计还使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,在实际设计中才发现,书本上理论性的东西与

28、在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己和团队一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。通过这次课程设计我们也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。最后,此次课程设计是通过我们小组成员的共同努力和动脑完成的,虽然内容并不是很复杂,但是我们觉得设计的过程相当重要,培养了我们独立思考、团队合作以及动手操作的能力,我们学到了很多,收获了很多。

29、我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合、相处,以及自身的动脑和努力,都是以后工作中需要的。所以这次的课程设计意义很深,与同学的共同学习、配合、努力的过程也很愉快,另外还要感谢老师的耐心辅导。参考资料美massimobanzi著,于欣龙,郭号赟译.爱上arduino.人民邮电出版社,2011杨欣,莱洛克斯,王玉凤,刘湘琴.电子设计从零开始.清华大学出版社,2010郑娴,姚铭. 智能家庭网络的研究现状与发展趋势.智能建筑与城市信息,2006(8).徐伟,姜元建,王斌.智能插座在智能家居中的应用与设计.中国机器

30、仪表(2010)陈海旺,张振娟,黄明.智能家居中无线智能插座的涉及.电视技术(2013)姚文轩,滕召胜,熊静雯,邓远宁,谭霞.多功能智能插座设计.企业技术开发(2010)附录一 原理图 arduino原理图蓝牙模块原理图二 程序#include #include #define relay 4char uart_buffer20;char uart_count = 0;char temp = 0;#define key 5int time =1000;unsigned char key_num = 0;void setup() attachinterrupt(1,timeadd,change); digitalwrite(key,high); pinmode(relay,output); serial.begin(9600);void timeadd() delay(20); if(digit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论