基于ZigBee 的多点温度采集系统设计与实现
扫描二维码
随时随地手机看文章
摘要:针对广阔空间环境温度采集系统对功耗及成本的要求,设计了基于无线传感网络技术的多点温度采集系统.以CC2430 为主控芯片,选用DS18B20 作为温度采集节点的传感器
传感器
凡是利用一定的物性(物理、化学、生物)法则、定理、定律、效应等把物理量或化学量转变成便于利用的电信号的器件。传感器是测量系统中的一种前置部件,它将输入变量转换成可供测量的信号”。按照Gopel等的说法是:“传感器是包括承载体和电路连接的敏感元件”,而“传感器系统则是组合有某种信息处理(模拟或数字)能力的系统”。传感器是传感系统的一个组成部分,它是被测量信号输入的第一道关口。 [全文]
,基于ZigBee 协议栈构建无线网络实现主从节点之间数据的采集与传输,利用串口
串口
串口是计算机上一种非常通用的设备通信协议,大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备的通信协议,并可用于获取远程采集设备的数据。 [全文]
通信技术与PC 机通信,并编程实现数据处理、存储与显示。
1 引言
随着生产技术的提高, 环境温度指标越来越多的影响到生产效率、能源消耗和生活水平。不管是工业、农业、军事及气象领域, 还是日常生活环境, 都需要对温度进行监测。因而,设计可靠且实用的温度采集系统显得非常重要。
在传统的温度采集系统中, 节点一般采用有线连接方式, 布线繁琐, 扩展性和可移植性较差。尤其对于广阔空间环境中的温度采集,如果采用有线方式其成本和功耗都比较高。而ZigBee 作为一种新兴的短距离、低功耗、低成本的无线通信技术, 能广泛应用于工业控制、消费电子、家庭自动化、医疗监控各种领域。
本文设计了一种基于ZigBee 无线技术的多点温度采集系统, 实现了主从节点间数据的无线传输, 同时上位PC 机采用串口与主节点通信,并建立温度数据库,实现了数据的统一管理。该系统具有扩展性好、稳定可靠、维护方便等特点。
2 系统整体概述
本文设计的温度采集系统结构如图1 所示。系统采用ZigBee 星型网络拓扑结构,建立了一个主节点,四个从节点的无线传感网络,实现数据的无线传输。各个从节点连接数字温度传感器
温度传感器
温度压力传感器是由温度敏感元件和检测线路组成的。温度传感器从使用的角度大致可分为接触式和非接触式两大类,前者是让温度传感器直接与待测物体接触,来敏感被测物体温度的变化,而后者是使温度传感器与待测物体离开一定的距离,检测从待测物体放射出的红外线,从而达到测温的目的。 传统的热电偶、热电阻、热敏电阻及半导体温度传感器都是将温度值经过一定的接口电路转换后输出模拟电压或电流信号,利用这些电压或电流信号即可进行测量控制。而将模拟温度传感器与数字转换接口电路集成在一起,就成为具有数字输出能力的数字温度传感器。随着半导体技术的迅猛发展,半导体温度传感器与相应的转换电路、接口电路以及各种其它功能电路逐渐集成在一起,形成了功能强大、精确、价廉的数字温度传感器。 [全文]
DS18B20 定时采集环境温度,并通过无线传感网络将数据依次向主节点发送,主节点收到数据后通过串口传给上位PC 机,上位机将采集的数据存入数据库, 对数据进行分析处理, 并在监控界面显示温度实时变化曲线。
图1 温度采集系统结构图
3 系统硬件设计
3.1 主节点硬件设计
选择CC2430 作为主节点的处理器,该芯片是全球首款支持ZigBee 协议的片上系统(SOC)解决方案,集成了一个8051MCU
MCU
MCU Microcontroller(微控制器)又可简称MCU 或μ C,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM、RAM、 CPU、I/O 集合在同一个芯片中,为不同的应用场合做不同组合控制.微控制器在经过这几年不断地研究,发展,历经4 位,8 位, 到现在的16 位及32 位,甚至64 位.经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。 [全文]
内核以及符合IEEE802.15.4 规范的2.4GHz 的无线收发器。芯片内部有8kb 的RAM,可选32/64/128kB 的Flash 存储单元,包含模拟数字转换器
转换器
转换器从原理上可分为协议转换器、接口转换器两大类。从应用上又可以分光纤转换器、光电转换器、视频转换器等等。例如视频转换器就是一种连接电脑和电视的设备,它可以把电脑上的内容转换并显示在电视机上,让人们可以在电视上学电脑,上网,玩游戏,做商业演示,看股票等等。 [全文]
、定时器、看门狗定时器、AES128 协处理器等,同时提供了2 个UART 接口以及21 个可编程I/O 引脚。该芯片具有高度集成性和丰富的硬件资源,使得外围电路的设计变得十分简单。
主节点是整个网络的协调器,作为全功能设备(FullFunction Device,FFD),负责网络组建和维护、温度采集数据无线接收、与上位PC 机串口通信。因此采用CC2430-F128(128kB Flash)芯片,并在CC2430 典型应用电路的基础上扩展串行通信接口,选用MAX3232 芯片实现TTL 与RS232 电平转换。ZigBee 主节点的硬件电路如图2 所示。
图2 ZigBee 主节点电路
3.2 从节点硬件设计
从节点主要负责温度采集和数据无线传输, 可作为简化功能设备(Reduced Function Device,RFD),以降低功耗和成本。芯片采用CC2430-F32(32kB Flash),其硬件电路和主节点大致相同, 只是去掉了串口通信电路,同时在从节点芯片的I / O 口上接入多个温度传感器DS18B20 以实现多点温度数据的采集。
DS18B20 是“单总线
总线
总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们常常以MHz表示的速度来描述总线频率。 [全文]
”数字温度传感器,其测量温度范围为-55℃~+125℃,支持3~5. 5V 电压供电, 主要由四部分组成:64 位光刻ROM、温度传感器、非易失性温度报警触发器和配置寄存器。ROM 中的64 位序列号出厂前已光刻固化,每个传感器的序列号都是唯一的,因此可以在一根总线上挂接多个DS18B20,能极大减少I/O 口的占用。本系统中用DS18B20 进行多点温度采集时,传感器与从节点的CC2430 的连接形式如图3 所示。
图3 温度传感器节点连接图
由于ZigBee 设备功耗很低,并且能设置成定时睡眠模式以进一步省电,而DS18B20 本身功率也非常小,所以本系统中的主、从各节点均采用2 节1.5V 电池
电池
电池是一种能量转化与储存的装置,它通过反映将化学能或者物理能转化为电能。电池即一种化学电源,它由两种不同成分的电化学活性电极分别组成正负两极浸泡再能提供媒体传导作用的电解质中,当连接在某一外部载体上时,通过转换其内部的化学能来提供电能。 [全文]
供电即可满足实际需要。
4 系统软件设计
4.1 温度传感器数据采集
DS18B20 可设定9~12 位的分辨率,本系统采用12位分辨率,转换精度为0. 0625℃,转换温度信号所需最长时间为750ms。温度数据由2 字节组成,以符号扩展的二进制补码形式存储,最低4 位是小数部分,中间7 位是整数部分, 1 位符号位。
DS18B20 内部RAM 由9 个字节的高速缓存器和E2PROM 组成,前2 个字节即为温度数据。通过复位指令、ROM 和RAM 功能命令,即可完成对指定DS18B20温度数据的采集和读取, 所有读写操作都是通过与CC2430 的I/O 口连接的DQ 引脚完成。
在一线制总线上串接多个DS18B20 器件时,需要先发送跳过ROM 指令,将所有传感器都进行一次温度转换,之后通过匹配ROM 依次读取每个传感器的温度数据,实现对单I/O 口上的多个DS18B20 器件的操作。整个温度采集的流程如图4 所示。
图4 DS18B20 温度采集流程图
4.2 ZigBee 无线组网及数据通信
ZigBee 通信协议采用分层结构,节点通过在不同层上的特定服务来完成所要执行的各种任务。本系统采用TI 提供的ZigBee2006 协议栈Z-Stack,在IEEE 802.15.4 标准物理层(PHY)和媒体访问控制层(MAC)基础上增加了网络层、应用层和安全服务规范,是一种较好的无线传感网络组建方案。
ZigBee 设备类型按网络功能分为三种:协调器、路由器、终端。由于本系统采用星型网络拓扑结构,所以只存在协调器和终端两种设备。
本系统中主节点被初始化为网络协调器。协调器包含所有的网络消息, 存储容量最大、计算能力最强。
它的功能是发送网络信标、建立网络、管理网络节点、存储网络节点信息、收发信息。
从节点被初始化为无信标网络中的终端设备。上电复位后,即开始搜索指定信道上的网络协调器,并发出连接请求。建立连接成功后, 从节点将得到一个16 位的网络短地址,并采用非时隙CSMA-CA 机制,通过竞争取得信道使用权,向主节点发送数据。各从节点每30 秒读取一次I/O 接口上多片温度传感器数值, 同时开启睡眠定时器,当数据发送成功后该节点立即进入睡眠状态,最大程度地降低功耗, 延长从节点的电池使用时间。
数据包的格式由从节点串接的DS18B20 的数量决定,每个DS18B20 传输的数据长度定义为3 字节,第1 字节为标识符,包括从节点编号,CC2430 的I/O 口编号以及此温度传感器的编号, 后2 个字节为温度采集数据。
主节点收到数据包后, 对数据进行分析处理, 把从节点上的每个温度传感器的数据采集值进行转换,得到实际的温度值,然后发送给上位PC 机。主从各节点的组网及通信流程如图5 所示。
图5 主从节点组网通信流程图
4.3 PC 机串口通信及监控
图6 上位机软件运行界面
上位机采用VB 编程语言编写串口通信及数据库程序,在工程中添加MSComm 控件实现串口传输和接收数据[4]。使用ADO 对象连接Access 数据库,将当前数据存入数据库中,将控件Pictur eBox 作为容器,实现曲线图的动态显示,此过程涉及到曲线、坐标轴、格线和坐标刻度的消隐和重绘。消隐的实现主要用背景色重绘曲线和网格线, 并覆盖坐标刻度数字, 重绘实时曲线和坐标轴网格线通过Li n e 方法来实现, 坐标轴刻度、标签、图标等的标注使用Print 方法实现[5]。
当程序开始运行后, 打开串口, 就可将接收到的实时数据加入到各节点的历史温度数据库,同时可以从运行界面看到历史温度变化曲线。图表中曲线的最右端为当前温度, 点击节点按钮, 然后选中指定的温度数据框,即可查看对应传感器节点的温度历史数据和变化情况, 软件运行时的界面如图6 所示。
5 结束语
本文设计了一种基于ZigBee 技术的无线温度采集系统,采用CC2430 芯片设计主从节点,硬件结构精简、体积小、能耗低, 所组成的无线传感网络具有自组织,自适应的特点。通过实验调试,该温度采集系统达到了设计要求,效果良好。鉴于无线传感网络技术具有功耗低、数据传输可靠、网络容量大、兼容性好、实现成本低等诸多优点, 可广泛应用于生产生活的各个领域, 尤其适用于数字家庭、智能大厦温度控制、小区安防监测等, 具有较好的通用性和应用前景。