基于STM32 设计的简易多功能液体容器
2021-06-01吕佳璐
吕佳璐,王 森,杨 琦
(四川轻化工大学,四川 宜宾644000)
1 发展现状
目前液体鉴别主要发展于化工行业,在日常生活中主要还是靠看状态、闻气味和尝味道。这样经常会出现鉴别不准确的情况,甚至可能发生事故。随着人们生活质量的提升,生活中的各种细节越来越被重视。生活中接触的液体种类慢慢增加,对于各种液体的使用也逐渐增多。因而在以前不被重视的液体鉴别也随着人们对更美好生活的向往越来越被重视。在此背景下更安全、准确、方便的液体鉴别装置应运而生,更加贴近人们的日常生活,并且为中国现有的液体测量识别仪器的优化发展提供了有益帮助。
2 研究目的及意义
随着社会环境的不断变化,生活中的液体种类也在不断增加,不能什么液体都靠人的感觉器官来辨别液体种类,因为这样往往会伴随着一些不确定的因素。并且,在液体浓度很小时,运用这种鉴别方式不能够准确辨别出液体种类。因此,迫切需要一种新型的设备来辨别这些液体的种类。对这些新型的液体测量设备最基本的要求就是不会过多占用人们的空间资源和能量资源等。在满足以上所需的功能之后,也要增加一些比较实用的小功能,为人们的生活带来一些便利,方便人们日常使用。
3 方案设计
3.1 方案一
采用51/15 单片机作为系统的核心处理来采集数据,进行数据处理;采用浮动式传感器,进行液体的液位测量;采用压力传感器来测量液体的质量;采用光电传感器和MQ-3气敏传感器来分辨液体的种类;通过对算法(密度)的设计,来分辨不同浓度的盐水,以及纯净水和白糖水的判别,并将测试的数据显示到LCD 显示屏上。
3.2 方案二
选用STM32F103C8T6 单片机作为控制电路的核心处理来采集数据,进行数据处理;采用超声波测距传感器,进行液体的液位测量;测试的数据显示到OLED 显示屏上;其余同方案一。
3.3 方案确定
主控部分,51/15 单片机具有编程简单,控制方便,成本较低的优点,但存在数据采集的精度不高,运算速度慢、功能少等缺点;而STM32F103 增强型系列的内核是基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3 内核,一次处理数据宽度32 位,时钟频率达到72 MHz,内部RAM 和ROM(flash)更大,运算能力更为强大,且片上外设资源丰富。考虑超声波模块的测量精度及显示模块的设计,此次设计决定采用STM32F103C8T6芯片作为中央处理器。
在液体的液位高度采集部分,主要分为直接测量法、浮力法、超声波法等。其中浮球式水位传感器价格虽然便宜,但工作原理和采集方法都是传感技术中较原始、落后的部分,所以可靠性低,稳定性差,极易出现浮子卡死无法动作的现象。浮球式水位传感器检测精度低,且因其结构设计原因,容易产生污垢,不易清洗。而超声波测距模块超声波水位传感器质量小,检测精度高,非接触式的检测,更加卫生,且具有安全、寿命长、可靠性高的特点。因此这一部分选择用超声波测距模块来测量液位。
选择以STM32F103C8T6 为核心处理器,以压力传感器、超声波测距模块、光电传感器、MQ-3 气敏传感器为外设,
对不同液体的液位、质量等参数数据进行采集,及液体种类判别,并用(OLED)液晶显示屏显示测量结果。
4 理论分析与计算
4.1 超声波测距模块测水位
超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。声波在空气中的传播速度为340 m/s,根据计时器记录的时间t,可通过公式计算出发射点距障碍物的距离S,计算公式为:S=340 m/s×t/2。
4.2 不同液体种类及不同浓度盐水的分辨
通过查询资料,主要可以通过液体密度、透光性、气味进行液体种类的判断。
四种液体种类的判断。可以通过算法来进行纯净水液体密度判断;白醋独有的气味可以通过MQ-3 气敏传感器来判断;牛奶是一种复杂的胶体混合物,是不透明的液体,可以通过光电传感器测量透光度来判断;可以通过算法来进行盐水液体密度判断。
不同浓度盐水的区分。不同浓度盐水的密度不同,通过软件编程、设计算法实现对液体密度大小的判断,从而区分不同浓度的盐水。
纯净水和白糖水的分辨。白糖水的密度比纯净水的密度大。
5 装置电路与程序设计
5.1 电路设计部分
本设计中多功能液体容器主要由主控制模块、人机交互模块、检测模块组成。其中主控制模块STM32F103C8T6 为最小系统板;人机交互模块采用OLED 显示屏;测量模块由超声波测量、气敏、光电测量及压力测量模块组成。
本模块包含STM32F103C8T6 最小系统板、人机交互模块,由OLED 显示屏和独立按键模块组成,其原理如图1所示。
5.1.1 液体质量测量部分
本装置的液体质量测量采用电阻应变式传感器和HX711AD 模块,该传感器具有良好的线性关系,具有较高的灵敏度。压力传感器将压力信号进行转换处理后传送给MCU,MCU 处理信号后,实现对液体的质量的测量。
5.1.2 液位测量部分
本装置采用的超声波测距模块,由超声波发射电路、超声波接收电路、信号处理三部分组成,利用STM32F103 单片机来实现对超声波和超声波转换模块的控制,从而测量出液体的液位数据。
图1 中央处理器及人机交互模块原理框图
5.1.3 辨别种类部分
本装置采用光电传感器,实现对牛奶和其他不同液体的分辨,采用MQ-3 气敏传感器(气味传感器),实现对白醋和其他不同液体的分辨。
5.2 软件设计部分
本系统的软件设计采用C 语言对STM32F103C8T6 单片机进行编程,从而实现各模块的功能。