基于无线传感器网络的智能温度监控系统设计

2017-04-18 03:38安徽博微长安电子有限公司
电子世界 2017年1期
关键词:上位单片机无线

安徽博微长安电子有限公司 韩 涛

空军驻合肥地区军事代表室 陈 闯

安徽博微长安电子有限公司 李石荣

基于无线传感器网络的智能温度监控系统设计

安徽博微长安电子有限公司 韩 涛

空军驻合肥地区军事代表室 陈 闯

安徽博微长安电子有限公司 李石荣

为了在温度控制要求较高的场合实现智能温度控制,结合无线传感器网络和ZigBee等相关技术设计了一套智能温度监控系统。系统中协调器节点的主控单元选用STM32F103ZET6 嵌入式单片机,传感器节点的数据采集与数据收发单元选用连接温度传感器DS18B20的CC2530无线射频芯片。传感器节点将采集到的温度信息经路由节点发送给协调器节点,由STM32F103ZET6单片机对收到的信息进行解析,然后通过串口转发到上位机进行存储、界面显示和控制。结果表明:本系统可在温度要求高的场所实现温度实时信息无线采集、传输以及控制,具有体积小、功耗低、布点灵活等优点,可用于多种环境中。

无线传感器网络;ZigBee;STM32F103ZET6;CC2530

0 引言

温度作为重要的环境指标,与人们的日常生活、生产、工作等息息相关。在各种环境中,如何快速、便捷、精确地监测温度变化并迅速作出响应显得十分重要。近年来,无线传感器网络(WSN)的应用具有低功耗、低投入、网络搭建自适应、网络容量大等优点,使其被普遍使用于数据采集和监控等系统中。对于实时温度控制要求较高的场合,如何构建无线传感器网络系统实现稳定、高效地进行无线环境温度监控是本文要解决的问题。本设计采用带有CC2530的传感器节点将采集到的温度信息通过路由节点转发给协调器节点,由STM32F103ZET6单片机对收到的信息进行解析,然后由USART接口转发到上位机进行存储、显示和控制。

图1 系统总体设计框图

1 系统的结构和工作原理

根据无线温度监控系统的低功耗、高准确度以及实时性强等特点,通过对WSN技术、ZigBee技术以及无线传输协议的研究,在需求分析的基础上进行系统的总体设计。ZigBee是基于IEEE802.15.4标准的低功耗局域网协议,具有低功耗、网络自组织以及网络内节点容量大等优点,使得其在物联网的众多领域中具有其他无线通信技术难以取代的优势,被普遍地应用于WSN领域中[1]。同时结合嵌入式开发系统的特点,进行系统的硬件设计,并结合系统功能需求设计软件部分,然后对整个系统进行软硬件调试,从而建立一套适用于复杂环境的实时温度监控系统。

根据本系统的设计需求,系统共分为四个部分:传感器节点、路由节点、协调器节点以及上位机监控中心。协调器节点负责整个网络的建立和管理,对监控区域进行控制,并通过串口把传感器节点传来的数据送到上位机监控中心进行处理、控制和显示;路由器节点主要负责数据的转发,可实现多跳,从而扩大网络的覆盖范围;传感器节点主要采集所在环境区域的温度信息等相关数据,并由路由器节点发送给协调器节点。系统的工作原理是:适量的传感器节点分散安装在被监控环境内,基于ZigBee协议的无线传输方式,各节点之间组成具有多跳的自适应网络,传感器节点将采集到的温度信息经路由节点发送给协调器节点,最后经单片机串口将接收到的温度信息发送给上位机监控中心对数据进行分析和存储,最后实现系统的控制和相关信息的显示。系统的总体设计框图如图1所示。

图2 系统协调器节点电路原理图

2 系统硬件设计

2.1 协调器节点

协调器节点主要由控制单元和无线收发单元两个部分组成,其中控制单元采用STM32F103ZET6单片机为核心,它是一款具有高性能、低功耗、低成本等优点的32位基于Cortex-M3 ARM内核的MCU,集成了512KB Flash和64KB SRAM,工作频率可以达到72MHz,片上含有丰富的PWM,USART,USB接口,ADC等片上资源,完全可以满足本系统需求,其拥有的3个12位的ADC和12位的DMA控制器,非常适用于速度和容量要求高的分布式数据采集系统[3]。对于STM32F103ZET6要正常工作,外部需要电源电路、晶体振荡电路、JTAG程序下载调试接口和复位电路。在移植和应用开发中,需要经常使用JTAG接口调试功能,在实际电路中预留20Pin接口供后期调试使用。

无线收发单元的核心采用CC2530无线射频芯片,它是用于IEEE802.15.4、ZigBee和RF4CE应用的一个真正的片上系统(SoC)解决方案,由于其成本特别低,在组建网络时可构建庞大的通信网络节点,结合了性能强悍的射频收发器,统一的业界增强型8051单片机,并且系统内可编程RAM达到了8KB[4]。CC2530有多种不同的工作模式,其中可以配置为睡眠模式,非常适用于功耗要求严格的场合。CC2530集成了TI公司行业先驱的ZigBee协议栈(Z-StackTM),为ZigBee系统提供了一个功能全面的技术方案。CC2530工作的系统只需要少量外部的辅助元器件,其设计难点是天线电路的设计和抗干扰的设计。在设计中使用了模块化的设计方法,将CC2530射频电路和其他电路相互独立,同时为了节约成本和缩短研发时间,使用已有的CC2530集成电路模块,有效传输距离最多可达100米。

系统协调器节点的电路原理图如图2所示。

2.2 传感器节点

系统传感器节点的设计主要采用CC253连接温度传感器DS18B20,实现无线采集温度信息等数据。DS18B20是单总线式数字温度传感器,它具有体积小、功耗低、抗干扰性能强等优点,非常适合于多点温度监控系统,并且能够将采集到的温度信息直接转化为串行数字信号送给CC2530,其量程为-55℃~+125℃,可编程A/D转换精度为9位~12位,可测量的温度分辨率最小能达到0.0625℃。采用该温度传感器不仅不需要额外复杂的模数转化,而且它在极端环境下仍然具有良好的稳定性和测量精度,同时还可以直观地显示出实时的温度[5]。其具体电路原理图如图3所示。

2.3 锂电池供电

图3 系统传感器节点电路原理图

图4 锂电池供电电路原理图

系统采用市场上最常见的可充电锂离子电池作为电源对传感器节点以及路由器节点进行单独供电。锂电池的额定工作电压为3.6V,其放电曲线比较平缓,能够确保CC2530芯片在接收和发送数据时具有非常好的线性特征。电压转换芯片选用Linear Technology公司的LTC3440,该芯片转换器具有效率高、频率固定以及降压-升压DC/DC等特点,并且可以利用单个电感器输出电压,它的输入和输出电压范围都在2.5~5.5V之间[6]。LTC3440转换芯片在全部的工作模式下都能够实现连续传送,对于增加单节锂电池或者镍氢电池的工作时间非常有效。锂电池的输入电压经过电路转换后得到的3.3V电压可以直接对CC2530芯片和DS18B20温度传感器进行供电。其具体电路原理图如图4所示。

3 系统软件设计

系统的软件设计主要可以分为三个部分,分别为:传感器节点入网数据采集程序设计、协调器节点组网控制程序设计、上位机显示和控制程序设计。

3.1 协调器节点组网控制程序设计

协调器节点程序功能是配置好STM32单片机和CC2530无线射频单片机,其中包含单片机时钟、GPIO、ADC、USART、中断、定时器等的初始化,CC2530接收到数据后将数据通过串口传给STM32单片机。为了降低功耗,当CC2530不需要进行数据收发时,将STM32F103ZET6和CC2530均配置为睡眠模式;当定时时间到时,STM32F103ZET6和CC2530均被定时器中断唤醒,CC2530开始处于接收状态,接收由路由节点的CC2530发过来的信息,并将信息通过USART接口转发到STM-32F103ZET6,MCU对收到的数据进行分析处理之后,再利用USART口转发给上位机ETX模块进行存储、显示和控制;最后再将两者配置为睡眠模式,直到下一次被定时器中断唤醒后才继续接收路由节点发送过来的信息,如此循环。

ZigBee网络中的协调器节点通信程序负责启动整个ZigBee网络,根据实际情况选择合适的信息组建网络,将各传感器节点采集到的温度数据进行汇聚。其中ZigBee网络的建立过程:网络中的协调器节点最先开始启动,参照初始配置的网络参数搭建ZigBee网络,网络搭建完成后,路由器节点与传感器节点设备启动,自动寻找该网络并加入到现有组建好的ZigBee网络,入网成功后传感器节点和路由节点会得到由协调器节点动态分配的16位ZigBee地址,并将信息放入该ZigBee网络邻接表中,此时网络搭建成功,整个ZigBee网络采用分级轮询或者分级时隙分配进行通信,具体组网过程如图5所示[7]。

图5 ZigBee组网过程

图6 传感器节点入网数据采集程序流程图

根据该系统所选用单片机STM32F103ZET6的开发环境为Keil uvision4,该开发环境融合了代码的编辑、编译、下载和调试,使得软件研发更加简单,同时也缩短了程序开发的周期;CC2530的开发环境为IAR Embedded Workbench for 8051 8.10 Evaluation,CC2530所使用的协议栈为TI公司的ZStack-CC2530-2.3.0-1.4.0[8]。

3.2 传感器节点入网数据采集程序设计

传感器节点入网和温度信息采集程序用以实现传感器节点加入协调器节点搭建的ZigBee网络、DS18B20温度传感器的驱动、温度测量与预处理,然后通过ZigBee网络把处理后的数据信息经过路由节点发送给协调器节点。温度的测量为10分钟一次,其它时间CC2530被配置为睡眠模式。当10分钟定时时间到后,CC2530被定时器中断唤醒,开始进行温度的测量,并将该数据传送到网络中的路由器,发送成功后CC2530再次被配置为睡眠模式。其流程图如图6所示。

3.3 上位机显示控制程序设计

PC上位机开发环境采用Microsoft公司推出的Microsoft Visual Studio 2010,其中Microsoft Visual Studio 2010通过调用串口通讯控件MSComm实现上位机和下位机的通信[9]。该界面采用模块化的设计思路,根据系统的功能将系统分为数据传输、数据处理和界面交互三个部分。结合本设计实例,采用VS2010开发的温度监控界面,其中包括当前采集、历史数据查询、参数设置和报警控制等菜单。设计的上位机主控制界面如图7所示。

图7 上位机显示和控制界面

4 结论

基于无线传感网络的智能温度监控系统利用无线传感网络技术将温度信息实时地传送到上位机监控中心,当某一个传感器节点所在区域的温度超出报警上限或下限时,上位机监控中心可通过控制加热和制冷系统及时地调节温度。在智能家居、智能鸡舍、智能粮仓和智能温室大棚等对实时温度控制要求较高的场合具有很好的应用价值。

[1]高守玮,吴灿阳.ZigBee技术实践教程[M].北京航空航天大学出版社,2009.

[2]Epinosa-Faller F J,Rendon-Rodriguez G E.A ZigBee wireless sensor network for monitoring an aquaculture recirculating system[J].Journal of applied research and technology,2012,10,10(3):380-387.

[3]刘军.例说STM32[M].北京:北京航空航天大学出版社,2011.

[4]李志方,钟洪声.IEEE802.15.4的CC2530无线数据收发设计[J].单片机与嵌入式系统应用,2011,11(07):43-45.

[5]DS18B20 Data Sheet[Z].DALLAS SEMICONDUCTOR,2001.

[6]杨树成,杨志勇,王建佳.基于MSP430和CC2530的温室大棚数据采集系统设计[J].电子设计工程,2014,22(5):168-171.

[7]章伟聪,俞新武,李忠成.基于CC2530和ZigBee协议栈设计无线网络传感器节点[J].计算机系统应用,2011,20(7).

[8]陈克涛,张海辉,张永猛.基于CC2530的无线传感器网络网关节点的设[J].西北农林科技大学学报(自然科学版),2014(5):183-188.

[9]李琳娜.Visual C++编程实战宝典[M].北京:清华大学出版社,2014.

韩涛(1988—),男,安徽六安人,硕士研究生,主要从事嵌入式系统开发与雷达终端录取方向的研究。

猜你喜欢
上位单片机无线
《无线互联科技》征稿词(2021)
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
无线追踪3
基于ARM的无线WiFi插排的设计
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
ADF7021-N在无线寻呼发射系统中的应用
基于ZigBee和VC上位机的教室智能监测管理系统