基于有源RFID的电器开关识别和控制电路
近年来社会上涌现出各种类型的遥控开关,都能实现对电器开关的控制,但是往往忽略了对开关的监视,即远程网络触发控制开关后,人不在现场,对遥控连接的开关是否真正动作不得而知。可见对网络遥控的电器开关不但需要控制,还需要识别和监视,做到真正意义上的监控,以增加实用性。关于通信方式,蓝牙、ZigBee 技术控制电路复杂且昂贵,而315 MHz或433 MHz无线遥控技术容易受到干扰[1]。
本设计以特高频2.4 GHz无线电技术为通信方式,附加分时、跳频和数据重发等技术,大大改进系统通信性能,并且加入交流开关检测电路、双控开关电路等,旨在解决现有电器开关的状态不能实现远程识别和监视的问题。本设计只需将一个标签电路加载在现有的开关插座中,即可实现对多个电器开关的现场手动开关监控、本地触摸屏无线监控、远程终端Web监控等3种监控方式,可应用于各种需要监控电器开关的场合。
1 系统组成及工作原理
无线电器开关监控系统如图1所示。系统采用了主设备、从设备、远程终端的框架结构,主设备是一个以ARM嵌入式为核心的读写器,通过WiFi或者网口接入以太网作为服务器;从设备是电器开关节点,加入本设计的电子标签电路,负责控制并检测电器开关的状态。
有源电子标签具有唯一的身份识别码(即ID号),与开关控制模块和状态确认模块相连接,控制电器开关的通断,同时检测电器开关的真实状态。在读写器的有效工作范围内,读写器可与多个电子标签进行信息交互,获取每个开关的状态确认信号,以供用户访问。用户可以直接通过读写器上的QT人机交互界面对电器开关进无线监控,也可以在网络控制界面通过“刷新”命令实时采集各电子标签的状态,以及有针对性地对特定电子标签进行控制。
2 硬件设计
2.1 有源电子标签系统框图
本设计的有源电子标签系统框图如图2所示。其中,超低功耗单片机PIC24F16KA102、555可重复触发单稳态电路、无线收发模块nRF24L01、3.3 V电源稳压模块构成了有源电子标签,易于安装拆卸;有源电子标签有两个接口,输入接口是交流检测电路,用于检测电器开关的真实状态,输出接口是双控开关电路,用于控制电器开关的通断,因为这两部分体积较大且直接与市电连接,故共同封装。
图3中,output连接电子标签的输出控制接口。当output输出高电平时,三极管9013导通,从而驱动继电器闭合;否则继电器断开。由此,远程遥控可以通过改变output的电平来改变电器的状态;同时,无论继电器开关处于何种状态,只要现场拨动“手动开关”,就能改变电器的状态。该双控开关具有明显的优点,当继电器控制电路出现故障时并不影响手动开关的功能,具有较强的实用性,即遥控开关和手动开关相互独立。
2.2.2 电器开关状态检测电路
一般的遥控开关都不能检测开关的实际状态,而本电路设计了用于检测电器开关的实际状态的电路,如图4所示,包括交流检测电路和555可重复触发单稳态电路两部分。
电路采用了一个交流光偶(PC814)直接连接在电器两端。当双控开关连通时,电器两端将有50 Hz的交流电压,经过交流光偶后,在光偶的4脚上就会产生一个100 Hz的矩形波脉冲信号;当双控开关断开时,光偶的4脚上输出为高电平。
为了利用电子标签中单片机的中断功能,还需加入一个“可重复触发单稳态电路”,本设计采用了以555时基电路组成的单稳态电路。可重复触发单稳态电路在暂稳态期间响应接收到的新触发信号,电路重新被触发,使暂稳态延续。当两个相连触发脉冲的间隔时间小于暂稳态持续时间t=1.1×R5×C4,暂稳态将被延续,即合理设置R5、C4可以使输出端持续输出高电平;当输入端输入高电平时,输出端为低电平。
由此,可以利用电子标签input引脚的“电平变化中断”来判断电器的状态。本电路直接利用交流光耦和555电路检测电器的两端是否有交流电,而不是通过软件处理得到电器的状态,因此可以准确地知道电器的真实状态,减少误判。同时,即使单片机损坏或继电器驱动回路损坏,手动开关依然可以控制电器,不受其影响。
2.2.3 主控模块
主控模块采用PIC24F08KA102超低功耗单片机,其典型休眠电流理论上可以低至20 nA。该单片机具有SPI、3个外部中断、16个端口变化中断等接口,还具有内部EEPROM,完全可以满足有源标签的设计需求。
本电路采用内部EEPROM储存标签的身份识别码(ID),以避免外接EEPROM带来的功耗,节省了器件。主控单片机的电路图如图5所示,其中共使用8个引脚,CE、CSN、SCK、MISO、MOSI、IRQ等6个引脚用于控制无线收发模块;input引脚用于检测电器的实时状态;output引脚用于驱动继电器。
2.2.4 无线收发模块
无线收发模块选用挪威公司的nRF24L01射频收发芯片,采用SPI接口与主控单片机通信。nRF24L01是一款工作在2.4 GHz~2.5 GHz世界通用频段的单片无线收发器芯片,内置调制器/解调器、功率放大器、晶体振荡器等电路。它有以下特点:具有125个可选频道,可用于跳频通信,降低周围环境的干扰;具有自动重发和应答功能,数据传输可靠性较高;体积小,采用QFN封装,芯片面积仅4 mm×4 mm;功耗低,在以0 dBm的功率发射时,工作电流只有12.3 mA,接收时工作电流只有11.3 mA,在空闲模式下电流消耗更低[2]。因此,此款无线模块非常适用于电子标签。
2.2.5 电源模块
本电路电子标签充分考虑了低功耗设计,但考虑到驱动继电器需要较大的电流,因此使用电池就显得不足。由于开关暗盒里有火线和零线,因此本电路采取开关电源模块将220 V交流转成直流5 V供继电器使用,再通过3.3 V稳压芯片AM1117将5 V转成3.3 V供单片机和射频模块nRF24L01使用。电路如图6所示。
3 软件设计
3.1 系统发送数据包格式
为了能够识别大量不同的电子标签信息,设置nRF24L01的数据包形式如图7所示。
其中前导码和CRC校验码分别用来同步数据和数据校验,由nRF24L01自动添加。发送地址是接收方的地址。将有效数据拆分成两个部分,一部分包括27 B以内的数据,这里包含电器开关的状态数据;另一部分则是电子标签的ID号,占用5 B(40 bit),符合电子标签的设计要求。当标签读写设备接收到一个数据包,首先判断识别码(ID号),再去处理相关数据,从而能够区分不同标签的数据。
3.2 电子标签工作流程
为达到超低功耗目的,主控单片机有两种工作流程,都采用中断的方式工作。控制流程如图8所示。其中,无线收发模块接外部INT0中断;开关检测输入接RB4电平变化中断。
当主控单片机上电后,经过一系列初始化便进入了休眠模式,功耗极低。当手动开关变化引起电器开关状态变化时,产生RB4中断“唤醒”单片机,进入开关状态采集并通过无线告知电子标签读写器,从而使用户获得准确的电器开关状态显示;当在控制界面发出“改变状态”或者“刷新”电器开关的命令时,信号会通过电子标签的读写器告知电子标签,引起单片机的INT0中断。中断唤醒单片机首先进行命令判断,如果是“改变状态”命令,则将继电器标志位RL_CMD取反,通过output引脚控制电器开关变化,同时通过RB4中断检测电器开关的实际动作情况,并向读写器反馈开关的状态信息,这对远程网络控制非常必要;如果是“刷新”命令,直接进入开关状态采集发送工作流程,获得开关的真实状态,这对于网络控制界面新启动或者重启时非常必要。
一般来说,对电器开关的控制次数较少,电子标签大部分时间都处于休眠模式;对开关的状态控制变化时,都是通过中断技术进行处理,处理完毕后又进入休眠模式。因此总体上控制单片机功耗极低。
3.3 同频干扰对策
由于2.4 GHz的无线设备比较多,本设计也不可避免地会受到同频干扰的影响,主要是WiFi和蓝牙的影响。
其中WiFi频段相对固定,包括13个信道,每两个信道相隔5 MHz,频段从2 412 MHz~2 472 MHz,而本无线收发模块nRF24L01的频段在2 400 MHz~2 524 MHz,共125个频道可任意选择。因此选择避开WiFi的频道,就大大地防止了WiFi信号的干扰。
由于蓝牙是在75个频点内快速跳频以寻找可以握手的设备,频道利用不稳定。本系统采用了以跳频算法为核心的错误重传机制,在错发较多或者无应答时将切换频道重发,可以大大防止蓝牙的干扰[3]。
4 系统性能测试
4.1通信距离测试
测试的场地首先选择广阔的田径场,将阅读器与电子标签分别作为接收端与发送端进行通信距离的测试。在测试中将电子标签的发射功率设置为+22 dBm,工作频率为2 400 MHz,每次传送32 B的数据,开启CRC校验。距离200 m时数据传输稳定,应答灵敏。
对标签采用相同的设置,在有多间教室的实验楼环境下进行另外一组测试。在70 m范围内应答迅速,没有出现紊乱无应答情况,可见足以应用于各办公环境场地。
4.2 标签功耗估算
表1为标签功耗数据,nRF24L01发射功率可调,本设计采用DC=3.3 V,发射功率为-5 dBm。利用器件的睡眠状态能极大降低标签的功耗,从而大大提高了系统的实用性。
本文设计了一种电子标签识别和控制电路,只需加载在现有的开关插座上,即可用于控制电器开关的通断,同时检测电器开关的真实状态,且远程遥控开关和现场手动开关是相互独立的。本产品功耗低,体积小,加装方便,借用了有源RFID技术,在能够识别大量电子标签的技术上,利用分时、跳频和重发机制使通信性能更加稳定,可应用于各种需要网络监控电器开关的场合。系统中还利用ARM嵌入式计算机的上网技术,作为服务器供远程计算机网络对电器开关进行监控,符合物联网的发展趋势。系统的设计及功能均得到了最终的实物验证。