远程智能家居控制器设计论文.doc_第1页
远程智能家居控制器设计论文.doc_第2页
远程智能家居控制器设计论文.doc_第3页
远程智能家居控制器设计论文.doc_第4页
远程智能家居控制器设计论文.doc_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

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

文档简介

远程智能家居控制器摘要:本文介绍了智能家电接口控制系统,该系统以stc89c58rd+核心,通过无线组网实现pc机终端或控制终端与家用电器设备通信,来控制家电,以及对家电的实时监控,此系统实现了以一台计算机虚拟终端或手持终端来控制多个家电的控制模式,将所有家用电器设备组到一个网络里,这样为未来的智能家居实现成为了可能,而且此接口操作方便,实用性强,安全性好,有较高的推广价值。关键词:stc89c58rd+,家电接口智能集合、实时无线网络控制1 作品简介家电智能接口stc89c58rd+系统实现家用电器与电脑终端系统的连接。整个系统由家电智能接口、上机软件、家用电器组成,将多个家用电器集结在一个虚拟控制终端,通过电脑终端系统对家电的使用情况进行远程控制,可以同时控制多个且多种家用电器。并且这样的终端控制软件进一步开发后可以嵌入到手机、电脑等便携式工具中,从而达到随时随地对家电的使用情况有详细的数据显示,并且可以对家用电器进行控制和调整。同时也可通过虚拟界面了解家电使用,对于及时发现电器所引发的灾害从而及时救灾提供了依靠。2 方案设计2.1所选元器件依据、理由及简介(1) stc90c51rc/rd+系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,内部集成max810专用复位电路,工作频率范围:0 - 40 mhz,相当于普通8051的 080mhz,共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用,这些特点保证了可编制出高效率的源程序。(2) nrf2401 nrf24.l01是一款新型单片射频收发器件,工作于2.4 ghz2.5 ghz ism频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型shockburst技术,其中输出功率和通信频道可通过程序进行配置。nrf24l01功耗低,在以-6 dbm的功率发射时,工作电流也只有9 ma;接收时,工作电流只有12.3 ma,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。nrf24l01主要特性如下:1.gfsk调制:2.硬件集成osi链路层;3.具有自动应答和自动再发射功能;4片内自动生成报头和crc校验码;5.数据传输率为l mb/s或2mb/s;6.spi速率为0 mb/s10 mb/s;7.125个频道:8.与其他nrf24系列射频器件相兼容;9.qfn20引脚4 mm4 mm封装;10.供电电压为1.9 v3.6 v。其管脚分布如图1所示。图 1 nrf24l01管脚图(3)jrc-19f(4078)电磁继电器:超小型小功率继电器,很方便的用于低压控制高压型电路,且具有单控双的作用,在设计时,可以在接通家电的同时在另一指示电路中查看其工作状态,因此此元件实用于此。(4)max232: 单5v电源工作, 30v输入电平、两个驱动器及两个接收器,用来进行电平的转换。(5)lm317:一种常用三端稳压ic,在输出电压范围在1.2v到37v时,能够提供超过1.5a的电流,易于使用。2.2 系统构成 图2 系统框图本系统由上机软件、智能控制接口和家用电器设备组成。其系统框图如图2所示。上机软件负责与用户的交互,并将信息通过uart传到智能家电接口。智能家电接口是由arm为主控制器,辅以nrf24l01无线射频芯片和扩展io组成。家电接口在收到上位机传来的信息时,解析并将此以固定的通信协议发送出去。每个家用电器设备都配有一个家电接口。其扩展io与电器设备的控制单元相连。当电器设备工作时他就会监测空中的无线电波信号。当截获的无线信号的地址与本地址相匹配时,接口就会解析此数据包,并按照通信协议完成相应的操作。例如判断该数据包的发送方的控制信号中是否有关机信号,若有的话,它将驱动io来控制电器设备执行相应的操作。同样,每隔一段时间,附在家用电器设备上的接口会检查电器设备状态,然后按照通信协议,将状态组成数据包,再安照主机的地址发送出去。2.3 硬件设计 图3 系统接口原理图在接口电路中,主要由stc89c58rd+、继电器和nrf24l01组成。其原理图如图3所示。在蓝色方框部分为arm开发板引出来的接口。该系统控制对象对象为一电扇,他提供了四线控制方法,通过将其中的两根线连接,从而选到某个档位上。所以我们采用继电器来控制着导线的两两连接组合。对电风扇的三个档位进行控制,由stc89c58rd+的i/o口pb4、5、6实现档次的调节。电路中还采用的保护电路,防止了硬件破坏。无线 模块 部分:nrf24l01通过miso、mosi、sck与mcu的ssi接口连接,nrf240为标准的spi接口,这种连接方式的特点是可以充分发挥spi接口的高效以及 nrf240高效无线传输的优势,具有大的数据吞吐量。而且mcu只要将要发送的数据写入spi的缓存,就可以执行别的其他程序,不用一直围绕发送数据去模拟时序而浪费宝贵的mcu时间。通过pc4、pc5来控制nrf2401的ce和csn,由于nrf2401有一个中断标志位irq,所以这样就使其与pd1端口连接,并打开mcu的端口中断,当接收到数据是就触发中断,这样就大大节省了mcu的时间,不要一直循环等待去接收数据,只要在中断函数中读取接收缓存,取出数据。2.4 软件设计(1)上机软件部分本系统的上机软件是在nokia公司提供的qt开发环境,版本是qt4.5。我们利用上机软件主要是为用户提供一个友好的操作界面,通过此软件,用户可以随心所欲的操作他想要操作的电器设备。为此上机软件需要由上位机串口控制、电器设备管理、用户交互这三个部分构成。由于qt自身没有集成串口库,于是只好借鉴第三方库qextserialport。由于上机软件在整个过程中都要用到串口通信,因此软件的很多对象就必须添加对串口的访问。例如,在串口设置的部分可设备控制部分都需要访问串口。因此在main中声明一个全局qextserialport对象,然后在各自定义类中继承。为了体现友好的访问控制界面,软件大胆的采用了全gui控制方案。在本软件中做了个电扇的控制界面,为了很好的体现电扇的控制特性,软件提供了两个控制旋钮,一个作为风速调节,另一个为定时设置。软件还绘制了个风扇模型,并实时的反应当时电扇的工作情况。由于qt库并没有提供旋钮库,所以我们自己封装这个控件,起初现在widget里绘制图形,但其定位和控制都相当复杂,当多个控件组合起来时常有覆盖的的现象。接着软件采用了qt提供的qgraphicsitem,qgraphicsscene和qgraphicsview这个类,将各个元素都封装成items,并在里面重载mousepressevent函数,来响应鼠标事件。接着通过qgraphicsscene来构造个场景,将items添加进去并定位,最后通过qgraphicsview来显示。为了能够很形象的反应电扇状况,软件添加了电扇的动画效果,其原理是通过旋钮的事件触发来打开和关闭定时器,不同的旋钮值对应不同的定时器设定值,接着定时器触发自定义槽来控制扇叶的旋转。这样就形成了动画效果。(2)下位机软件设计由于nrf2401是标准的spi接口,这样给软件设计带来了很大的方便,只须把miso、mosi、sck与mcu的ssi接口连接就好,无线控制软件系统流程图如图所示,先通过ssi接口写nrf2401寄存器,对其进行初始化配置(使能0通道、使能0通道自动接收、config寄存器为接收模式),因为家用电器接口只要接收上位机发来的信息,所以只要打开接收模式,等待接收数据,当有接收中断触发时,mcu转去执行中断,中断函数中读取接收缓存,取出数据,当接收完数据后,mcu转去执行主函数,把接收到的数据转换为实际的控制指令(通信协议),在此通信控制系统中,传输的数据皆为asicc码,在主函数中,把接收到的数据按位提取,进行指令解析,最后把命令传给各控制端口,对家电进行控制。当发送端nrf24l0l配置成ptx模式时,配置nrf24l01工作在后一种发送模式下,重新发送的等待时间为250s,重新发送次数为10次,地 址是默认地址,输出功率为0 dbm,速度为2 mbs,并且使能发送完成和重发送次数超限两种中断,crc校验位为2字节,nrf24l01处于power_up状态。函数中write_reg为写 命令基地址0x20。程序如下:void nrf_tx_init() gpiopinwrite(ce_port,ce_pin,0x004); /设置ce为低 gpiopinwrite(csn_port,csn_pin,0x015); /设置csn为高 spi_write_reg(write_reg+en_aa,0x01); /配置en_aa寄存器 spi_write_reg(write_reg+en_rxaddr,0x01); /配置en_rxaddr寄存器spi_write_reg(write_reg+setup_retr,0x0a); /配置setup_retr寄存器spi_write_reg(write_reg+config,0x0e); /配置config寄存器 gpiopinwrite(ce_port,ce_pin,0x014); /设置ce为高图4 无线发送控制软件流程图当接收端nrf24l01模块配置成prx模式时,配置nrf24l0l工作在接收模式下,地址为默认地址,负载数据宽度是tx_pl_w,使能接收完数据中断,crc校验位为2字节,nrf24l01处于power_up状态。程序如下:void nrf_rx_init() gpiopinwrite(ce_port,ce_pin,0x004); /设置ce为低 gpiopinwrite(csn_port,csn_pin,0x015); /设置csn为高 spi_write_reg(write_reg+en_aa,0x01); /配置en_aa寄存器 spi_write_reg(write_reg+en_rxaddr,0x01); /配置en_rxaddr寄存器spi_write_reg(write_reg+rx_pw_p0,tx_pl_w); /配置rx_pw_p0寄存器spi_write_reg(write_reg+config,0x0e); /配置config寄存器 gpiopinwrite(ce_port,ce_pin,0x014); /设置ce为高 图5 无线接收控制软件流程图2. 4 读写通信协议 write:数据包头 命令字 设备号 操作码 数据包头 1b 0x02 命令字 1b 0x01 写命令 0x02 读命令 设备号 2b 操作码 1b read: 数据包头 命令字 设备号 状态字 数据包头 1b 0x02 命令字 1b 0x01 写命令 0x02 读命令 设备号 2b 状态字 1b3 作品主要创新点3.1 用计算机虚拟技术,通过一个控制接口将所有家用电器设备都集合于一个虚拟控制终端上,操作方便,避免了众多烦琐的遥控器。3.2 控制终端软件可以安装在电脑上,进一步开发后,可以安装在手机或专用嵌入式控制终端上。3.3 通过计算机虚拟界面控制按钮来远程设置,并能在虚拟界面上直观地看见电器的工作状态,从而实现远程、实时、安全的家电控制。3.4 接口操作方便,实用性强,安全性好,对于家居电器使用情况实时监控,对灾害起到一定避免作用,也为救灾提供了时间。3.5 加入了电流过载报警,可一起到预警保护作用。4 作品推广应用价值4.1 各电器生产厂商可根据自己生产的电器设备定制和生产控制口,

温馨提示

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

评论

0/150

提交评论