基于STM32的粮仓温湿度无线监控网络系统设计 下载本文

龙源期刊网 http://www.qikan.com.cn

基于STM32的粮仓温湿度无线监控网络系统设计

作者:胡俊辉 黎洪生

来源:《数码设计》2017年第08期

摘要:针对目前我国大多数粮食存储企业,目前仍依然靠人工检测粮仓的温度,导致监测工作量大,效 STM32F103RCT6为核心控制芯片,实现对各个终端节点温湿度数据进行采集,并控制调节机构的运行。终端节点基于Zigbee模块将数据上传到路由节点,经过数级路由节点的数据转发,最终到达汇聚节点,在基于Linux下QT平台实时显示各节点数据,并可以通过上位机来调节各节点温湿度。经实验验证,该系统运行稳定可靠,方便监控,具有很好的应用价值。

关键词:STM32F103RCT6;温湿度监控;无线网络;QT平台

中图分类号:TN919;TP273 文献标识码:A 文章编号:1672-9129(2017)08-0001-03 Abstract:At present most of China's grain storage enterprises, currently still rely on manual detection of granary temperature monitoring, leading to heavy workload, low efficiency, long cycle defects monitoring, design a wireless monitoring network system of grain temperature and humidity based on STM32. The host of the system uses STM32F103RCT6 as the core control chip to collect the temperature and humidity data of each terminal node, and control the operation of the regulating mechanism. The terminal node based on Zigbee module to upload data to the routing

node, routing node number after data forwarding, eventually arrive at the sink node, each node in the real-time display of Linux data based on QT platform, and through the host computer to adjust the temperature and humidity of each node. The experimental results show that the system is stable and reliable, convenient for monitoring and has good application value.

Keywords:STM32F103RCT6; Temperature and humidity monitoring; Wireless network; QT platform 引言

粮仓管理中最重要的问题是监测粮堆中的温、湿度变化。国家每年为粮食储藏支付很高的费用,主要是因为监测设备成本较高,管理方式不够先进,于是温湿度智能监控系统的研究与应用也日益迫切。粮食温湿度是能否保证粮食安全储存的重要指标之一,只有及时、准确地测得粮堆各层面的温湿度数据,并根据检测的温湿度数据对粮食储存情况进行分析,做出决策,采取措施,最大限度的减少粮食在储存过程中的损失。因此温度和湿度的检测对防止粮食霉变有着重要的意义。

龙源期刊网 http://www.qikan.com.cn

本文设计了基于STM32的粮仓温湿度无线监控网络系统,对各节点温湿度进行监测与进行相应的机构控制,同时利用Zigbee低功耗,数据传输可靠的优点,提高了整个网络的使用寿命,并且可以在QT上位机界面上实时的监测到各个节点的状态,并且具有自动调节温湿度的功能。

1 系统总体设计与工作原理

该系统主要包括终端节点,路由节点和汇聚节点三部分组成,系统结构如图1。其中终端节点主要功能包括采集各个节点的温湿度数据和控制执行机构;路由节点的功能是路由转发数据,增大网络覆盖范围,将数据一级一级的转发到汇聚节点;汇聚节点的功能是负责接收来自路由节点转发的数据,将数据进行相应的解析,并将数据发送到上位机。终端节点主要由STM32F103RCT6主控芯片、温湿度传感器、Zigbee模块和相应执行机构构成,总体结构如图2,路由节点和汇聚节点主要由STM32主控芯片和Zigbee模块构成。

系统刚启动时,上位机会先广播发送一串指令,检测各个节点是否在线,如果节点在线,将收到节点的应答信息,如果某个节点离线,则将收不到节点的回答信息,上位机提示节点处于离线状态。

系统在正常工作时,各个节点将读取各个传感器的温湿度数据,将有效数据提取出来,并且添加数据头、数据尾和地址信息,经过打包处理,上传到路由节点,通过路由节点的转发,最终达到汇聚节点,汇聚节点将数据发送到上位机,进行实时的显示监控,当温度或湿度过高,上位机将发出相应的警报,如果超过预设值一定时间,上位机将发送相应的指令,终端节点收到指令后将自动打开风扇进行通风降温处理或打开专用除湿机进行除湿处理。 2 硬件设计 2.1 控制芯片的选择

整个控制系统的核心就是主控芯片,考虑到整个系统必须要稳定可靠的运行,且控制芯片的通信接口比较强大,功耗低,系统采用了意法半导体公司生产的STM32系列的单片机STM32F103RCT6,其具有100多各I/O口,多路UART通信接口,且具有休眠,待机等功能,非常符合功能的要求。 2.2 继电器控制电路

由于单片机控制相应执行机构,是一个弱电控制强电的过程,单片机不能直接去控制,而继电器是一个很好的元器件去间接控制执行机构,比如通风扇和除湿机等。

单片机工作电压3.3v-5.5v,工作电压和功耗都很低,其I/O口的输出电流很小,大概在4-20mA,所有不能直接驱动继电器正常工作,因此必须要添加放大电路来驱动继电器工作。系统采用了PNP型三极管来放大电流,电路图如图3。由于继电器是感性元件,在通电断电时,

龙源期刊网 http://www.qikan.com.cn

会产生感生电动势,为了消除感生电动势的影响,在继电器线圈两端反向并联一个续流二极管,形成环流,保证了三极管的安全。 2.3 传感器选型

目前市面上关于温湿度传感器的类型较多,针对粮仓温湿度传感器,主要考虑的因素包括:精度、测量范围、稳定性、功耗、通信协议和价格。

系统采用的是TH11S-B温湿度变送器,该传感器温度测量精度为±0.3℃,分辨率0.1℃,湿度测量精度为正负3%rh,分辨率0.1rh,功耗小于0.1W,采用的是MODBUS-RTU通信协议,RS485通信接口。其非常符合设计的需求。 3 系统软件设计

3.1 传感器通信协议的选型

在通信协议方面,为了保证温湿度采集系统的抗干扰能力和实时性,Modbus-RTU通信协议是一个很好的选择,在Modbus-RTU传输模式下,自定义数据帧各字节意义:即传输信息的第一部分是设备地址(即温湿度传感器编号),传感器不断侦测网络总线,以判断计算机的指令是否为发往自己的;功能代码段决定计算机对温湿度传感器进行地址的更改或者温湿度信息的获取;数据段为设备的有效信息;设定的两位CRC校验位用来避免传感器收到的各自干扰,降低通信过程中产生的误码率,提高了传输信息的可靠性[1][2]。

Modbus-RTU通信协议下,主设备温湿度读取指令说明如表1所示,从设备返回数据说明如表2所示

3.2 节点间通信协议的设计

各个节点的温度和湿度数据都有两个字节,共计4个字节的数据构成,每个节点将有效数据提取出来以后,加上节点的地址信息、数据头,字符‘*’和数据尾,字符’#’打包成帧,将整帧数据发送到路由节点,最终到达汇聚节点。汇聚节点收到数据以后,根据协议即可将数据解析出来,显示在上位机界面上。当需要通过上位机控制各个节点的执行机构时,汇聚节点将以广播的形式发送控制指令,指令包含被控节点的地址信息,当节点收到信息以后,各个节点先检查指令的地址信息与自己是否匹配,若匹配,则执行相应的动作,否则节点忽略信息内容,不执行动作。

为了避免路由节点的数据同时来自多个节点,导致信息冲突或者相互之间的干扰,整个读取信息的过程,由汇聚节点来主动发出读取指令,从机不主动往路由节点发送数据,汇聚节点以轮询的方式来往各个节点发送数据。当汇聚节点发出指令后,如果终端节点在线,则会收到回答信息,如果不在线,则超过一定时间后,无应答信号,同时提示相应节点处于离线状态。