基于STM32的液体识别装置设计

2021-11-10 11:50龚江涛魏丽君
电子制作 2021年21期
关键词:液位盐水液体

龚江涛,魏丽君

(湖南铁道职业技术学院,湖南株洲,412001)

0 引言

在工业生产和日常生活当中,有时需要对液体参数进行测量,甚至进行辨别,全靠人工操作,费时费力。因此设计一个能自动对液体液位、重量等参数进行测量及辨别的多功能智能化仪器具有很好的应用前景。本设计对纯净水、牛奶、盐水、白醋和糖水等常见液体样本进行了大量测量试验,参数测量精度高,分辨结果正确无误。

1 测试方法选择

根据功能要求,除了测量液位、密度、重量等参数外,还要分辨各种液体,因此需要采用多种检测方法进行综合检测。

■1.1 密度辨别浓度不同液体的方法

对于浓度不同的同一种液体(如浓度不同的盐水),其密度是不同的。通过液位检测传感器分别测量装和不装盐水时的液面高度h1和h2,可获得测量液体高度Δh=h2-h1,再通过称重模块可测得液体的质量M,通过计算可获得液体的密度[1-2]:

(其中r为圆柱状容器的半径)

将不同浓度液体的密度大小进行比较,较大的浓度高,较小的浓度低。

■1.2 电导率检测液体方法

不同的液体,导电性能有所差别。测试样品中的纯净水导电性最差,白醋的导电性能最好,牛奶的导电性能介于两者之间,并和盐水的导电性能接近。通过电压检测模块对电导率的测量,可将纯净水、牛奶(盐水)和白醋区分开来[3]。牛奶和盐水的辨别还需要采用其他测试方法进行进一步测量甄别。

■1.3 透光度检测液体方法

考虑到牛奶与其他液体相比,透光度较差,将反射式红外对管安装在距离容器3-6cm左右的位置进行检测[4]。当容器装有牛奶时,容器外壁对红外光的反射较强,接收管收到的信号较大,而其他液体因透光度较高,接收信号微弱。利用一个电压比较器,可较方便地将牛奶和其他液体区分开来。

2 硬件设计

本容器装置以STM32F103VCT6单片机为主控制器,在外围搭建液位传感器、称重模块、电压检测模块、红外检测模块、按键电路、液晶显示电路、声光提示模块等部分。系统总体设计框图如图1所示。

图1 系统框图

■2.1 主控制器电路

主控制器采用STM32F103VCT6单片机,其最小系统包括电源电路、复位电路及晶振电路,控制器采用3.3V电压、8MHz晶振,其原理图如图2所示。

图2 主控制器电路原理图

■2.2 激光传感器模块

采用激光测距传感器来检测液体高度。国内非浸入式超声波测液位的测量精度最高只能达到±1 cm,这样会导致密度的测量较大误差,并对液体的辨别产生误判,而高精度的激光测距传感器测量精度可达±0.5 mm。考虑到激光会穿透液面,而导致测量失准,因此在液面放置超薄反射薄片(厚度小于0.5 mm),利用激光发射与接收的时间分别测量装液体时的液面高度h1和不装液体时的高度h2,通过h2-h1得到液体高度。此方法检测速度快,测量精度可达±1 mm,且不需接触液体,可靠性高,比超声波传感器和投入式液位传感器的精度更高。激光模块采用UART串口通信,可通过STM32的串口与之相连,设定其测量范围、分辨率等参数,并可读取精确的测量距离值,其实物图如图3所示。

图3 激光传感器模块实物图

■2.3 称重模块

采用CS5530带低噪声放大器的24位高精度AD芯片配合称重传感器实现高精度称重,精度完全能满足精度要求,其电路原理图如图4所示。

图4 CS5530电路原理图

■2.4 电压检测电路

将串联了一个电位器R1的并连接了电源的金属探针插入到待测液体当中,通过调节电位器可改变流过液体的电流,当电流调节到合适的大小后,固定电位器阻值,将其两端电压送至STM32自带的AD通道进行测量,获得电位器两端电压。如图5所示,图中P2接STM32板上的3.3V电源,P1送至STM32的AD通道。

图5 电压检测电路原理图

■2.5 红外检测电路

红外检测主要用于区分牛奶和其他液体,其电路如图6所示。图中D1为发射管,D2为接收管,LM358组成电压比较器,当为牛奶时,输出out为高;当为其他液体时,输出out为低。

图6 红外检测电路图

3 软件设计

根据题目任务和硬件电路,设计单片机程序,其程序流程如下:

第一步:对系统进行初始化,包括单片机、键盘和液晶模块等进行初始化设置,液晶显示初始界面;

第二步:扫描键盘,确定任务模式。根据应用场合及要求不同,设置了三种测量模式,分别为液位重量测量模式、浓度比较测量模式和液体辨别模式;

第三步:进入任务模式,先对空的容器进行去皮操作,显示重量为0 g;同时显示液位高度为 0 mm;

第四步:加入液体后,通过CS5530称重模块获取容器和液体的总重量;

第五步:减去容器皮重,得到液体重量;

第六步:采集激光传感器数据,获取液位信息,计算得到液体高度;

第七步:根据液体高度,计算出液体体积;

第八步:通过液体重量和体积计算出液体密度,初步判断出液体为何种成分;

第九步:通过金属探针及电压检测电路,获取液体导体串联电阻上的电压值;

第十步:计算液体的电导率;

第十一步:通过红外检测模块,进行液体透光度判断;

第十二步:根据液体密度、电导率和透光度最终判断出液体成分;

最后根据任务模式判断各种液体,通过液晶显示液体名称和相关参数,通过声光提示当前任务检测完成,跳到第二步等待下一次检测任务。程序流程图如图7所示。

4 测量结果及分析

■4.1 测试方法仪器

(1)测试方法:给多功能容器装置上电,按下功能选择键,进行测试功能选择,选定后,按启动键启动测试,将测试结果显示在液晶显示屏上。完成一项测试后,按下功能选择键,进入其他测试项目,如此循环。

(2)测试仪器:万用表、比重计,电子天平。

■4.2 测试结果

(1)液位重量测量模式:开机后,将空的容器和激光用的发射薄片,放在秤盘上。在主界面按功能选择,选择测试模式1:液位重量测量。按启动键,按先后顺序依次倒入纯净水、盐水、牛奶,测试结果如表1所示。结论:经多次测量,水位偏差<1mm,重量偏差<0.5g。

表1 液位及重量测量数据

(2)浓度比较测量模式:单片机复位后,在主界面按功能选择,选择测试模式2:浓度比较测量模式。按启动键,按先后顺序依次倒入15%的盐水和10%的盐水,测试结果如表2所示。

表2 浓度比较测量数据

(3)液体辨别模式:单片机复位后,在主界面按功能选择,选择测试模式3:液体辨别模式。按启动键,按先后顺序依次倒入盐水、牛奶、白醋和纯净水,测试结果如表3所示。

表3 液体辨别测试数据

5 结论

本设计以STM32单片机为主控芯片,采用多种传感器通过对待测液体的密度、电导率及透光度等多个参数进行测量,能正确识别题目中涉及的各种液体,并显示检测结果和相关参数,具有一键测试、响应速度快、低功耗、界面友好等优点。经多次试验检测,液体识别装置辨别给定液体的成功率达100%,液位误差小于1mm,重量误差小于0.5 g。

猜你喜欢
液位盐水液体
液体小“桥”
除氧器液位控制器切换异常原因分析及应对措施
五颜六色的液体塔
天然气车辆液位测量系统相关性的研究
为什么菠萝要在盐水中泡过才好吃
大树“挂盐水”
层层叠叠的液体
泉水与盐水
当冷盐水遇见温淡水
TEP除气装置液位控制及故障分析