栗克国,李志飞,刘瑞恒
(1.交通运输部天津水运工程科学研究院,天津300456;2.天津水运工程勘察设计院,天津300456)
水位测量是模型试验和工程应用中最重要的一项工作,在河道、航道、港池、水槽等模型试验中,实时精确的水位数据的模型试验需要的基本参数,也是模型试验过程控制的重要依据之一。传统的模型水位测量仪器,如探针水位仪、跟踪式水位仪、电容式水位仪、压力式水位仪、浮子式水位仪、超声水位仪等一般都不能同时满足实时、精确及高可靠性要求[1]。应用于原型观测的水位测量设备,如雷达水位仪、气泡水位仪等,不仅尺寸体积较大难以应用在模型试验,而且测量精度亦难以满足模型试验需要。
随着技术进步,水位仪作为水位测量工具,越来越向着高精度、高可靠性、智能化、无线化方向发展。
NB-IOT 技术是物联网技术的一种,其专注于低功耗广覆盖、是一种可在世界范围内广泛使用并推广的新技术。具有功耗小、连接点多、覆盖面积广、传输速率低、消耗成本低、易于优化架构等特点,在车联网、智慧水利、智能家居等领域应用中崭露头角[2-3]。
结合模型试验水位测量需求及现有设备特点,本文设计了基于STM32 及NB-IOT 的超声跟踪式水位仪,通过滚珠丝杠带动超声传感器的结构,将滚珠丝杠和超声传感器联合使用,在保证短距超声传感器采集精度的基础上,使用滚珠丝杠扩展总体测量量程,实现高精度较大量程的模型试验水位自动测量。通过引入NB-IOT 模块,实现了水位数据的无线传输和多台设备的无线组网。测试表明,本传感器测量精度可达0.2 mm,能够满足模型试验高精度水位数据采集需求。
超声跟踪水位仪,包含以STM32F103C8T6 MCU为核心的控制单元、以集成式步进电机及滚珠丝杠为核心的运动单元、以UNCK_9114 为前端传感器的测量单元、以NB 模块为核心的通信单元等,产品结构如图1所示。
图1 产品结构图Fig.1 Product structure diagram
应用时,将水位自动测量仪安放在待测水体上方,控制单元控制步进电机带动导向杆及超声传感器向下运动,并实时读取超声传感器采集数据和滑块的位置数据,当水面到传感器的距离达到传感器量程2/3 时,关停步进电机,并以传感器采集到的原始值加上滑块到水位仪零点的距离作为当前水位值进行输出。在连续测量过程中,不断监测并计算当前水位值及水位变化率,MCU 微控制器根据水位变化动态调节点击运动,保证传感器到水面距离在传感器有效量程内。
传感器的硬件原理框图如图2所示,以STM32F103C8T6 为主运算控制器,UNCK_9114 为超声传感器,步进电机为执行单元,外扩电源管理、NB 通信、OLED 显示、Flash 存储、键盘等功能。
图2 硬件原理框图Fig.2 Hardware block diagram
控制单元以STM32F103C8T6 MCU 为核心,通过外围电路实现2 路RS485 接口,1 路RS232 接口,1 路SPI 接口Flash 存储,1 路OLED 接口,2 路数字量输出,3 个键盘接口,1 个数字量输入接口,1路电池电压监测,1 个电源控制接口。
系统设计支持锂电池供电,通过DCDC 模块进行电压转换,实现更高效率电源管理。
控制单元的2 路RS485 接口,1 路接步进电机,用于控制电机运动,1 路预留为对外通信端口。
1 路RS232 接口,与UNCK_9114 超声传感器接口连接,用于读取超声传感器状态及数据。
1 路SPI 接口与Flash 存储器连接,用于存储仪器配置信息及水位信息。
1 路OLED 接口用于连接OLED 显示屏,显示仪器状态及实时数据。
两路数字量输出接口,其中1 路连接外部指示灯,通过不同灯光状态指示仪器运行情况,1 路为内部指示灯,指示详细运行状态。
3 个键盘接口,组成组合式键盘,实现人机交互功能。
1 个数字量输入接口,用于连接触水信号指示器,辅助判断水位计探头距离水面距离。
1 路电池电压监测接口,用于监测系统电量;1个电源控制接口,用于实现系统按键操作开关机功能。
图3为控制单元MCU 部分电路图。
图3 控制单元MCU 部分电路图Fig.3 MCU circuit diagram of control unit
集成式步进电机位于仪器顶端,通过联轴器与滚珠丝杠连接,可带动滚珠丝杠转动,滚珠丝杠上滑块可在丝杠带动下上下移动,滑块上固定有导杆,导杆下端安装超声传感器,至此,超声传感器可在电机带动下经由丝杠和导杆上下移动。
为保证滑块在设定范围内移动,在滚珠丝杠上端和下端分别安装上限位和下限位,分别与电机控制器的对应端口连接。
一体式步进电机为一种将控制器、驱动器及电机集成在一体的一体化设备,其支持RS485 或CAN总线控制,支持ModBus 通信协议,具有参数设置、运动控制、状态监测、报警等多种指令,可实现定步长、定速度、定距离运动控制。根据多次试验,选择STM42 系列485 总线步进电机,选择步距角1.8°,工作电流1.7 A,静力矩3.8 kg·cm。工作时选择32细分。
滚珠丝杠选择1205 规格滚珠丝杠,外径12 mm,导程5 mm。
根据步进电机特性,步进电机控制误差不丢步情况下不超过1 个步距角,经过滚珠丝杠转换,则运动单位的定位精度为5 mm/200=0.025 mm,考虑安装时控制丝杠与地面垂直,偏差不超过1°,则由于安装引起的相对误差约为tan1°=0.0175=1.75%,则运动系统的精度可表示为0.025 mm×(1+0.0175)≈0.0255 mm。
本次设计的高精度水位仪,设计精度0.2 mm,运动机构定位精度为0.0255 mm,运动机构误差占允许误差的12.75%,满足设计要求。
图4为运动单元3D 侧视图。
图4 运动单元3D 侧视图Fig.4 3D side view of motion unit
为了达到0.2 mm 的精度指标,在传感器选型中,重点考虑系统精度指标,鉴于水位变化较快,需要同步考虑传感器相应频率。
经过试验,堡盟公司UNCK09T9114 传感器具备30 mm~200 mm 测量范围,重复精度0.1 mm,分辨率0.1 mm,响应时间7 ms,声波频率380 kHz,内置温度补偿。
为验证其实际精度,在实验室对2 个传感器进行静态水位稳定性试验,试验时长24 h,环境温度25 ℃±2 ℃,每10 min 采集1 次数据,共计采集144组数据,2 个传感器数据偏差如图5所示。
图5 超声传感器稳定性试验数据Fig.5 Stability test data of ultrasonic sensor
从图中数据可以看出,24 h 内传感器数据略有变化,最大变化量0.1 mm,短时段内数据变化量0.03 mm,与标称精度一致。
仪器设计2 种通信方式,内部通过跳线选择采用何种方式,一种是通过RS485 口与上位机通信,一种是使用NB 模块将数据传输到网络云平台上。
通信模块选用上海移远通信公司BC95 模块,其外形尺寸为23.6 mm×19.9 mm×2.2 mm,其集成UART 端口方便与MCU 连接,支持低功耗模式。
Flash 存储器选用GD25Q32 存储器,通过SPI口与MCU 通信。
显示屏选用中景园电子2.8 寸256×64 OLED模组,具有功耗低、对比度高,使用方便等优点。
供电部分采用12 V 成组锂电池供电,通过DCDC 模块提供步进电机需要的24 V 电源,使用ASM1117-3.3 稳压芯片为传感器提供3.3 V 电源。
系统软件使用Keil uVision5 集成开发环境,使用C 语言开发,采用模块化设计方法设计,主要包括系统初始化、水位检测、水位跟踪控制、人机交互、状态显示更新、数据通信、数据采集存储等功能模块。
软件主流程如图6所示,系统上电后,首先进行系统自检和初始化,从Flash 读取仪器配置参数,并根据参数设置仪器状态,初始化完成后控制电机向上运动到上限位,重新标记仪器零点,然后循环调用水位跟踪控制算法控制电机运动,处理串口响应事件、键盘事件、存储、处理屏幕显示等。
图6 主程序流程Fig.6 Main program flow chart
水位跟踪控制是高精度超声水位仪能否正常工作的核心模块,核心思想是通过实时获取传感器距离水面高度判断当前水位变化情况,根据水位变化率决定是否启动电机调节,保证在水位大幅度波动过程中保持水面到传感器探头距离在传感器有效量程范围内,从而扩展仪器测量范围。
实际应用时,定义Adjust_motor(u16 water_now,u16 water_last,u32 motor_now,u32 motor_last)函数实现水位跟踪控制功能,该函数中,根据4 个可变参数(传感器当前数据,传感器上次数据,电机当前位置,电机上次位置)控制电机运动。
该模块主要流程如下:
(1)比较当超声读取数据是否在调节启动阈值内,如果进入控制阈值,则进入流程2;
(2)比较电机位置变化,判断电机是否处于运动过程中;如果电机运动中,则跳转到5,否则进入流程3;
(3)根据当前水位与上一次水位计算水位变化速率,根据变化速率调节电机运动距离、运动速度参数;根据水位变化方向设置电机运动方向;
(4)根据3 计算的参数,控制电机运动;
(5)返回1 继续闭环循环。
使用Timer2 作为闭环控制定时器,完成传感器数据读取及水位跟踪算法计算,并控制电机执行相应动作。
NB 通信设置为透明传输工作方式,使用AT 指令配置目标地址及参数。
为验证仪器精度,选用2 台样机分别进行测试,在玻璃水槽内进行比对试验,以SCM60 水位测针作为标准器,分别以10 cm、20 cm、30 cm、40 cm、50 cm、60 cm 6 个水位值进行比对测量。测量数据如表1、表2所示。
表1 1 号精度试验数据Tab.1 Accuracy test data of #1
分析表1及表2数据,两个样机比对误差均在0.1 mm 以下,仪器精度满足实际要求。
表2 2 号精度试验数据Tab.2 Accuracy test data of #2
本文通过软硬件设计,研制了一种基于STM32及NB-IOT 的超声跟踪水位仪,通过机械跟踪方式扩展高精度超声传感器量程,集成NB-IOT 技术实现数据的无线传输,给模型试验水位采集提供了一种新的测量方式,具有较大的实用价值。