超声波风速风向测量装置及测量方法与流程

文档序号:11110388阅读:1400来源:国知局
超声波风速风向测量装置及测量方法与制造工艺

本发明属于超声波测量技术领域,具体涉及一种超声波风速风向测量装置,还涉及一种基于BP神经网络算法补偿的测量方法。



背景技术:

随着时代的发展,风速风向测量广泛应用于科学实验和工业生产之中,特别在气象领域,高精度风速风向测量更是有着不可忽视的作用。目前,风速风向测量方法主要分为三类,第一类:翼状风速计和杯状风速计,但这类测量方式受限于机械摩擦的阻力,多应用于风速较大的情况;第二种:热敏风速计,但测量方式局限于人为的干预,会严重影响测量结果的准确性;第三种:超声波测风仪,它是一种高精度风速风向测量的仪器。现有技术中,超声波测风仪得到越来越广泛的应用。

超声波测风方法主要有时差法、多普勒法、相关法、噪声法、波束偏移法等,其中时差法应用最为普遍。通过超声波时差法实际测量风速风向时,因为不同风速风向、结构参数等气象要素条件下会形成阴影效应,很大程度上会影响风速、风向测量结果的准确性。传统测风仪的温度传感器封装在器件内,无法精确测量外界的冷暖气流;在装置上,超声波传感器上方位置缺少保护措施也会严重影响测量精度,此外,当风度较大时会引起超声波传感器的震动,会造成收发传感器之间固定距离发生变化;再者,超声波测风仪仍然广泛地釆用传统的8/16位单片机,使得测量精度偏低。

综上所述,现有技术中超声波测风仪或超声波测风装置仍存在测量结果不准确问题急需解决。



技术实现要素:

本发明的目的在于克服现有技术中的不足,提供了一种超声波风速风向测量装置及测量方法,在装置中添加防护罩及加强筋使超声波传感器不易受外界温度或震动影响,并对实际测量的风速风向数据进行BP神经网络修正,以提高测量精度。

为解决上述技术问题,本发明提供了一种超声波风速风向测量装置,其特征是,包括安装座、超声波传感器、温度传感器和设置在安装座内的风速风向测量单元,安装座的正上方设有圆形防护罩,安装座的四周均匀排列有四个支柱,四个支柱与安装座的连接处设有加强筋,四个支柱的顶端与防护罩固接,每个支柱上固定有超声波传感器,四个超声波传感器分为两组,分别布置于同一水平面内正交的两个轴线上,两两水平相对,温度传感器设置在安装座上正对防护罩的表面,温度传感器的上方设有保护罩,两组超声波传感器分别连接风速风向测量单元,温度传感器的输出端连接风速风向测量单元,风速风向测量单元依据两组超声波传感器之间的距离、传输时间以及温度信号,获得当前温度下的风速和风向。

进一步的,所述风速风向测量单元包括超声波驱动接收电路、信号处理模块、FPGA采集模块、ARM处理器、显示模块、串口通信模块和上位机,超声波驱动接收电路分别连接四个超声波传感器,用于发送驱动信号打开超声波传感器的发射或接收通道;FPGA采集模块依次连接信号处理模块和超声波驱动接收电路,信号处理模块用于对信号进行滤波放大处理,FPGA采集模块采集两组超声波传感器之间的正反向传输时间输出至ARM处理器,温度传感器的输出端连接ARM处理器,显示模块的输入端连接ARM处理器,ARM处理器通过串口通信模块与上位机连接。

进一步的,所述信号处理模块包括二阶有源低通滤波器。

进一步的,所述温度传感器包括温度检测电路和放大电路,温度检测电路包括热敏电阻PT100,放大电路包括运算放大器AD620,温度检测电路输出电压信号经放大电路放大后输入ARM处理器。

进一步的,还包括电源模块,电源模块包括5V电压源和降压电路,降压电路包括HT7133稳压芯片,5V电压源经降压电路输出3.3V电压,为超声波数据采集模块和ARM处理器供电。

进一步的,HT7133稳压芯片的输入端与接地端之间连接有2.2μF电容,输出端与接地端之间并联4.7μF电容和0.1μF电容。

进一步的,所述输入电极和输出电极为半圆头型,两者与绝缘体的连接均为螺纹连接。

相应的,本发明还提供了一种基于以上所述超声波风速风向测量装置的测量方法,其特征是,包括以下步骤:

步骤一,采集两组超声波传感器的传输时间以及温度传感器输入的电压信号,获得实际测量的初始风速、风向和温度数据;

步骤二,建立BP神经网络模型,以获得的初始风速、风向和温度作为输入量,以修正后的风速、风向作为输出量,以定时采样获得的初始风速、风向和温度数据作为训练样本,训练BP网络,获得修正后的风速和风向表达式;

步骤三,根据修正后的风速和风向表达式,由初始风速、风向和温度获得的修正后的风速和风向,并显示此风速和风向值。

进一步的,所述步骤一中,对训练样本中的数据进行归一化处理,将数据映射到[-1,1]范围内,对每一组样本中的每个变量都要进行归一化,具体算法如下:

pn=(p-min p)/(max p-min p)

式中,p是所采集的一组数据,minp,maxp分别是这组数据的最小值和最大值,pn是映射后的数据。

进一步的,BP神经网络模型中网络隐含层的传递函数都选取正切S型函数tansig,输出层传递函数选取pureline型函数。

与现有技术相比,本发明所达到的有益效果是:本发明装置在安装座的正上方设有圆形防护罩,可以完全遮盖住超声波传感器,能够有效防止恶劣环境对超声波传感器的影响;四个支柱与安装座的连接处设有加强筋,可以防止风速过大而引起支柱的震动影响测量精度。温度传感器设置在安装座的外面,可以精确测量外界的冷暖气流,并且温度传感器的上方设有保护罩,可以保护温度传感器,防止易损。本发明硬件上采用ARM+FPGA的结构,满足了高速的时钟信号的测量,同时32位的微处理器符合高速信号处理性能,这种方式可以提高对接收信号的采样精度。本发明装置结构简单、成本低、方案易实现,具有很高实用价值,便于推广使用。本发明方法选用BP神经网络模型,对风速和风向进行修正,消除了阴影效应引起的测量误差,获得更准确的风速和风向值。

附图说明

图1是本发明超声波风速风向测量装置的结构示意图。

图2是本发明超声波风速风向测量装置的原理框图。

图3是信号处理模块的电路图。

图4是放大电路的电路图。

图5是电源模块的电路图。

图6是本发明方法的流程图。

图7是超声波传感器发射接收信号流程图。

图8是FPGA采集超声波传输时间的流程图。

图9是BP神经网络的拓扑结构图。

图10是BP神经网络训练流程图。

图11是本发明一实施例中数据样本图。

图12-1是风速为0.1m/s~3m/s时,实际测量的初始风速、期望风速和BP输出的修正风速变化图。

图12-2是图12-1中实际测量的初始风速和BP输出的修正风速的相对误差图。

图13-1是风速为3m/s~5m/s时,实际测量的初始风速、期望风速和BP输出的修正风速变化图。

图13-2是图13-1中实际测量的初始风速和BP输出的修正风速的相对误差图。

图14-1是风向为0°~45°时,实际测量的初始风速、期望风速和BP输出的修正风速变化图。

图14-2是图14-1中实际测量的初始风速和BP输出的修正风速的相对误差图。

附图标记:1、安装座;2、支柱;3、超声波传感器;4、防护罩;5、温度传感器;6、保护罩;7、加强筋。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

如图1所示,本发明的本发明的一种超声波风速风向测量装置,包括安装座1、超声波传感器3、温度传感器5和设置在安装座1内的风速风向测量单元,安装座1的正上方设有圆形防护罩4,安装座1的四周均匀排列有四个支柱2,四个支柱2与安装座1的连接处设有加强筋7,将支柱2与安装座1进行加固处理,防止风速过大而引起支柱2的震动影响测量精度。四个支柱2的顶端与防护罩4固接,每个支柱2上固定有超声波传感器3,四个超声波传感器3分为两组,分别布置于同一水平面内正交的两个轴线上,两两水平相对,防护罩4罩在支柱2的上端,可以完全遮盖住超声波传感器3,能够有效防止恶劣环境对超声波传感器的影响。温度传感器5设置在安装座1上正对防护罩4的表面,可以精确测量外界的冷暖气流,并且温度传感器5的上方设有保护罩6,可以保护温度传感器,防止易损。

两组超声波传感器3分别连接风速风向测量单元,温度传感器5的输出端连接风速风向测量单元,风速风向测量单元依据两组超声波传感器之间的距离、传输时间以及温度信号,获得当前温度下的风速和风向。

超声波风速风向测量装置的原理框图如图2所示,风速风向测量单元包括超声波驱动接收电路、信号处理模块、FPGA采集模块、ARM处理器、显示模块、串口通信模块和上位机,超声波驱动接收电路分别连接四个超声波传感器,用于发送驱动信号打开超声波传感器的发射或接收通道,FPGA采集模块依次连接信号处理模块和超声波驱动接收电路,温度传感器的输出端连接ARM处理器,显示模块的输入端连接ARM处理器,ARM处理器通过串口通信模块与上位机连接,FPGA采集模块采集两组超声波传感器之间的正反向传输时间输出至ARM处理器,ARM处理器接收两组超声波传感器之间的正反向传输时间和温度信号,根据两组超声波传感器之间的正反向传输时间和距离获得实际测量的初始风速、风向,将计算出的风速、风向和温度数据通过串口上传至上位机中,在上位机中对初始风速、风向和温度建立BP神经网络进行修正获得风速和风向的修正公式,将公式传回ARM处理器中由初始风速、风向和温度计算得到修正后的风速、风向数值,ARM处理器将最终计算得到的风速、风向数值上传到上位机中进行存储,并传送到显示模块中显示。串口通信模块采用RS232通信方式。

其中ARM处理器可采用现有技术中STM32F103ZET6芯片,ARM架构,32位处理器,处理能力强,功耗低,且自带AD转换接口;FPGA采集模块采用现有技术中EP2C8Q208C8芯片,内部采用高精度有源晶振,能够完成输出精准脉冲信号和精准的计时功能,与ARM处理器通过SPI或FSMC进行数据传输;硬件上采用ARM+FPGA的结构,满足了高速的时钟信号的测量,同时32位的微处理器符合高速信号处理性能,这种方式可以提高对接收信号的采样精度。显示模块可以采用现有技术中常用的显示屏,设置在安装座的侧壁上,方便用户查看当前温度、风速和风向。

超声波驱动接收电路接受FPGA采集模块的控制指令,发送驱动信号打开或关闭超声波传感器的发射或接收通道。

信号处理模块包括二阶有源低通滤波器,其电路图参考图3,包括运算放大器、电阻R1、电阻R2、电容C1、电容C2和电阻R3。超声波传感器接收的信号经信号处理模块进行滤波和放大处理,调整为完整的方形波,能够提高信号的识别度。运算放大器采用MAX4416芯片,能够保证信号的不失真性,而且转换速率快。

温度传感器包括温度检测电路和放大电路,温度检测电路包括热敏电阻Pt100,放大电路包括运算放大器AD620,温度检测电路输出电压信号经放大电路放大后输入ARM处理器。温度检测电路中包括一个恒流源电路使得通过Pt100的电流恒定不变,这时当温度变化时Pt100的阻值发生变化,电压也就能发生相应的线性变化,只要通过对Pt100两端的电压进行采集就能测得外界环境的温度。温度检测电路输出的电压信号经放大电路进行滤波和放大,放大电路的原理图参考图4,AD620运算放大器具有良好的放大能力,AD620的增益接口RG之间连接电阻R5,通过电阻R5的阻值来调整增益,增益范围比较宽,可达到1000倍。AD620运算放大器的电压范围比较宽,正电压范围为2.3V~18V,负电压范围为-18V~-2.3V,利于电路的匹配。AD620输出的模拟电压信号输入ARM处理器的AD转换接口进行模数转换,ARM处理器根据电压信号的数值和Pt100电阻的温度阻值特性,可以得到当前的温度。

进一步的,还包括电源模块,电源模块包括5V电压源和降压电路,降压电路包括HT7133稳压芯片,其电路图参考图5,5V电压源经降压电路输出3.3V电压,为FPGA采集模块和ARM处理器供电。HT7133稳压芯片的输入端与接地端之间连接有2.2μF电容,消除5V电压源供电不稳而引起的信号干扰,输出端与接地端之间并联4.7μF电容和0.1μF电容,起到了滤除3.3V输出电源和地之间干扰信号的作用。

相应的,基于以上超声波风速风向测量装置的测量方法,如图6所示,其特征是,包括以下步骤:

步骤一,采集两组超声波传感器的传输时间以及温度传感器输入的电压信号,获得实际测量的初始风速、风向和温度数据;

采集工作过程为,令四个超声波传感器分别为位于西方位的超声波传感器一,位于东方位的超声波传感器三,位于南方位的超声波传感器二和位于北方位的超声波传感器四,超声波传感器三和一为一组,位于东西方位,设为x轴,超声波传感器四和二为一组,位于南北方位,设为y轴,FPGA采集传输时间的具体过程参见图8,FPGA采集模块采用有源晶振,输出频率为50HZ的脉冲信号,控制超声波驱动接收电路,先打开东西方向的超声波传感器一的发射通道、超声波传感器三的接收通道,输出第一个脉冲至超声波传感器一时,开启定时器T1,直至超声波传感器三接收到信号时,定时器T1停止计时,FPGA采集模块测得超声波传输时间t13,关闭当前的收发通道,此采集过程参见图7;然后打开超声波传感器三的发送通道、超声波传感器一的接收通道,测得超声波传输时间t31,FPGA采集模块将采集的传输时间t13和t31采用中断请求方式发送至ARM处理器,ARM处理器根据已知的超声波传感器一和三之间的距离,可计算得x轴方向的风速,同理,南北方向的超声波传感器二和四重复测量过程,测得传输时间t24和t42,ARM处理器可计算得y轴方向的风速,在计算x轴方向和y轴方向风速的矢量和得到实际测量的初始风速,设x轴正方向为0°,根据x轴方向风速与风速的关系可得此刻的初始风向。温度传感器测得外界的温度电压信号发送至ARM处理器,ARM处理器根据热敏电阻的温度阻值特性获得当前的温度,ARM处理器将当前的温度、初始的风速和风向数据通过串口上传至上位机中。

步骤二,建立BP神经网络,以获得的初始风速、风向和温度作为输入量,以修正后的风速、风向作为输出量,以定时采样获得的初始风速、风向和温度数据作为训练样本,训练BP网络,获得修正后的风速和风向表达式;

BP网络能学习和存贮大量的输入-输出模式映射关系,使用最速下降法的学习规则,通过反向传播来不断调整网络的权值和阈值,从而使网络的误差平方和最小。将测得的风速V、风向和温度T作为输入量的参数;以更精确的风速V和作为输出;由此可以修正不同温度、风速、风向下得到的修正后的风速和风向。

上位机在一定采集频率下从ARM处理器中获取采集到的风速、风向和温度数据作为测试样本,由于输入数据的单位不一样,有些数据的范围可能特别大,导致神经网络收敛慢、训练时间长,为加快训练网络时的收敛性,有必要对样本数据进行归一化处理,对训练样本中的数据进行归一化处理,将数据映射到[-1,1]范围内,对每一组样本中的每个变量(风速、风向和温度)都要进行归一化,具体算法如下:

pn=(p-min p)/(max p-min p)

式中,p是所采集的一组数据,min p,max p分别是这组数据的最小值和最大值,pn是归一化后的数据。

根据归一化后的测试样本中输入量和输出量的映射对应关系,建立三层拓扑结构的BP神经网络,具体如下:

设定BP神经网络的输入层神经元为3个,输出层神经元为1个,隐含层神经元为n个;BP神经网络的模型结构图参见图9,其中网络隐含层的传递函数都选取正切S型函数tansig,输出层传递函数选取pureline型函数;隐含层第i个节点到输入层第j个节点之间的权值为wi,j,输出层的第k个节点到隐含层第i个节点之间的权值为wk,i,隐含层的第i个节点的阈值为θi,输出层的第k个节点的阈值为ak。j为输入层节点数,j=1,2,3;i为隐含层节点数,i=1,2,…,n;k为输出层节点数,k=1。

Tansig型函数定义为:

式中,yi是第i个隐含层节点的输出,Pj为风速、风向和温度构成的矩阵;

Pureline型函数是纯线性函数,其中,自变量为隐含层节点的输出,因变量是输出层节点的输出;

对BP神经网络修正模型中的权值和阈值进行随机初始化,使BP神经网络修正模型具有最基本的修正条件;权值和阈值分别是wi,j和wk,i、θi和ak的总称;BP神经网络的计算过程参见图10,在向前计算过程中,输入量从输入层经隐含层逐层计算,并传向输出层,若输出层不能得到期望的输出,就会转向误差反向传播过程,误差信号沿原路的连接通路返回,逐次调整网络各层的权值和阈值,直到使得网络误差最小或者达到期望的要求为止。此过程属于现有技术,在此不多赘述。

由完成训练学习的BP神经网络修正模型,得到修正输出量即更高精度的风速和风向,并将其计算公式以及模型最终权值W和阈值θ传输至所述微处理器中;修正后的风速V和风向公式如下:

式中,W1i、W2i、W3i和W'1i、W'2i、W'3i分别为风速V、风向和温度T对应的由隐含层到输入层的权值;Wk1为输出层到隐含层的权值;θi为隐含层阀值,ak为输出层阀值。

步骤三,根据修正后的风速和风向表达式,由实际测量的初始风速、风速和温度获得的修正后的风速和风向,并显示此风速和风向值。

上位机中经过训练BP神经网络,得到修正后风速和风向的表达式,将权值和阈值传回ARM处理器,ARM微处理器将计算测量的初始风速、风向和温度进行归一化处理,代入修正后的风速和风向表达式,得到修正后的归一化后的风速和风向数值,在对此数值进行反归一化处理得到实际的风速和风向数值,ARM处理器将此风速和风向数值上传至上位机中保存,同时发送至显示屏中进行显示。

下面结合实例对本发明进一步说明:

样本的选取:温度选取范围为-50℃到50℃,风速选取范围为0.1m/s-30m/s,风向选取范围为0°-45°。当温度选为-50℃时,风速以0.1m/s开始每隔10次递增0.5m/s;风向以0°每隔5°进行递增,循环13次。温度每隔130次递增10℃,从-50℃递增至50℃。上述的风速和风向为期望风速和期望风向。利用超声波风速风向测量装置进行同步测量,并分别记录实际测量的初始风速、风向和温度数据,具体测的数据样本参见图11。

将实际测得的初始风速、风向角度和温度作为测量样本的输入,将期望风速作为输出。当风速为0.1m/s~3m/s时,选取隐含层n=24,误差精度为0.0000001。BP训练得到相应的权值和阈值如下所示:

当风速为0.1m/s~3m/s时,实际测量的初始风速、期望风速和BP神经网络输出的修正风速之间的关系如图12-1所示,其中横坐标代表数据样本个数,纵坐标代表风速值,圆点代表BP神经网络输出的修正风速,星号代表期望风速,菱形代表实际测量的初始风速,从左至右,每一列代表温度分别为-50℃~50℃下三种风速的结果。从图中可以明显看出,圆点和星号基本重合,菱形受温度和阴影效应的影响而呈斜线分布。实际测量的初始风速分别与期望风速、BP神经网络的修正风速相差较远,而BP神经网络的修正风速值与期望风速高度接近,由此可见,BP网络修正算法具有有效的修正作用,能有效的消除阴影效应的影响。以期望风速为标准值,实际测量的初始风速的相对误差和BP神经网络修正风速的相对误差如图12-2所示,其中横坐标代表数据样本个数,纵坐标代表风速的相对误差,圆点代表BP神经网络输出的修正风速的相对误差,星号代表实际测量的初始风速的相对误差。从图中明显的看出,BP神经网络修正风速的相对误差较小,基本小于4%,而实际测量的初始风速的相对误差较大,基本上在5%~35%之间,由此可见,当风速为0.1m/s~3m/s时,BP神经网络修正算法可以有效的提高风速的测量精度。

当风速为5m/s~30m/s时,选取隐含层n=28,误差精度为0.000001。训练得到相应的权值和阈值如下所示:

当风速为5m/s~30m/s时,实际测量的初始风速、期望风速和BP神经网络输出的修正风速之间的关系如图13-1所示,其中横坐标代表数据样本个数,纵坐标代表风速值,圆点代表BP神经网络输出的修正风速,星号代表期望风速,菱形代表实际测量的初始风速,从左至右,每一列代表温度分别为-50℃~50℃下三种风速的结果。从图中可以明显的看出,圆点和星号高度重合,菱形受温度和阴影效应的影响呈斜线分布。实际测量的初始风速分别与期望风速、BP神经网络的修正风速相差较远,而BP神经网络的修正风速与期望风速高度接近,由此可见,BP神经网络修正算法具有有效的修正作用,能有效的消除阴影效应的影响。以期望风速为标准值,实际测量的初始风速的相对误差和BP神经网络修正风速的相对误差如图13-2所示,其中横坐标代表数据样本个数,纵坐标代表风速的相对误差,圆点代表BP神经网络输出的修正风速的相对误差,星号代表实际测量的初始风速的相对误差。从图中明显的看出,BP神经网络修正风速的相对误差较小,基本小于1%,而实际测量的初始风速的相对误差较大,基本上在5%~35%之间,由此可见,当风速为5m/s~30m/s时,BP神经网络修正算法也可以有效的提高风速的测量精度。图12-2与图13-2相比较,风速值大于5m/s时,BP神经网络修正风速的相对误差更小。

将实际测得的初始风速、风向角度和温度作为测量样本的输入,分别将期望风向作为输出。当风向为0°~45°时,选取隐含层n=26,误差精度为0.0000001,

当风向为0°~45°时,实际测量的初始风向、期望风向和BP神经网络输出的修正风向之间的关系如图14-1所示,其中横坐标代表数据样本个数,纵坐标代表风向值,圆点代表BP神经网络输出的修正风向,叉号代表期望风向,菱形代表实际测量的初始风向,从图中可以看出,圆点和叉号高度重合,菱形受温度和阴影效应的影响略有分散。实际测量的初始风向分别与期望风向、BP神经网络的修正风向之间略有差距,而BP神经网络修正风向和期望风向之间高度接近,由此可见,BP神经网络修正算法能有效的消除阴影效应对风向的影响。以期望风速为标准值,实际测量的初始风向的相对误差和BP神经网络修正风向的相对误差如图14-2所示,其中横坐标代表数据样本个数,纵坐标代表风向的相对误差,圆点代表BP神经网络输出的修正风向的相对误差,叉号代表实际测量的初始风向的相对误差。从图中明显的看出,BP神经网络修正风向的相对误差较小,基本小于1%,而实际测量的初始风向的相对误差较大,基本上在1%~35%之间,由此可见,BP神经网络修正算法可以有效的提高风向的测量精度。

将所得权值和阈值以及计算公式存入微控制器中,可以修正出更为精确的风速和风向。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1