毕业设计 Arduino水质监测系统

201 篇文章 123 订阅
151 篇文章 44 订阅
该文介绍了一个基于Arduino的毕业设计项目,涉及ArduinoUNO开发板、Gravity模拟式TDS传感器和DS18B20温度传感器,用于监测和显示水的TDS值及温度。系统能帮助学生轻松完成具有创新点的毕设,TDS值与水的洁净度相关,而温度对测量结果有影响,因此结合温度传感器进行校准。项目适合初学者,具有适中的难度和工作量。
摘要由CSDN通过智能技术生成

0 前言

🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 毕业设计 Arduino水质监测系统

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:4分

🧿 选题指导, 项目分享:

https://gitee.com/dancheng-senior/project-sharing-1/blob/master/%E6%AF%95%E8%AE%BE%E6%8C%87%E5%AF%BC/README.md

1 简介

TDS(Total Dissolved Solids,中文名:总溶解固体,又称溶解性固体总量)表示一升水中溶解了多少毫克溶解性固体。一般来说,TDS值越高,表示水中溶解的可溶性固体越多,水就越不洁净。因此,TDS值可以作为反映水质洁净程度的一个参考值。可应用于生活用水、水培等水质检测监测领域。

因此,在本项目中,我们将Gravity模拟式TDS传感器与Arduino开发板连接,并在LCD上显示读取的值。因为TDS取决于温度,因此还将添加DS18B20温度传感器来测量水温。测得的温度与 TDS传感器一起使用,以高校准和高精度补偿读数。

2 主要器件

  • Arduino UNO开发板

  • DfRobot Gravity模拟式TDS传感器

  • DS18B20温度传感器

  • 1602 LCD显示屏

  • 10K电位器

  • 连接跳线

  • 面包板

3 实现效果

在这里插入图片描述

在这里插入图片描述

4 实现原理

什么是TDS?

TDS是Total Dissolved Solids的首字母缩写,包括分子、离子或微粒悬浮形式的有机和无机物质。TDS通常以百万分之几 (ppm) 或毫克每升 (mg/L) 表示。TDS与水的质量直接相关,即TDS数值越低,水越纯净。例如,反渗透纯净水的TDS介于0到10之间,而自来水的TDS介于20到300之间,具体取决于您居住在哪个地方。

在这里插入图片描述

构成水中溶解固体的物质包括矿物质、盐类、阴离子和阳离子物质等物质。它们还可能包括重金属等污染物,以及可能泄漏到供水系统中的有机物质等其他物质。

什么是TDS计以及它是如何工作的?

TDS仪表实际上是一种电荷 (EC) 仪表,其中两个等间距的电极插入水中并用于测量电荷。结果由TDS计测量并转换为ppm数字。

在这里插入图片描述
如果水不含可溶性物质并且是纯净的,则它不会进行充电,因此将具有0 ppm的数值。相反,如果水中充满溶解物质,它将进行充电,得到的ppm数字与溶解固体的数量成正比。这是因为所有溶解的固体都带有电荷,这允许电荷在电极之间传导。

TDS计可以用来做什么?

除了测量我们饮用水的TDS值外,TDS计还可用于测量:

  1. 鱼缸和水族箱:鱼类需要与它们生活的自然环境相似的特定TDS和pH值。淡水鱼需要少于400ppm,其他一些淡水鱼需要更少。咸水鱼需要5000到50000 ppm之间的TDS值。

  2. 水培:TDS计是快速测量水培溶液的营养浓度的有用辅助工具。

  3. 游泳池和水疗中心:低TDS值有助于防止维护问题、皮肤刺激和藻华。

  4. 胶体银:现在有许多胶体银消费者使用TDS计来测量他们的胶体银浓度,以百万分之几 (ppm) 为单位。TDS计给出了相对准确的测量结果。

5 硬件说明

Gravity模拟TDS传感器

Gravity模拟TDS传感器是一款兼容Arduino的TDS传感器套件,用于测量水的TDS值。可应用于生活用水、水培等水质检测领域。本模块支持3.35.5V宽电压输入,02.3V模拟电压输出,兼容5V或3.3V控制系统或板卡。

在这里插入图片描述
激励源为交流信号,可有效防止探头极化,延长探头寿命,同时有助于提高输出信号的稳定性。TDS探头防水,可浸入水中长时间测量。

主要的规格参数

  1. 输入电压:3.3~5.5V

  2. 输出电压:0~2.3V

  3. 工作电流:3~6mA

  4. TDS测量范围:0~1000ppm

  5. TDS测量精度:±10%FS(25℃)

  6. TDS探针引脚数:2

使用过程中的注意事项

探头不能在55摄氏度以上的水中使用。

探头不能太靠近容器边缘,否则会影响读数。

探头的头部和电缆是防水的,但连接器和信号发射板不防水。

Gravity模拟TDS传感器与Arduino的硬件连接

现在让我们学习如何将TDS传感器与Arduino开发板连接。电路图如下所示。

在这里插入图片描述
Gravity模拟TDS传感器与Arduino的连接相当简单。将传感器的VCC和GND引脚分别连接到Arduino的5V和GND。将其模拟引脚连接到Arduino的任意模拟引脚。本文使用了Arduino的模拟引脚A1。

在这里插入图片描述

只需将TDS探头放入水中并检查串口监视器中的读数。

在这里插入图片描述

Gravity模拟TDS传感器与Arduino和LCD显示屏的硬件连接

现在让我们在原来的电路基础上添加一个LCD显示屏。我们将在LCD显示屏上显示TDS值。 电路图如下所示。

在这里插入图片描述

按照图纸连接完成所有的组件,然后将代码上传到Arduino开发板,上传代码后,就可以测量水的TDS值,然后在LCD显示屏中显示。

带温度补偿的Arduino TDS计

上述两个代码仅在水温为25摄氏度时有效。如果温度升高或降低,则读数将是错误的,因为电导率会随温度而变化。

因此,为了解决这个问题,我们需要在代码中包含温度系数。该传感器没有带任何温度传感器,所以需要添加一个外部温度传感器。DS18B20防水温度传感器是一个合适的选择,因为它具有简单的接口和高精度。电路图如下所示。

在这里插入图片描述
将DS18B20温度传感器的输出引脚连接到Arduino开发板的数字引脚7。如上图所示,通过4.7K电阻将输出引脚连接至5V电源。

上传代码后,我们就可以读取TDS的精确值以及温度值。以下是两个传感器都放在空气中时的读数。

在这里插入图片描述

当我们向水中添加一些可溶性离子溶质如盐时,溶液的电导率增加,这样可以获得更高的TDS值。 在下图中,添加了2勺盐并搅拌,可以看到TDS的值立即增加。

在这里插入图片描述

6 部分核心代码

以下是将TDS传感器与Arduino连接的简单代码。在编译之前需要安装一个Gravity模拟TDS传感器库文件。

#include <EEPROM.h>
#include "GravityTDS.h"
 
#define TdsSensorPin A1
GravityTDS gravityTds;
 
float temperature = 25,tdsValue = 0;
 
void setup()
{
    Serial.begin(115200);
    gravityTds.setPin(TdsSensorPin);
    gravityTds.setAref(5.0);  //reference voltage on ADC, default 5.0V on Arduino UNO
    gravityTds.setAdcRange(1024);  //1024 for 10bit ADC;4096 for 12bit ADC
    gravityTds.begin();  //initialization
}
 
void loop()
{
    //temperature = readTemperature();  //add your temperature sensor and read it
    gravityTds.setTemperature(temperature);  // set the temperature and execute temperature compensation
    gravityTds.update();  //sample and calculate
    tdsValue = gravityTds.getTdsValue();  // then get the value
    Serial.print(tdsValue,0);
    Serial.println("ppm");
    delay(1000);
}

最后

  • 4
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
无需任何TDS/pH计,即可构建自己的基于IoT的水质监测系统! 硬件部件: Arduino UNO×1个 公/母跳线×1个 HC-05蓝牙模块×1个 RGB扩散普通阴极×1个 电阻330欧姆×3 旋转电位器(通用)×1个 RGB LCD屏蔽套件,16x2字符显示×1个 电阻1k欧姆×1个 软件应用程序和在线服务:ArduinoIDEArdutooth 手动工具和制造机: 剥线钳和切割器,26-14 AWG单芯和绞线 什么是TDS? TDS代表总溶解固体。顾名思义,它可以使我们溶解在一定量的水中的固体数量,以ppm(百万分之一)为单位。TDS是根据电导率[S / m]计算的。电导率越高,TDS值越高。以下是不同类型的水的TDS值的列表: 纯净水:80-150 自来水:250-350 地下水:500-1000 海水:约30000 根据世界卫生组织(世界卫生组织)的建议,饮用水的TDS低于300。但是,TDS低于100的水不能食用,因为它缺乏必需的矿物质。高于300的水被认为过于“坚硬”,因为其中所含的矿物质过多。 通常,我们使用TDS笔来测量水的TDS。但是,我们无法将笔与Arduino集成在一起。因此,有可以与Arduino集成的特殊TDS仪表。但是,我决定在不使用TDS笔的情况下进行此项目。 Arduino的电路 将Arduino的5V连接到面包板的一个电源轨 将Arduino的地面连接到面包板的另一个电源导轨 将1k欧姆电阻的一端连接到地面,另一端连接到面包板。将Arduino上的模拟引脚A0连接到电阻器。最后,将一根线连接到电阻器,将另一根线连接到5V。将这些电线的自由端连接到鳄鱼夹。 液晶显示 将VSS引脚连接到接地轨 将VDD引脚连接到5V电源轨 将V0连接到电位计的中心引脚 将电位计的两端连接到5V并接地 将RS引脚连接到Arduino引脚7 将R / W引脚连接到Arduino引脚8 将D4连接到Arduino引脚10 将D5连接到Arduino引脚11 将D6连接到Arduino引脚12 将D7连接到Arduino引脚13 HC-05蓝牙模块 将VCC引脚连接到5V电源轨 将GND引脚接地 将TX引脚连接到Arduino引脚3(用作RX) 将RX引脚连接到Arduino引脚2(用作TX) RGB LED 将公共阴极(最长的引脚)接地 通过330欧姆电阻将红色引脚(阴极引脚的右侧)连接到Arduino的PWM引脚9 通过330欧姆电阻将绿色引脚(阴极引脚的左侧)连接到Arduino上的PWM引脚6 通过330欧姆电阻将蓝色引脚(最左侧)连接到Arduino上的PWM引脚5
该设计为带温度补偿功能的PH测量仪整体解决方案,电路主要由三部分构成:pH探针缓冲器、ADC和数字及电源隔离器。 AD8603,是一款精密微功耗(最大值50 μA)及低噪声(22 nV/√Hz)CMOS运算放大器,配置为连接 AD7793通道之一输入的缓冲器。AD8603的典型输入偏置电流为200 fA,为高内部电阻pH探针提供了一种有效的解决方案。 pH检测和温度补偿系统基于AD7793,24位(Σ-Δ)ADC。它有三个差分模拟输入和一个片内低噪声、可编程增益放大器(PGA),其范围为单位增益至128。AD7793的最大功耗仅为500 μA,适用于任何低功耗应用。有一个低噪声、低漂移内部带隙基准电压源,而且也可采用一个外部差分基准电压。输出数据速率可通过软件编程设置,可在4.17 Hz至470 Hz的范围内变化。 ADuM5401(四通道数字隔离器,集成DC-DC转换器)提供微控制器与AD7793数字线路之间的数字信号和电源隔离功能。利用iCoupler芯片级变压器技术,能够隔离逻辑信号和DC/DC转换器中的电源反馈路径。 pH传感器简化原理图: 本设计PH测量仪电路是一个完全隔离式低功耗pH传感器信号调理器和数字化仪,并且带有自动温度补偿以实现高精度。该电路可为0至14范围内的pH值提供精度为0.5%的读数,无噪声代码分辨率大于14位,适用于多种工业应用,如化工、食品加工、水处理、污水分析等。并且,电路支持众多内部电阻超高(范围从1 MΩ至数GΩ) 的pH传感器,其数字信号和电源隔离设计使其免受恶劣工业环境中常见的噪声和瞬变电压的影响。 更多详细设计说明讲解,详见附件内容的原文出处。 附件内容截图:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值