无线控制开关系统设计
2020-01-08林航
林 航
(湄洲湾职业技术学院自动化工程系,福建 莆田351254)
伴随科学与技术的快速发展, 家居智能化的脚步也不断加快。在无线开关应用方面,目前应用较多的是红外无线控制和超外差无线电遥控。
红外遥控器(IR Remote Control)是采用发射近红外射线进而控制设备的遥控装置。 普通红外遥控系统又由发射模块和接收模块组成。 红外遥控的优点是具有独立性,不对附近的设备产生影响。 但是也存在不能穿越阻挡物的特点,不同房间内的家电设备能够使用普通遥控器而不受控制干扰。 同时,红外遥控电路只要按照设计电路完成正确连接, 不需要调整就可以正常工作;在编码和解码方面有很成熟的芯片应用电路,很容易实现多路遥控。 目前,红外遥控器已广泛应用于室内家电的近距离遥控。
无线遥控(RF Remote Control)是一种利用无线电信号远程控制各种电子设备的遥控装置。通常使用无线电发射模块和接收模块组成普通无线电遥控系统。 发射电路主要由遥控编码和无线发射模块构成; 接收电路主要由无线接收模块和信号解码组成。 接收模块的工作方式有超外差接收和超再生接收两种方式, 超再生接收方式是一种在间歇振荡下运作的再生检测电路。
以上两种无线遥控简单便捷,但也存在功能不够灵活、接收受距离及方向的影响等问题。 如果利用无线数据传送模块nRF24L01 的数据传送功能来设计无线遥控开关,就能很好地避开前两种的缺点,由于采用数据传送,所以交换内容更加丰富,控制的能力也就更加灵活。 那么利用传感与无线相结合的开关控制器则可以更加人性,例如晚上起床不用寻找控制器而自动开启灯光;白天及夜晚或某个房间等多场景控制等应用;终端控制器的按键功能能够自定义, 实现定时、延时及多组联合控制。
1.nRF24L01 模块
nRF24L01 是一款工作在2.4—2.5GHz 的ISM 频段的单片无线收发器芯片。 发射及接收模块的输出功率通道选择和协议设置可以通过软件参数进行设置; 能够适应各种微控制器芯片,实现无线数据发送和接收;具有非常低的发射电流消耗,在下降模式和待机模式下电流消耗则更低; 芯片内置硬件CRC 检错和点对多点通信地址控制,具有良好的抗干扰能力,能够满足一般控制场合;I/O 口接受5V 电平输入, 能够很好跟单片机连接;该模块的通讯握手成功可以通过接收地址的有效性来判断,握手完成后才能输出数据(中断方式)。
2.系统组成
图1 无线控制开关系统组成
该无线控制开关系统主要由上位接收端和多个下位发送端组成,见图1。 上位接收端完成对所有需要控制的电气装置的控制, 通过24L01 无线模块接收不同位置发送终端的信息并进行相应处理, 最终通过595 驱动多路电气设备的控制。 下位发送端可以由多个位置的无线控制器组成, 可以是多个房间或者多个人持有, 每个下位发送端都带有独立的微处理器及24L01,采用地址码及握手码来保证数据交换的准确性。 例如下位发送端一设计为房间一的灯光可编程控制器,利用光敏电阻来感应光亮,用人体来感应房间一内是否有人, 通过按键实现需要的控制逻辑,并可以随时修改功能控制。比如采用按键“1”实现正常模式光线暗时自动开灯,按键“2”实现睡眠模式,感应到人且光线暗时自动开灯, 利用按键也可以实现延时或多灯具及多亮度灯光控制。 每个下位发送端都可以根据需要结合相应的传感器来实现特定功能,上位端也可以增加传感来独立控制相应的电气设备。
3.硬件设计
3.1 下位发送端电路
图2 无线控制系统下位发送端电路图
图2 下位发送端电路图
系统下位发送端电路见图2 所示, 主控制CPU 采用STC12C5A60S2 单片机,它具有60K 程序 存 储 器 ,1K 片 内 扩 展 RAM,1K 片 内EEPROM,8 路10 位高速A/D 等丰富资源;NRF24L01 的电源必须使用3.3V, 由AS1117 转换得到, 下位发送端的传感部分都是以数字开关量输入单片机, 其中光线信号采用LM393 进行比较,通过电位器R3 很容易实现开灯光线调节,键盘输入采用直接连接法,按键功能能通过软件自由设定。 STC 单片机通过P1.0~P1.5 口与nRF24L01 连接,实现无线数据的发送,人体感应部分采用HC-SR501 模块, 模块感应电平输出口连接单片机的INT0 口,采用中断方式实时响应并进行处理。
3.2 上位接收端电路
系统上位接收端电路见图3 所示, 主控制CPU 依然采用STC12C5A60S2 单片机,它具有较丰富接口资源,利于功能扩展。控制的电气设备较多时,如果采用口线直接控制,明显不够用且不好扩展, 故本设计采用74HC595 的级联实现串行输入锁存, 利用RCK 控制移位寄存器,整体锁存输出存储器,可实现对16 路电气负载的控制。同时,如果增加74HC595 级联数量可以再次提高负载数, 每一路的实际强电控制都采用光耦隔离的方式控制, 接收端其实也可加入传感模块, 并与发送端相结合实现更加人性的自动控制。 STC 单片机依然通过P1.0~P1.5 口与nRF24L01 连接,实现无线数据的接收,控制数据由单片机的P2.0 串行输出给595 级联驱动电路。
图3 无线控制系统上位接收端电路图
4.软件设计
整个系统的软件设计流程要分为下位发送部分和上位接收部分,系统上位端可以接收多个下位发送端的参数及命令,通过地址码和握手码进行区分接收数据,整体流程见图4。
图4 软件整体流程图
nRF24L01 的发送部分代码如下,为了应答接收设备,接收通道0 地址和发送地址相同:
*****************NRF 设置为发送模式并发送数据******************************/
void NRFSetTxMode(uchar *TxDate)
{
CE=0;
NRFWriteTxDate (W_REGISTER +TX_ADDR,TxAddr,TX_ADDR_WITDH);
NRFWriteTxDate(W_REGISTER+RX_ADDR_P0,TxAddr,TX_ADDR_WITDH);
NRFWriteTxDate (W_TX_PAYLOAD,TxDate,TX_DATA_WITDH);
5..结语
本设计采用单片机结合2.4G 无线数据收发模块来进行无线控制开关,结合传感信息,提供了更加便捷、人性、智能的控制方式。 上位接收端可以扩展传感对多处的设备进行总体调控,下位发送端依据不同地址及握手码可以很好地让接收端区分不同位置的设备信息及控制要求。 由于STC12C5A60S2 有8 路模拟量通道, 可以很方便地将光线、温度等模拟信号量接入,提高控制要求及精度,在实际测试中,该系统很好地实现了设计要求,具有一定的实用性。