Cortex-M3的生态物联网数据采集分站设计
2012-09-03 来源:单片机与嵌入式系统
随着信息技术的发展,物联网(Internet of Things,IOT)得到了越来越多的企业和学者的重视。尽管对物联网的确切定义还颇有争议,但有一点可以肯定,那就是物联网必将进一步提升信息社会的智能化水平。同样,在森林环境乃至生态系统监测中,物联网也为人们提供了更多的选择。
针对森林生态监测中所关心的温度、湿度、CO2浓度、环境光照以及与森林防火息息相关的烟雾浓度等数据,本文基于Cortex-M3处理器设计了生态数据采集分站,并将采集的数据用本地LCD液晶显示,同时采用无线模块传送给数据中心主站。程序开发在嵌入式操作系统μC/OS -II的基础上分模块进行,不仅保证了良好的扩展性,也提高了开发效率。
1 系统硬件设计
1.1 系统总体结构
数据分站以LM3S811处理器为核心,并引入了与森林生态监测相关的多种传感器,单总线数字式温湿度复合型传感器DHT11、I2C总线接口的环境光亮度传感器BH1710FVC、电压输出型烟雾传感器MQ-2和CO2传感器MG-811。通过Cortex-M3处理器实时采集传感器信息,经处理后通过SPI接口的无线模块nRF905发送给数据主站服务器。同时将采集的传感器信息通过本地LCD显示。若采集的传感器信息异常(如烟雾浓度过高),需声光报警。系统总体结构框图如图1所示。
1.2 系统模块组成
1.2.1 温湿度传感器DHT11
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合单总线传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品的可靠性与长期稳定性。单线制串行接口,使系统集成变得简易快捷。它体积小、功耗极低,信号传输距离可达20 m以上,适用于环境监测的应用。DHT11简要说明如表1所列。
DHT11除电源和地线外,只有1条数据线,在与CPU接口时,数据线需用5 kΩ上拉电阻。DHT11与CPU的接口示意图如图2所示。在本设计中,采用LM3S811的PB0模拟单总线采集温湿度传感器的数据。
DHT11的供电电压为3~5.5 V,这里采用直流5 V电压供电。传感器上电后,要等待1 s以越过不稳定状态。
数据线DATA与LM3S811的通信和同步,采用单总线数据格式。一次通信时间4 ms左右。一次完整的数据传输为40位,高位先出。数据分小数部分和整数部分,具体格式说明如下:
8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据+8位校验和数据传送正确时校验和数据等于“8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据”所得结果的末8位。
LM3S811发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40位的数据,并触发一次信号采集,LM3S811可选择读取部分数据。从模式下,DHT11接收到LM3S811的开始信号后触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集。DHT11与LM3S811的接口时序如图3所示。
1.2.2 烟雾传感器MQ-2
MQ-2烟雾传感器基于电化学原理,可用于可燃性气体的检测,这在林场防火应用中尤为重要。
MQ-2加电预热后(供电电压标称+5 V),当MQ-2接触到可燃性气体时,其A-B极间等效的电阻阻值降低,为取出信号,可采用电阻RL与A-B极串联分压。为提高传感器灵敏度和输出电压的稳定性,设计中采用高输入阻抗的CMOS运放TLC272对传感器的输出电压进行跟随和放大,得到输出电压Vout。
MQ-2烟雾传感器原理图如图4所示。
1.2.3 CO2传感器MG-811
MG-811型CO2传感器的封装与MQ-2类似,但其工作原理是等效为电压源,即加电预热后,A-B极间等效为电池(典型电压为300 mV)。A-B电极间的电压随着CO2气体浓度的升高而减小。由于MG-811等效的电压源几乎不能提供电流(小于1 pA),这就要求运放的输入阻抗需要达到1012Ω。该系统中,采用TI公司高性能运放TLC272对该电压进行跟随和放大(如图5所示),以提高系统灵敏度。
1.2.4 环境光亮度传感器BH1710FVC
BH1710FVC是一种I2C总线接口的数字型环境光亮度传感器。它克服了传统的光敏二极管/三极管对光源方向敏感的缺点,具有检测分辨率高、测量范围广(1~65 535 lx)的优点,而且其输出接近人眼对光谱的反应。在BH1710FVC的6脚封装中,ADDR引脚用于控制器件的从地址。该引脚为“1”和“0”时,BH1710FVC的从地址分别为0x5C和0x43。BH1710FVC的接口电路如图6所示。
1.2.5 无线射频模块nRF905
nRF905模块是一款工作在433 MHz频率下的低功耗、远距离无线收发模块。它内部集成了SPI接口,可方便地实现与LM3S811处理器的无缝连接。nRF905模块与LM3S811接口电路如图7所示。由于该模块支持地址匹配和载波检测,给系统的可靠设计提供了方便。其多种工作模式也给系统的低功耗设计带来了便利。nRF905模块的工作模式如表2所列。
2 系统软件设计
采用MDK4.1集成开发环境,基于库函数开发,基于LM3S811处理器的物联网数据分站的应用程序。仿真器为Techshine公司的J-Link。
程序的主要功能包括2部分:
①采集DHT11数字温湿度传感器的数据和BH1710FVC光照亮度传感器数据,同时通过A/D转换器采集MQ-2和MG-811传感器的数据。
②将采集的数据打包添加分站ID信息后通过SPI接口发送到无线模块nRF905。
为方便观测,分站采用LCD实时本地显示各传感器的数据,若数据异常,给出蜂鸣和LED闪烁报警。主程序流程如图8所示。
3 系统测试
本次设计的某些方案已经成功应用于南京林业大学-紫金山环境监测物联网的测试系统中。图9为南林物联网应用截图。
由于MQ-2和MG-811传感器都需要预热才能准确检测,因此系统需加电预热5分钟。从本地LCD液晶显示屏可以观测到温湿度、烟雾数值和CO2数值。
测试中,若对温湿度传感器哈气,其数据显示温湿度明显上升;对CO2传感器哈气,由于CO2浓度升高,其电压数据明显下降。若在烟雾传感器旁制造浓烟,则烟雾传感器数据也明显上升。这些测试符合传感器的特性说明。