基于STM32单片机水质监测系统的设计

(整期优先)网络出版时间:2021-06-24
/ 2

基于 STM32单片机水质监 测系统的设计

宋玉琪

南京工业大学浦江学院 机电学院,南京 210000


摘要: 设计了基于STM32单片机的鱼塘水质检测系统,可以检测PH、水的液位以及电导率。使用TDS水质电导率传感器测量电导率,经过 AD 采样和数据转换后,液位、PH和电导率可以在 LCD1602液晶上显示,可以帮助水产养殖户快速有效地对鱼塘的水质进行监控和管理。



关键词:STM32;水质检测;PH值;液位;电导率


1 引言

目前,随着国家经济的高速发展,人们的生活水平在不断的提高,但环境污染,水质污染日益严重,导致人们的日常生活受到困扰,所以水质在人们的生活中越来越重要,而对于水产养殖户来说更为重要,本系统主要用于水质的PH值、液位和电导率的检测。


2 基于STM32单片机水质检测系统的设计

2.1整体设计思路

本系统中,PH值检测传感器模块可以很方便的检测液体的PH值,其由PH电极和PH值转换器两部分组成。电导率TDS传感器采用TDS传感器模块来读取传感器模块数据。水位检测采用超声波检测技术,显示装置采用LCD1602液晶实时显示液位、PH值和电导率。整个系统由STM32F103C8T6、超声波测距模块(超声波测液位)、PH值传感器模块、电导率传感器、LCD1602液晶及电源组成。LCD1602液晶实时显示液位、PH值和电导率。系统整体结构框架图如图1所示。




60d44ba55a797_html_ccfaae5968f67e09.png

图1 整体结构框架图



2.2 STM32单片机

STM32单片机的主要优点:使用ARM最新的、先进架构的Cortex-M3内核;优异的实时性能;杰出的功耗控制;出众及创新的外设;最大程度的集成整合;易于开发,可使产品快速将进入市场。STM32F103C8T6单片机核心板接口电路图如图2所示。

60d44ba55a797_html_7a93df8b3a834855.png

图2 STM32单片机核心板接口原理图



2.3硬件设计

(1)、PH值传感器模块电路

本PH值检测传感器模块可以很方便的检测液体的PH值,其由PH电极和PH值转换器两部分组成。PH值检测传感器电路图如下图所示

60d44ba55a797_html_bd6e25000cb5c329.png

图3 PH值检测传感器电路图

(2)、电导率检测电路

本水质检测传感器模块,可实时检测各种水质的TDS数值,也可以检测化学水质液体电导参数。注意:传感器只可以将探针放入水中,不可将整个探头进入水中。TDS传感器模块电路图如下图所示

60d44ba55a797_html_187341e73a43efbc.png


图4 TDS传感器模块电路图




(3)、超声波测量电路

HC-SR04 超声波模块性能优越,灵敏度高,满足本设计要求。其模块接口图如下图所示。

60d44ba55a797_html_834c651eae27e027.png


图 5 超声波测量电路

(4)、显示电路

系统中采用LCD1602作为显示器件输出信息。与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,LCD1602可以显示2行16个汉字。

60d44ba55a797_html_a6d5251d7dd68c66.png


图 7 LCD1602液晶显示电路原理图



  1. 电路原理图

电路原理图总共由五大部分组成,超声波模块电路、PH值传感器电路、电导率检测电路、单片机核心板电路、LCD显示电路组成。电路原理图如下图所示。



60d44ba55a797_html_1589ddc87c975f26.png


图 8 主电路图

2.3各传感器模块及实物图

  1. PH值检测传感器模块接口

  1. VCC:5V 电源正输入口 (只能用 5V,不可用 3.3V)

  2. GND:电源负输入口
    (3)P0:pH 模拟量输出口(输出电压范围为 0-5V)蓝色电位器可以调节 P0 口的电压输出值域。
    (4)2V5:基准 2.5V(可不用)
    (5)T1:温度输出输出信号为DS18B20 的数字信号,

PH值检测传感器模块实物图如下图所示

60d44ba55a797_html_e71ace297b7f116c.png

图9 PH值检测传感器模块实物图



  1. TDS传感器模块参数

  1. 供电电压:5V

  2. 通讯接口采用TTL串口形式

  3. 串口输出波特率:9600

2.1 TDS传感器模块数据传输说明

TDS传感器模块采用一定的协议来进行查询方式来读取传感器模块数据。可以直接接入不同的开发主板以及串口形式。也可以直接接入单片机串口。

(1)获取数据命令:连续向模块发送 FD FD FD

(2)然后模块返回数据格式为:

头字节

数据低字节

数据高字节

结束字节1

结束字节2

FD

00

00

FC

FD

2.2 TDS传感器模块实物图如下图所示

60d44ba55a797_html_16cdc22e7532e82a.png

图10 TDS传感器模块实物图


  1. 超声波工作原理

  1. 采用IO触发测距,给至少10us的高电平信号

  2. 模块自动发送8个40khz的方波,自动检测是否有信号返回



  1. 有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。

  2. 测试距离=(高电平时间*声速(340M/S))/2;

  3. 本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到移动测量的值。

具体实物图如下图所示。

60d44ba55a797_html_88d0b51907434a7d.png

图11 超声波模块实物图



2.4 软件设计与程序烧录

由于整个程序比较复杂,且计算量较大,用到了较多的浮点数计算,所以程序的编写采用了C语言。本设计中单片机开发环境是Keil,Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。


60d44ba55a797_html_ad817246da82197c.png



图9 Keil uVision5开发界面图



3 结论与展望

本文设计了一种结构简单且能完成一些基本水质监测任务的水质检测系统,可以完成超采集探测距离、采集PH值、采集液体电导率值等功能,但是对于液位的测量有些情况不是太准确,还有PH检测不是特别的精确,因为PH电极检测后一直放入PH为中性的保护液里面,并且测验所用的水也并非是蒸馏水,加入试剂后并非严格的是想要的PH值,所以对于测距模块,PH检测模块仍需要改进,报警模块也需要考虑进系统。同时,这种结构简单的检测仪不一定适用于所有的场合,更加智能与通用也是一个发展的目标。








[参考文献]

[1] 李海锋.基于 ZigBee 技术的鱼塘水质监测系统研究[D].西安 西安科技大学,2019.

[2] 张红斌,王秀利.养殖鱼塘水质动态检测与分析[J].渔业致富指南,2019 19 63-68.

[3] 李海锋.基于 ZigBee 技术的鱼塘水质监测系统研究[D].西安:西安科技大学,2019.

[4]梁祺轩 .基于单片机的水质检测仪研究 [J].科技经济导刊 2020,28(32)