基于ZigBee技术的索道风速自动测量系统的设计与实现
扫描二维码
随时随地手机看文章
引言
目前,国内索道风速检测系统大多采用传统的有线方式或者采用大功率数传模块进行无线传输。有线方式的布线成本高,维护不方便,尤其在索道这种特殊的山区复杂地形,缺点更为明显;采用大功率数传模块的无线方式,功率大,数据传输易受环境干扰。ZigBee网络是一种低功耗、低成本、高可靠性的无线传感器网络,其在环境检测等领域有着广阔的应用空间[1'%本文以索道风速检测为应用背景,提出了一种方便可靠的索道风速自动检测系统。它以DIGI公司的ZigBee模块Xbee-Pro为核心,配置风速传感器"C9S08QG8单片机,实时精确地测量索道运行环境的风速,为索道的安全运行提供了保障。
1系统概述
本系统的主要功能是采集索道运行环境的风速,在风速大于10m/s时发出报警信息。上位机收到报警信息后,提示索道工作人员,当前风速环境下索道不适合运行。整个系统的结构如图1所示。
图1中的数据接收器用于接收风速采集终端发送的风速信息,并传送给监控上位机;无线通信路由为整个系统的无线数据传输提供路由;风速采集终端用于采集风速传感器的模拟信号,并发送至数据接收器;上位机则接收数据接收器传输的风速数据,并根据风速判断是否发出报警信息。
2系统硬件设计
2.1数据接收器
数据接收器的功能主要是接收风速采集终端发送的风速信息。首先是通过RS232接口发送到上位机进行显示;其次通过单片机将接收到的数据进行处理,判断当前风速是否超过报警上限(10m/s)„如果超过报警上限,数据接收器驱动蜂鸣器进行声音报警,同时报警信号灯闪烁,进行灯光提示。
整个数据接收器由电源、单片机MC9S08QG8、XBee-Pro模块、RS232接口、LED显示、蜂鸣器、报警信号灯组成。系统的结构图如图2所示。
电源选用通用开关电源:输入220VAC,50Hz,输出5V,2A,再通过LM1117-3.3电源芯片将电压降至3.3V,为整个系统提供电源;LED显示采用CD4094驱动通用数码管实现。下面介绍一下XBee-Pro模块和单片机MC9S08QG8的性能。
无线通信模块选用美国DIGI公司的XBee-Pro模块。
XBee-Pro模块是美国DIGI公司的ZigBee模块,是一种远距离、低功耗的数传模块,频段有2.4GHz,900MHz,868MHz,三种同时可兼容802.15.4协议。该模块内置协议栈,具有直接序列扩频功能(DSSS),支持的网络结构包括点对点网络、点对多点网络和MESH网络„XBee-Pro模块在发射功率不大的条件下可以传输很远的距离,比如在100mW的发射功率下,室内传输距离可以达到100m,室外传输距离1500m。模块的RF数据传输速率最高可以到250Kb/s。模块的供电范围是2.8~3.4V,TX电流为215mA(@3.3V),RX电流为55mA(@3.3V)田。
MC9S08QG8是飞思卡尔公司推出的一款高性能、低功耗的8位单片机叫该单片机具有以下特点:单总线调试接口(BDM调试接口),具有在线重新编程的功能,方便用户进行程序开发;I/O接口具有多种复用功能,通过寄存器的配置可以实现多种功能,同时通过寄存器的配置可以完成输入输出、上拉下拉电阻和驱动能力的设置;内部资源丰富,具有/A/D、串行通信接口(SCI)、集成电路互连(IIC)总线接口等。
2.2无线通信路由
无线通信路由包括两个部分:无线通信模块XBee-Pro,具有接收和发送各种采集数据和网络协议数据的功能;电源系统,为无线通信路由提供工作电源,保证系统正常可靠工作。
无线通信路由的主要功能是为无线通信网络的数据传输提供路由。系统在加入无线通信路由后,可以扩大无线网络覆盖的范围,提高无线数据传输的准确性和可靠性。如果索道运行的环境距离较短,可以不采用无线通信路由。
2.3风速采集终端
风速采集终端的功能是采集风速传感器输出的电流信号,通过无线通信模块XBee-Pr。的A/D转换接口将电压信号转换成数字信号,然后通过无线网络发给数据接收器。
风速采集终端主要包括XBee-Pro模块、供电系统和风速传感器。风速传感器采用电流输出型叶轮传感器,传感器采用12V供电,测量范围为0~30m/s,输出信号为4~20mA[12]。风速传感器的输出电流信号通过采样电阻转成电压信号,然后由XBee-Pro模块的ADC接口进行转换。供电模块由太阳能电池板、铅酸蓄电池和电源控制系统组成,为整个风速采集终端提供可靠的工作电源。
风速采集终端的结构如图3所示。
图3风速采集终端结构图
3系统软件设计
3.1Xbee-Pro模块设置
XBee-Pro模块的功能非常强大,通过上位机软件X-CTU可以对模块进行具体的配置。为了修改或者读取射频模块的参数,模块必须首先进入命令模式。命令模式有AT命令方式和API方式,一般应用X-CTU软件来配置参数以及写入相应模块固件,X-CTU软件上可以很方便地读写模块配置参数,并可观察发送和接收指令[6'8]。
XBee-Pro模块内置协议栈,用户可以根据自己的需要通过厂商提供的上位机软件X-CTU写入相应的配置。模块的工作方式有两种:一种方式是API方式;一种是AT方式[11]。模块工作在AT方式时具有易于查询、管理方便等特点;而API方式由于具有返回码,更有利于数据的可靠性传输。在同一个网络中无论设置成AT模式还是API模式,彼此之间都可以进行通信。相比较而言,模块工作在API方式下所构成的网络应用起来更为灵活和广泛,而且在API模式下,设备还可以将配置命令发送到远程模块来设置或读取任何在网络中的设备[句。
本系统中将数据接收器的XBee-Pro模块配置成ZigBeeCOORDINATORAPI方式,无线通信路由的XBee-Pro配置成ZigBeeROUTERAPI方式,风速采集终端配置成ZigBeeENDDEVICEAPI。它们都是通过X-CTU软件将通信协议固化到模块中的。
3.2MC9S08QG8程序设计
MC9S08QG8采用C语言编程,编程软件采用CodeWarrior6.0。CodeWarrior系列集成开发环境(IDE)是Metrowerks公司为嵌入式微处理器设计的软件开发工具。CodeWarrior包括构建平台和应用所必需的所有主要工具:IDE、编译器、调试器、编辑器、链接器、汇编程序等。CodeWarrior将尖端的调试技术与健全开发环境的简易性结合在一起,将C/C++源级别调试和嵌入式应用开发带入新的水平[7]。
MC9S08QG8的程序流程图如图4所示。
图4程序流程图
本系统的上位机软件采用MicrosoftVC++6.0设计,限于篇幅,不再赘述。
4结语
目前,本系统已被应用到十几条索道系统中,效果良好。系统采用了基于ZigBee技术的无线通信网络,解决了因索道工作环境复杂而造成的布线困难和无线数传模块传输数据不可靠等缺点,而且具有功耗低,节点配置灵活等特点,因此具有广阔的市场前景。
20211112_618e682b02e35__基于ZigBee技术的索道风速自动测量系统的设计与实现