基于STC 单片机高精度液体密度测量仪的设计
2022-01-28马婷王咏宁赵展文李国旺冶安有布马兵
马婷,王咏宁,赵展文,李国旺,冶安有布,马兵
(青海民族大学,青海西宁,810000)
液体密度在科学实验研究和工业生产生活中都得到了普遍的应用,但是以往的液体密度测量方法实现具有过程繁琐、操作复杂和计算麻烦的不足之处,这对于研究设计一款工艺成本低、操作方便、密度可视化的新型液体密度测量仪具有重大的意义。同时,当下正是5G 通信技术和物联网技术快速发展的时期,已经在科学技术研究和人们的生活发展中逐渐演变为不可或缺的一部分,在科学技术研究中得到了更广泛的研究与应用;利用物联网平台成熟发展的技术实现液体密度测量智能化,让我们的设备使用更加便捷和智能。
1 液体密度测量仪的研究现状
本设计主要应用于科学技术研究领域,截止目前实验室中对密度的测量大多还在采用手工操作,测量中要使用天平、刻度尺、量杯等专用工具,测量数据都靠人工观测,测量精度因人眼观测及计算等因素难免会产生一定的误差,实验中因危险性液体的不当操作,也会造成不良的后果,随着数字电子技术和物联网技术的发展,实验的数字化以及智能化已成为研究的热点。目前国内外在密度测量数字化方面,已取得了一定的成果,近年来有大量的超声波测距及电子称等相关论文及专利产品问世,但将两者结合起来实现密度测量的成果还相对较少。市场上已有的密度测量仪大多为特殊行业专用仪器,且价格昂贵;多数面向固体密度测量,本项目通过对传统密度测量仪器和测量方法的改进,利用数字技术和物联网技术处理,避免了人工测量或计算中出现的误差,可提高测量精度,减少误差,对测得数据上传云端物联网平台记忆产品的测量结果便于下一次测量;可应用于实验、教学及科研等领域;操作简便、减少接触、制作成本低,更加安全、高效,减少对人体的伤害,有较好的应用前景。
2 系统硬件设计
本设计核心控制采用STC89C52RC 单片机最小系统,通过对液体液位高度、质量的测量实现对液体密度的显示和测量数据远程传输,装置的组成部分主要是以测量单元、控制单元、显示单元和通信单元组成;测量模单元由US-015超声波测距模块、HX711 模数转换器和压力传感器模块组成,控制单元是以按键控制电路、硬件外设以及单片机组成,显示单元由LCD12864 液晶显示屏构成,对各传感器获得的数据通过单片机实时显示,通信模块是利用单片机串口与ESP8266WIFI 模块进行通信,将测得数据通过WIFI 模块联网上传至阿里云物联网平台,云端平台对收集的数据进行储存并且在终端设备上显示实时数据图形模型,借助物联网云平台对装置有更进一步的控制,加强人机互联的能力,达到操作便捷和数据可视化。
■2.1 STC89C52RC 最小系统及I/O 口扩展设计
图1 系统设计框图
本设计是以STC89C52RC 为核心构成了单片机最小系统,该芯片是STC 公司发布具有51 内核的控制芯片,它拥有低功耗、短周期、运行快和成本低等许多优点;在本设计中为防止此款单片机的I/O 口不足使用,同时我们采用了8255 I/O 口扩展芯片,该芯片是并行I/O 接口可编程的芯片,它是存在3 个8 位并行I/O 口,拥有3 个通道3 种工作方式的并行接口可编程芯片;通过软件选择每个I/O 工作功能,灵活性高,通用性强;8255 可以用作硬件外部设备连接时与单片机的中间接口电路;从而满足本设计的I/O 口需要,该款单片机在日常生活中的多个方面得到了广泛应用。
图2 STC89C52RC 单片机最小系统
图3 8255I/O 口扩展设计
■2.2 报警模块的硬件设计
本设计中当密度测量相关程序完成时,需要发出提示,报警提示模块采取了蜂鸣器和LED 灯的设计,同时利用云平台在移动终端发出报警提示,当系统在不同模式环境中,蜂鸣器和LED 灯组成不同的提示状态。
■2.3 4×4 矩阵键盘设计
为满足使用的便捷性,我们在设备本机上也采用了4×4 矩阵键盘,通过矩阵键盘进行相应设置。
■2.4 LCD 显示模块
本装置设计以LCD12864 液晶屏作为显示单元,此款显示屏具有中文字库、功耗低、体积小等优点,电路连接如图6 所示,在3 引脚加装一个10kΩ 的可调电位器,通过调节改变液晶屏的亮度,更加有利于对显示内容的理解,8155I/O 扩展口的PA 口作为数据输出端连接到LCD12864显示屏的D0..7 数据口,PSB、RS、R/W、EN 端分别接在单片机的P1^3、P1^2、P1^1、P1^0 端口。
图4 报警模块的电路设计
图5 按键电路设计
图6 LCD12864 显示模块
■2.5 外设传感器模块设计
本设计使用US-015 超声波测距模块测量液位高度,压力传感器测量液位体积。US-015 超声波模块可以发出声波并且当被物体反射后接受,通过单片机定时器计算发送和接受的时间,利用声速判断出当下距离,其具有精度高(1mm)、速度快和成本低的优点。压力传感器是利用HX711 模数转换的方式,检测压力传感器相关电阻两端的电压,将转换数据传输至单片机控制核心,最后计算被检测物体的重量,将检测数据读取并且输出。
图7 HX711 模数转换器
图8 HC-SR04 超声波传感器
3 系统软件设计
■3.1 主程序设计
本装置在设计中采用了多种模式和多级控制来实现研究目的,模式分为测量模式和配制模式,测量模式中输入杯体底面积,利用超声波传感器测得液位高度和压力传感器测得液体质量,通过ρ=m/V 计算出液体密度在液晶显示屏显示,同时将数据通过WIFI 模块发送至物联网平台;在配制模式中设定所需液体密度,输入已知液体密度和体积,在配制过程中不断测量直至配制完成,在程序中对每个变量设置一个标志位,在逻辑上实现一一对应。在装置开启后对系统所有变量进行初始化,随后系统进入循环判断状态,检测用户通过按键或者终端设置的各项数据,单片机将其赋给有关程序参数,各模块再根据程序设计的先后顺序依次完成浓度测量。
图9 主程序流程框图
■3.2 US-015 超声波测距
本设计中我们液位高度的测量选择了US-015 超声波模块,在软件方面通过C 语言编程实现相关功能,对主程序相关参数初始化,打开定时器0 令其处于工作状态,将定时器0 置为计数模式,计算超声波模块发出声波至遇到液面反射回来所消耗的时间。设定一个中断标记位,当超声波模块完成测距时置1,通过显示模块显示数据,通过中断再次置0 让超声波模块重新进入测量程序;超声波测距是需要通过单片机连续发出8 个40kHz 的方波,利用单片机的I/O 口将方波信号传输到超声波模块的TRIG 触发控制信号端,定时器开始定时和计数,当超声波模块的ECHO 回响控制信号端接收到被液面反射回来的超声波信号,则使定时器停止定时和计数,ECHO 端口在超声波发出信号后置高电平,接收到信号自动置低电平,判断ECHO 端持续高电平的时间,利用声音在空气中的传播速度(340m/s)计算液位高度。
图10 超声波测距程序框图
图11 称重传感器程序框图
■3.3 压力传感器和HX711 模块
本设计在称重中应用的是应力式可变电阻传感器,当称重物体放置在传感器装置上后,所生成的应力就会导致传感器内部的可变电阻片产生形变,从而电阻片两端的电压就会发生改变。HX711 是一款专为应力式可变电阻传感器制作高精度电子称设计的24 位模数转换芯片,当物体称重是时电阻片两端电压发生变化,通过HX711 芯片将电压值的变化转换为我们需要的数字信号,通过主控单元将所获得的数据显示出来;这套装置结构简单,应用场景广泛,稳定性强,功耗低,便于量产。
■3.4 无线控制设计
3.4.1 ESP8266 模块的应用
在物联网技术不断发展和应用的大背景下,智能化时代已经逐渐在人们的日常生活和科学研究中得到了更加广泛的应用。在我们的设计中为实现液体密度测量的智能化和便捷化,我们利用单片机的串口通信系统,对ESP8266WIFI模块发送控制指令,使其连接到阿里云物联网平台,工作在TCP 多连接模式,将模块的波特率与单片机串口通信的波特率设置相同均为9600,完成了WIFI 模块的相关初始化后,通过指令让ESP8266 连接到无线局域网,进行设备上网并且连接到阿里云物联网平台完成数据的传输和发送。
图12 ESP8266WIFI 模块
3.4.2 物联网平台阿里云的应用
图13 云端数据处理流程框图
阿里云物联网平台与云下设备通信是需要通过Alink 协议来完成,从而将ESP8266WIFI 通信模块发送的数据利用MQTT 协议进行嵌套发送,在阿里云物联网平台通过四元组信息产生不同种类的Topic,完成对数据的上报和下发功能。借助数据的实时流转协议AMQP,将云下设备上传的数据利用业务服务器保存到本地数据库,保证了数据的安全。再通过阿里云物联网平台提供的lot Studio 开发工具开发对应的API 业务,设计一款数据是视图化的手机APP,实现液体密度测量的智能化,同时也提高了产品使用的效率。
4 结束语
随着科技的不断进步和发展,我们在现有的研究基础上,结合新的科学技术,研究出了与当下时代发展更加符合的密度测量装置。高精度液体密度测量仪的设计包括测距和称重,相关数据传输至阿里云物联网云平台,创建可视化控制界面利用Lot Studio 开发手机APP,通过物联网技术更好的进行人机交互操作,并且优化装置内部电路使设备结构简单便携,更进一步提高液体密度测量的效率。