基于电容式传感器的非接触式液位测量系统*
2021-09-10屈梦瑶陆泽青杨宗林彭雪斌
屈梦瑶,易 艺,陆泽青,杨宗林,彭雪斌
(桂林电子科技大学 信息科技学院,广西 桂林 541004 )
0 引 言
随着电子技术、计算机技术和通信技术的发展,液位测量技术从传统的接触式测量[1~4]到非接触式测量,正朝着自动化、集成化、智能化的方向发展[5,6],以满足人们对容器液位测量的需求。在测量容器液位时,非接触式液位测量系统因具有不与被测液体接触、非浸入式测量、不破坏容器的物理结构和完整性等特点,而成为近年来科研人员研究的热点课题[7~9]。
电容式传感器具有成本低、功耗低、结构简单、易安装和维护等众多优点,因此本文设计了一种基于电容式传感器的非接触式液位测量系统。系统以STM32F103ZET6作为微控制器,控制安装在容器外壁的电容式传感器和三轴陀螺仪/加速度传感器进行工作,获取容器的液位信息和姿态信息,然后对这些信息进行处理,以实现对容器内液位和液体体积的测量。
1 系统的组成与原理
非接触式液位测量系统由主控单元、微弱电容测量模块、电容式传感器、容器姿态检测模块、无线通信模块和上位机组成,其系统组成框图如图1所示。
图1 系统组成框图
电容式液位传感器采用覆铜板进行制作[10],将电容的两个电极制作在同一个绝缘平面上,构成共面极板电容传感器[11]。在容器液位测量中,将电容式液位传感器粘贴在容器的外壁,用来感应容器内液体液位的变化,并将容器液位的变化信息转换为相应的电容值,实现容器液位信息到电容量的转换。
主控单元是非接触式液位测量系统的主控中心,负责整个液位测量系统的管理、处理和控制等任务,它主要控制微弱电容测量模块和容器姿态检测模块进行工作,分别获取容器的液位信息和姿态信息,然后对这些信息进行分析与处理,以实现对容器内液位和液体体积的测量。为了便于液位测量实验,系统还增加了直流潜水泵及其电机驱动电路,用于给容器输入或输出液体。用户可以根据需要通过上位机或人机交互模块输入任务指令,一方面获取容器内液体液位值和液体体积等参数,另一方面实现对容器内液体液位值和液体体积的控制。
2 系统硬件电路设计
系统的硬件电路设计主要包括主控单元模块、微弱电容测量模块、容器姿态检测模块、电机驱动电路和无线通信模块的电路设计。
2.1 主控单元模块的硬件设计
主控单元模块由STM32微控制器、存储器模块、时钟模块和人机交互模块组成。其硬件设计框图如图2所示。
图2 主控单元模块电路设计框图
STM32微控制器选用意法半导体生产的32位STM32F103ZET6微控制器,其内部集成有16位定时器、SPI接口、I2C接口、USART接口、ADC和DAC等丰富的片上资源,能够满足整个液位测量系统的需求。存储器模块选用Atmel公司的AT24C64D芯片来实现,主要用来存储液位测量系统中电容式液位传感器的标定数据。时钟模块选用DS3231 芯片来实现,主要用来获取实时时钟,方便用户实时记录容器液位数据和容器姿态信息。人机交互模块由轻触按键开关和1.3寸的OLED液晶显示模块组成。液晶显示模块通过SPI 通信协议与STM32微控制器进行通信。
2.2 微弱电容测量模块的硬件设计
微弱电容测量模块采用TI公司的28位电容数据转换器FDC2214来实现。FDC2214是低功耗、高分辨率的非接触式电容传感器芯片,适用于液位测量[12]。该芯片有4个输入检测通道,每个输入检测通道通过外接一个电容器C0和电感器L0构成LC谐振电路。FDC2214内置电路以参考时钟信号作为标准,对输入的谐振频率信号进行计数度量[13],并转换为数字量,最后通过换算处理可以求解出被测电容,实现对微弱电容的检测。其电路原理图如图3所示。
图3 微弱电容测量模块电路原理
在图3中,设电容式液位传感器感应的电容为CX,则谐振频率fsensor为
(1)
设FDC2214配置为最高分辨率的工作模式,外接参考时钟信号的频率为fREF,转换后的数字量为DATAX,则有
(2)
式中L0为谐振电路的电感,取值为18 μH;C0为谐振电路的电容,取值为33 pF;fREF为40 MHz晶振。STM32微控制器通过I2C通信协议与FDC2214进行通信,控制其进行工作获取DATAX,再结合式(1)和式(2),即可以计算出被测电容式液位传感器感应的电容CX。
2.3 容器姿态检测模块的硬件设计
容器姿态检测模块采用三轴陀螺仪/加速度传感器MPU6050来实现。当容器倾斜一定角度时,可通过陀螺仪/加速度传感器的数字运动处理器(digital motion processor,DMP)实现容器姿态的解算,求解出容器倾斜的角度,然后结合容器液位信息计算出容器内液体的体积。容器姿态检测模块的电路原理图如图4所示。
图4 容器姿态检测模块电路原理
2.4 无线通信模块的硬件设计
无线通信模块电路选用高性能的串口转WiFi模块ESP8266来实现。该模块内嵌TCP/IP协议,可以实现 TTL 串口与 WiFi无线双向透明传输。STM32微控制器通过串口与WiFi模块进行通信。该模块的电路原理图如图5所示。
图5 无线通信模块电路原理
电机驱动电路由2个松乐继电器SRD—05VDC—SL、光耦芯片、二极管和三极管等器件组成。STM32微控制器通过控制继电器的闭合与断开来控制直流潜水泵进行工作,给容器注入或抽出液体。
3 系统软件设计
系统的软件设计主要由主控单元模块的微控制器程序设计和上位机的客户端软件设计组成。
3.1 主控单元的微控制器程序设计
STM32微控制器的软件设计采用模块化设计方法。在Keil uVision5集成开发环境下,使用C语言来编写各个模块的程序,主要包括电容数据转换器FDC2214的驱动程序、三轴陀螺仪/加速度传感器MPU6050驱动程序、串口驱动程序和液晶显示模块驱动程序等。其主程序流程图如图6所示。
图6 主控单元的微控制器主程序流程框图
3.2 上位机的客户端软件设计
上位机为安卓手机,手机的客户端软件App采用在Eclipse中添加ADT Android开发工具,使用Java语言进行开发。手机的客户端软件界面图如图7所示。
图7 上位机软件界面图
4 系统功能实验测试
为了验证非接触式液位测量系统,选用亚克力板和胶水制作容器,将电容式传感器通过双面胶粘贴在容器外壁上,选用自来水作为被测溶液。电容式传感器通过屏蔽线与非接触式液位测量系统相连接,非接触式液位测量系统的测试平台如图8所示。
图8 非接触式液位测量系统的测试平台
非接触式液位测量系统启动后,先通过按键设置进入标定模式,控制直流潜水泵给容器注入液体,对容器液位进行标定。标定完成后进入测量模式,对容器的液位和液体体积进行测量,并使用游标卡尺作为标准仪器,对非接触式液位测量系统进行比对测试,得到非接触式液位测量系统的部分参数测量结果如表1和表2所示。
表1 容器液位测量部分参数测量结果
表2 液体体积测量部分参数测量结果
从表1的测量结果可知,在0~14 cm范围内,液位测量结果绝对误差不大于0.39 mm,最大相对误差为5 %;从表2的测量结果可知,体积测量结果绝对误差不大于0.03 L,最大相对误差为2 %。因此,基于电容传感器的非接触式液位测量系统具有较高的测量精度和准确度。
5 结束语
本文基于电容式传感器和三轴陀螺仪/加速度传感器,结合传感器技术、电子技术和无线通信技术,设计了一种非接触式液位测量系统。阐述了非接触式液位测量系统的组成原理,软硬件实现方法,并对非接触式液位测量系统的性能指标进行实验测试。实验结果表明:液位测量系统能够非接触、非浸入式地测量容器内液体的液位和体积,液位测量范围为0~14 cm,液位测量相对误差为5 %,体积测量相对误差为2 %,为非接触式液位测量提供一种参考。