基于单片机的简易未知液体判断容器的设计

2022-04-13 06:08杨玲玲付厚奎
武汉工程职业技术学院学报 2022年1期
关键词:激光测距液位盐水

杨玲玲 付厚奎

(武汉软件工程职业学院 湖北 武汉:430205)

日常生活、公共场所安检以及某些专用场合,经常会遇到不明液体。在对不明液体化学成分不清楚的前提下,不能贸然对其采用闻、尝、触等方式进行鉴别,因此能够快速对未知液体进行非破坏性鉴别就显得尤为重要。

本文目标为设计制作一个能够快速精确测量液体质量、液位以及判断其类型的简易多功能液体容器。该容器为容量不小于0.5L、高于20cm、带有(或自制)液位标记的透明塑料容器;可以自动测量给定液体的液位(检测液位的误差绝对值≤2mm)、重量等参数(重量测量绝对误差的绝对值≤1g);可判别给定液体的种类(如纯净水、盐水、牛奶、白醋等);可显示测量数据。针对以上要求,很好地完成了对多功能液体容器的设计,且测试结果达到要求。

1 系统设计

本系统采用SCT15单片机作为主控芯片,该芯片相比传统51单片机有更多的外设资源,同时价格比STM32便宜,且完全满足本系统的设计需求,因此性价比最高,具有更好的实际工程应用价值。

系统的设计框图如图1所示,容器中待测液体的液位和质量分别由对应的探测器测得后,将数据传送给单片机主控系统。单片机主控系统通过算法计算判断待测液的种类,最后经由单片机输出结果到显示器上,显示位置液体的液位、质量及种类。

图1 系统框图

2 硬件设计

2.1 称重测量电路设计

液体称重测量电路如图2所示,主要由桥式压力传感器和24位精密AD转换器芯片HX711组成。由于桥式传感器输出的信号很微弱,因此将其差分输出信号接入可编程增益最大为128的通道A。串口通讯线PD_SCK和DOUT与主控芯片相连,用来输出数据,选择输入通道和增益。当数据输出管脚DOUT为高电平时,表明A/D转换器还未准备好输出数据,此时串口钟输入信号PD_SCK应为低电平。当DOUT从电平变低电平后,PD_SCK应输入25至27个不等的时钟脉冲。其中第一个时钟脉冲的上升沿将读出输出24位数据的最高位(MSB),直至第24个时钟脉冲完成,24位输出数据从最高位至最低位逐位输出完成。第25至27个时钟脉冲用来选择下一次A/D转换的输入通道和增益。此外,电路中的三极管Q1主要用于关断传感器和ADC电源。

图2 液体称重电路及接口设计

2.2 液位测量电路设计

液位的测量无论是在工业生产中还是在实验实践中,应用都极为广泛[1]。目前,液位的测量的方法可分为接触式和非接触式两种[2]。非接触式测量方法典型传感器为超声波液位计[2-5]和激光液位计[6-8]。考虑到系统还需要测量液体质量,且检测液位的误差绝对值≤2mm,因此本设计选用精度高、体积小的激光测距模块实现液位的测量。通过对激光相位差的测量,感知液位的距离,测量精度可达1mm。

激光测量液位模型如图3所示,激光测距模块固定安装在量筒正上方,先测得激光器距离量筒底的距离L1,待量筒倒入待测液后再测得激光器距离液面的距离L2,即可得到液面高度L=L1-L2。

图3 激光测液位模型

激光测距模块与主芯片的接口设计如图4所示。TXD数据发送连接主芯片P1.1口,RXD数据接收连接主芯片P1.2口。激光测距对透明液体的测量具有局限性,解决方案为在待测液上放置不透明漂浮物,只要在程序中对漂浮物的厚度进行修正即可。

图4 激光测距模块与主芯片的连接

2.3 总电路设计

多功能液体容器的总电路图如图5所示。液位、液重和液体类型显示选用LCD12864,刚好安装在所设计的PCB板上,实现了系统模块电路的最小化。

图5 总电路图

3 理论分析与软件设计

3.1 不同液体区分设计

简易多功能液体容器要求能区分不同浓度的盐水,表1为实验测得相同质量不同浓度的盐水在同一容器中的液位高度,从表中数据可以看出200克不同浓度的盐水高度差达1mm,对于本设计中使用的激光测距模块而言,其精度能够对1mm进行辨识。因此,只要合理设计软件程序便可对不同浓度的盐水进行自动识别,并显示在屏幕上。

表1 室温下相同质量不同浓度的盐水在同一容器中的液位高度(单位:cm)

本系统还要求能分辨纯净水、盐水、牛奶、白醋四种溶液。由于不同种类的物质其密度一般也不同,所以可以认为物质种类与其密度是一一对应的,通过测量液体密度能够大致推测其种类。

密度表达式为

其中,m为液体的质量,v为液体的体积,由于v=Sh(S为容器的横截面积,h为液体高度),在多功能液体容器横截面积固定的前提下,对液体密度的测量转换为求m/h的比值。

结合上所述,先用实验的测量得到不同液体以及不同浓度的液体质量与高度值,即可拟合得到液体质量与高度的关系,最后通过软件编程即可实现对这四种溶液的类型判断。

3.2 系统软件设计

根据上述原理分析及设计好的硬件电路,在KEIL MDK5.0环境下使用C语言进行软件编程,对系统进行软件调试。系统软件流程图如图6所示。电源接通后称重传感器首先去毛重,测试按键按下开始测量,称重传感器和激光测距仪将数据传递给主控芯片,主控芯片对数据进行处理判断液体浓度和类型,最终在显示屏上显示液位、液重和液体类型。显示完后结束主程序,等待下次按键测量。

图6 系统软件流程图

4 实物制作及测试

完成整个系统的软硬件设计后,自制核心电路印制电路板,实现的简易多功能液体容器实物如图7所示。该系统有两个开关,一个是电源开关,安装在测量装置的背面,正面的开关为测试按钮,通电后只需要按下该按钮便可直接从显示屏中得到液重、液位高度和液体类型等参数,测试方法简便快捷。

图7 简易多功能液体容器实物

表2为不同液体不同参考值下的测试结果和标准值的对比。从表2中可以看出,液重测量的绝对误差不超过±0.7g,液位测量的绝对误差控制在±0.8mm。结果显示界面如图8所示。

表2 不同液体不同参考值下的测试结果

图8 显示屏显示结果

经过对简易多功能液体容器实物进行测试,很好地实现了对项目设计的各个功能要求,且误差控制在指标内。

5 结语

本文基于SCT15单片机设计了一个简易多功能液体容器,能够快速对液体的质量和液位进行精确测量,并将结果直接显示在显示屏上。整个测量和鉴别对液体没有任何破坏且无需人体直接接触,能够有效解决日常生活、公共场所安检以及某些专用场合中对不明液体进行无接触、非破坏测量和判别的应用需求。

猜你喜欢
激光测距液位盐水
基于回波强度的激光测距误差补偿算法研究
为什么菠萝要在盐水中泡过才好吃
大树“挂盐水”
2009年宝马730Li发动机冷却液报警
基于激光测距的汽车防撞警示系统设计
泉水与盐水
当冷盐水遇见温淡水
激光测厚技术专利申请分析
低功耗窄脉冲编码激光器驱动设计探讨
宝马530车冷却液液位过低报警