APP下载

基于STM32W的液压支架压力监测系统

2014-03-21王晓荣诸葛云陆志峰

仪表技术与传感器 2014年6期
关键词:数据包路由无线

蔡 亮,王晓荣,诸葛云,周 凯,陆志峰

(南京工业大学自动化与电气工程学院,江苏南京 210009)

1 系统结构

无线传感器网络是一种由许多传感器节点(sensor node)组成的一种自组织无线网络。该系统主要由网关/汇聚节点(sink)、路由节点、传感器节点、CAN总线、监控软件几部分组成。如图1。

图1 系统架构

传感器节点:安装在液压支架上,对其前支柱、后支柱、前身梁3点的压力进行采集。

路由节点:作为通讯的中继,实现sink节点与传感器节点的通信,起到传递数据和命令的作用,同时在网络中可以转发信号,实现组网中的远距离通讯。

Sink节点:作为整个网络的协调器,负责组建网络、分配地址、汇总信息等功能。

由于液压支架在井下是直线型排列,传感器节点也应为带状分布。因此3种节点布局为层次型拓扑结构[1]。

2 无线传感网络节点硬件设计

系统中的网络节点主要有sink节点、路由节点、传感器节点。它们在无线部分配置基本一致,都选用高性能、低功耗的STM32W108芯片为通信器件。但考虑到通讯的覆盖面积和使用方便性,传感器节点需由电池供电并选用低功耗的负载芯片,路由节点和sink节点可由直流电源供电。下面以传感器节点为例,具体说明,如图2所示。

图2 传感器节点结构图

传感器节点由传感器、信号处理单元、按键、电源管理单元、通信单元、显示单元组成。

2.1采集单元

测压传感器选用扩散硅式压力传感器,有别于传统的硅应变片式传感器,其具有测量精度高,稳定性好、使用寿命长等特点,同时固化结构中有极大的内部阻抗,功耗更低。设计中为了达到较好的线性度,采取恒流源供电方案。同时选用具有较宽共模输入范围的集成单电源仪表放大器AD623,其使用简单,功耗低,最大工作电流为550 μA.

2.2数据处理与通讯

STM32W108是一个完全集成的系统芯片,该芯片集成了符合IEEE 802.15.4标准的2.4 GHz收发器、32位ARM Cortex-M3微处理器、Flash闪存、RAM存储器以及基于ZigBee系统使用的很多通用外设[2]。相比现在常用的ZigBee芯片内嵌的8位MCU(8051),其32位处理器处理能力更快,同时在保持低功耗的基础上,内部自带有功率放大器(PA),发射功率可达+7 dBm,能获得更大的通信距离。

STM32W108在网络节点的硬件平台中作为节点的控制器与收发器。内部自带有12位的A/D转换将经处理放大后的模拟信号转化为数字量,软件中通过一定算法换算,最终在数码管上显示当前压力值。考虑到节省电量,传感器节点选用数码管显示,不需要查看时被关闭,工作人员可通过手动或光照开启数码管。

芯片内部集成了RF收发功能,为了更好地引入谐波信号,在双向的RF端口(引脚RF_P和RF_N)需匹配相应硬件电路,包括外置的带通滤波器滤除不需要的谐波;由电感、电容组成的匹配网络优化RF性能,如图3。

图3 天线匹配电路

图中左侧电感L1串联电容C22构成了匹配网络,防止由于天线阻抗随环境的变化而变化从而改变整体电路的阻抗。J1一路可以使用外部天线作为增强信号使用,设计中选用50 Ω鞭状天线。

2.3电源管理

由于传感器节点采用电池供电,为了保证电池的使用寿命,需要考虑电能消耗问题。节点设计中,分2部分供电,一路是模拟电源部分:供给传感器、恒流源、调理电路部分;另一路是数字电源供电:供给CPU和显示单元。

模拟电源由一个MOS管来控制通断,在节点不需要采集时关断模拟电源部分,节省不必要的电能消耗。由数字供电的STM32W在深睡眠和正常工作两种模式下切换,当采集的压力值需传输时开启自身的RF射频通讯功能,一般关闭不用外设,尽量降低功耗。

2.4其他节点

路由节点和sink节点的显示模块都采用液晶显示,可以包含更多信息,并对自身网络中的状态更新显示,方便检查。这两个节点不会进行深睡眠,一直处于工作状态,可以不断查询网络。

3 网络节点软件设计

STM32W108的硬件集成了IEEE 802.15.4的大部分MAC需求,其具有CRC计算、添加和校验,RAM数据包自动发送、自动应答传输等功能。

3.1系统网络节点设计

系统通讯架构需要由Sink节点来形成网络并发起广播,路由、传感器节点搜索信道网络,并申请加入,如图4。初始化包括硬件初始化、串口初始化、中断使能、对随机数生成器播种等[3]。

图4 Sink节点流程图

Sink节点的作用是网络维护和数据传输。网络构建完成后就可以给申请加入网络的其他节点分配地址创建列表,接收子节点上传的数据;在数据传输中主要是从无线网络到CAN总线的协议转换,方便数据上传到监测机。

另外,反向方式可以向下传送监测机的命令指令,Sink节点向网络中所有节点发送,由传输数据包内容决定执行的子节点和命令内容(参考3.2节内容)。

路由节点主要包括液晶显示和电源管理,起到数据转发和显示作用,在初始化完成后尝试加入网络建立路由表,然后将传感器节点传上来的数据包解析,直接转发给sink节点或者由路由节点之间相互通讯(中继作用)最终送给sink节点。

传感器节点负责数据的采集和上传,如图5所示。加入网络前的初始化部分与sink节点相类似,然后广播发送一个SEARCH帧在信道上循环搜索,当得到sink节点的允许后会收到一个AVAILABLE帧,更新自己的PAN ID和sink节点保持一致,并且单播发送一个JOIN帧给指定sink节点。如果sink节点在自己的地址列表中没有找到空余项就单播发送一个拒绝帧,否则将分配的一个短ID单播发送。

图5 传感器节点流程图

由于电池供电的特点,如果每次将采集的压力值都上传,会造成节点能量的大量损耗,而且小段时间数据的意义不大,所以设计中采取定时采集、压差传输的方式。芯片采取内部睡眠定时唤醒模式,定时时间可以由软件修改,方便监控机远程调节;采集时将压力值与上次发送保留的数值比较,如果超过限定门限就打开无线模块发送数据和采集时间,并将此次压力值替换原来的存储值,否则关闭外设,直接进入睡觉模式等待下一次唤醒。

3.2通信协议

Sink节点与网络中其他节点通信时,所有的命令、应答均以表1所列的数据包格式进行[5]。

表1 命令、应答数据包格式

所有的包都是以0x7C、0x42作为开始字段,0x7C作为结束字段,负载包括注释(MSG_HEADER,如表2)部分和数据(MSG_DATA)部分。如果负载数据中出现0x7C则由0x7D 0x5C代替,如果数据中有0x7D,则用0x7D 0x5C代替。

上传和下传的数据包格式都按表1所列,只有MSG_DATA部分内容不同。上传数据时MSG_DATA包含字段如表3,下传数据如表4。

表2 MSG_HEADER包含字段

表3 上传数据字段

表4 下传数据字段

4 试验结果

为了验证系统设计的可行性,搭建了测试系统平台。采用VB软件编写一个上位机监控界面,系统中有4个sink节点,每个节点添加13个终端节点到自己的网络中,CAN总线采用主从模式将4个网络的数据上传到PC监测机。

图6为监控机上第二个sink节点网络中某一次手动询问13个节点上传的数据,压力值显示为50 MPa左右。系统可以采取自动询问方式,设定时间间隔,定时更新数据。在折线图的下拉菜单中可以看到一段时间数据的曲线图,或者根据数据库画出历史曲线。

图6 多点实时监控数据

如图7所示,数据库中记录了每一个网络中的各节点上传数据值、记录时间、描述信息等内容。

图7 数据库

试验结果表明该系统设计上可行,能够实现矿井下压力点的数据采集和无线传输。

5 结束语

本套系统是基于STM32W108模块的应用,从耗电管理、数据传输方面规划了各节点的软硬件设计,与现在市场上使用的监测系统具有以下区别:扩散硅传感器精度高,耗电少,使用寿命长;无线通讯传输无需复杂布线,避免传输电缆经济性差的缺陷;操作便利,降低劳动成本,可以在监测机上远程操作,实时更新;新型IC芯片使用,各方面性能更强。

参考文献:

[1]胡少轩.基于CC2430液压支架压力监测系统的研究.煤矿机械,2011,32(9):142-145.

[2]沈建华,郝立平.STM32W无线射频ZigBee单片机原理仪应用.北京:北京航空航天大学出版社,2010.

[3]STMicroelectronics.STM32W108HB STM32W108CB DataSheet.http://www.st.com/mcu,2010.

[4]基于无线传感器网络的井下液压支架压力监测系统设计.煤矿机械,2010,31(10):139-141.

[5]Wikipedia.ZigBee.http://en.wikipedia.org/wiki/ZigBee,2010.

猜你喜欢

数据包路由无线
二维隐蔽时间信道构建的研究*
《无线互联科技》征稿词(2021)
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
SmartSniff