基于ZigBee的多点温采集系统研究设计与实现Word文件下载.docx
《基于ZigBee的多点温采集系统研究设计与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于ZigBee的多点温采集系统研究设计与实现Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
而ZigBee作为一种新兴的短距离、低功耗、低成本的无线通信技术,能广泛应用于工业控制、消费电子、家庭自动化、医疗监控各种领域。
本文设计了一种基于ZigBee无线技术的多点温度采集系统,实现了主从节点间数据的无线传输,同时上位PC机采用串口与主节点通信,并建立温度数据库,实现了数据的统一管理。
该系统具有扩展性好、稳定可靠、维护方便等特点。
2系统整体概述
本文设计的温度采集系统结构如图1所示。
系统采用ZigBee星型网络拓扑结构,建立了一个主节点,四个从节点的无线传感网络,实现数据的无线传输。
各个从节点连接数字温度传感器DS18B20定时采集环境温度,并通过无线传感网络将数据依次向主节点发送,主节点收到数据后通过串口传给上位PC机,上位机将采集的数据存入数据库,对数据进行分析处理,并在监控界面显示温度实时变化曲线。
图1温度采集系统结构图
3系统硬件设计
3.1主节点硬件设计
选择CC2430作为主节点的处理器,该芯片是全球首款支持ZigBee协议的片上系统(SOC)解决方案,集成了一个8051MCU内核以及符合IEEE802.15.4规范的2.4GHz的无线收发器。
芯片内部有8kb的RAM,可选32/64/128kB的Flash存储单元,包含模拟数字转换器、定时器、看门狗定时器、AES128协处理器等,同时提供了2个UART接口以及21个可编程I/O引脚。
该芯片具有高度集成性和丰富的硬件资源,使得外围电路的设计变得十分简单。
主节点是整个网络的协调器,作为全功能设备(FullFunctionDevice,FFD),负责网络组建和维护、温度采集数据无线接收、与上位PC机串口通信。
因此采用CC2430-F128(128kBFlash)芯片,并在CC2430典型应用电路的基础上扩展串行通信接口,选用MAX3232芯片实现TTL与RS232电平转换。
ZigBee主节点的硬件电路如图2所示。
图2ZigBee主节点电路
3.2从节点硬件设计
从节点主要负责温度采集和数据无线传输,可作为简化功能设备(ReducedFunctionDevice,RFD),以降低功耗和成本。
芯片采用CC2430-F32(32kBFlash),其硬件电路和主节点大致相同,只是去掉了串口通信电路,同时在从节点芯片的I/O口上接入多个温度传感器DS18B20以实现多点温度数据的采集。
DS18B20是“单总线”数字温度传感器,其测量温度范围为-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所示。
图4DS18B20温度采集流程图
4.2ZigBee无线组网及数据通信
ZigBee通信协议采用分层结构,节点通过在不同层上的特定服务来完成所要执行的各种任务。
本系统采用TI提供的ZigBee2006协议栈Z-Stack,在IEEE802.15.4标准物理层(PHY)和媒体访问控制层(MAC)基础上增加了网络层、应用层和安全服务规范,是一种较好的无线传感网络组建方案。
ZigBee设备类型按网络功能分为三种:
协调器、路由器、终端。
由于本系统采用星型网络拓扑结构,所以只存在协调器和终端两种设备。
本系统中主节点被初始化为网络协调器。
协调器包含所有的网络消息,存储容量最大、计算能力最强。
它的功能是发送网络信标、建立网络、管理网络节点、存储网络节点信息、收发信息。
从节点被初始化为无信标网络中的终端设备。
上电复位后,即开始搜索指定信道上的网络协调器,并发出连接请求。
建立连接成功后,从节点将得到一个16位的网络短地址,并采用非时隙CSMA-CA机制,通过竞争取得信道使用权,向主节点发送数据。
各从节点每30秒读取一次I/O接口上多片温度传感器数值,同时开启睡眠定时器,当数据发送成功后该节点立即进入睡眠状态,最大程度地降低功耗,延长从节点的电池使用时间。
数据包的格式由从节点串接的DS18B20的数量决定,每个DS18B20传输的数据长度定义为3字节,第1字节为标识符,包括从节点编号,CC2430的I/O口编号以及此温度传感器的编号,后2个字节为温度采集数据。
主节点收到数据包后,对数据进行分析处理,把从节点上的每个温度传感器的数据采集值进行转换,得到实际的温度值,然后发送给上位PC机。
主从各节点的组网及通信流程如图5所示。
图5主从节点组网通信流程图
4.3PC机串口通信及监控
图6上位机软件运行界面
上位机采用VB编程语言编写串口通信及数据库程序,在工程中添加MSComm控件实现串口传输和接收数据[4]。
使用ADO对象连接Access数据库,将当前数据存入数据库中,将控件PictureBox作为容器,实现曲线图的动态显示,此过程涉及到曲线、坐标轴、格线和坐标刻度的消隐和重绘。
消隐的实现主要用背景色重绘曲线和网格线,并覆盖坐标刻度数字,重绘实时曲线和坐标轴网格线通过Line方法来实现,坐标轴刻度、标签、图标等的标注使用Print方法实现[5]。
当程序开始运行后,打开串口,就可将接收到的实时数据加入到各节点的历史温度数据库,同时可以从运行界面看到历史温度变化曲线。
图表中曲线的最右端为当前温度,点击节点按钮,然后选中指定的温度数据框,即可查看对应传感器节点的温度历史数据和变化情况,软件运行时的界面如图6所示。
5结束语
本文设计了一种基于ZigBee技术的无线温度采集系统,采用CC2430芯片设计主从节点,硬件结构精简、体积小、能耗低,所组成的无线传感网络具有自组织,自适应的特点。
通过实验调试,该温度采集系统达到了设计要求,效果良好。
鉴于无线传感网络技术具有功耗低、数据传输可靠、网络容量大、兼容性好、实现成本低等诸多优点,可广泛应用于生产生活的各个领域,尤其适用于数字家庭、智能大厦温度控制、小区安防监测等,具有较好的通用性和应用前景。