杨艺+李端
收稿日期:2013-05-27
作者简介:杨 艺(1980—),男,湖北利川人,讲师,硕士研究生,研究方向:信号检测与智能控制。
文章编号:1003-6199(2014)02-0137-04
摘 要:设计一种基于Zigbee无线传感网络的高层建筑在线监测系统,实现对高层建筑震动、晃动等在线监测。检测终端功耗低、体积小、便于安装,实验表明该系统能有效检测精度为0.01075g的三分量加速度,并估算检测点的位移。
关键词:无线传感网络;高层建筑; 三分量加速度传感器
中图分类号:TP23文献标识码:A
Design of Online Monitoring System for Tall Building Based on Wireless Sensor Networks
YANG Yi, LI Duan
(School of Electrical Engineering an Automation ,Henan Polytechnic University, Jiaozuo,Henan 454000,China)
Abstract:A monitoring system for highrise based on Zigbee wireless sensor networks is presented in this paper.The slight vibration and wobble can be detected on line by this system.The detector is low power dissipation,small size and easy to install.Experiments verify the effectiveness of detecting three axis accelerations and estimating displacement.The experiment results show precision of detecting acceleration is 0.01075g.
Key words:wireless sensor network; tall building; three axis acceleration senor
1 前 言
随着经济发展和科技进步,高层建筑在全球范围内遍地开花。高层建筑的安全至关重要。建筑物的增高在放大了地震、强风等对其自身影响的同时,也导致人们对其心理安全感的下降。
高层建筑的震动和晃动现象十分常见。2011年3月11日日本发生里氏8.8级强震,东京的高层建筑普遍震感强烈,一栋20层高的高层建筑震动时间达到4分钟,震动幅度超过20cm,远在千里之外的上海的高楼也有明显震感,引起人们的极度恐慌。除了地震、大风外,电梯的运行、建筑内群体性活动、城市轨道交通等也会引起高层建筑的震动[1]。2011年7月5日,韩国首尔一栋39层高的建筑震动近10分钟,致使数百人惊慌逃离。最后查明,原因竟是在12层一些练习“跆搏”健身操的人和整个大楼结构产生共振引起。
对高层建筑进行实时动态监测和诊断,及时评价震动对建筑的影响,发现建筑结构的损伤,评估其安全性,对可能出现的灾害进行预测,已成为土木工程的必然要求[2]。
基于无线传感网络的高层建筑在线动态监测系统,通过分布在建筑物各处的三分量加速度传感器采集建筑物三维加速度,采集的信息通过无线传感网络传输给上位机,估算建筑物的震动情况,并对建筑物的结构性能做出评估。
2 系统结构及组成
为了有效监测建筑物整体动态情况,便于上位机重建建筑物当前状态,无线检测节点应安装在建筑物的关键部位。不同结构的建筑物其自由振动参数计算方法差异较大,且影响建筑物位移估算,故本文以框架结构高层建筑为例。框架结构由梁柱构成,在纵横两个方向都承受很大的力。为此,应分别在每层楼的梁柱结合处安装无线检测节点。
无线检测节点实时检测该点的三分量加速度,通过Zigbee网络发送至中央协调器,再上传至上位机处理。上位机可自行处理数据;也可通过LAN(Local Area Network)网络传送至中心机房统一处理;或通过WAN(Wide Area Network)将信息传送至远程监视计算机。系统结构图如图1所示。
图1 系统结构图
Zigbee设备在Zigbee网络中分为协调器(Coordinator)、路由器(Router)和终端设备(End Device)三种。协调器负责初始化信道、建立通信地址表等。在本系统中,协调器除了负责建立通讯网络外,还需要将其他节点检测的数据上传中央控制器(Central Controller),并将中央控制器的逐点巡检等指令下达到各个通讯节点。路由器节点在本系统中除了提供数据传输路由外,还兼具检测数据功能。终端设备节点在系统中只具备信号检测功能。
3 硬件电路设计
系统硬件电路主要由检测节点和中央控制器两部分组成。由于检测节点安装在室内紧贴墙壁处,墙体、窗户等会影响无线传输距离。为保证系统通讯的可靠性,选用Helicomm Zigbee通讯模块IPLink1223,其最大通讯距离为100m,实验显示可在封闭状态下穿越一层墙壁,符合系统要求。另外本模块体积小、功耗低,发射时功耗为29mA,接收时功耗仅为27mA。为了提高通讯链路的可靠性,系统采用链状拓扑结构,每条链路上采用双路由器设置,既每层楼的Zigbee模块设置两个路由器。为避免与WIFI无线信号信道冲突,选用4、9、14、15信道,其工作频段分别是2.425GHz、2.450GHz、2.457GHz和2.480GHz。
3.1 检测节点硬件电路设计
检测节点包括路由器检测节点和终端设备检测节点。其硬件电路完全相同,仅需在Zigbee模块设置时分别设为路由器或终端节点即可。
选用Freescale MMA7260QT三轴加速度传感器检测建筑物的三分量加速度。MMA7260QT的加速度检测范围可通过选择设定为±1.5g、±2g、±4g、±6g。当检测范围为±4g时,其检测精度为300mV/g,与PIC16F886IML的10位AD转换配合使用其检测精度可达0.01075g。参照日本地震烈度表,当选择检测加速度范围为±4g时,可以检测I-VII地震引起的地面水平加速度[3][4]。另外该传感器体积小功耗低,正常工作时功耗为500uA。
系统选用PIC16F886作为检测节点的控制芯片。PIC16F886最多可实现14路10位AD转换。通过设置可将AD转换的参考电压定为Vcc和GND,并可设置使用内部集成的RC时钟信号,另外上电复位电路简单,这使得外围元器件降到最少。当使用4MHz时钟信号时,芯片功耗仅为220uA。选用PIC16F886的QFN封装,能进一步减小PCB板面积,节约成本,提高可靠性。PIC16F886和Zigbee模块之间只需要用TTL电平实现串行通讯。
计算技术与自动化2014年6月
第33卷第2期杨 艺等:基于无线传感网络的高层建筑在线监测系统设计
检测节点硬件电路如图2所示。
图2 检测节点硬件电路图
3.2 中央节点硬件电路设计
中央节点负责控制Zigbee网络中的协调器工作,将检测节点的数据上传到上位机,并向协调器下达上位机的指令。系统采用PIC18F23K22作为控制芯片,除了具备功耗低、体积小、外围元件少等有点外,其还具有两个URAT口,可满足和同时与Zigbee协调器和上位机串行通讯的功能。由于系统采用3.3V供电,所以PIC18F23K22与上位机串口之间通讯的电平转换采用MAX3232。中央控制器硬件电路设计如图3所示。
图3 中央节点硬件电路设计
4 控制芯片程序设计
从系统层面上来说,控制芯片程序设计分为加速度信号自检程序、检测程序和数据传输程序。检测节点的程序相同,且包括上述三个内容。而中央控制器仅有数据传输指令,且与检测节点的程序不同。
4.1 传输数据格式规定
IPLink1223传输的每帧数据格式如图4所示。
图4 数据传输帧格式
报头(Header)1Byte的第5、6、7三个位可表示该帧数据的类型,分别为“命令请求”、“命令应答”、“数据请求”或“ASK应答”。当上位机对所有检测点进行巡检时,IPLink1223模块会自动返回ASK应答数据帧。合理应用该方式可大大简化巡检应答程序。
LQI用于指示链路信号质量,如果该检测点信号链路质量过低会影响传输信号的可靠性,因此在系统自检过程中可以通过读取该字段检测信号链路质量,如果信号过低,可在上位机报警提示。
目的地址(Address)字段用于指定本帧数据发往的目标。其中协调器的地址0000H,广播地址为FFFFH。当上位机巡检时,可采用逐点巡检方式,也可采用广播巡检方式。为便于系统后期信号处理,系统规定检测节点地址的高位为楼层号、低位为节点号。如0304H,表示第3层的第4个检测节点。另外规定01和02节点号为路由检测节点。
数据(Data)是检测节点上传的有效数据,是用户自己定义的内容。根据实际需要,本系统有效负载为7个字节。从高到低分别是状态(Status)1字节、X轴加速度(X-axis Acceleration)2字节、Y轴加速度(Y-axis Acceleration)2字节、Z轴加速度(Z-axis Acceleration)2字节。其中状态字节含义分别是:FFH表示正常、00H表示电源故障、AAH表示X轴加速度数据读取错误、BBH表示Y轴加速度数据读取错误、CCH表示Z轴加速度数据读取错误。
因为Data字段的数据位数为7位,所以数据长度(Data length)的数据始终未07H。
校验字段(XOR),用于验证传输数据正确性。系统对前面12个字节的数据进行异或,并存入校验字段中。当接收端接收到信号时,首先计算数据前12个字节的异或结果,如果计算结果与校验字段数据相同,则表示接收数据正确,否则错误。
4.2 检测节点程序设计
检测节点程序包括初始化程序、自检程序、上位机巡检应答程序、AD转换程序、串行数据发送程序等几个部门。程序流程图如图5所示。
图5 检测节点程序流程图
初始化程序功能包括设置PIC16F886单片机使用内部振荡信号、频率4MHz;设置串口通讯格式;设置AD转换标准等。自检程序包括检测电源电压程序、AD转化是否正常等。若自检发现故障,直接在数据帧数据字段的第一个字节填写相应的错误代码发送出去。
当自检无误,系统判断是否有上位机的巡检指令。当接收到上位机的巡检指令后,系统只需等待1秒空闲,Zigbee模块会自动范围一个ASK指令,并且携带本机地址。等待1秒,是为了躲过检测点上传数据,不至于数据通道拥挤。
读数据程序就是读取AN8、AN9、AN10三个通道的AD转换结果。因为系统采用10位AD转换,因此程序直接将低8位送给对应的低位字节,高2位送给对应的高位字节。发送数据程序调用串口发送数据。XOR字段为Zigbee模块自动添加,无需处理。
4.3 中央节点程序设计
中心节点程序仅包含数据传输。分为接收检测点数据并上传上位机、下达巡检指令两个部分。程序流程图如图6所示。
当上电后,系统进入初始化程序。初始化程序主要完成设置PIC18F23K22单片机使用内部振荡信号、频率4MHz;设置串口1和串口2的通讯格式。自检程序主要是检测与协调器的通讯是否正常。如与协调器通讯有故障则在数据帧相应字段写入错误代码,并上传给上位机。由于中央节点的通讯是单片机与上位机的通讯,因此单片机需要模拟一个数据帧格式。规定报头为FFH、LQI为FFH、地址为0000H、XOR需要计算后写入。
图6 中心节点程序流程图
当自检无误时,系统判断是否有上位机巡检指令。如有上位机巡检,则将巡检指令转发给URAT1端口,再由Zigbee模块发出。若没有巡检指令则判断是否有检测节点上传数据。如有上传数据,则由URAT2上传给上位机。
5 上位机软件简介
上位机采用VB.Net实现数据读取、预处理和数据还原功能,并应用SQL Server存储预处理数据和还原数据。
为了提高运行效率,上位机软件采用多线程模式工作。软件分为:主线程、数据读取次线程、数据预处理次线程和数据还原次线程等4个线程。其中主线程完成操作界面控件响应、数据发送等功能。当COM接收到数据时触发数据读取次线程,并读取串口数据,当串口缓冲区字节为0时,关闭该线程。当数据读取次线程读取完一帧数据后触发数据预处理次线程。当数据预处理次线程处理完一个帧数据后触发数据还原线程。数据预处理次线程首先检验该帧数据的正确性,然后检测该检测点的数据链路质量及状态位。如有故障则在页面上显示或报警。接着提取地址和X、Y、Z三个轴的加速度信息,并将该信息传递给数据还原次线程。最后调用系统时间、地址信息、状态信息、LQI信息存入SQL的DataStuts数据表中。数据还原次线程完成将10位二进制的加速度数据转换成为十进制浮点型数据,并显示在界面对应的控件上。同时,调用系统时间、地址信息和还原的加速度信息存入SQL的AccelerationData数据表中。上位机软件运行程序主界面如图7所示。
图7 上位机程序主界面
6 结论及展望
经实验证明,本文所设计的基于无线传感网络的高层建筑在线监测系统具有硬件可靠、组网简单方便、检测节点功耗低(发射和接收功耗小于60mA)、硬件电路外围器件少等优点。但仍然存在一些需要改进的地方:
1)本系统的检测精度为0.01075g,虽然能检测I级地震产生的地表加速度,但对于轻微的高层建筑晃动无法有效检测。主要原因是加速度传感器检测精度过低。目前,如何提高三分量加速度传感器的检测精度并微型化,也是研究热点问题。弥补本系统存在的不足,依赖于传感器领域的研究成果及产品开发。
2)由于高层建筑震动的三分量加速度之间存在一定的耦合关系,本系统目前仅能提供各个监测点的实时位移估算值。如何对X、Y、Z三轴加速度准确解耦,并找到更合理的位移估算算法需要进一步研究。
3)本系统能实时检测建筑物的三分量加速度。如何利用这些加速度信息对建筑的状态实现三维动态可视化重现,需要进一步研究并实现。
参考文献
[1] 姚锦宝,夏禾.列车运行引起高层建筑物震动分析[J].中国铁道科学,2009,30(2):71-76.
[2] 刁建鹏.微波干涉测量在高层建筑动态监测中的应用[J].震动与冲击.2010,29(11):177-179.
[3] 朱亮,邹兵,严龙. 基于MMA7260QT的危险场所跌倒检测设备的研制[J].工业安全与环保2012,38(5):45-48.
[4] 陶玉贵,蒋慧. 基于DSP和MMA7260Q的车辆加速度测试系统设计[J]. 佳木斯大学学报. 2011,29(6): 845-847.
检测节点硬件电路如图2所示。
图2 检测节点硬件电路图
3.2 中央节点硬件电路设计
中央节点负责控制Zigbee网络中的协调器工作,将检测节点的数据上传到上位机,并向协调器下达上位机的指令。系统采用PIC18F23K22作为控制芯片,除了具备功耗低、体积小、外围元件少等有点外,其还具有两个URAT口,可满足和同时与Zigbee协调器和上位机串行通讯的功能。由于系统采用3.3V供电,所以PIC18F23K22与上位机串口之间通讯的电平转换采用MAX3232。中央控制器硬件电路设计如图3所示。
图3 中央节点硬件电路设计
4 控制芯片程序设计
从系统层面上来说,控制芯片程序设计分为加速度信号自检程序、检测程序和数据传输程序。检测节点的程序相同,且包括上述三个内容。而中央控制器仅有数据传输指令,且与检测节点的程序不同。
4.1 传输数据格式规定
IPLink1223传输的每帧数据格式如图4所示。
图4 数据传输帧格式
报头(Header)1Byte的第5、6、7三个位可表示该帧数据的类型,分别为“命令请求”、“命令应答”、“数据请求”或“ASK应答”。当上位机对所有检测点进行巡检时,IPLink1223模块会自动返回ASK应答数据帧。合理应用该方式可大大简化巡检应答程序。
LQI用于指示链路信号质量,如果该检测点信号链路质量过低会影响传输信号的可靠性,因此在系统自检过程中可以通过读取该字段检测信号链路质量,如果信号过低,可在上位机报警提示。
目的地址(Address)字段用于指定本帧数据发往的目标。其中协调器的地址0000H,广播地址为FFFFH。当上位机巡检时,可采用逐点巡检方式,也可采用广播巡检方式。为便于系统后期信号处理,系统规定检测节点地址的高位为楼层号、低位为节点号。如0304H,表示第3层的第4个检测节点。另外规定01和02节点号为路由检测节点。
数据(Data)是检测节点上传的有效数据,是用户自己定义的内容。根据实际需要,本系统有效负载为7个字节。从高到低分别是状态(Status)1字节、X轴加速度(X-axis Acceleration)2字节、Y轴加速度(Y-axis Acceleration)2字节、Z轴加速度(Z-axis Acceleration)2字节。其中状态字节含义分别是:FFH表示正常、00H表示电源故障、AAH表示X轴加速度数据读取错误、BBH表示Y轴加速度数据读取错误、CCH表示Z轴加速度数据读取错误。
因为Data字段的数据位数为7位,所以数据长度(Data length)的数据始终未07H。
校验字段(XOR),用于验证传输数据正确性。系统对前面12个字节的数据进行异或,并存入校验字段中。当接收端接收到信号时,首先计算数据前12个字节的异或结果,如果计算结果与校验字段数据相同,则表示接收数据正确,否则错误。
4.2 检测节点程序设计
检测节点程序包括初始化程序、自检程序、上位机巡检应答程序、AD转换程序、串行数据发送程序等几个部门。程序流程图如图5所示。
图5 检测节点程序流程图
初始化程序功能包括设置PIC16F886单片机使用内部振荡信号、频率4MHz;设置串口通讯格式;设置AD转换标准等。自检程序包括检测电源电压程序、AD转化是否正常等。若自检发现故障,直接在数据帧数据字段的第一个字节填写相应的错误代码发送出去。
当自检无误,系统判断是否有上位机的巡检指令。当接收到上位机的巡检指令后,系统只需等待1秒空闲,Zigbee模块会自动范围一个ASK指令,并且携带本机地址。等待1秒,是为了躲过检测点上传数据,不至于数据通道拥挤。
读数据程序就是读取AN8、AN9、AN10三个通道的AD转换结果。因为系统采用10位AD转换,因此程序直接将低8位送给对应的低位字节,高2位送给对应的高位字节。发送数据程序调用串口发送数据。XOR字段为Zigbee模块自动添加,无需处理。
4.3 中央节点程序设计
中心节点程序仅包含数据传输。分为接收检测点数据并上传上位机、下达巡检指令两个部分。程序流程图如图6所示。
当上电后,系统进入初始化程序。初始化程序主要完成设置PIC18F23K22单片机使用内部振荡信号、频率4MHz;设置串口1和串口2的通讯格式。自检程序主要是检测与协调器的通讯是否正常。如与协调器通讯有故障则在数据帧相应字段写入错误代码,并上传给上位机。由于中央节点的通讯是单片机与上位机的通讯,因此单片机需要模拟一个数据帧格式。规定报头为FFH、LQI为FFH、地址为0000H、XOR需要计算后写入。
图6 中心节点程序流程图
当自检无误时,系统判断是否有上位机巡检指令。如有上位机巡检,则将巡检指令转发给URAT1端口,再由Zigbee模块发出。若没有巡检指令则判断是否有检测节点上传数据。如有上传数据,则由URAT2上传给上位机。
5 上位机软件简介
上位机采用VB.Net实现数据读取、预处理和数据还原功能,并应用SQL Server存储预处理数据和还原数据。
为了提高运行效率,上位机软件采用多线程模式工作。软件分为:主线程、数据读取次线程、数据预处理次线程和数据还原次线程等4个线程。其中主线程完成操作界面控件响应、数据发送等功能。当COM接收到数据时触发数据读取次线程,并读取串口数据,当串口缓冲区字节为0时,关闭该线程。当数据读取次线程读取完一帧数据后触发数据预处理次线程。当数据预处理次线程处理完一个帧数据后触发数据还原线程。数据预处理次线程首先检验该帧数据的正确性,然后检测该检测点的数据链路质量及状态位。如有故障则在页面上显示或报警。接着提取地址和X、Y、Z三个轴的加速度信息,并将该信息传递给数据还原次线程。最后调用系统时间、地址信息、状态信息、LQI信息存入SQL的DataStuts数据表中。数据还原次线程完成将10位二进制的加速度数据转换成为十进制浮点型数据,并显示在界面对应的控件上。同时,调用系统时间、地址信息和还原的加速度信息存入SQL的AccelerationData数据表中。上位机软件运行程序主界面如图7所示。
图7 上位机程序主界面
6 结论及展望
经实验证明,本文所设计的基于无线传感网络的高层建筑在线监测系统具有硬件可靠、组网简单方便、检测节点功耗低(发射和接收功耗小于60mA)、硬件电路外围器件少等优点。但仍然存在一些需要改进的地方:
1)本系统的检测精度为0.01075g,虽然能检测I级地震产生的地表加速度,但对于轻微的高层建筑晃动无法有效检测。主要原因是加速度传感器检测精度过低。目前,如何提高三分量加速度传感器的检测精度并微型化,也是研究热点问题。弥补本系统存在的不足,依赖于传感器领域的研究成果及产品开发。
2)由于高层建筑震动的三分量加速度之间存在一定的耦合关系,本系统目前仅能提供各个监测点的实时位移估算值。如何对X、Y、Z三轴加速度准确解耦,并找到更合理的位移估算算法需要进一步研究。
3)本系统能实时检测建筑物的三分量加速度。如何利用这些加速度信息对建筑的状态实现三维动态可视化重现,需要进一步研究并实现。
参考文献
[1] 姚锦宝,夏禾.列车运行引起高层建筑物震动分析[J].中国铁道科学,2009,30(2):71-76.
[2] 刁建鹏.微波干涉测量在高层建筑动态监测中的应用[J].震动与冲击.2010,29(11):177-179.
[3] 朱亮,邹兵,严龙. 基于MMA7260QT的危险场所跌倒检测设备的研制[J].工业安全与环保2012,38(5):45-48.
[4] 陶玉贵,蒋慧. 基于DSP和MMA7260Q的车辆加速度测试系统设计[J]. 佳木斯大学学报. 2011,29(6): 845-847.
检测节点硬件电路如图2所示。
图2 检测节点硬件电路图
3.2 中央节点硬件电路设计
中央节点负责控制Zigbee网络中的协调器工作,将检测节点的数据上传到上位机,并向协调器下达上位机的指令。系统采用PIC18F23K22作为控制芯片,除了具备功耗低、体积小、外围元件少等有点外,其还具有两个URAT口,可满足和同时与Zigbee协调器和上位机串行通讯的功能。由于系统采用3.3V供电,所以PIC18F23K22与上位机串口之间通讯的电平转换采用MAX3232。中央控制器硬件电路设计如图3所示。
图3 中央节点硬件电路设计
4 控制芯片程序设计
从系统层面上来说,控制芯片程序设计分为加速度信号自检程序、检测程序和数据传输程序。检测节点的程序相同,且包括上述三个内容。而中央控制器仅有数据传输指令,且与检测节点的程序不同。
4.1 传输数据格式规定
IPLink1223传输的每帧数据格式如图4所示。
图4 数据传输帧格式
报头(Header)1Byte的第5、6、7三个位可表示该帧数据的类型,分别为“命令请求”、“命令应答”、“数据请求”或“ASK应答”。当上位机对所有检测点进行巡检时,IPLink1223模块会自动返回ASK应答数据帧。合理应用该方式可大大简化巡检应答程序。
LQI用于指示链路信号质量,如果该检测点信号链路质量过低会影响传输信号的可靠性,因此在系统自检过程中可以通过读取该字段检测信号链路质量,如果信号过低,可在上位机报警提示。
目的地址(Address)字段用于指定本帧数据发往的目标。其中协调器的地址0000H,广播地址为FFFFH。当上位机巡检时,可采用逐点巡检方式,也可采用广播巡检方式。为便于系统后期信号处理,系统规定检测节点地址的高位为楼层号、低位为节点号。如0304H,表示第3层的第4个检测节点。另外规定01和02节点号为路由检测节点。
数据(Data)是检测节点上传的有效数据,是用户自己定义的内容。根据实际需要,本系统有效负载为7个字节。从高到低分别是状态(Status)1字节、X轴加速度(X-axis Acceleration)2字节、Y轴加速度(Y-axis Acceleration)2字节、Z轴加速度(Z-axis Acceleration)2字节。其中状态字节含义分别是:FFH表示正常、00H表示电源故障、AAH表示X轴加速度数据读取错误、BBH表示Y轴加速度数据读取错误、CCH表示Z轴加速度数据读取错误。
因为Data字段的数据位数为7位,所以数据长度(Data length)的数据始终未07H。
校验字段(XOR),用于验证传输数据正确性。系统对前面12个字节的数据进行异或,并存入校验字段中。当接收端接收到信号时,首先计算数据前12个字节的异或结果,如果计算结果与校验字段数据相同,则表示接收数据正确,否则错误。
4.2 检测节点程序设计
检测节点程序包括初始化程序、自检程序、上位机巡检应答程序、AD转换程序、串行数据发送程序等几个部门。程序流程图如图5所示。
图5 检测节点程序流程图
初始化程序功能包括设置PIC16F886单片机使用内部振荡信号、频率4MHz;设置串口通讯格式;设置AD转换标准等。自检程序包括检测电源电压程序、AD转化是否正常等。若自检发现故障,直接在数据帧数据字段的第一个字节填写相应的错误代码发送出去。
当自检无误,系统判断是否有上位机的巡检指令。当接收到上位机的巡检指令后,系统只需等待1秒空闲,Zigbee模块会自动范围一个ASK指令,并且携带本机地址。等待1秒,是为了躲过检测点上传数据,不至于数据通道拥挤。
读数据程序就是读取AN8、AN9、AN10三个通道的AD转换结果。因为系统采用10位AD转换,因此程序直接将低8位送给对应的低位字节,高2位送给对应的高位字节。发送数据程序调用串口发送数据。XOR字段为Zigbee模块自动添加,无需处理。
4.3 中央节点程序设计
中心节点程序仅包含数据传输。分为接收检测点数据并上传上位机、下达巡检指令两个部分。程序流程图如图6所示。
当上电后,系统进入初始化程序。初始化程序主要完成设置PIC18F23K22单片机使用内部振荡信号、频率4MHz;设置串口1和串口2的通讯格式。自检程序主要是检测与协调器的通讯是否正常。如与协调器通讯有故障则在数据帧相应字段写入错误代码,并上传给上位机。由于中央节点的通讯是单片机与上位机的通讯,因此单片机需要模拟一个数据帧格式。规定报头为FFH、LQI为FFH、地址为0000H、XOR需要计算后写入。
图6 中心节点程序流程图
当自检无误时,系统判断是否有上位机巡检指令。如有上位机巡检,则将巡检指令转发给URAT1端口,再由Zigbee模块发出。若没有巡检指令则判断是否有检测节点上传数据。如有上传数据,则由URAT2上传给上位机。
5 上位机软件简介
上位机采用VB.Net实现数据读取、预处理和数据还原功能,并应用SQL Server存储预处理数据和还原数据。
为了提高运行效率,上位机软件采用多线程模式工作。软件分为:主线程、数据读取次线程、数据预处理次线程和数据还原次线程等4个线程。其中主线程完成操作界面控件响应、数据发送等功能。当COM接收到数据时触发数据读取次线程,并读取串口数据,当串口缓冲区字节为0时,关闭该线程。当数据读取次线程读取完一帧数据后触发数据预处理次线程。当数据预处理次线程处理完一个帧数据后触发数据还原线程。数据预处理次线程首先检验该帧数据的正确性,然后检测该检测点的数据链路质量及状态位。如有故障则在页面上显示或报警。接着提取地址和X、Y、Z三个轴的加速度信息,并将该信息传递给数据还原次线程。最后调用系统时间、地址信息、状态信息、LQI信息存入SQL的DataStuts数据表中。数据还原次线程完成将10位二进制的加速度数据转换成为十进制浮点型数据,并显示在界面对应的控件上。同时,调用系统时间、地址信息和还原的加速度信息存入SQL的AccelerationData数据表中。上位机软件运行程序主界面如图7所示。
图7 上位机程序主界面
6 结论及展望
经实验证明,本文所设计的基于无线传感网络的高层建筑在线监测系统具有硬件可靠、组网简单方便、检测节点功耗低(发射和接收功耗小于60mA)、硬件电路外围器件少等优点。但仍然存在一些需要改进的地方:
1)本系统的检测精度为0.01075g,虽然能检测I级地震产生的地表加速度,但对于轻微的高层建筑晃动无法有效检测。主要原因是加速度传感器检测精度过低。目前,如何提高三分量加速度传感器的检测精度并微型化,也是研究热点问题。弥补本系统存在的不足,依赖于传感器领域的研究成果及产品开发。
2)由于高层建筑震动的三分量加速度之间存在一定的耦合关系,本系统目前仅能提供各个监测点的实时位移估算值。如何对X、Y、Z三轴加速度准确解耦,并找到更合理的位移估算算法需要进一步研究。
3)本系统能实时检测建筑物的三分量加速度。如何利用这些加速度信息对建筑的状态实现三维动态可视化重现,需要进一步研究并实现。
参考文献
[1] 姚锦宝,夏禾.列车运行引起高层建筑物震动分析[J].中国铁道科学,2009,30(2):71-76.
[2] 刁建鹏.微波干涉测量在高层建筑动态监测中的应用[J].震动与冲击.2010,29(11):177-179.
[3] 朱亮,邹兵,严龙. 基于MMA7260QT的危险场所跌倒检测设备的研制[J].工业安全与环保2012,38(5):45-48.
[4] 陶玉贵,蒋慧. 基于DSP和MMA7260Q的车辆加速度测试系统设计[J]. 佳木斯大学学报. 2011,29(6): 845-847.