基于Microwindows的风向风速传感器研究
2018-03-19陶明明李金东
陶明明 李金东
摘要:风向风速仪是船舶重要的导航设备之一,能够对舰船提供相对和真风向风速信息数据,直接影响舰船的航行安全。而风向风速传感器是气象设备要素的核心,对风向风速信息采集和测量计算的重要组成部分。该文针对采用超声波风向风速传感器技术进行了研究,并利用NI推出的Microwindows图形系统以及基于Cotex-M0核心的飞思卡尔单片机MKL05Z芯片来模拟并研究实现风向风速传感器系统。
关键词:风向风速传感器;Microwindows;MKL05Z;超声波
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)04-0256-02
Research on Wind Direction and Wind Speed Sensor Based on Microwindows
TAO Ming-ming, LI Jin-dong
(Navy Maritime Security Repair Factory, Qingdao 266071, China)
Abstract:Wind direction and wind speed instrument is one of the important navigation equipment, which can provide relative and true wind speed information data to the ship, which will directly affect the safety of navigation. The wind direction and wind speed sensor is the core of meteorological equipment, which is an important part of the information collection and measurement of wind direction and wind speed. This paper aimed at the ultrasonic wind speed and direction sensor technology for the study, developed by NI Microwindows virtual instrument and the study of wind direction and wind speed sensor system Based on Cotex-M0 core of the fly think of Carl microcontroller MKL05Z chip.
Key words: wind direction and wind speed sensor; Microwindows; MKL05Z; ultrasonic
風向风速环境要素是船舶航行中重要的导航信息,其测量的精准度和稳定度直接关系到舰船航行的安全,并且很多导航设备均需依赖于其提供的信息。风向风速传感器用于船舶气象仪,利用仪器的控制和信息交互功能对风向风速进行测量和计算。因此本文设计研究了一种基于超声波测量的风向风速传感器系统,不仅能够获取风向风速信息,并且还能提供实时操作观测界面,达到适应舰船智能化装备的目的。本系统采用了数字信号处理技术,满足了气象要素的测量要求。
1 风向风速传感器原理
传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求,是实现自动检测和自动控制的首要环节。
超声波传感器是利用超声波的特性研制而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播、受到噪声干扰小等特点,能够碰到杂质或分界面会产生显著反射形成反射成回波。本系统主要采用了两对频率为120KHz探头,分别固定安装于相同距离的东西南北四个方向角上,即在一条线路上对应于其中一个探头发射,一个探头用于接收。通过加载在探头两端正、逆压电效应实现高频声能和电能之间的相互转换,从而实现超声波的发射和接收[1]。
系统采用时差法进行风向风速的计算。超声风速仪通过风速分量对声脉冲在固定的路径上, 两个相反方向的输送时间差进行风速测量。本文所研究的超声波风速风向传感器利用分别处于东西南北四个方向上的四个超声波探头,每对探头之间间隔相同的距离,并测量超声波从东发射到西所用的时间tEW,从西发射到东所用的时间tWE。由于超声波传感器是固定的,因此超声波每次的传输距离 d是已知的。由于超声波在静止空气中传播的速度为c值固定,由tEW和 tWE 的差以及 d可以计算出东西方向的风速值vWE;同理可以 测得 tSN和 tNS,进而计算出南北方向的风速值 vNS。vWE 和 vNS 进行矢量合成即为最终的风速值,由 vWE 和vNS 的比值可判断出风向。探头之间换算如下:
如图1所示,1,2为一对收发一体式低功率高频超声波换能器,T1为换能器1发射到2的传输时间,声速为c,风速为v,可以得到如下公式:
(1)
(2)
可以推算得到:
(3)
(4)
这种测试方法间接消除了温度、湿度、大气压力对超声波测风的影响,由(3)、(4)式可以得到风速和声速。同理利用此方法,可以求得另外坐标轴系中的风矢量,从而可以求出两个探头之间的风的相对风速、风向。
为取得真风速真风向,需要进行矢量合成运算,设定风传感器的指北标志指向船头方向,以船的航向为Y轴建立坐标系。真风速定义为相对风速和船速的矢量之和,而真风向定义为是真风相对船头的风向与船的航向之和。
Y = 90 - D
a = S *( cos Y)
b' = S *( sin Y)
b = b' - SS
TS =
TD = arctag (b/a) + SH
其中:S 相对风速,D相对风向,TS真风速,TD真风向,SS船的航速,SH船的航向
2 系统硬件设计
系统硬件主要由飞思卡尔基于Cotex-M0架构的MKL05Z单片机和信号处理电路构成[2]。其中信号处理电路将取得的超声波回波包络通过放大、滤波转换为单片机能接收的数字信号,并传输入MKL05Z进行数据处理和计算,并将最后的数据传输至以Microwindows为平台的人工交互界面[3]。
放大滤波电路的设计是系统实现微小信号测量的核心,因此本设备采用了OP07放大芯片。OP07芯片是一种低噪声,非斩波稳零的双极性运算放大器集成电路,具有非常低的输入失调电压,所以不需要额外的调零措施[4]。并且OP07同时具有输入偏置电流低和开环增益高的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。由于从超声波传感器接收到的信号是非常微弱的超声波信号,因此必须对接收信号进行放大、滤波。通过模拟开关选通的接收信号经一级OP07A运放电路进行放大,放大幅度约为20dB;信号经过放大之后进入滤波电路,滤波的同时也对信号进行二次放大,这次放大的幅度也是约20dB,因此电路总增益为40 dB,放大滤波电路如图2所示:
由于系统测量的是开始信号和结束信号之间的时间差,要求上升沿尽量的陡,所以必须使用高速比较器。因此,将经过二次放大后的包络信号经比较器AD790进行电压比较,输出数字方波信号。系统采用了高速比较器AD790,最大延迟时间为45纳秒,能够满足精度要求。
3 系统软件设计
首先初始化单片机系统,并对控制芯片进行初始化。单片机上电会自动运行处在FLASH存储器上零地址处所拷贝的异常向量表并执行指令,之后对硬件进行设置并对RAM内存空间进行映射规划,设置堆栈,然后引导代码将运行软件拷贝到RAM空间进行运行[5]。之后软件接管单片机和信号电路的控制,选通模拟开关,对op07芯片上电控制,并导通控制输入AD790的比较电压,等待接收脉冲产生中断对接收信号进行计数,当计数传声中断溢出将时间信息录入缓冲区并导入公式计算,每次数据的测量取十组,之后取平均值达到数据均匀变换,消除偶然脉冲误差。
经过上述对数据的控制处理,利用公式计算得到真风向真风速,通过RS232接口传输进入上层Microwindows图形系统接口进行人机交互[6]。
图形系统提供了友好的操作界面和控制方式,并提供了完整的工具集和相应的应用程序,可以实现对设备的直观控制。本文所设计的系统采用了nicrowindows图形系统与在其之上的TinyWidget控件集。两者基于X窗口系统,能够保证在对设备基本操作的基础之上,占用较少资源,可以提供给用户良好的界面和方便的操作。
系统采用了服务器与客服端的处理模式。其中底层提供对显示界面、鼠标、键盘等外接控制设备的驱动,通过操作系统可以将数据信息传递至应用程序;中间层为一个与设备无关的图形引擎,其程序常驻内存的服务器端,基于底层驱动之上提供建立线程、图形绘制、字体与文本的管理等功能;窗口API与控件层利用图形引擎的功能来进行窗口的管理、设计、发送绘制请求以及对事件的处理,事件处理包括风向风速显示、温湿度显示、参数装订功能。程序首先使用GrOpen()初始化图形系统Nano-X库,并且和服务器端的图形引擎建立连接,同时调用设备驱动初始化显示仪、键盘、鼠标等I/O设备;然后调用GrNewGC创建图形句柄GC,分配一个图形上下文的数据结构并建立图形窗口并设置窗口的各项属性;在Nano-X中必须告诉窗口哪些事件需要处理,例如是对风向风速的计算或者是对设备的检测等任务,都使用GrSelectEvevts函数进行事件的注册与选择;最后使用GrMapWindow函数显示窗口并调用GrMainLoop函数让主程序进入消息处理循环。在事件发生之后,系统每接收到一个消息就会唤醒对应的注册事件处理函数来对消息进行处理,处理函数为一个switch-case结构的选择语句,每个事件对应case语句不同的响应与处理。
4 结论
本文介绍了采用超声波风传感器测风的原理,分析并利用了风速风向测量的数学模型,利用超低功耗单片机对信号采集电路进行控制测量,并采用高精度低延迟的仪表放大器和有源滤波器对超声波接收信号进行信号放大滤波,并将信号通过图形系统进行只管显示,达到惹急交互目的。通过实验表明,由于超声波测量方法属于无接触式测量,不破坏风场,并且没有
机械转动方式固有的惯性,无启动风速,测量风速风向的精度很高,具有比傳统的机械式有着明显的优势。
参考文献:
[1] 刘迎春,叶湘滨.传感器原理设计与应用[M].长沙:国防科技大学出版社,2004.
[2] 郑灵翔等. 嵌入式系统设计与应用开发[M].北京:北京航空航天大学出版社,2006.
[3] 孟哲,陈国清.DSP芯片的选型.现代计算机,2000(4):76-78.
[4] 阮建福,张宏建,林邵峰,周洪亮.一种测量超声波传播时间的装置[J].自动化仪表,2006,27(3):35-38.
[5] 于慧彬,李小峰,基于嵌入式系统和MiniGUI的船舶气象仪图形界面设计,计算机测量与控制,2009,17(1).
[6] 周立功, 陈明记, 陈渝. ARM嵌入式Linux系统构建与驱动开发范例[M].北京:北京航空航天大学出版社, 2006.