杨阳阳,崔永俊,侯钰龙
(中北大学仪器与电子学院,仪器科学与动态测试教育部重点实验室,电子测试技术国防科技重点实验室,山西太原 030051)
随着我国桥梁建造技术的快速发展,高桥墩,跨度大的悬索桥越来越多。尤其是在偏远山区和海湾地区,由于地理环境的因素,桥址所在区域风速风向无法预知,风对桥梁的影响非常大[1]。虽然悬索桥都是经过科学的计算和仿真之后才建成的,但是风的变化有时候无法预知。因此,对悬索桥的风速风向监测是很有必要的。目前市场上的风速风向仪能够有效地测量出风速和风向。但是存在测量精度低、误差大的问题,尤其是对山区和海湾区域所在的悬索桥,普通的风速风向仪不能及时准确测量研判,导致安全事故发生。因此,设计一款基于超声波换能器和高精度时间测量芯片MS1022的风速风向测量系统,获得高精度的风速风向数据,对悬索桥的安全性和行车安全及时准确研判具有重大意义。
超声波测风速风向的基本原理是时差法。4个超声波换能器二维正交分布,STM32控制切换收发模式,可分别获得超声波换能器在顺风和逆风状态下的接收情况。在顺风情况下,超声波速度与风速叠加,导致传播速率加快。在逆风情况下,超声波速度与风速相抵,导致传播速率的减缓[2]。固定相对2个超声波换能器之间的距离L,根据超声波在顺风和逆风状态下传播速率的不同,可知顺风和逆风传播时间不同[3]。测量原理示意图如图1所示。其中,v表示风速,c表示声速。
超声波在顺风中传播速度为c+v,逆风中传播速度c-v,得到顺风中传播时间:
(1)
和逆风中传播时间:
(2)
由此可得在东西方向的风速为
(3)
同理可得南北方向的风速为
(4)
式中:tsn为从南到北测量的时间;tns为从北到南测量的时间。
因此,可得风速为
(5)
风向为:
(6)
超声波风速风向系统主要包含微控制器最小系统、收发一体式超声波换能器及其驱动电路、高精度时间测量模块、LoRa无线收发模块、电源供电模块以及上位机。信号发射端超声波换能器发送脉冲,信号接收端超声波换能器接收回波信号,利用MS1022测量中间的飞行时间。反推计算出风速和风向,将数据通过LoRa无线收发模块发送给上位机,在上位机上实时显示,系统框图如图2所示。
图2 系统框图
超声波换能器接收的回波信号是一个高频的mV级弱信号,为了准确测量,需要对超声波换能器的回波信号进行滤波、放大等信号调理,经过调整后的回波信号作为输入信号传输到MS1022高精度时间测量模块进行时间差的精确测量。系统滤除杂波可以选用低成本、高速度、轨到轨运算放大器芯片AD8052,芯片内部由2个独立的运算放大器组成,外接相应的电阻电容组成负反馈二阶带通滤波器[4]。负反馈二阶带通滤波器如图3所示。
图3 负反馈二阶带通滤波器
滤波结束用AD8310进行对数放大,AD8310具有很高的增益和带宽。在很宽的频率范围内,对输入的信号很敏感,AD8310的信号输入方式通常是单端输入。INLO与地面串联电容,输入信号通过与INHI串联的另一个电容耦合进来。与INLO和INHI串连的2个电容应具有相同的值,以减少启动瞬变。放大电路如图4所示。
图4 放大电路
高精度时间测量电路由MS1022高精度时间数字转换芯片及其外围电路组成,可以计算出超声波在空气中的飞行时间。系统中使用2片MS1022芯片,一片测量东西方向,一片测量南北方向,2对超声波换能器垂直正交。风速风向测量装置相对的2个换能器之间的距离很短,所以超声波从发送到接收的时间很短,MS1022是一款高精度的时间测量芯片,测量精度能够达到19 ps。单片机控制1个MS1022产生2 MHz的脉冲信号通过FIRE_UP和FIRE_DOWN分别驱动相对的2个225 kHz的超声波换能器。32.768 kHz的石英晶体连接在CIN和COUT引脚上作基准时钟,4 MHz的陶瓷晶振连接在XIN和XOUT引脚上作校准时钟,使计时更加精准。MS1022通过SPI总线与STM32进行通信。每个MS1022高精度时钟芯片与STM32共有7根线相连,4根用作SPI的数据通讯,INTN用来控制中断的开启与关闭,可以读取状态寄存器的数据用来判断数据是否溢出。单片机产生Start信号控制FIRE_UP和FIRE_DOWN驱动超声波换能器。RSTN控制测量芯片的复位[5-8]。高精度时间测量电路如图5所示。
图5 高精度时间测量电路
LoRa无线传输技术是基于SX1278扩频芯片的远距离无线传输技术,具有远距离、低功耗特点,属于LPWAN通信技术。LoRa无线传输技术有透明传输、定向传输和广播与数据监听等传输方式。对于桥梁上的风速风向数据传输,选择点对点的透明传输方式,快速准确、高效地将数据传输到上位机,实现远程实时监控[9]。
稳定的电源是系统高效运行的关键,系统中有3种不同的电源类型,超声波换能器使用的是12 V电源供电,MS1022高精度时间测量单元和LoRa无线传输单元使用5 V供电,STM32单片机使用3.3 V供电。系统外接220 V交流电经过反激式开关电源转成12 V/1 A的直流电源,12 V电源经过MP1584芯片(BUCK电路)转成5 V/1 A的直流电源,5 V电源经过HT7333芯片(LDO电路)转成3.3 V/500 mA的电源,满足整个系统的电源需要。
系统的软件设计主要实现STM32对MS1022芯片的控制,并将MS1022测得的数据通过LoRa无线模块传输给上位机进行处理显示。系统软件主流程图如图6所示。
图6 系统软件主流程图
系统上电之后,开始配置寄存器,单片机发送0x50,开始进行时钟的校准,校准完成之后开始测量,单片机发送0x03触发MS1022产生脉冲信号,控制超声波换能器开始工作。开启中断模式,利用MS1022第一检波功能,EN_START端口使能Start信号,当接收到Start信号时开始计时,当接收到Stop信号时,完成一次时间间隔的测量。INTN被拉低,STM32根据INTN端口的数据变化发送0xB4读取MS1022状态。进而可以判断数据是否溢出。判断没有溢出,STM32发送0xB3指令直接读取时间间隔数据并存储到寄存器。至此,一次测量完成。循环测量时间间隔,利用滑动窗口滤波算法对数据进行处理,获得更加精确的有效时间[10-12]。采集完时间之后根据章节1.1的原理公式反推出风速风向的数据信息。时间测量程序设计流程图如图7所示。
图7 时间测量程序设计流程图
为了获得更高精度的时间差值,只有硬件的滤波是不行的,还需要通过软件滤波算法。超声波采集的时间非常快,滑动窗口滤波善于对变化快的信号进行滤波。滑动窗口宽度的大小影响滤波算法对系统的适用性。窗口过小,会丢失有效数据,窗口过大,增加了无效数据对测量的影响。经系统测试验证,设置滑动窗口宽度为6,能达到最佳滤波效果。将MS1022读取的时间差利用冒泡排序法从小到大排序,删除多余的无效值。将采集到的6个数据取平均值,将平均值作为测量的最佳估计值。在计算下一次最佳估计值之前,将新测量的数据放入最左边,并将最右边的旧数据丢弃[13]。遵循“先进先出”原则,数据从左向右依次递推,相当于滑动窗口的操作。再取算数平均运算,获得新的滤波结果。滑动窗口滤波算法示意图如图8所示。
图8 滑动窗口滤波算法示意图
为了在电脑上显示获取的数据,利用LabVIEW进行上位机程序设计,利用VISA函数编写I/O接口程序,把单片机采集的数据与电脑通过LoRa无线传输连接起来。设置基本的交互界面,实时显示风速风向。将风速风向数据放在同一个sprintf函数中打包发送至上位机,通过LabVIEW自带的字符串截取函数截取风速、风向分别显示。上位机设计了电子罗盘,可直观地判别风向方位。
风速风向测量实验中将系统样机安装角度与地面平行,将系统样机测试数据与WindMaster Pro风速风向仪测试数据进行对比,WindMaster Pro风速量程为0~65 m/s,风向量程为0~359°,风速的分辨率为0.01 m/s,角度的分辨率为0.1°,具有标准参照价值。将数据通过LoRa无线模块上传至上位机,图9为上位机接收显示界面。将上位机读取的数据进行保存分析,风速和风向的测量数据如表1和表2所示。
表1 135°方位角下风速测量数据表 m/s
表2 18 m/s风速下风向测量数据表 (°)
从数据可以分析出,系统样机在低风速时测量风速略有较大偏差,在中高风速时基本可以准确地测量出实际风速,偏差较小。其次可以从数据看出,该系统测量风速的绝对误差小于0.1 m/s,风向角误差非常小。
为了实现悬索桥上风速风向的测量,解决现有测量装置精度低、误差大等问题,设计基于时差法的高精度超声波风速风向测量系统。系统选用了最小时差测量分辨率为19 ps的MS1022芯片,准确地测量到风速风向信息,并通过LoRa技术传输到上位机,实现远程监控。实验结果表明,系统风速测量误差在±0.1 m/s以内,风向测量偏差不超过0.8°。达到了数字风速仪的行业标准,能够准确地监测悬索桥的风速风向,为悬索桥安全和行车安全提供了安全监测的保障。