基于ZigBee的温度监控系统
扫描二维码
随时随地手机看文章
引言
传统温度控制系统通常需要进行人工实时测量,或者从监控室铺设电线到现场进行监控,这样不仅费时费力,而且存在电线易腐蚀以及维护不便等困难。无线传感器网络(wirelesssensornetwork,WSN)[1]是一种由传感器节点构成的网络,能够实时检测、感知和采集节点部署区的观察者感兴趣的感知对象的各种信息(如光照强度、温度、湿度、噪声和有害气体浓度等物理现象),并将这些信息处理后,以无线方式发送出去,通过无线网络最终发送给观察者。无线传感器网络在军事侦查、环境监测、工业生产控制、智能家居、医疗护理以及商业等领域有着非常广阔的发展前景。
ZigBee是一种近距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术,完整的协议栈只有32KB,可以嵌入各种设备之中,同时支持地理定位功能。以上功能决定了ZigBee技术非常适合于应用在无线传感器网络中。
本文设计了一种基于ZigBee的无线温度监控系统。该系统采用RemoDAQ-8000[3]过程控制平台为温度控制平台,该平台外接pt-100[4]温度传感器,CC2530终端节点通过RS232串口与过程控制平台相连接,以将采集的温度数据经无线方式传给CC2530协调器节点。协调器节点通过RS232串口与PC机相连,在PC机上显示当前的温度数据和实时曲线,并将数据存储到后台数据库服务器中,以便在局域网内通过浏览网页的方式查看温度数据,从而为相关人员的决策提供理论依据(例如调整温度)。
1系统总体设计
ZigBee是基于IEEE802.15.4标准的低功耗局域网协议,具有近距离、低功耗、低成本、低数据速率、低成本等特点。ZigBee支持全球统一无需申请的2.4GHz频段,具有三种拓扑结构——星形、树形、网状形,每种拓扑结构都有各自的特点,用户可按需求进行选择。
整个无线温度监控系统包括CC2530测温终端、CC2530
协调器节点、显示终端以及网站服务器。CC2530可以实时采集测温终端RemoDAQ-8000实验平台的温度数据,并将温度数据无线发送给CC2530协调器节点。协调器节点通过串口与上位机进行通信,同时在上位机中进行相关数据处理,并将处理后的数据存储在后台服务器中。这样,用户就可通过局域网上位机(B/S)进行查询和控制,或通过局域网网页浏览(C/S)进行查询,其系统结构如图1所示。
图1系统结构
2系统硬件设计
CC2530测温终端由RemoDAQ-8000温控实验平台、CC2530终端节点、ZigBee无线通信、微处理器模块等组成,可用于对待测点的温度进行采集,并通过无线方式将温度数据发送给协调器节点。CC2530协调器节点由微处理器和无线通信模块组成,它的作用是通过RS232将接收到的数据传送给PC机进行处理和显示。RemoDAQ-8000温控实验平台由R-8520、R-8036、R-8065、pt-100和电源模块等五部分组成。其中,R-8520的作用是实现RS232电平和RS485电平的相互转换;R-8036的作用是将采集到的温度模拟量转化为数字量;R-8065的作用是实现pt-100与电热杯的加热与停止;pt-100相当于温度传感器,其测温范围为-500~1200°C,温度越高,电阻越大。上述模块结构图如图2所示。
2.1数据采集模块
数据采集采用pt-100铂电阻温度传感器,该传感器阻值随温度的升高而上升。当外界温度为0C时,其阻值为100Q;当温度为100C时,其阻值为138.5Q。测温范围为-500~1200C。
温控箱通过三线制与pt-100相连接,温控箱内集成有A/D转换模块,可提供9~12位的转换精度,可直接将外接温度信号转换为数字量温度信号,并具有操作简单、精度高、响应时间短等特点,十分适合于温度检测。
2.2ZigBee无线通信模块
该模块采用TI公司的CC2530,基于IEEE802.15.4标准的低功耗个域网协议,工作于全球免执照申请的2.4GHz频段,数据传输速率为250kHz。此模块同时提供有串行外设接口(SPI),可以使MCU与外围设备以串行方式进行通信,以交换信息。SPI接口不需要进行寻址操作,且为全双工通信,因而简单高效。SPI接口包含以下4种信号线:
MOSI―主器件数据输出,从器件数据输入;
MISO―主器件数据输入,从器件数据输出;
SCLK时钟信号;
/SS―从器件使能信号,由主器件控制。
图2系统硬件中的模块结构图
2.3微处理器模块
该模块采用51系列80C52[5]单片机。采用Intel公司的CHMOS工艺技术制造的高性能8位单片机,具有低功耗的特点,属于80C51增强型单片机版本,同时集成了时钟输出和向上或向下计数器等更多功能,十分适合于自动控制领域。80C52内置8位中央处理单元、256字节内部数据存储器RAM、8KB片内存储器ROM、32个双向输入输出I/O口、3个16位定时/计数器和5个两级中断结构,带有一个全双工串行通信口以及片内时钟振荡电路。
80C51单片机芯片与RS232串口通信选用工作电压为3.3V的MAX232电平转换芯片。由于终端节点分散,需采用电池供电,并且需低功耗,因此,本文使用5V电池供电,并通过LMS117稳压芯片将5V转换为3.3V,从而使终端节点具有更好的灵活性和可移动性。
3系统软件设计
整个系统的软件设计包括数据采集、温度控制、上位机显示和监控三个部分。其中,数据采集软件程序运行在CC2530终端节点上,主要任务是对温度数据进行采集和无线转发。温度控制软件程序运行在CC2530协调器节点上,主要任务是对数据的接收和通过上位机对终端节点发送控制指令,如采集温度、加热等。编程语言均在TI的Z-Stack[6]协议基础上运用c语言进行编程。上位机软件运行在PC机上,以控制节点工作状态,并对节点发送来的温度数据进行处理和显示,同时将这些数据存储到服务器当中,以便为管理者决策提供依据。
3.1终端节点软件设计
首先是对终端节点上电,进行初始化工作,包括对单片机端口初始化、串行数据接口初始化、CC2530内部存储器初始化等。其中,CC2530初始化主要是寻找信道、选择PANID、选择源地址等。网络建立后,如果收到协调器节点的指令,则开始采集温度,并将温度无线发给协调器,否则处于休眠低功耗状态。当协调器所发温度大于环境温度时,电热杯加热,直至与所设温度大致相同为止;当协调器所发温度小于环境温度时,电热杯不工作。终端节点软件的流程图如3所示。
图3终端节点流程图
3.2协调器节点软件设计
协调器节点负责网络的建立,以及等待终端节点加入网络。当终端节点加入网络后,给终端节点分配网络地址。该节点通过串口接收上位机发送的指令,并把这些指令以无线方式发给终端节点,终端节点收到指令后,就可执行测温、加热等任务,并把温度数据反馈给协调器,然后通过串口传给上位机。其协调器节点的软件流程图如图4所示。
图4协调器节点流程图
3.3上位机显示和监控软件设计
上位机软件采用VB6.0[7]对数据进行处理,主要包括与协调器节点之间的串口通信和数据处理。其中,串口通信采用VB6.0自带的MSComm控件,可方便有效地实现与协调器节点间的通信。上位机软件带有监控软件界面,可显示温度数据和温度曲线,操作人员可以设置温度对终端节点进行控制,还可以设定采集时间间隔和报警温度阈值。温度数据存储到后台SQLServer冏数据库中,以便于查询历史记录。
局域网查看基于ASP.net図来实现,主要通过ado.net读取SQLServer数据库中的温度值表,使温度信息发布到IIS[10]服务器,然后,在局域网内,用户就能以登录网页的形式在任何位置查看终端的温度信息。
上位机显示和监控软件如图5所示。
(a)上位机显示界面
(b)监控中心界面图
图5上位机显示和监控软件界面图
4实验测试和结果分析
经测试,本系统运行良好,PC机上显示的温度数据与协调器节点显示的温度数据保持一致。表1分析了当前温度数据和设置温度之间的关系。由表1可知,设置温度与实际温度大约相差1.5°C,设置温度与实际温度之间的误差百分比为2.7%。
表1设置温度与实际温度分析表
设置温度/°C |
实时温度/°C |
误差/(%) |
46 |
47.4 |
3.1 |
51 |
52.5 |
2.8 |
60 |
61.6 |
2.7 |
70 |
71.7 |
2.5 |
75 |
76.8 |
2.4 |
5结语
本文提出的基于ZigBee技术的无线温度监控系统可为控制领域采集和控制现场温度提供一种有效的解决方案。本系统无需布线,就可在监控室中利用监控软件读取和控制现场温度,并能根据存储在数据库中的历史数据进行分析和判断,从而有效地节约了人力资源,尤其适用于环境恶劣的场所。此外,本系统还可以添加不同的传感器来感知外界物理信号,如湿度传感器、CO传感器、酒精传感器、光敏传感器等。另外,本系统还可以增加中间路由节点,从而使传输距离更远。
20210917_61441b6d4a78b__基于ZigBee的温度监控系统