储 光,余 尧
(淮南职业技术学院, 安徽 淮南 232001)
我国桥梁建设已经进入了快速发展阶段,然而由于各种荷载的反复作用、材料的疲劳与腐蚀,以及洪水、海啸、地震、飓风等自然因素破坏,使得桥梁的安全性能逐渐降低并且影响其继续服役。桥梁在使用过程中,需对桥梁的健康状况进行实时监测。腾讯云是一种云计算技术,将腾讯云技术应用于桥梁健康监控可以实现桥梁的实时监测、评估和预警,对于突发事件提前预警能够有效避免事故发生。此外,腾讯云桥梁健康监控系统还可以对桥梁结构进行长期监测,实现对桥梁的全面管理和维护。以STM32单片机为控制核心,结合传感器技术和腾讯云设计了一套桥梁健康状态监测系统,利用腾讯云的大数据处理能力和多样化通信协议,可以高效实现桥梁健康监测系统的实时响应能力。
系统以互联网为桥梁,以STM32单片机为控制核心,基于腾讯云服务器,既实现了桥梁就地控制,也可实现远程数据集控功能。系统组成主要分为以下部分及功能,云服务器部分,负责远程数据解析和转发。上位机管理系统、安全监控中心系统,用于职能部门管理。简易三维模型系统,用于职能部门监控和管理。视频流服务部分,提供职能部门监控和管理。本地数据采集系统,负责数据采集、上传和动态自动管理。本地语音播报系统,实现实时语音播报。本地OLED屏显示,实现现场实时数据显示。本地视频采集系统,负责采集实时视频。系统运行后,主要实现以下功能:桥梁实时安全监测,并实现了动态实时调控,当桥梁两侧承重不平衡时,系统自动启动关闭相应车道,直到两侧平衡在安全的范围内。当桥梁承重超过了总承重的设计要求时,启动关闭车道,确保安全。当桥面横风风力超过安全值时,系统启动车流管理,并语音提示及播报。通过腾讯云服务器,实现了远程互联网组网管理。系统拓扑图如图1所示。
图1 系统拓扑图
系统采用Stm32f103zet6单片机开发板,利用RS485协议采集4路拉力传感器实时数据,同时设置1路警报器,负责报警,配合风速、风向传感器采集,语音驱动播报系统,最后通过腾讯云上传和储存数据。Stm32部分硬件如图2、图3所示,监测平台的硬件构架图如图4所示。平台设计搭建主要所使用的四个传感器模块分别为:拉力传感器、温度传感器、风速风向传感器以及语音模块。第一,拉力传感器,型号HX711,系统四块拉力传感器用于监测桥的稳定性,传感器分布在桥梁牵引绳对称位置,对桥梁进行拉力检测并实时传输数据给接收模块。第二,使用PL2108G配合pt100搭建温度传感器检测和显示模块,对桥梁四周的温度进行检测,并显示实时数值。第三,风速、风向传感器,型号NHFSX48,主要检测横风、台风对桥体的影响,并把实时数据传送到单片机中进行数据转换。第四,语音模块,当桥体受到横风影响或者桥体两侧拉力不平衡时进行语音播报。
图2 Stm32的RS485硬件电路图
图3 Stm32的电源硬件电路图
图4 硬件构架图
系统主程序主要包括系统初始化程序(I/O口初始化,就地液晶屏初始化),传感器数据采集及处理程序(485协议),液晶屏数码管显示程序,按键检测和处理程序,主程序以及腾讯云通信存储运算程序,就地远程客户端界面数据传输及显示程序等。系统主程序流程如图5所示。
图5 主程序流程图
Stm32的传感器数据采集485通信程序示例如下。
#include "RS485/rs485.h"
uint16_t rs485_len;
uint8_t rs485_buf[20];
void _ST_MAXLED_CMD_CRC(uint8_t* in_dat, uint8_t length, uint8_t* out_dat)
{ uint8_t j;
uint16_t reg_crc=0Xffff;
while(length--){
reg_crc ^= *in_dat++;
for(j=0;j<8;j++){
if(reg_crc &0x01){ /* LSB(b0)=1 */
reg_crc=(reg_crc>>1) ^ 0Xa001;
}else{ reg_crc=reg_crc >>1;}}}
out_dat[0] = reg_crc;
out_dat[1] = reg_crc>>8;}
void _ST_MAXLED_SetNum(uint8_t addr,uint16_t num)
{ uint8_t cmd[8] = {0x01,0x06,0x00,0x00,0x00,0x01,0x00,0x00};
cmd[3] = addr;
cmd[4] = num;
cmd[5] = num>>8;
_ST_MAXLED_CMD_CRC(cmd,6,&cmd[6]);
RS485_SendArray(cmd,8);
osDelay(30);}
void _TEMP_CMD_getNum(void)
{ uint8_t cmd[8] = {0x04,0x03,0x00,0x01,0x00,0x01,0x00,0x00};
_ST_MAXLED_CMD_CRC(cmd,6,&cmd[6]);
RS485_SendArray(cmd,8);
osDelay(50);}
void _WINDSPEED_CMD_getNum(void)
{ uint8_t cmd[8] = {0x02,0x03,0x00,0x00,0x00,0x01,0x00,0x00};
_ST_MAXLED_CMD_CRC(cmd,6,&cmd[6]);
RS485_SendArray(cmd,8);
osDelay(50);}
void _WINDDIR_CMD_getNum(void)
{ uint8_t cmd[8] = {0x03,0x03,0x00,0x01,0x00,0x01,0x00,0x00};
_ST_MAXLED_CMD_CRC(cmd,6,&cmd[6]);
RS485_SendArray(cmd,8);
osDelay(50);}
void get_temp(void);
void get_wind_speed(void);
void get_wind_dir(void);
void update_max_led(void)
{ get_temp();
get_wind_speed();
get_wind_dir();
_ST_MAXLED_SetNum(0,(uint16_t)(sensor_dat.pull_val[0]*10));
_ST_MAXLED_SetNum(1,(uint16_t)(sensor_dat.pull_val[1]*10));
_ST_MAXLED_SetNum(2,(uint16_t)(sensor_dat.pull_val[2]*10));
_ST_MAXLED_SetNum(3,(uint16_t)(sensor_dat.pull_val[3]*10));
_ST_MAXLED_SetNum(4,(uint16_t)(sensor_dat.temp*10));
_ST_MAXLED_SetNum(5,(uint16_t)(sensor_dat.wind_speed*10));
_ST_MAXLED_SetNum(6,(uint16_t)(sensor_dat.wind_dir*10));}
void get_temp(void)
{ RS485_GetData(rs485_buf);
_TEMP_CMD_getNum();
rs485_len = RS485_GetData(rs485_buf);
if(rs485_len>0) {
sensor_dat.temp = (rs485_buf[3]*256+rs485_buf[4])/10.0;}
osDelay(30);}
在“腾讯云”基础上自制一个桥梁健康监测平台,可以实现多地远程检测操作。桥梁健康在线监测平台如图6所示。
图6 在线监测平台
经过实际系统平台搭建进行测试,对采集数据多次测试,根据现场进行温度等参数补偿,保证测量的准确性。在上位机设置参数可以动态调整,可以实时修改报警值与控制阈值,满足不同地区不同天气情况参数可调并能够实时上传与写入,确保各设备与数据云的通信确保准确可靠,不会发生丢包延迟情况,最终平台搭建如图7所示。经过多次测试,系统能够满足设计要求,在不同情况下,系统能够检测出桥梁异常现象并进行限流控制,实时监控图如图8所示。
图7 桥面监控系统
图8 实时监控检测出桥面异常并进行限流
平台运行后,实现了桥梁实时安全监测和动态实时调控功能。当桥梁两侧承重不平衡时,系统自动启动,关闭相应车道,直到在安全的阈值范围内桥梁达到两侧受力平衡;当桥梁承重超过了总承重的设计要求时,关闭车道,确保桥梁安全;当桥面横风风力超过阈值时,系统启动车流管理,并语音提示及播报,通过腾讯云服务器,实现了远程互联网组网管理。系统结合了计算机及互联网相关知识,实现了对大桥健康数据实时动态监控和管理,确保桥梁安全可靠运行,从而有力保障了公共交通安全。