嵌入式多流道明渠测流系统设计
2020-10-19贺日升周义仁
贺日升,周义仁,吕 青,李 浩
(1.太原理工大学电气与动力工程学院,太原 030024;2.太原理工大学水利科学与工程学院,太原 030024)
随着国家对水资源可持续发展的重视,水利信息化也得到了很大的发展,同时对灌溉渠道量水检测的要求越来越高,如何进一步提高明渠测流设备的精度以满足量水需求具有重大的实际意义[1]。本文利用毕托管测流原理,设计了一种分布有均匀动静压流道的测流板,并外接多路压差传感器,通过采集传感器数据获取动静压管道压差,再利用伯努利方程计算各个测点的流速。为准确获取所需测点流速本文进一步将各测点的流速与对应测点水位通过最小二乘法曲线拟合获取断面流速分布曲线,再利用流速面积法得到当前的流量。为实现计算机远程监控,测流过程中,系统通过前端GUI或手机APP设定与测流相关参数,测流结果也可通过GPRS模块上传至云平台,云平台将各时间点流量拟合成曲线以直观反映渠道流量变化趋势。
1 测量原理
针对灌区渠道的测量方式包括流速仪量水、水工建筑物量水等。其中流速面积法是流速仪测量最常用的方法,流速面积法计算流量公式为[2]:
Q=AV
(1)
式中:Q为瞬时流量,m3/s;A为渠道过水断面面积,m2;V为过水断面流速,m/s。
因渠道类型不同导致断面面积计算公式不同,因此系统根据所测渠道类型采用不同的流量计算公式。本文以较为复杂的U型渠道作为实验对象,由参考文献[3]可知,根据实际水位的不同,U型渠道流量具体的计算公式分为两种情况。当h (2) 当h≥hl时: (3) 式中:r为渠道半径,m,θ为渠道底部圆弧圆心角,(°);圆弧段hl=r-rcos 0.5θ,Vm为断面平均流速。 实际水位h可根据所有采集到实际有效数据的压差传感器中对应管道最高的位置进行计算。 根据伯努利方程,在忽略黏性损失的流体中,其流线上任意两点之间的压力势能、动能及位势能之和保持恒定[4],其表达式为: (4) 式中:p、ρ、v分别代表水所受压强,密度和流动速度。 所以,在同一水位高度下h1=h2,且静压处v1=0,压差传感器可测得Δp=p2-p1,即根据公式(4)可得到动压管道处水的流速v2: (5) 计算出各个测点当前流速后,本文通过最小二乘法曲线拟合建立水位与流速的函数关系,通过该方法系统能够快速准确的实现所需水位流速的预测。通过对水流速度与水位关系的研究及不同流量下大量实验数据分析,将流速与水位关系利用多项式二次拟合,即最小二乘目标函数: Φ(x)=Ax2+Bx+C (6) 数据点(xi,yi)中,xi代表断面中垂线某水位,yi为对应该处流速。对于给定的一组数据{(xi,yi),(i=1,2,…,m)},m取决于测得有效数据的压差传感器数目。将测得数据代入可求出A,B,C的唯一解,即可确定出拟合曲线方程。系统最后的拟合优度通过相关系数平方R2来确定。对于Vm的计算,通过实际水深可采用一点法,二点法,五点法等实施测量,由测压管间距参数结合大量实验验证,系统在水位较低时,采用一点法或两点法进行测量,当水位h>0.18 m时,采用五点法进行计算的结果精度最高,具体计算公式为: (7) 式中:V0.0,V0.2,…,V1.0为垂线上相应水位测点流速[5]。经曲线拟合得到当前流量下的断面中垂线流速分布曲线后,可进一步得出当前水位下所需的测点流速V0.0,V0.2,…,V1.0。 当对较宽渠道进行测量时,如图1所示,以U形宽渠为例,需先将过水断面分成若干部分,采用多个测流系统同时进行测量。先按公式(1)将各系统的所测流速值与其所划分的面积相乘,再将各个系统的所测值相加即可得到整体渠道的流量。具体计算公式为: Q=a1v1+a2v2+…+anvn (8) 图1 宽梯型渠测流示意图Fig.1 Flow measurement of wide trapezoidal channel 本系统的搭建主要包括两部分:测流装置机械结构,硬件电路。其中测流装置主要利用毕托管原理搭建的板式测量装置。测流主体结构如图2所示。装置材料由三块高强度透明亚克力板合成,测流板正反面有密集的动、静压流道,均为3 mm×3 mm的“L”型测流槽。动压流道入口与水流方向平行,受流速及水位影响,每一个动压流道在板的另一侧都对应着一个L型的静压流道,在距侧边的10 mm处设置静压流道入口,其方向与水流方向垂直,因此只受水位产生的压力影响,相邻两流道中心线间距为12 mm。最后将同一高度的两个动静压流道通往一路压差传感器。在板的侧面顶部会放置超声波传感器,以测量板面到渠道侧壁的距离,同时在顶部位置放置辅助测量的小型水平仪。 图2 测流主体结构示意图Fig.2 Schematic diagram of flow measuring device 硬件的整体结构如图3所示。本文以ARM处理器为核心,外设模块包括多路压差传感器、液晶显示模块、GPRS模块、存储模块。系统工作时,需要先利用前端挂载的SD卡及随机存储器(SDRAM)进行GUI图形库加载,之后在RGB显示屏显示测流相关的设置界面。参数设置完成后,处理器将多路压差传感器数据通过I2C总线收集并处理,通过一系列公式转换,得到当前的流量。测量过程实时显示在液晶屏上,并将关键数据存储在SD卡内,同时数据将通过GPRS模块实时传输到手机APP与云平台。 图3 硬件设计框图Fig.3 Hardware design block diagram (1)ARM处理器。针对系统整体的运行需求,ARM处理器选用了内设单精度浮点运算单元(FPU)的Cortex-M4内核处理器[6],能够专门针对本系统含有多路压差传感器浮点型数据的处理及曲线拟合提升运算速度。并且该处理器内置的可变存储控制器(FMC)和LCD-TFT控制器(LTCD),在显示的复杂度及速度两个方面都有了很大的提升,为界面加载显示一些复杂图形提供了有利的硬件支持。 (2)压差传感器模块。根据实际设计需要,该系统采用SMI公司的SM9541型号的压差传感器,该传感器是低压 MEMS传感器和 CMOS混合信号处理技术相结合的一种数字压差传感器,并且可以实现零点温度补偿和灵敏度温度补偿控制,可以有效应对野外明渠温度变化的干扰。本文使用的压差传感器数量较多,因此利用I2C总线进行数据采集,能够节省处理器的资源,并且抗干扰性较强。 (3)其他外设辅助模块。RGB显示屏采用AT070TN92型号的800×480分辨率液晶屏,支持24位色(RGB888)显示,同时本文通过控制RGB屏幕多层混合显示及屏幕扩展缓存完成多页面之间的快速切换。触摸芯片采用GT911,该芯片支持自动校准与温度补偿,且支持5点电容触控方案,扫描频率可达100 Hz,可以满足很高的触控精度要求,处理器通过IIC接口与GT911通信获取电容屏的触摸信息。 系统的存储器包括3个部分:用于存放各类字库数据的8M串行Flash存储器W25Q64,用于快速显示的16M随机存储器(SDRAM) W9812G2,SD卡。其中,因为用于GUI显示的中文字库所占用的空间较大,不适合存放在CPU内部的存储空间,采用外部Flash既方便又快捷。SDRAM配合处理器内部FMC,能极大地提高界面帧率。SD卡一方面用来存放GUI显示所需要的图形元素,另一方面用于存储测流过程中的关键数据。 GPRS模块采用工业级FIBOCOM推出的G510模块,可以转门针对明渠所处位置大多为野外且通讯条件差等问题。该模块支持GPRS数传,GSM短信业务,内嵌TCP/UDP、FTP、HTTP等数据传输协议[7]。测流过程中系统先将流量及其他关键参数打包通过串口发送给GPRS模块,GPRS再将数据包一次性发送到云端。 本文程序设计通过两个阶段完成所需功能:首先前期需完成实时操作系统的搭建,GUI图形库的移植,字库建立,文件存取及云平台搭建。之后在系统上机工作时会在前期搭建的系统框架之上完成用户操作界面搭建,多路压力传感器数据的采集,最小二乘法曲线拟合的实现,GPRS无线传输。 (1)实时操作系统的搭建。实时操作系统μC/OSⅢ为可裁减、可固化、抢占式的实时内核,其提供的系统服务完全满足整体测流过程的需求,该系统理论上不限制任务数量,因此可以搭建较为复杂的系统[8]。文献[8]给出了完整的μC/OSⅢ在STM32上的移植步骤。系统运行时,先执行开始任务,通过开始任务创建了GUI任务,触摸任务,数据存取任务,GPRS发送任务,并且系统为每一个任务分配适当的优先级及堆栈大小。因为系统任务繁多,为解决数据采集实时响应问题,因此采用定时器的方式进行压差传感器数据的采集及处理。 (2)图形用户界面的设计。该系统的GUI采用的是德国SEGGER公司推出的图形界面库emWin,因为其源码是开放的,因此我们可以通过其丰富的API完成复杂的界面设计[9]。根据本系统采用的ARM处理器为STM32F4系列,因此该系统采用了专门针对芯片内部FPU做了进一步优化的STemWin。 根据系统测流的需要,系统界面主要包括emWin内部图形库的SLIDER, BUTTON等控件,配合手动绘制及加载外部图片完成的。界面包括渠道参数设置界面,曲线拟合界面等。同时为了用户使用更加直观,对于测流过程中关于水位与流量的曲线拟合结果公式,也实时显示在液晶屏上。系统在屏幕上搭建了软键盘代替实体按键用于参数输入,方便操作且节省了硬件资源,渠道参数设置及测流结果界面如图4所示。 图4 界面显示Fig.4 Interface display (3)字库建立及文件存取。为加载所需文件以及向SD卡写入测流数据,本文采用了完全免费开源的FatFs文件系统模块[10]。系统利用该文件系统模块搭配SD卡进行文件存取操作,具体的存储操作及内容如图5所示。本文将GUI需要显示的图片信息从SD卡加载并解码到SDRAM中再显示,利用SDRAM的访问效率优势提升显示效果。 图5 存储操作示意图Fig.5 Storage operation diagram GUI支持C,XBF,SIF等多种格式的字库,本文采用XBF格式,该格式字体具有抗锯齿的效果,能进一步提升界面显示效果,系统是通过FontCvt软件生成两种相应字体的xbf文件,再将其合并转换为ARM所能提取处理的bin文件,存放在SD卡中。如图5所示,系统开始工作时,先将字库数据通过SPI加载到Flash中,当GUI需要显示字库中的某一个字时,可以从Flash中直接提取,且Flash存储器在字库不更改的前提下,只需要从SD卡向Flash中加载一次即可。 (4)GPRS通信。本文采用物联网云平台作为远程监控的方式,前端系统GPRS模块内部烧录了云平台专用固件,可提供云平台到前端的双向数据通讯。CPU将当前测流时间、所测渠道类型、拟合公式、测流结果打包成数据包,通过串口发送到GPRS模块后,GPRS模块再通过特定的通讯协议向云平台发送该数据包,用户通过云平台或手机APP查看各个参数,当更换测流环境时,可以通过手机设置测量环境,包括渠道类型,半径等。云端将接收的数据形成曲线,用户可远程监测渠道流量及水位的变化趋势。 (5)程序流程图。系统的程序流程图如图6所示。各模块初始化后,系统的整体工作均通过创建子任务运行在μC/OSⅢ系统之上。传感器数据采集处理过程中,主要的误差产生于采集阶段,系统为了提高数据的可靠性,将一定时间内的压差数据采用限幅平均滤波法,可以有效降低测量误差。获取到有效的压差数据再通过计算及曲线拟合得到当前的瞬时流量。程序具体测量处理过程如图6所示。 图6 程序流程图Fig.6 Program flow chart (1)实验平台搭建。本文试验研究在太原理工大学水流实验大厅进行,试验场地包括各种尺寸的U形渠道及矩形渠道,且配备一套完整的水流循环系统,通过控制阀门可以调节明渠流量,同时利用明渠三角堰在等时间内对流量进行多次测量,通过滤波处理将结果作为实际标准流量,并对比标准流量与本文系统所测流量。为降低对系统测流的干扰,同时保证所测流速为断面中垂线的流速,通过测流板的侧边超声波及上部的水平仪调整板面,使其架设于水流较为稳定的渠道中央并保持与水面垂直。 (2)数据分析。本文针对坡度为1/1 000的D50型U形渠道进行试验,在不同流量下,CPU先获取并计算流速与对应水位的数据,再通过最小二乘曲线拟合算法进行关系的确定。同时根据断面整体的流速一般规律及每一个测压管不同时间的压力变化趋势,系统内部会对数据进行筛选,排除异常的测点,当测点的数据异常次数达到一定次数时,判断为测压管堵塞。当系统正常运行时流速分布曲线如图7所示。在流量分别为0.076、0.96、0.122、0.154 m3/s时,水位与流速之间的分布关系及拟合效果。由图7可以直观看出对于不同的流量,拟合曲线与实际测点数据的吻合度都很高。拟合公式参数及拟合优度R2如表1所示,由表1可得R2值均达到了0.9以上,曲线拟合度满足测量要求。 图7 断面流量分布曲线Fig.7 Section flow distribution curve 系统根据表1拟合的公式参数对流量进行计算,不同流量下的所测的流量及误差如表2所示,所测流量与三角堰测得的实际参考流量误差都在5%以内,说明系统能够精确完成明渠水流量的监测。同理,将系统搭建在渠宽为50 cm的矩形渠道上进行试验,通过界面设定渠道类型和尺寸后,处理器从内部预存的计算公式中调用适用于该尺寸的矩形渠道公式进行计算,经测量计算该系统所得流量与实际流量误差也在5%以内,也说明了系统的通用性。 表1 拟合公式参数Tab.1 Fitting formula parameters 表2 流量对比及误差Tab.2 Flow comparison and error 本文基于毕托管原理,设计了一种嵌入式多流道测流系统,得到以下结论。 (1)该系统在保证对水流流态影响较小的状况下,将采集计算得到的水位流速数据进行了最小二乘法曲线拟合,真实地反映了测流断面中垂线水的流速分布,曲线拟合及测流结果都与实际基本一致。 (2)配合系统前端GUI界面及云平台,极大提升了系统自动化测流过程,为灌区量水提供了一种可靠的量水方法。同时系统在其他类型渠道也具有很强的通用性,在灌区量水具有广泛的应用前景。 □2 系统构成
3 软件设计
4 系统实验分析
5 结 论