ZigBee无线气压测量模块的实现

时间:2024-03-05 17:53:26

在集装箱运输中,对冷藏集装箱可靠性要求很高,除进行强度实验外,还需按要求完成热工性能实验。热工性能实验中需要测量集装箱的气密性,漏热性,制冷性等。

为提高测量的自动化程度,控制测量过程的人为因素,需要设计一套全自动的气密性试验装置。试验装置需要能够精确地测量集装箱的气压,并且通过ZigBee数传模块将测量值发送到接收模块,由接收模块控制流量调节阀开度,调节供气量,保持箱内和环境的压差。

本文着重介绍气压测量及无线ZigBee数传模块的设计及实现。在无线传输方面,由于ZigBee模块具有成本低、功耗低、可靠性高、传输距离远等优点,因此ZigBee模块选用了Z-Stack无线通信协议,以此完成ZigBee模块设计,程序编制及调试。

1 无线气压测量模块总体设计

无线气压测量模块包含气压测量及无线发送,无线接收及显示两个单元。气压测量及无线发送单元主要负责气压的ZigBee数传采集及发送。控制器选用TI公司的CC2530芯片,气压测量选用BMP085替代模块BMP180气压模块。而无线接收及显示单元主要负责数据接收及转换,并通过RS232USB串口通信连接上位机,在上位机上实时显示气压的数值。发送和接收单元之间通过ZigBee模块点对点的数据传输方式。

clip_image002

1 无线气压测量模块总体设计

2 无线气压测量模块的硬件设计

为了简化设计电路,提高ZigBee模块可靠性,ZigBee模块的气压测量及无线发送单元,无线接收及显示单元采用CC2530芯片设计的相同核心板,而根据功能不同设计不同的功能底板。核心板硬件电路相同,但下载不同的程序,完成相应的设计功能。

2.1 气压测量及无线发送单元硬件设计

气压测量及无线发送单元由ZigBee无线模块无线传输核心板,测量及无线发送单元功能底板,以及气压测量传感器模块组成。

    使用中,气压测量传感器模块放置在冷藏集装箱内,功能底板与传感器通过杜邦线连接。而核心板通过12针及14针的标准2.54 排针接插件与功能底板相连。测量及无线发送单元功能底板主要包含电源供给,程序下载及调试接口,按键及LED报警指示,传感器接口等功能。由于气压测量传感器模块BMP180采用I2C接口,而CC2530没有硬件I2C接口,因此使用P0.0P0.1模拟I2C的数据线SDA和时钟线SCL,采用软件模拟I2C的方式读写传感器。

2.1.1 CC2530 ZigBeem模块核心板硬件设计

ZigBee无线传输核心板主芯片CC2530采用标准8051处理器,满足2.4GHz ISM波段应用对低成本,低功耗的要求。ZigBee无线传输核心板使用2.4G全向SMA天线,不仅设计可靠,而且重量轻、体积小,传输距离200米以上,完全满足气密性试验的性能要求。核心板包括以下几个部分:CC2530片上系统,32MHz系统时钟,SMA天线,12针及14针接插件接口。

2.1.2 ZigBee数据采集单元功能底板硬件设计

功能底板主要设置电源供应,JTAG程序下载及调试接口,故障报警指示,传感器测量接口。调试过程中可以通过JTAG调试接口供给电源,实际测量中使用一节73.7V电池供电。由于CC2530供电电压范围2-3.6V,因此通过电池供应需要经过CAT6219-330进行线性稳压。功能模块中设置了无线通信故障、传感器测量故障等报警,报警通过相应的指示灯指示。BMP180传感器测量接口使用5针排针与杜邦线连接方式,包含模块电源线,I2C通信上拉电源线,数据线,时钟线,以及地线。

clip_image004

2 ZigBee 无线传输核心板原理图

2.1.3 气压测量传感器模块硬件设计

气压测量传感器模块选用BOSCH公司的BMP180传感器模块。BMP180采用超薄封装,通过I2C总线直接与各种微处理器相连,模块中I2C总线使用4.7k的上拉电阻。BMP180传感器模块的特点如下:.低功耗:在标准模式每秒采样一次的情况下耗电5μA.高精度:低功耗模式下,分辨率为6Pa,超高分辨率模式下,分辨率为2Pa.含有温度输出,压力测量的范围:30000~110000Pa,温度和压力数据由BMP180E2PROM中的校准数据补偿。

2.2 无线接收及显示单元硬件设计

无线接收及显示单元由ZigBee模块无线传输核心板和无线接收及显示功能底板组成。该单元核心板与发送单元设计相同,接收单元功能底板除包含与发送单元功能底板相同的电源供给,程序下载及调试接口,按键及LED报警指示外,还设置了RS232USB接口,用以连接上位机。

RS232USB接口采用Prolific公司的PL2303芯片完成通信任务,接口不但避免了繁琐的USB协议,而且具有即插即用的特

clip_image006

3 RS232 USB 接口原理图

3 Zigbee模块无线气压测量模块的软件总体设计

软件在IAR7.6.0 IDE环境下编制,下载、调试便利。无线通信程序采用简单的点对点传输协议,使用由TI提供的CC2530 BasicRF例程编制。软件的整体设计为:在发送单元软件中,加入传感器测量程序进行气压测量,定义通信数据包数据格式,将测取的数据内容通过无线传输发送至接收单元;接收单元则轮询接收完毕标志,接收完毕后,通过USB串口通信,将接收的数值传输到上位机实时显示。

3.1 气压模块测量软件设计

BMP180模块气压测量采用软件模拟I2C读写E2PROMI2C总线采用7位地址方式加1位读或写信号位,在传送数据过程中有开始、结束和应答三种类型信号,通过软件进行模拟,建立专门I2C通信处理头文件,包括字节读写等功能。模拟I2C时,需要注意CC2530在每次读写都要通过PxDIR寄存器设置IO口的输入或输出的方向。度数据,然后再在0xF4地址中写入0x34+Oss<<6启动压力测量。其中Oss是取样比的控制信号,程序中取为0,每次读取压力信号测取1次。在延时4.5s后读取非补偿的压力数据,而后根据校准数据,计算温度和压力值。

clip_image008

4 I2C 时序图

3.2 ZigBee 点对点无线传输软件设计

ZigBee模块无线传输一次可以传输最大103字节的数据,大于程序的需求,温度和压力数据在一个数据包中传输。ZigBee模块无线传输需要设定参数包括:通道号(CHANNAL_NUM),网络IDPAN_ID),接收单元地址(RX_ADDR),发送单元地址(TX_ADDR)。收发程序中通道号和网络ID需要设置一致。程序使用宏定义设置参数。

    #define PAN_ID 0x2007#define TX_ADDR 0x2520#define RX_ADDR 0xBEEF#define CHANNAL_NUM 0x0C使用结构体定义传输的数据包格式,设置压力和温度ID号,便于根据ID判别传输错误情况,点亮LED灯指示传输错误。

    Typedef struct {uint32 PackSeqNum; //Pack Sequence Numberuint8 pID; //Pressure IDuint8 Ppadding[6];uint8 tID; //Pressure IDuint8 Tpadding[3];} DataPacket_t;接收单元接收到数据,检验数据包的序列号是否与预期一致,并检测ID正确后,发送接收应答信息,根据序列号计算丢包数量,通过串口将数据传输到上位机中。串口通信参数设置:8位数据传输,无奇偶校验位,1位停止位,波特率115200bps。数据使用ASCII编码传输方式进行传输。

4 测量结果

完成系统程序编制,调试成功后,进行测试数据测量。收发单元距离50米的条件下,测试了环境的大气压力,几次测量结果如下图:

clip_image010

5 测量压力、温度及信号强度显示

环境平均压力为:101387.9Pa,数字气压计的读数为101389Pa,误差为1.1Pa,满足设计精度。模块的主要目的是测定气压,完成气密性试验装置,温度数值在模块中仅作参考。另外测取了无线传输信号强度。在50米距离下传输数据,信号强度约为-78dbm,距离增加,信号强度会随之增加。以2000个数据包为一组,测取五组,数据收发丢包率为0%,模块功能可靠,满足设计需求。

5 结束语

根据实际需求,利用ZigBee模块设计并实现了气压的ZigBee数据采集与无线传输模块。该ZigBee数传模块成本低,可靠性好,安全,实用,适用于冷藏集装箱全自动的气密性试验装置。