logo资料库

基于ZigBee 的多点温度采集系统设计与实现.pdf

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
基于 ZigBee 的多点温度采集系统设计与实现 1 引言 随着生产技术的提高, 环境温度指标越来越多的影响到生产效率、能源消耗 和生活水平。不管是工业、农业、军事及气象领域, 还是日常生活环境, 都需要 对温度进行监测。因而,设计可靠且实用的温度采集系统显得非常重要。 在传统的温度采集系统中, 节点一般采用有线连接方式, 布线繁琐, 扩展 性和可移植性较差。尤其对于广阔空间环境中的温度采集,如果采用有线方式其 成本和功耗都比较高。而 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 引脚。该芯片具有高度集成性 和丰富的硬件资源,使得外围电路的设计变得十分简单。 主节点是整个网络的协调器,作为全功能设备(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 是“单总线”数字温度传感器,其测量温度范围为-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 芯片 设计主从节点,硬件结构精简、体积小、能耗低, 所组成的无线传感网络具有自 组织,自适应的特点。通过实验调试,该温度采集系统达到了设计要求,效果良好。 鉴于无线传感网络技术具有功耗低、数据传输可靠、网络容量大、兼容性好、实
现成本低等诸多优点, 可广泛应用于生产生活的各个领域, 尤其适用于数字家 庭、智能大厦温度控制、小区安防监测等, 具有较好的通用性和应用前景。
分享到:
收藏