莫小锦,周 严
(南京理工大学机械工程学院,南京 210094)
在人们越来越关注公共场所和居室环境舒适度的今天,环境的温湿度监测已成为公共建筑、高端家居室内环境的常规监测项目。对于新建筑而言,温湿度的监测在建筑设计时已同步设计,在综合布线阶段已将传感器布置点及信号传输线预先确定并布置,温湿度的监测易于实现。但是,对于老旧建筑或在设计阶段未考虑温湿度监测设计的建筑而言,采用有线温湿度监测的模式,在不破坏内部装修的前提下难以实现。无线传感器网络技术的发展与应用为这一问题的解决提供了可行与可靠的技术手段[1-4]。
本文以某高端会所的室内温湿度无线远程监测为背景,设计了基于射频技术与3G无线互联网技术的环境温湿度远程无线监测系统,通过基于射频技术的温湿度无线传感器网络与3G无线互联网,在不改动室内装修,不布设信号传输线及网线的情况下,实现了室内环境温湿度的现场集中监测及异地远程监测,克服了传统有线监测方式的局域性和区域性,提供了一种远程监测的新方法。
基于现场无线温湿度传感器网络及3G远程传输网络的监测系统如图1所示。现场无线温湿度传感器网络由自行研制的无线温湿度传感器节点、无线接收模块和现场集中监控计算机构成,传感器节点负责实时采集现场各个温湿度监测点的温湿度数据,并编码发送至无线接收模块,无线接收模块接收各节点发射的温湿度数据,并传输至现场集中监控计算机存储、显示。现场集中监控计算机通过3G网络模块接入互联网,在主控软件的控制下将采集的各监测点的温湿度数据远程传输至远程监控中心。系统的关键在于无线温湿度传感器节点的设计及基于3G无线互联网的远程信号传输。
图1 监测系统总体框图
系统中集中监控现场计算机相当于一个服务器,远程监控中心计算机相当于客户端。当现场监控计算机监听到远程监控中心计算机的数据请求后,会将采集到的温湿度数据通过3G无线网络传输给远程监控中心计算机,供监控中心调阅,实现异地远程监控。
无线温湿度传感器节点由温湿度传感器、信号调理电路、数据采集器、单片机及无线发射电路构成,其原理框图见图2。温度传感器采用热敏电阻、湿度传感器采用电容式湿敏传感器,传感器输出的信号经信号调理电路线性化处理或放大,再由单片机自带的A/D转换器数据采集,采集到的温湿度数据在单片机的控制下由无线发送电路CC2500发送。
图2 无线温湿度传感器节点原理框图
2.1.1 温度信号调理电路
由于热敏电阻的热电特性为非线性的指数关系,在工程应用中必须采用具有线性化功能的信号调理电路使电路的输出与被测量的温度成线性关系[5-7]。本系统选择了 NTC 型 MF58-104-3990 热敏电阻作为温度测量的传感元件,其温度测量范围为-55℃ ~+200℃,测量精度±1%,并具有耐高温焊接,稳定性好,漂移小,体积小,便于贴片安装等特点,该热敏电阻阻值与温度的关系为:
式中R0是热力学温度为T0时的阻值,T0为基准温度,通常以298.15(25℃)为基准温度;β为热敏电阻常数。R0=100 kΩ,β=3 990。热敏电阻的温度与电阻的关系是非线性的,作为温度测量元件其输出信号必须进行线性化处理,电路见图3所示。
图3 基于热敏电阻的温度测量信号电路
电路由两级电路构成,第一级为对数比放大器,第二级为除法电路,第一级输出为
式(2)说明,经过对数运算,热敏电阻的阻值与温度的指数关系转换成电压与温度的反比关系,再对Vo1作倒数运算即可实现温度与电压的线性关系,由式(2)可得
令Vo=kT,即
这样,Vo与被测温度成线性关系,式(4)的运算关系可由图3的第二级电路实现。根据AD534的运算关系,由图3中连线可得
分别调节电位器Rp1与Rp2使VX1=-5.82 V,VZ1=173.47 mV,故有
电路的实际测试结果见表1。其结果显示,电路的非线性误差小于0.5%,较好地消除了热敏电阻测温时的非线性。
表1 热敏电阻调理电路的实验结果
2.1.2 湿度信号调理电路
湿度传感器采用HS1101LF型电容式湿度传感器,湿度量程为1%RH~100%RH,工作温度范围为-60℃ ~140℃,测量精度为±2%RH,线性输出,电容与湿度的变化关系为
信号调理电路如图4所示。电路由方波发生器、单稳电路、平均值电路、差分放大器组成。设计思想是:方波发生器产生一定频率的方波,该方波由后续单稳电路变成一定定宽的方波,其宽度与传感器电容值成正比,定宽的方波经过平均值电路及差分放大器转换成与传感器电容量成正比的电压[8]。
图4 基于湿敏电容的湿度测量调理电路
方波发生器为RC阻容式发生器,其频率为
单稳电路由CMOS集成双单稳芯片CD4058构成,脉冲由TA1输入,上升沿触发,Q1输出的高电平宽度为
显然,单稳电路输出一周期为T=100 μs,高电平宽度受控于CH的方波。该方波经由R3与C3组成的平均值电路的输出平均值
Vo1经AD620差分后得
调节Rp2使VRp2=2 803 mV,调节Rp1使 AD620增益为1.818,即可得调理电路的输出为
信号调理电路的输出实现了电压数值与被测量的数值大小相等或成10倍的关系,经数据采集后即可由无线发射单元发射。
由温湿度测量电路得到的电压值输入MSP430F149单片机的AD转换接口,MSP430F149的ADC12模块支持快速的8路12位A/D转换,采样速率为20万次/s,采样周期可控,采用序列通道单次转换模式,选择自己定义外部转换参考电压5 V。数据采集的时间间隔为10 min一次,采集完成后其结果保存在ADC12MEM里,ADC12IFG置位,表明转换结束,在软件控制下取走数据传输至CC2500发射。
无线传输电路基于 CC2500 设计(见图 5)[9-10],CC2500是Chipcon公司的单片射频收发芯片,体积小,外围电路简单。工作于2.4 GHz~2.5 GHz ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。天线是50 Ω的单端输入,只需要搭建一个差分到单端的阻抗匹配网络就可以实现无线传输。
图5 无线传输电路
CC2500的配置参数和收发数据都是单片机通过6 线 SPI兼容接口(SI,SO,SCLK,GDO0,GDO2 和CSn)对CC2500进行读写操作来完成的。SPI接口通讯都由一个包含了一个读/写位,一个突发访问位和一个6位地址的头字节开始。
单片机程序要访问CC2500无线模块,首先要给出一低有效的片选信号CSn。当CSn变低,在开始转换头字节之前,MCU必须等待,最小需要200 μs,直到SO脚变低,才能进行接下来的读写工作。如在整个读写过程中CSn变为高电平,则读写工作取消。
在进行读写操作之前先使芯片状态位的CHIP_RDYn为低电平信号,表示现在使用的是SPI接口。若要使CC2500工作在接收模式则使芯片状态位的STATE[2:0]为001,若要使CC2500工作在发送模式则使芯片状态位的STATE[2:0]为010。
CC2500提供有为数据包导向的通信协议内置的硬件支持.当启动TX发送数据时,调制器开始传送前导。前导字节的长度由MDMCFG1.NU_PREAMBLE值控制。当控制数目的前导字节被传送完毕,调制器开始发送同步词汇,然后传送来自TX_FIFO的可利用的数据。若TX_FIFO为空,调制器将继续传送前导字节,直到第一个字节被写入TX_FIFO。调制器将随后传送同步词汇和数据字节然后将写入TX_FIFO的数据发送出去。发送数据包格式为:
在接收模式下,解调器和数据包处理装置将会搜寻有效的前导和同步词汇。找到后,解调器就得到了位和字节同步,然后开始接收第一个有效载荷字节。由于可变数据包长度开启,则第一个字节为长度字节。数据包处理装置把这个值作为数据包长度存储,且接收长度字节数目的字节。然后,数据包处理装置随意地检查地址,地址匹配时才继续进行接收,接收到的数据存储在RX_FIFO中。开启自动CRC检查,数据包处理装置计算CRC,并将它同附加CRC检验和相匹配,读完所有数据后清空接收缓冲区,接收完毕使CC2500停止工作。
本系统具有温湿度数据的远程传输功能,通过3G无线网络传输给远程监控中心计算机,实现异地远程监控。
本文利用 Windows Socket实现网络通信[11-12]。采用基于流式套接字SOCK_STREAM的TCP/IP协议,提供无差错、无重复的发送且按发送顺序接收。利用WSAStartup函数加载套接字库,并定义套接字库的协议版本为1.1。
注意在Socket连接时应设置为非阻塞模式,否则将一直占用资源,定义非阻塞方式如下:
网络通讯流程见图6,通讯过程是首先现场计算机打开一个通信通道,表示它愿意在某个地址和端口上等待监控中心计算机的数据请求,然后就等待监控中心计算机连接请求的到来,收到监控中心的连接请求后针对本次连接建立对应的Socket。每个Socket由操作系统分配一个标志号,并且包括5个参数:传输协议、本地地址、本地端口号、远程IP地址、远程端口号。然后监控中心给现场计算机向现场计算机发送数据表的名称请求数据,现场计算机根据表名在本机数据库中找到对应的表,获取相关的数据传给监控中心计算机。若表中数据已经全部发送完毕,则发送end给监控中心计算机,表示数据传输完毕。然后现场计算机等待接收新的数据表名重复上述过程,直到监控中心计算机发来Stop命令结束本次通讯。
图6 网络通讯流程
本系统在完成设计调试后已在无锡某会所进行了720 h的连续运行测试,用于室内环境温湿度的远程监测,图7是温湿度检测界面,实际运行结果表明:
(1)根据实际需求共在会所布置了95个温湿度传感节点,无线温湿度传感器节点可实现较高精度的温湿度数据采集。
图7 温湿度监测界面
(2)现场计算机通过无线接收模块能够实时无线接收温湿度数据,无线模块采用单端SMA天线匹配50 Ω电阻,经试验确定无线模块能在100 m范围内的无差错传输数据,未发现数据误传。
(3)监控中心的远程计算机通过3G无线网络能够可靠地接收到现场计算机发送的温湿度数据,并建立数据库供管理人员进行历史记录查询。现场采集数据主动存入数据库,通过对数据库中数据查询可知采集数据能实时的准确无误的存入数据库。
(4)监测软件具有阈值报警功能,当温湿度超限对应的报警灯变红,正常工作时为绿灯;超限后并给出相应的出来措施。温度过高,开冷空调;过低,开暖空调。湿度过低开加湿器,过高停止加湿。
基于无线传感器网络的温湿度数据采集及基于3G无线网络的远程监测是本系统的特色,传感器节点并未采用“变送器+射频模块”的方案,而是根据实际需要,基于低成本温湿度敏感元件,自行设计了的低成本、低功耗、线性化的无线传感器网络节点,温度与湿度的测量精度分别达到1%与2%。由于无需布设信号传输线,该系统非常适合应用于没有综合布线建筑的环境监控,所采用的技术方案可推广应用于其它远程监控领域。与传统的有线监控相比,具有传感器布设简单、灵活,无需布设导线,大大减小工程工作量等优点,在自动监控领域具有广阔的应用前景,是今后自动监控的发展方向。
[1]卢崇,马建仓,王吉富.基于ATmega128L与CC2420的无线传感器网络节点的研究与实现[J].电子技术应用,2006(12):130-133.
[2]宁炳武,刘军民.基于CC2430的ZigBee网络节点设计[J].电子技术应用,2008(3):95-99.
[3]张晓鹏,解兆延,刘广敏.基于MSP430单片机和CC2500无线模块的仓库温度测量系统[J].山东科学,2010(8):88-91.
[4]MacRuairi R,Keane M T,Coleman G.A Wireless Sensor Network Application Requirements Taxonomy[C]//Sensor Technologies and Applications,2008,8:209-216.
[5]俞阿龙,李正.热敏电阻温度传感器的一种线性化设计[J].工业仪表与自动化装置,2003,(5):19-22.
[6]孟凡文.NTC热敏电阻的非线性误差及其补偿[J].传感器世界,2003(5):21-24.
[7]彭思,陈淑铃,宋爱国.用于呼吸暂停综合症的呼吸监测系统的研制[J].传感技术学报,2008,21(8):1325-1328.
[8]周严.测控系统电子技术[M].北京:科学出版社,2007:440-442.
[9]张彭朋,何娜.基于MSP430和CC2500的USB无线数据采集系统[J].电子设计工程,2010,(2):12-15.
[10]佟吉钢,张振新,陈增强.基于FPGA的无线传感器网络节点设计[J].传感技术学报,2009,22(3):417-421.
[11]谢晓芹.基于socket的网络编程[J].南昌大学学报(理科版),1997,21(4):338-344.
[12]李文炜.MSP430系列C语言环境下的软件设计实用技巧[J].化工自动化及仪表,2004,31(6):36-38.