一、设计背景与核心需求
在水资源监测、水产养殖、污水处理等场景中,水质PH值、电导率、TDS(总溶解固体)与水位液位是评估水质状态与水体安全的关键参数。传统检测方式需多设备分别测量,存在操作繁琐、数据不同步的问题。基于STM32的水质多参数检测系统,借助STM32的多接口扩展与数据融合能力,可实现四参数同步采集、分析与预警,契合毕设课设中“多传感器协同+参数换算+综合监测”的教学目标。
本系统以STM32F103C8T6为核心,核心需求明确:采用PH电极传感器(0-14PH,精度±0.1PH)、电导率传感器(0-20mS/cm,精度±2%)、TDS传感器(0-10000ppm,精度±5%)、超声波传感器(HC-SR04,0-5m水位,精度±0.5cm);支持四参数1秒/次同步采集,自动完成电导率与TDS换算(TDS=0.5×电导率);通过LCD12864实时显示各参数值、检测时间(模拟)与参数是否正常(预设阈值判断);参数超限时触发蜂鸣器+LED声光报警,支持阈值自定义;具备30组历史数据存储功能,适配Proteus仿真环境,硬件抗干扰设计,程序逻辑稳定,满足毕设课设对功能性与可靠性的考核。
二、系统总体架构设计
系统采用“采集-控制-换算-显示-报警-存储”六层模块化架构,以STM32F103C8T6为核心,各模块通过ADC、I2C、GPIO等接口协同形成功能闭环。
采集层包含四类传感器:PH电极(通过ADC1接PA0,需信号放大模块)、电导率传感器(ADC2接PA1)、TDS传感器(ADC3接PA2)、HC-SR04超声波传感器(Trig接PB0,Echo接PB1),分别采集水质参数与水位数据;控制层是核心,负责驱动传感器、接收原始数据、执行参数校准,通过定时器TIM2(1秒定时)控制采集频率;换算层通过预设公式(TDS=0.5×电导率)实现电导率与TDS数据关联,消除冗余采集;显示层为LCD12864(I2C接口接PB10-PB11),实时展示四参数值与状态;报警层由蜂鸣器(接PC13)、三色LED(红/黄/绿,接PC14-PC15)组成,超限时对应LED亮+蜂鸣器响;存储层采用STM32内部Flash,按“时间-四参数”格式存储数据;交互层设3个按键(“历史查询”“阈值设置”“报警复位”接PD0-PD2),实现数据查看与参数调整。
三、核心模块设计与实现
(一)多参数采集与数据换算模块
多参数采集逻辑:PH电极输出0-3.3V模拟电压(对应0-14PH),STM32通过ADC1将模拟信号转换为12位数字量(0-4095),经公式“PH=14×(ADC值/4095)”计算实际PH值;电导率与TDS传感器同理,通过ADC2-ADC3采集电压信号,结合传感器量程换算为实际值;HC-SR04通过GPIO口发送10μs触发信号,接收回声信号,经公式“水位=(回声时间×340m/s)/2”计算水位高度。为提升精度,每参数连续采集3次取平均值,消除水体波动与环境干扰。
数据换算模块:系统自动读取电导率数据,代入“TDS=0.5×电导率”(默认换算系数,可通过按键微调)计算TDS值,若TDS传感器故障,可通过电导率数据保障TDS参数输出,提升系统容错性;同时校验四参数数据合理性(如PH超出0-14范围判定为传感器异常),异常时LCD提示“Sensor Error”。
(二)阈值判断与交互存储模块
阈值判断与报警逻辑:预设各参数正常阈值(PH:6.5-8.5、电导率:0.5-5mS/cm、TDS:250-2500ppm、水位:0.5-3m),STM32实时对比采集值与阈值:正常时绿灯亮,超限时对应颜色LED亮(PH/TDS异常红灯,电导率/水位异常黄灯),蜂鸣器按1秒间隔发声;按下“报警复位”键或参数回归正常,报警解除。支持阈值自定义,按下“阈值设置”键后,通过复用PD3-PD4(增减键)调整各参数阈值,设置后保存在Flash中,断电不丢失。
交互与存储模块:按下“历史查询”键,LCD按时间倒序显示最近10组历史数据(如“09:00 PH:7.2 EC:2.1mS/cm TDS:1050ppm Water:1.2m”),每3秒切换一页;采集数据自动存储,存储满30组时覆盖最早数据。LCD采用分区域显示:上半屏显示PH、电导率,下半屏显示TDS、水位,右侧标注参数状态(“Normal/Abnormal”),确保信息直观易读。
四、系统调试与验证
系统仿真基于Proteus 8.15搭建,构建STM32最小系统,接入四类传感器、信号放大模块、LCD12864、报警器件与按键,检查接线无误后调试。
功能测试中,模拟PH从7.0降至5.0(超下限),系统红灯亮+蜂鸣器报警,LCD显示“PH:5.0 Abnormal”;电导率升至6.0mS/cm(超上限),TDS同步计算为3000ppm,黄灯亮+蜂鸣器报警;超声波检测水位从1.5m升至4.0m(超上限),黄灯亮;调整PH阈值至6.0-9.0,参数判定同步更新。稳定性测试连续运行8小时,频繁模拟参数波动,系统无采集错误、换算偏差问题,历史数据存储完整,报警响应延迟≤0.5秒。仿真结果表明,系统功能完整、检测精准,符合毕设课设考核标准。
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。