基于STM32的PH值检测仪设计
2021-08-31王捷金高威彭俊陈顺材董铮
王捷, 金高威,彭俊,陈顺材, 董铮
(湖北文理学院 计算机工程学院,湖北襄阳,441053)
关键字:STM32单片机;PH值;LCD显示
0 引言
现如今水源污染已经直接影响到人们的身体健康,尽管水源污染得到了控制,但全国各地依然流淌着被污染的水源,特别是从重工业城市流出,在偏远地区生活的居民,由于淡薄的环保意识和落后的水质检测设备,导致居民饮水中毒甚至死亡。虽然日常生活中使用的是经过处理的水源,但是某些地方的水质检测仍没有达到饮用标准,居民饮用后出现腹泻、恶心等不良身体状况。所以实时检测水质,成为一种必然结果。
1 系统总体设计
据统计表明,全国许多偏远地区的城镇还存在着水质检测不合格的问题,直接影响了人们的身体健康。保护水资源的重要指标就是水质检测,由于许多城镇的村民缺乏环境保护意识以及设备的落后,导致水质检测没有得到广泛的应用。
本文提出一套集STM32最小系统、PH值检测电路以及LCD1602显示电路于一体的PH值水质检测系统。附带有超声波测距和电导率检测两个拓展功能,能够实时检测人们饮用水源的参数。比如PH值、电导率等重要参数。
系统采用STM32单片机。该芯片有先进的Cortex-M3内核,最高可达到72MHz的工作频率,可以快速处理系统收到的事件和任务,拥有强大的功能,操作方便。
2 硬件模块的设计
2.1 系统模块功能分析
本设计是一套集STM32单片机系统、PH值检测电路以及LCD1602显示电路于一体的PH值水质检测系统。外带超声波测距和电导率检测两个拓展模块。具体功能检测PH值、电导率以及超声波测距,并在LCD1602上显示。
本此系统总体设计框图如图1所示。
图1 总体设计框图
其中STM32系列单片机是一款基于ARM 7架构的32位、具有ARM Cortex-M3内核以及能够实时仿真和跟踪的微控制器。由意法半导体ST公司生产,广泛应用于嵌入式开发,故又称嵌入式单片机。其具有性能高、成本低、功耗低以及可裁剪等特点。
2.2 LCD1602液晶显示模块电路设计
设计选用的是LCD1602显示,横向可以显示2行,竖向可以显示16列。其原理是运用液晶的物理特质,利用电压对其显示区域产生控制,即可以显示出图形。图2是LCD1602液晶显示的引脚说明。
图2 LCD1602引脚说明
2.3 PH值检测采集传感器模块设计
PH值检测传感器电路能够很方便的检测液体中的PH值,包含电极以及传输器两部分。PH电极经过 BNC 输出 mV 信号来完成信号放大, 放大为 0-5V信号,单片机来读取电压,PH 值则由输出电压转换而来。
2.4 PH值检测传感器模块使用方法
(1)先使用PH标准粉剂配置3瓶PH标准溶液。
(2)将PH传感器连接单片机,再将玻璃滴管放入PH6.86标准溶液中,调节电位器,使得P0 口输出电压为2.5V左右。
(3)将电极探头依次放入三个标准溶液中进行测量,并记录相应的输出电压。以下表格是电压和PH值的关系。
表1 电压和PH值的关系
具体实物图如图3所示。
图3 实物图
3 软件设计
3.1 程序流程图
本设计主要运用Keil软件进行代码编写与软件调试。首先开启电源,等待系统时钟、IO口、定时器以及串口初始化,完成开机。然后由主程序判断超声波测距数据是否采集,再进行数据转换,接下来就是判断PH值和电导率是否采集,并将数据进行处理,通过显示屏显示。PH值传感器、电导率传感器采集数据后由STM32单片机内部进行处理,再通过LCD1602显示出来。实际流程图如图4所示。
图4 程序流程图
STM32模块主程序典型代码如下:
3.2 模块程序设计
PH值检测模块最重要的就是采集水质PH值,能够很方便的检测液体中的PH值,包含电极以及传输器两部分。先用玻璃管检测水中的氢离子浓度,再由内部电路转换成可输出信号由输出端输出给单片机。接着由单片机进行模数转换,从而计算出被测物中的PH值[14]-[15]。
PH电极经过 BNC 输出 mV 信号来完成信号放大, 放大为 0-5V信号,单片机或万用表来读取电压,溶液的 PH 值则由输出电压转换而来。
PH值检测模块主程序如下所示:
3.3 拓展功能介绍
为了体现实用性,本次设计增加了水质电导率检测功能和超声波测距功能,从而提高其实用性。采用超声波传感器,超声波传感器是用来测量距离的一种产品,左探头发生超声波,右探头接收超声波,再由处理器计算出模块到物体之间的距离。测量能够精准到方位、距离,精准度极高,可实时检测。对水的穿透力极大,非常适合用于本次设计。
3.4 距离检测模块程序设计
超声波模块流程图如图5所示。
图5 超声波模块流程图
4 硬件测试
4.1 静态调试
(1)查看焊点是否饱满,有没有两脚相连或虚焊等情况。
(2)用万用表检查电源有没有短路,电路管脚间有没有断路。
(3)通电后,按下开关,看各模块是否正常工作,然后开始测试电路要实现的功能。
4.2 动态调试
插上电源按下开关后,检查元器件功能是否是完整的,有没有坏掉,保证能够正常工作。
5 实物调试
经过软硬件整体系统测试后,工作正常,整体实物图如图6所示。
图6 实物图
6 设计总结
基于STM32的PH值检测仪设计,明确了该设计要实现的模块功能,然后根据每个模块进行系统设计,再根据每个模块要实现的功能进行硬件系统设计和软件系统设计,这样思路清晰,功能更加明确,遇到问题也好及时解决。