摘 要:设计了一种电器开关无线监控系统。系统实现了对多台电器电源的手动开关、本地计算机遥控开关、远程网络终端控制开关三种控制方式的实时或定时控制,同时在本地计算机和远程网络终端中提供了显示受控电器的电源通断状态。系统硬件通过USB接口实现与上位机的通信,通过无线电实现对电器的监控,并采用了跳频和时分技术,克服了无线传输过程中的同频干扰等问题。
关键词:无线监控;USB接口;同频干扰;电器开关
随着社会经济水平的发展,人们越来越追求舒适、便捷的生活方式,对家居的要求也趋向于智能化、自动化。电子技术在智能家居产品中得到广泛应用,而融合了计算机网络与通信技术的家居控制系统更给人们的生活带来了全新的体验。现有的家居电器控制系统可通过电话线、GSM网络、GPRS无线网络等方式实现对电器的远程控制[1-3],但控制方式比较单一,也比较少涉及对电器开关状态的监视,远程用户实际上是处于 一种盲操作状态:既不知当前电器开关状态,也不知操作后电器的执行情况。
本文所述的电器开关无线监控系统不仅实现了对电器开关多种方式的控制,而且也同时实现了对电器开关多种方式的监视,实现了真正意义上的监控。具体包括如下几种方式:
(1)手动开关监控。和人们的日常习惯相同,通过手动控制开关,同时通过开关指示灯提示开关的状态。
(2)遥控开关监控。利用本地计算机集中控制开关,并能在计算机界面实时显示各个开关的状态,方便办公室或家居用户对所有电器的集中监视、控制和管理。如办公人员下班前即可在电脑前完成对办公室所有电器的集中检查,关掉不必要的电器,以节约能源并减少安全隐患。
(3)远程网络开关监控。通过计算机网络,在远程终端中实现对开关的控制,并能够显示开关的通断状态,方便远程控制端的用户对电器进行实时监视。如办公人员下班以后、或者遇到雷电天气时,完成对办公室所有电器的集中检查,关掉不必要的电器,以节约能源并减少安全隐患。
系统采用USB作为硬件设备与上位机的通信接口,既可实现硬件设备的即插即用,又为设备提供了电源,免去外置电池,利用计算机作为控制平台,则可借用其丰富的硬件资源,方便地实现对电器多种方式的灵活控制。此外,系统采用跳频和时分技术,解决了无线传输过程中的同频干扰等问题,提高了系统的稳定性。
1 系统设计
系统采用了本地计算机、远程网络终端、主控制设备及从设备的框架结构,如图1所示。本地计算机和远程网络终端的上位机应用程序负责响应用户的控制指令并传给主控制设备,由后者控制相应的从设备做出响应;从设备除控制电器电源开关外还负责采集其状态信息,以供主控设备返回给上位机。
主控制设备与多个从设备间采用无线双向传输方式,以避免设备安装时布线的麻烦。常用的无线传输方式有蓝牙技术、ZigBee技术和基于nRF24L01射频收发器件的2.4 GHz无线传输、基于PT2262/PT2272编解码芯片的315 MHz或433 MHz无线传输等[3-5]。考虑到系统中每个受控电器均需一个从设备来单独控制,因此从设备的结构简单及成本低廉显得尤为重要,故本设计采用基于PT2262/PT2272的无线传输方式,并采用跳频技术和分时技术来克服干扰问题。
2 系统硬件设计
硬件电路系统包括一个主控制设备和多个从设备,每个从设备控制并监测一台电器。主控制设备通过USB接口与上位机通信,接收来自上位机的控制指令并解析,然后将其通过无线电传给相应的从设备,同时等待并接收从设备的反馈信息;相应的从设备接收到控制指令后,做出相应的响应,如改变电器电源通断状态或返回电器状态信息等。
2.1 主控制设备电路
主控制设备电路由控制电路、USB接口电路和无线电发射/接收模块组成,其硬件结构如图2所示。USB接口电路用于与上位机的通信,无线电发射/接收模块用于与从设备的数据交互,两者均受控于单片机控制电路。
单片机控制电路选用ATMEL公司的8 bit微处理器AT89S52作为主控芯片。USB接口电路采用PHILIPS公司接口芯片PDIUSBD12设计实现。
发射模块向各个从设备发送控制指令,接收模块则实时监听各个从设备返回的电器状态信息。无线电发射/接收模块由编解码芯片PT2262/PT2272及高频发射/接收模块F05R和J05U组成,可实现315 MHz或433 MHz频段的无线电通信。编码芯片PT2262发出由地址码、数据码、同步码组成的编码信号,解码芯片PT2272接收到编码信号后进行发送端地址码与接收端地址码的比较判断,地址一致则解码有效,否则无效,其中发送端与接收端的地址码均由各自的地址引脚电平决定。然而基于PT2262/PT2272的无线传输方式频段少且带宽窄,当系统中两个或两个以上的发射模块同时工作时容易造成同频干扰等问题。解决此类问题的方法有跳频技术、分时技术等[6]。本系统同时采用了这两种技术。
(1)采用跳频技术,即主设备向各个从设备的无线传送采用433 MHz频段,而各个从设备向主设备返回数据则用315 MHz。但由于各个从设备的发射频率均为315 MHz,仍存在同频干扰的问题。
(2)采用分时技术,以保证任意时刻最多只有一个无线发射模块在工作。具体措施为:借鉴USB总线传输协议中主机发起传输、从机响应主机请求的半双工传输机制,由主设备发出“改变电器状态”或“返回电器状态”的指令,相应的从设备收到后做出被动响应,而主从设备的发射模块只有在需要传输数据时才开启,其余时间均关闭,以避免成为其他发射模块的干扰源。如此,只要主设备分配好各个发射模块的工作时间,不令两个以上的从设备同时返回数据即可避免同频干扰了。
为配合分时抗干扰的应用,在主控制设备的硬件电路中,主控芯片AT89S52需对无线电发射模块进行使能控制,通过一个I/O引脚控制发射模块的工作电源,以实现只有在需要发射信号时才导通电源,其余时间则断开。设置连续控制从设备的时间间隔为1 s,这样就很好地解决了同频干扰的问题。
2.2 从设备电路
从设备电路包括电源转换、继电器电路、无线发射接收和控制等模块,其电路如图3所示。无线电发射接收模块分别用于返回电器状态信息和接收主控制设备的控制信号;控制模块依据无线接收模块和手动开关的控制信号来控制继电器电路的通断状态,实现对电器的电源控制。
从设备无线电发射接收模块的电路设计与主控制设备的类似。PT2262接收主设备的控制信号,并通过D0和D1引脚输出,其中D0引脚的电平变化表示“改变电器的开关状态”,D1引脚电平变化则表示“返回电器开关状态”。此外,无线发射模块中的F05R电源地引脚受控于控制模块的发射使能信号,使能信号有效时,才启动并返回设备的开关状态。
本系统电器的三种控制方式有:手动开关控制、本地计算机遥控开关和远程网络终端控制开关,后两种控制方式是上位机应用软件通过主控制设备向从设备发送无线控制信号来完成的。为实现这三种方式的相互独立控制,在从设备中,控制模块采用74LS86组成“异或”电路,如此,则无论输入端的手动开关控制信号还是无线控制信号发生变化都会导致输出端信号的变化,从而引起电器电源通断变化,达到手动控制与软件控制互不干扰的目的。
为解决无线电相互干扰的问题,同样需要对无线电的发射模块进行使能控制。使能电路实际为由NE556双时基电路构成的两个“暂稳态”时间均为1 s的单稳态电路。接收模块的D1信号及其反信号~D1分别作为两个单稳态电路的触发输入,而它们的输出则经过相“与”后作为发射模块的使能信号。如此,只需D1电平的变化即可触发无线电发射模块工作1 s。考虑到两个单稳态电路不会出现同时输出低电平的情况,为节约资源,采用了74LS86空闲的两个“异或”门实现相“与”的功能。
从设备控制核心结构简单,稳定可靠,成本低廉。
3 系统软件设计
系统的软件设计主要包括上位机应用程序和单片机AT89S52固件程序的设计,前者为用户提供本地客户端和远程客户端的电器监控界面并进行相应的后台数据处理;后者控制PDIUSBD12响应计算机的请求,实现与计算机的USB通信。此外,还通过无线发射/接收模块完成对各个从设备的无线监控。
3.1 上位机应用程序
上位机软件分为本地客户端和远程客户端两部分,分别应用于本地计算机和远程网络终端平台,两者均是通过VC编程实现。
本地客户端软件由用户控制界面、状态显示界面、错误警告、网络接口、数据处理和USB接口等模块组成,如图4所示。用户控制界面模块用于采集用户的控制信息,由数据处理模块打包后通过USB接口模块传输至硬件设备;数据处理模块同时还接收硬件设备返回的受控电器的状态信息和错误警告信息,并分别提供给状态显示界面模块和错误警告模块;网络接口模块则为通过了密码验证的远程客户端软件提供数据接口。
用户控制界面上包含了刷新、开/关和定时等按钮,分别用于刷新所有受控电器的状态、实时和定时控制某个电器的开关,当按钮点击事件处理函数捕获到某个按钮被按下时,即将此控制信息传送给数据处理模块。
状态显示界面模块接收电器的状态信息并显示在界面上。电器的显示状态有两种更新状态,一是用户控制某个电器的开或关时,刷新显示该电器执行指令后的状态;二是用户点击控制界面上的“刷新”按钮时,刷新显示所有受控电器的实时状态。
本设计的USB接口硬件属于人机接口设备HID(Human Interface Device)类别,设备首次接上计算机主机时,Window系统会自动为其安装驱动程序。上位机的USB接口模块首先调用Win32 API函数CreateFile()打开设备,并取得访问设备驱动程序的句柄,然后通过ReadFile()及WriteFile()函数实现与硬件HID设备的数据通信。
远程客户端软件的设计除了没有USB接口模块外,其他的与本地客户端软件类似,两者通过网络接口模块实现数据交互。
3.2 单片机固件程序
固件程序使用Keil C51开发。USB通信信道的建立及数据的交互是在中断处理程序中实现的,程序通过判断PC主机请求中断的类型来作出不同的响应。对从设备的无线监控则是在主程序循环中实现, 其流程图如图5所示。主程序初始化完成后便不断地检测上位机是否有控制指令下传,若有,则进行解析。若控制指令为“改变电器状态”指令,则设置相应的无线发射地址,发送指令,并稍作延迟后再次向该从设备额外发送“返回电器状态”指令,令其返回指令执行后的电器状态信息;若为“刷新电器状态”指令,为避免同频干扰,主程序并不一起命令所有从设备同时返回状态信息,而是以轮询方式,即首先向第一台从设备发送指令并接收其返回的状态信息,然后更改发射地址,向第二台从设备发送指令,如此循环,直到取得所有电器的状态信息。由于每个从设备接收到刷新指令后都会触发其发射模块工作1 s,所以在轮询过程中,只要主设备在向下一个从设备发送控制指令前延迟1 s,使得连续控制从设备的时间间隔为1 s以上,即可避免多个从设备的发射模块一起工作的情况,即可解决同频干扰的问题。
本文设计并实现了一种电器开关无线监控系统,可实现对电器开关多种方式的灵活控制和实时监视,实现了对电器开关的联网监控。设计采用USB接口,实现了硬件设备的即插即用,并且灵活地借用了计算机丰富的硬件资源,无需复杂的硬件电路即可实现对家用电器的各种控制。此外,设计采用跳频和时分技术,解决了无线传输过程中的同频干扰等问题,提高了传输的稳定性,降低了开关从设备的成本。系统的设计及功能均得到了最终的实物验证。
参考文献
[1] 孙莹.智能家居控制系统设计[J].仪器仪表用户,2011,18(4):17-19.
[2] 沈舒海,王晓东,胡珊逢,等.基于GPRS网络的智能家居控制系统[J].电子器件,2012,35(2):199-203.
[3] 余炽业,宋跃,曾国敬,等.一种智能家居远程监控系统设计[J].电测与仪表,2011,48(2):36-49.
[4] 陈龙涛,罗桂娥,周卫,等.基于ZigBee技术智能家居系统的研究与设计[J].微型机与应用,2010,29(20):100-102.
[5] 姬五胜,吕丁强,边立强.智能家居照明控制无线开关系统[J].微型机与应用,2011,30(20):21-26.
[6] 邵连.简论无线通信中的抗干扰技术[J].电信快报,2012(3):40-42.