APP下载

基于AT89S52的简易多功能液体容器设计与应用

2022-08-24赵虎林张元元苟藏红

现代制造技术与装备 2022年7期
关键词:液位测距液体

赵虎林 张元元 苟藏红

(陇南师范高等专科学校 机电工程学院,陇南 742500)

基于AT89S52系列单片机的简易多功能液体容器,利用超声波测距模块和自制传感器,可以识别液体的液位高度、液体质量和液体浓度,并将测量结果通过LCD12864液晶显示器呈现,操作简便,结果直观明了,能够达到使用要求[1]。

1 设计思路和检测方法

1.1 设计思路

设计的简易多功能液体容器容量为0.5 L,高度为200 mm。它是具有高度标记的透明塑料容器,可测量液体的液位和质量等,判定液体的种类(如纯净水、白糖水、盐水、牛奶以及白醋等),实时显示测量数据。测试前需要使用启动键启动测试,但不得重复按启动键[2]。

1.2 检测方法

设计人员直接检测液体的液位高度和质量等参数并显示结果。分别测量一定量(200~500 mL)的不同液体,要求液位测量误差为±2 mm,质量测量值误差为±1 g。在以上测量基础上,对比不同浓度的溶液[3]。

2 系统方案设计及其硬件组成

2.1 系统设计方案

系统设计方案逻辑图,如图1所示。

考虑到检测结果的准确性,宜采用多个传感器测量相关参数,且各传感器数据之间互不干扰。该设计方案选用溶液种类测量模块和超声波测距模块测量,电路简单,易于实现,可满足设计需求。

采用AT89S52单片机作为控制核心,采用超声波测距传感器、称重传感器、自制简单电极构成的传感器及信号放大电路,分别检测液体液位、质量和溶液种类。其中,自制简易电极利用不同液体电导率不同的原理,通过测量液体单位距离的电阻值,将信号通过仪表放大器AD623放大,经模数转换器(Analog to Digital Converter,ADC)转换后由单片机处理,通过LCD12864显示结果[4]。

2.2 系统硬件组成

系统硬件部分主要由超声测距模块、称重模块、溶液类型判断模块、单片机控制核心微控制单元(Micro Controller Unit,MCU)及LCD12864显示模块5部分组成。

2.2.1 超声波测距模块

传感器选用HC-SR04超声波测距模块,可实现2~400 cm距离的非接触式感测功能,测距精度可达1 mm,模块输出信号为晶体管-晶体管逻辑(Transistor-Transistor Logic,TTL)电平。单片机可以直接读取该信号,利用AT89S52单片机定时计数器的工作方式、定时器/计数器模式控制寄存器(Timer/Counter Mode Control Register,TMOD)中相应定时计数器工作方式与GATE位的使用特点,将测距问题转换为测量传感器Echo端口脉冲宽度的问题,从而得到液位数据[5]。

2.2.2 称重模块

称重模块主要利用液体体积与质量之间的关系,通过运算获得液体质量,并显示在LCD12864上。

2.2.3 自制溶液类型传感器模块

自制溶液类型传感器模块利用不同种类液体电导率不同的规律,通过测量溶液的导电性能判断溶液类型,具体电路如图2所示。

2.2.4 单片机控制部分

单片机控制是该系统的核心部分,其中控制系统选用单片机AT89S52。因为单片机AT89S52包含8 kB的可编程Flash内部存储器和256 Byte的数据存储器,所以系统无须外拓存储器,可以有效减少系统的硬件电路。单片机控制部分的电路原理。

2.2.5 显示部分

系统采用LCD1602液晶显示模块,通过软件编程实现信息显示。液晶模块使用过程比较简单,只需要连接数据总线,选择通用端口和命令/数据端口即可。

3 软件设计

系统使用C语言编写软件程序,使用Keil编译软件。系统开始后启动超声波测距模块,读取测量值,计算液位和质量,再经过计算得到相对电导率值,并通过液晶显示器显示实际测量数据。系统软件程序流程图,如图3所示。

4 测试和分析

4.1 测试方法和结果

装置采用3节7号电池供电。运行时按下单片机最小系统板的蓝色自锁按钮,启动系统。当显示器异常时,按下复位按钮,系统恢复正常运行。测试开始前应调整装置位置,转动超声波测距支架,使超声波测距模块对准容器正中位置。此时,高度已经标定完成,不可再调整,否则将影响液位高度和质量显示。

4.2 液位、质量和浓度测量实验

测试液位时,要求浓度对检测结果无影响,故使用纯净水。检测液体液位、质量和浓度时,均采用不同浓度的NaCl溶液。其中,盐水浓度测试使用对比法,对比本次测试浓度与前一次测试浓度。当本次测试浓度高于前一次测试浓度时,测量结果显示浓;当本次测试浓度低于前一次测试浓度时,测量结果显示淡。

由表1~表3可知,装置基本符合设计要求。实验表明:LCD12864显示稳定、清晰;该装置不仅能够有效测量液位高度,也能够依据液体比重测量液体质量,同时可比较同种溶液的不同浓度并输出结果。但是,由于质量传感器存在温漂问题,因此该装置的稳定性有待提高。

表1 液位测量实验 单位:mm

表2 称重测量实验 单位:mm

表3 盐水浓度比较实验

5 结语

系统以AT89S52单片机为核心,采用C语言编程,使用Keil软件和Protues软件编译仿真设计的简易多功能液体容器,可以识别不同液体的质量、液位和浓度,并将分析结果输出到LCD12846液晶显示器显示,使实验结果直观可见。然而,系统还存在一些问题,如传感器的输出特性有待提高。

猜你喜欢

液位测距液体
基于RSSI测距的最大似然估计的节点定位算法
液体小“桥”
五颜六色的液体塔
基于单片机的超声波测距导盲杖设计
直流系统行波测距的误差分析
基于VMD和TEO的高压输电线路雷击故障测距研究
关于机械式浮顶储罐液位开关设计的分析与研究
层层叠叠的液体
2009年宝马730Li发动机冷却液报警
宝马530车冷却液液位过低报警