GPRS技术的超声波液位监测系统设计
2020-09-02胡红旗
胡红旗
摘要:
为实现工业现场物料和液位远程实时监控,以STM32单片机为控制核心,采用时差法超声波测距原理结合GPRS技术实现超声波液位监测系统设计,实时采集数据通过互联网传递给监控端,实现远程监控并做实时记录。为降低温度对测距精度的影响,增加了温度补偿电路。上位机采用LabView软件开发,便于管理人员监控。该系统解决了传统现场仪表反馈不及时、布线复杂等问题。经测试表明系统运行正常,具有较好的精确性和稳定性,适合工业现场安装使用。
关键词:
液位監测; 超声波测距; GPRS; LabView
中图分类号: TP273
文献标志码: A
Design of Ultrasonic Liquid Level Monitoring System Based on GPRS
HU Hongqi
(Department of Electronic Engineering, Yantai Automobile Engineering Professional College, Yantai, Shandong 265500, China)
Abstract:
In order to realize the remote monitoring of material and liquid level in industrial field, the ultrasonic liquid level monitoring system was designed by GPRS technology and combined with the ultrasonic distance measurement technology. The STM32 is used as the core unit, the realtime data aretransmitted to the monitoring terminal through the Internet to realize remote monitoring and realtime recording. In order to reduce the influence of temperature on ranging precision, the temperature compensation circuit is added. LabView software is usedand it is easy monitoring by managers. Test results show that the system is running normally and has good accuracy and stability.
Key words:
level monitoring; ultrasonic ranging; GPRS; LabView
0引言
如今,随着智能技术和计算机技术飞速发展,工厂管理越来越趋于无人化、网络化、智能化,为便于生产设备管理,保障生产线的正常平稳运行,智能化仪表显得尤为重要。尤其是液位参数的测量在化工、石油、污水处理等工厂企业的工业生产中至关重要。液位仪表按照感应元件与被测液位是否接触可分为接触式和非接触式。接触式仪表常用的有人工检尺法、伺服式、浮子测量、电容式、磁致伸缩式,由于传统液位检测仪测量精度低,且不利于工业现场实时监测[13]。鉴于超声波式非接触型液位模块具有测量范围宽、介质特性影响小;GPRS网络覆盖范围广、实时在线等优点,本文采用GPRS无线通讯技术融合非接触式超声波测量技术实现物料和液位高度测量。系统以STM32为核心控制模块,依据时差法超声波测距原理实现液面高度的实时测量,有效减少测量过程中的人工干预;采用GPRS技术实现与上位机通信,从而使工作人员在控制中心可实时观测数据,一旦液位或物料高度超出正常范围,电脑就会发出报警信号,协助工作人员进行调整生产,具有很高的使用价值,值得推广。
1系统总体设计方案
采用时差法实现液面高度测量。将超声波探头安装在被测液面正上方,超声波在被测界面发生反射,接收探头接收反射回波,测量超声波从发射到接收的时间t,由此得到探头到液面的高度N=ct/2(c为超声波在空气中传播的速度)。采用单片机自带定时器准确测量声速传播时间,测量精度可达μs级;采用GPRS无线通讯方式实现与PC机通信[46]。该系统支持多点液位监测,具有温湿度补偿功能,极大地提高了测量精度。系统总体框图如图1所示。
监测节点由STM32单片机、超声波测距模块、存储模块、报警模块、温湿度模块及串口模块组成。下位机在安装时,必须在液位为零时按下校准按键,此时单片机采集到的数据会存入存储器,并将该数据作为液面高度的参考值H(液面零点到测量装置的距离)。根据测得值N(液面到测量装置的距离),进而求得液面高度h=H-N。单片机接收到上位机发送的查询信号时,将采集到的数据先存储到存储芯片中,然后通过STM32串口发送标准AT指令实现与MC55信息传递,在TCP/IP数据包基础上实现远程数据发送。上位机软件界面采用Labview程序设计。
2系统硬件电路设计
系统由电源电路、超声波测距电路、温湿度检测电路、存储电路、GPRS通讯电路、报警及按键电路组成。节点模块由锂电池供电,系统各部分采用低功耗器件,监测节点与虚拟仪器上位机界面间通过GPRS模块实现无线数据传输。
2.1超声波检测部分设计
超声波测距传感器采用HCSR04,该模块采用IO口触发检测方式,当TRIG引脚至少持续10 us的高电平信号,传感器就会自动发送8个40 kHz的方波,并检测是否收到返回信号。有信号返回时,ECHO引脚就会输出一个高电平,高电平保持的时间就是声波从发射到返回的时间[78]。单片机启动定时器测量该时间,并根据DHT11测量出的温湿度值进行补偿计算,最终得到较为精确的液位高度。超声波模块接口电路,如图2所示。
2.2温湿度检测电路的设计
选择DHT11作为温湿度传感器。该传感器具有通用性好,采用单总线通讯方式,温湿度精度均为8位。传感器上电后有1 s的不稳定状态,在此期间器件不能正常工作,因此在编写程序时需要稍加注意。设计时,将DHT11数据端与STM32的PA1口相连,完成温湿度信息采集[9]。电路如图3所示。
2.3GPRS通信电路设计
设计中,采用三频GSM/GPRS模块MC55实现无线通信电路设计。西门子公司的MC55接口电路简单,具有两个全双工串口,可实现两个TCP通道同时传输,模块内置SIM卡接口,内嵌TCP/IP协议栈。STM32与MC55模块间采用串行异步通信方式,通信速率设置为9 600 bps,采用TXD/RXD异步串口通信,由于两者间串口通信电气兼容,无需电压调整[10]。GRRS通信电路如图4所示。
由图4看出,单片机与MC55间采用串行通信方式进行信息交互。MC55的IGT与STM32的通用I/O口相连作为启动信号。当MC55启动时,单片机将IGT拉低至少100 ms后再置高,同时应保持BATT+引脚电平不低于3V。注意的是MC55模块启动后需要等待900 ms才能正常使用串口。SYNC引脚接入工作状态指示电路,MC55每600 ms闪烁一次,表示没有插入SIM卡或MC55处于登陆状态;若每3 s闪烁一次,表示网络已登陆。图4中TXD0引脚外加上拉电路;在STM32的RXD与MC55的RXD端加入D1是用来防止MC55在关机状态下的误判。
2.4辅助电路设计
考虑到超声波液位监测系统可用于便携仪器上,故采用双电源供电方式,分别设计出5 V、3.3 V直流稳压电源电路;采用AT24C64设计出EEPROM掉电存储电路;为了便于用户手动对系统参数进行设置,系统带有4个按键;显示电路采用低功耗OLED完成数据显示。
3软件设计
软件设计分为下位机采集程序和监测平台程序设计。下位机完成液面高度采集、温湿度采集、液位高度数据校正、存储和传输等功能。系统程序包含主程序、超声波测距子程序、温湿度检测子程序、GPRS通讯子程序。采用C51編写,各子程序之间独立且受主程序调用,结构清晰易于理解和编写。上位机完成数据信息处理、数据显示及下位机控制等功能,采用图形化语言Labview2012完成设计。
3.1下位机主程序设计
主程序是单片机程序的主体,负责调用系统各个子程序,中断程序等各个功能的转换,完成内部模块和寄存器的设置、数值计算及存储功能。为降低系统功耗,单片机大部分时间处于休眠状态,采用中断唤醒方式启动工作状态。工作流程如图5所示。
初始化后单片机控制超声波模块每隔一定的时间发射一次信号。并且采用中断的方式接收信号端口的电平变化,当信号端口电平为高时,中断服务程序打开计时器,信号端口拉低时再次进入中断。在中断服务程序中通过读取计时器寄存器得到声波来回传播的时间t,根据声速与温湿度从而算出液面距离[11]。
3.2数据采集子程序设计
采用定时器计算声波从发出到返回的时间。初始化后,重复控制发射信号,判断回波是否到达。若检测到声波传播的时长后进行温湿度检测,然后进行液位高度补偿计算,得到液位高度数据后进行存储并通过GPRS发送到上位机。在数据的每一次发送之前都需要加入命令帧,以便上位机可以识别数据,如图6所示。
在初始化DHT11时,需要延时一秒等待不稳定状态结束。MCU发送起始信号后,DHT11从低功耗模式转换到高速模式,等待主机起始信号结束后,DHT11发送应答信号,然后触发一次信号采集并发送出40bit的数据,MCU可选择读取部分数据。工作时,DHT11接收到开始信号便触发一次温湿度采集,也就意味着传感器在采集数据后就会自动转换到低速模式。
3.3GPRS通信程序设计
设计中,考虑到数据传输的可靠性,下位机与监测中心之间选取TCP协议作为传输协议。采用AT(Attention)指令初始化MC55后使其接入Internet网络,获得网络运营商动态分配的IP地址,与监测终端建立GPRS连接服务,之后MC55将待发送信息封装成TCP/IP数据包后进行相关的数据传输操作。当进行连接服务时,根据AT指令初始化设置MC55,完成用户名和密码检验,并设置TCP/IP的地址和端口信息[12]。GPRS通信流程和数据处理流程,如图7所示。
4上位机界面设计
采用美国NI公司图形化编辑语言(G语言)Labview2012设计,调用库中自带的TCP/IP控件,实现数据接收。由于监测终端GPRS模块提供的AT指令中传输的数据形式是字符串型,所以TCP/IP传送的也是string数据格式,因而需要将超声波采集的液位信息int型转成字符串型后才能实现数据传输。工作人员登录监控界面便可实时观测监测信息,并完成参数设置,浏览历史信息等;也可实现对下位机的控制,便于工作人员监控与管理[1315]。监测界面如图8所示。
5测试结果与分析
首先,采用protues7.8软件对整体硬件电路进行仿真,并按照正确的电路进行焊接。硬件完成后,仔细检查电路,确保各处无虚焊,检查通讯,确保数据可靠,将监测系统置于实验室环境中进行现场测试。