当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]为了探索低成本替代方案是否能提供有用的信息,我基于ESP32开发了一款水质分析仪。该设备结合了三个不同传感器(pH值、电导率和浊度)的测量数据,以评估河流、溪流和湖泊等淡水水源的整体状况。

引言

水污染是世界许多地区日益严重的问题,但专业的水质分析设备通常价格昂贵,难以让业余爱好者、学生和独立研究人员获得。

为了探索低成本替代方案是否能提供有用的信息,我基于ESP32开发了一款水质分析仪。该设备结合了三个不同传感器(pH值、电导率和浊度)的测量数据,以评估河流、溪流和湖泊等淡水水源的整体状况。

该系统持续收集数据,并通过Arduino IDE串行监视器实时显示结果。虽然它不能替代实验室级设备,但可以快速判断水样是清洁、中度污染还是重度污染。

为了评估该项目,我从两条不交汇的城市河流中采集了水样,并使用成品设备进行分析。结果出人意料地有趣,既突出了业余级环境监测设备的优势,也揭示了其局限性。

本文将详细介绍整个项目,包括硬件选型、布线、校准、软件开发以及实际测试。

为什么使用多个传感器?

水质监测面临的最大挑战之一是,没有任何单一传感器能够全面反映整个情况。

pH传感器用于测量水的酸碱度。极端的pH值可能表明水质受到污染,但即使完全中性的水也可能含有污染物。

导电度传感器用于测量溶解离子(如盐类和矿物质)的浓度。高导电度通常表明存在污染,但某些天然水源也可能含有较高的矿物质含量。

浊度传感器用于测量水的浑浊程度。泥沙、沉积物、藻类和悬浮颗粒都会增加浊度,但清澈的水并不一定就是干净的。

由于每个传感器测量的是不同的属性,将三者结合起来比仅依赖单一测量结果能提供更完整的图像。

例如:

•清澈的水仍可能受到化学污染。

•pH值正常的水可能含有过量的溶解固体。

•导电性低的水仍可能含有悬浮污染物。

•浑浊的水可能只是含有无害的沉积物。

通过同时分析pH值、电导率和浊度,ESP32可以更准确地评估整体水质。

所需部件

要构建此项目,您需要以下组件:

•ESP32开发板

•模拟pH传感器

•模拟TDS传感器

•模拟浊度传感器

•升压( Boost)转换器

•21700锂离子电池

•47kΩ电阻

•75kΩ电阻

•面包板

•跳线

截至2026年6月,硬件总成本约为50美元,不含运费、税费和进口费用。

除了电子设备外,还需要一些校准溶液才能获得有意义的测量结果:

•pH 4 缓冲液

•pH 7 缓冲液

•pH 10 缓冲液

•1413 µS/cm 导电率校准溶液

根据您所在地区和供应商的不同,预计还需额外花费约30美元用于校准材料。

尽管校准溶液会增加项目的总体成本,但它们是必不可少的。如果没有正确的校准,传感器产生的测量结果可能会高度不准确,且难以解读。

电路组装与接线

该项目的硬件相对简单,几分钟内即可在面包板上完成组装。

首先将ESP32放置在面包板上,并连接电源线路。由于本项目中的所有传感器均使用5V电源,因此我采用了一个由单个21700锂离子电池供电的升压转换器

在连接任何传感器之前,请使用万用表将升压转换器的输出调整为5V。此步骤非常重要,因为供电电压不正确可能会损坏传感器模块或导致测量结果不可靠。

电源准备就绪后,即可将传感器连接到ESP32。

PH传感器

pH传感器通过一个由47kΩ和75kΩ电阻组成的分压器连接到GPIO 34。

这个分压器是必要的,因为本项目所使用的pH模块可输出接近5V的电压,而ESP32的模拟输入端口设计用于更低的电压。

该分压器在传感器输出到达微控制器之前,将其降至安全水平。

连线:

•pH信号输出 → 47kΩ电阻

•电阻连接点 → GPIO 34

•75kΩ电阻 → 接地

如果您的pH模块已输出在ESP32输入范围内的电压,则可省略分压器。

TDS传感器

TDS传感器仅需一个模拟输入连接。

连线:

•信号输出 → GPIO 35

•VCC → 5V

•GND → 接地

浊度传感器

浊度传感器的连接方式类似。

连线:

•信号输出 → GPIO 32

•VCC → 5V

•GND → 接地

最终连接

在连接好三个传感器后,将ESP32连接到电源引脚并安装电池。

如果所有连接都正确,所有模块应立即上电。下方附有电路图,以便您在接线时需要额外帮助时参考。

此时,硬件组装已完成,项目已准备好进行校准。

传感器校准

校准是整个项目中最重要的步骤之一。

此处使用的传感器不会直接输出有意义的工程单位,而是产生模拟电压,必须通过校准将其转换为pH值和TDS值。

跳过这一步很容易导致测量结果不准确,甚至完全误导。

PH传感器校准

pH传感器使用三种标准缓冲溶液进行校准:

•pH 4

•pH 7

•pH 10

对于每种溶液,我都将探针浸入并记录了稳定后的输出电压。

测量值大致为:

一个有趣的现象是,随着pH值升高,传感器电压逐渐降低。

当我绘制校准点时,它们几乎呈现出完美的线性关系。因此,只需一个简单的线性方程即可将电压转换为pH值:

地点:

•V 是测量的电压

•m 是斜率

•b 是偏移量

根据校准测量结果,我计算出:

•斜率 = -23.6

•偏移量 = 32.2

这些值随后被直接添加到软件中,并在每次ESP32计算pH读数时使用。

TDS传感器校准

TDS传感器使用标称电导率为1413 µS/cm的标准电导率溶液进行校准。

与pH电极不同,此处的目标是确定测量电压与已知电导率值之间的转换系数。

在测量传感器输出后,我计算了一个将电压转换为导电性的比例因子。

然后,该软件使用常见的近似方法估算总溶解固体(TDS):

尽管这种关系会因溶解物质的组成而有所不同,但它为一般淡水分析提供了一个合理的估算值。

为什么校准很重要

许多业余项目完全跳过校准,直接显示原始传感器数值。

问题在于,两个相同的传感器很少会产生完全相同的数据输出。制造公差、探头老化、温度以及环境条件都会影响测量结果。

校准可补偿这些差异,使分析仪的读数更接近实际情况。

当两个传感器都完成校准后,ESP32 就具备了开始分析水样所需的一切条件。

软件与代码说明

硬件组装并完成传感器校准后,下一步是将固件上传到ESP32。

该项目的完整源代码可在 GitHub 上获取。下载示例代码(water-quality-analyzer.ino)后,打开 Arduino IDE,选择你的 ESP32 板,并上传代码。

ESP32 启动后,它会开始读取三个传感器的数据,并每隔几秒将测量结果打印到串口监视器上。

尽管草图相对简短,但在生成最终水质分类之前,会经历几个重要的处理步骤。

传感器引脚配置

在代码开始处,将模拟输入引脚分配给每个传感器。

这些GPIO连接到ESP32的ADC外设,用于测量传感器产生的模拟电压。

该草图还定义了ADC的参考电压和分辨率。

由于ESP32使用12位ADC,模拟读数范围为0到4095。

通过平均进行降噪

模拟传感器的一个常见问题是测量噪声。

电气干扰、ADC不完美以及传感器不稳定都可能导致每次采样时读数出现波动。

为了减少这种影响,草图在进行任何计算之前会先取二十次测量的平均值。

在该函数内部,会收集二十个ADC读数(此值由NUM_SAMPLES定义),并将它们相加。

然后返回的是平均值,而不是单一的原始测量值。

这种简单的滤波技术显著提高了稳定性,使显示的读数更容易理解。

将ADC计数转换为电压

ESP32的ADC不会直接报告电压,而是返回一个在0到4095之间的数字值。

要将此数值转换为伏特,该示意图使用了以下函数:

这使得软件能够使用实际的传感器电压,而不是原始的ADC计数。

pH值计算

pH传感器产生一个随溶液酸度或碱度变化的模拟电压。

由于传感器输出在到达ESP32之前需经过一个电压分压器,因此测量得到的电压必须先进行校正。

分压因子在施加校准前重建原始传感器电压。

一旦确定了校正后的电压,软件便使用校准过程中获得的线性方程来计算pH值:

本方程中使用的常数来源于之前讨论的pH 4、pH 7和pH 10缓冲溶液。

最后,结果仅限于有效的pH范围:0 ≤ pH ≤ 14。

这可以防止传感器出现噪声或暂时不稳定时显示不现实的数值。

电导率和总溶解固体(TDS)计算

TDS模块还会生成一个模拟电压。

将ADC读数转换为电压后,软件利用从1413 µS/cm参考溶液获得的校准因子来估算电导率。

这会产生一个以微西门子每厘米表示的导电率估计值。

导电度值随后被转换为总溶解固体含量:

0.5 这个因子是淡水测量中常用的近似值。

尽管实验室仪器通常采用更先进的转换方法,但这种方法对于环境监测应用仍具有实用价值。

浊度测量

浊度传感器是三种传感器中最简单的。

与pH和TDS探头不同,无需复杂的校准方程。

该软件将测得的ADC值简单地转换为电压,并将其与实验确定的阈值进行比较。

根据测量的电压,水被分类为:

•清洁

•中等

•污染

•严重污染

电压越高,浊度水平越高。

换句话说,电压越高,说明水中悬浮颗粒越多。

污染评分系统

草图中最重要的部分是水质分类算法。

分析仪并非依赖单一传感器,而是结合了pH值、电导率和浊度的信息。

每个参数都会影响污染得分。

例如:

•极端的pH值会增加若干分。

•TDS水平升高会额外增加分数。

•高浊度会进一步提高得分。

软件随后计算总污染得分,并将其转换为最终分类(清洁、中等、污染和严重污染)。

这种方法故意地简单。

目标并非复制实验室级分析,而是将多个指标整合为一个易于理解的结果。

串行监视器输出

每两秒 ESP32 会打印一次完整的报告。

报告包含:

•原始ADC值

•传感器电压

•估算pH值

•导电性

•TDS浓度

•浊度水平

•最终水质等级

同时显示原始测量值和处理后的测量值,可大大简化故障排查,因为您可以立即判断问题是由传感器硬件引起,还是由转换公式引起的。

采集水样

分析仪组装并校准完毕后,是时候在车间外测试其性能了。

本次测试中,我从一个大都市区域内两条河流采集了水样。尽管这两条水道均流经居民区,但彼此之间并无连通,因此成为可供比较的有趣对象。

在采集任何样本之前,我花了一些时间观察周围环境。虽然分析仪可以提供有用的测量数据,但目视检查往往能发现传感器无法捕捉到的线索。

河 #1

第一条河流看起来相对浅,而且出人意料地清澈。

在几个地方,我都能轻易地透过水面看到河床。乍一看,它比我想的更干净。

然而,仔细观察后发现了一些人类活动的迹象。房屋位于河岸附近,而且该区域散落着少量垃圾。

最引起我注意的是几根管道将某种液体直接排入河中。

我无法确定其中流过的是什么,也没有证据表明这些排放物有害。然而,看到不明液体进入水道总是令人担忧的。

记录好地点并观察周围环境几分钟后,我用一个干净的塑料瓶采集了样本,然后前往第二个地点。

河 #2

第二条河给人留下了截然不同的第一印象。

与第一个地点不同,该区域周围植被更为茂密。可见的垃圾较少,我也未发现明显的排污管道或工业活动迹象。

乍一看,这个地方似乎比另一个更健康一些。

然而,有几个细节显得尤为突出。

河水看起来明显更浑浊,河岸附近还持续散发出一种令人不悦的气味。

另一个观察虽然主观,但同样有趣:这个地方感觉异常安静。

我没有注意到鸟、昆虫、鱼或其他明显的野生动物活动迹象。虽然这本身并不能证明什么,但缺乏可见的动物生命却很难被忽视。

收集第二个样本后,我回家并准备了两个样本进行检测。

分析结果

第二天,我使用分析仪对两种水样进行了检测。

与任何业余级环境监测项目一样,重要的是要记住,这些测量结果应被视为指标,而非最终的科学结论。要确定水体的确切化学成分,仍需进行专业实验室检测。

尽管如此,结果仍然相当引人注目。

结果 - 样本 #1

第一个样本是从我观察到可疑排水管的河段采集的。

在让读数稳定后,分析仪将样品分类为:污染。

最令人惊讶的测量结果是pH值。

传感器报告的pH值约为12.7,属于极强碱性。作为对比,许多家用清洁产品都处于相似的范围内。

天然淡水系统通常不会出现接近这一水平的pH值。当观察到异常高的pH值时,有时可能与工业污染、化学物质径流或废弃物不当处理有关。

电导率测量值相对较低,表明溶解离子的浓度并不特别高。

与此同时,浊度传感器显示水质相当清澈。

这一结果凸显了结合多个传感器的主要原因之一。尽管水看起来是干净的,但pH值读数表明化学上可能发生了异常情况。

在测试过程中,我还发现了一个浊度分类阈值的错误。传感器最初将较清澈的水误判为更浑浊。

在确定问题后,我修正了软件中的阈值,并重复了分析。

结果 - 样本 #2

第二个样本的结果出人意料地相似。

分析仪再次报告了接近13的pH值,表明环境呈极强碱性。

电导率保持相对较低,与第一条河流测得的数值大致一致。

主要差异体现在浊度读数上。

浊度电压增加到约0.8V,表明悬浮颗粒的浓度显著增大。

与第一个样本不同,这个结果与我视觉上观察到的情况一致。水看起来更浑浊,而传感器也证实了这一观察。

分析仪再次将样本分类为:污染

解读测量结果

乍看之下,结果似乎相互矛盾。

两条河流的pH值均异常偏高,但两份样本均未显示导电性特别高。

有几种可能的解释。

传感器本身可能存在影响测量准确性的局限性。

环境条件也可能影响读数。

另一种可能性是,这些河流确实含有碱性污染物,但并未显著提高电导率。

没有实验室检测,就无法确定哪种解释是正确的。

可以说,这两条河流都表现出需要进一步调查的特征。

一处地点可见垃圾和可疑的排放物,另一处则出现浑浊的水体、难闻的气味,并且明显缺乏可见的野生动物。

仅凭传感器数据无法证明两条河流都受到污染。然而,当与实地直接观测结果结合时,这些数据所呈现的画面令人难以忽视。

经验总结

该项目最宝贵的成果之一,就是认识到视觉观察很容易产生误导。

第一条河流看起来相对干净,但测得的数值却有些异常。

第二条河看起来更脏,浊度传感器也证实了这一判断,但电导率测量结果表明情况更为复杂。

这正是环境监测通常依赖多种测量方法而非单一检测的原因。

单个传感器无法讲述完整的故事。

通过结合pH值、电导率、浊度测量以及现场直接观测,可以比任何单一指标单独提供的信息更全面地了解水质状况。

失败的尝试

这个项目之所以略显特别,是因为你看到的面包板原型本就不该成为最终版本。

我最初的目标是制造一台完全便携的水质分析仪,可以直接带到野外使用。

该计划包括:

•定制PCB

•7英寸触摸屏显示屏

•专用机箱

•所有传感器的集成PCB

从理论上来说,这听起来是个好主意。

实际上,这提醒我们工程项目很少会完全按照计划进行。

围栏问题

在围栏设计过程中出现了第一个问题。

我设计了一个定制的3D打印外壳,旨在将显示屏、电子元件、电池和传感器集成在一个便携式包装中。

遗憾的是,几个设计错误在初步审查中被遗漏了。

内部尺寸比预期更紧凑,布线困难,安装显示屏也比预想中困难得多。

在CAD软件中看起来完全合理的设计,在实际零件摆放在工作台上时,却变得不再那么实用了。

经过多次尝试让一切都协调一致,显然强迫设计向前推进只会带来比解决的问题更多的麻烦。

PCB故障

围栏并非唯一的挫折。

我还为这个项目专门设计了一块定制PCB。

组装好电路板并进行了一些初步测试后,一切似乎都运行正常。

然后开发板失败了。

在排查电路问题后,我最终找到了原因。

在设计PCB时,我意外地将正电源和地线的连接位置搞反了。

一个简单的错误。

许多工程师、爱好者和学生在某个阶段都会犯的错误类型。

遗憾的是,简单的错误可能会带来严重的后果,导致电路板永久损坏,不得不被废弃。

更好的选择

尽管最初的PCB失败了,但简化布线的想法仍然有意义。

我并没有立即重新设计整个便携式系统,而是制作了一个较小的屏蔽PCB板,使传感器可以直接连接到ESP32,而无需依赖面包板和数十根跳线。

该护盾极大地简化了组装过程,同时保留了原始原型的灵活性。

更重要的是,它为分析器的未来版本奠定了坚实的基础。

注意:此PCB专为与Elecrow ESP32板配合使用而设计。如果您使用的是其他厂商的ESP32,引脚布局可能不同。在将电路板连接到PCB之前,请务必检查您所用电路板的引脚布局。

未来改进

尽管当前的分析器作为概念验证表现良好,但仍有许多改进空间。

我的主要目标之一是最终回归到一个完全便携式水质分析仪的原始构想。

结论

这个项目最初是尝试使用ESP32和一些现成的传感器来构建一个低成本的水质分析仪。

通过结合pH值、电导率和浊度的测量,该系统能够在保持成本低廉且相对易于建造的前提下,快速估算水质。

在项目过程中,涉及了失效的PCB板、机箱重新设计、校准工作、软件调试以及现场测试。尽管整个流程并非完全按计划进行,但每一次挫折都帮助提升了最终成果。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在本项目中,将ESP32-S3智能显示屏与多个传感器结合,构建了一个紧凑型气象站,可测量温度、湿度、大气压力、海拔高度、降雨状况以及环境光照强度。

关键字: 传感器 显示屏 ESP32-S3

冰壶运动员在比赛中使用秒表来判断冰球滑下冰面的速度。计时过程还能为运动员提供有关冰面“速度”的信息,即冰球与冰面之间的摩擦力大小。大多数传统秒表在冰壶运动中给运动员带来两个挑战:

关键字: 计时器 蜂鸣器 ESP32

传统的物联网传感器节点通常体积较大,需要使用刚性PCB板和电池外壳,这限制了其安装位置。为突破这一限制,我们设计了一款采用柔性印刷电路板(FPC)的设备。

关键字: 传感器 SoC 物联网 nRF54L15

本项目的设计灵感源自经典飞机驾驶舱仪表,这些仪表用于导航、定位和飞行监控。在航空领域,人工水平仪、磁罗盘、高度计和姿态指示器等仪器发挥着关键作用,为飞行员提供有关飞机姿态、航向和高度的实时信息。

关键字: 编码器 加速度计 ESP32

使用Beetle ESP32-C6、DFRobot SEN0500多传感器、W25Q32 SPI NOR闪存芯片、可充电3.7V电池以及JUSTWAY定制的3D打印外壳,构建一台完全自主运行的环境记录仪。该设备可连续十年...

关键字: 传感器 环境记录仪 3D打印 Beetle ESP32-C6

我们常常将地球视为被动的背景,却忘记了自己身体的本质正是由地球的物质构成。《消失的地球回忆录》是一个沉浸式艺术项目,通过触觉的亲密体验弥合这一鸿沟。借助一台定制乐器,我们将人体与不断变化、受损的景观之间产生的电振荡转化为...

关键字: 开发板 ESP32 传感器

一款紧凑型电池供电的桌面气象站,基于UNIHIKER K10(ESP32-S3)芯片构建。它通过重力环境传感器读取温度、湿度、气压、环境光和紫外线,并通过ENS160传感器获取空气质量(AQI / eCO2 / TVOC...

关键字: 传感器 LED UNIHIKER K10

Brookstone Rover 是一款通过 Wi-Fi 控制的履带式“间谍坦克”,可将视频流传输到旧版 iOS 应用程序上。虽然该应用程序早已失效,但其底盘却是极佳的捐赠硬件:坚固的橡胶履带、两个齿轮直流电机,以及一个...

关键字: 电机驱动器 机器人 ESP32 DRV8833

中国上海,2026年7月14日——东芝电子元件及存储装置株式会社(“东芝”)今日宣布,面向工业设备应用扩展了DCL34xx0B系列四通道标准数字隔离器,新增四款产品——“DCL340L0B”、“DCL340H0B”、“D...

关键字: 数字隔离器 工业自动化 传感器

无论您是在调试棘手的摄像头链路,还是从头开始设计一套稳健的系统,知道错误隐藏何处就等于成功了一半。GMSL有许多不同类型的错误需要留意。本文将讨论这些错误在信号链中的潜藏位置。

关键字: 信号链 摄像头链路 传感器
关闭