学物联网,来万物简单IoT物联网!!
TDS是Total Dissolved Solids的缩写,中文名总溶解固体,也叫溶解性固体总量,他标识1升水中溶有多少毫克的可溶解性固体。一般来说,TDS值越高,表示水中含有的溶解物越多,水就越不干净;反之,TDS值越低代表水越干净。因此,TDS值的大小,可作为反映水的洁净程度的依据之一。 常用的TDS检测设备为TDS笔,虽然价格低廉,简单易用,但不能把数据传给控制系统,做长时间的在线监测,并做水质状况分析。将TDS探头浸入水中测量水的TDS值。 该产品可应用于生活用水、水培等领域的水质检测。
TDS传感器外观及引脚如下图所示。
引脚定义
注意:TDS表笔不能用于55摄氏度以上的水中
TDS探头放置位置不能太靠近容器边缘,否则会影响测量结果
TDS探头仅头部与导线为防水,可浸入水中,和信号转接板的连线接口处不防水
tdsObj = TDS(adcObj,T=25)
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
adcObj | ADC | 是 | 传入ADC对象 |
T | Number | 否 | 水温,单位:摄氏度,默认值为25 |
TDS传感器对象成功,返回tdsObj对象;TDS传感器对象创建失败,抛出Exception
from machine import ADC, Pin
import tds
# 初始化 ADC 类型的设备
adcObj = ADC(Pin(32))
tdsObj=tds.TDS(adcObj, T=26)
print("tdsObj inited!")
tdsObj inited!
获取当前水质检测结果
TDS.getTDS()
无
测量水质并返回水质监测结果,单位:ppm
from machine import ADC, Pin
import tds
# 初始化 ADC 类型的设备
adcObj = ADC(Pin(32))
tdsObj=tds.TDS(adcObj, T=26)
print("tdsObj inited!")
tds = tdsObj.getTDS()
print("TDS measure result:", tds)
tdsObj inited!
TDS measure result: 153
设置当前水温
TDS.setTemperature(T)
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
T | Number | 是 | 水温,单位:摄氏度 相同水质下不同温度水的导电率是不同的,所以需要用水温对测量结果进行校准 |
无
from machine import ADC, Pin
import tds
# 初始化 ADC 类型的设备
adcObj = ADC(Pin(32))
tdsObj=tds.TDS(adcObj, T=26)
print("tdsObj inited!")
tdsObj.setTemperature(28)
print("set temperature done")
tds = tdsObj.getTDS()
print("TDS measure result:", tds)
tdsObj inited!
set temperature done
TDS measure result: 151
from machine import ADC, Pin
import tds
import utime
# 初始化 ADC 类型的设备
adcObj = ADC(Pin(32))
tdsObj = tds.TDS(adcObj, T=26)
print("tdsObj inited!")
tdsObj.setTemperature(28)
print("set temperature done")
while True:
tds = tdsObj.getTDS()
print("TDS measure result:", tds)
utime.sleep(1)
tdsObj inited!
set temperature done
TDS measure result: 150
TDS measure result: 153
...
TDS传感器检测的是“溶解性固体总量”,这些可溶解的物质有很多,包括钙、钠、镁离子和碳酸根离子、碳酸氢根离子、氯离子、硫离子等等。
TDS的检测原理是利用正负电极形成高低电场,让水中的离子向一定的电场方向移动,移动的离子流过的电流形成一定的数值,数值越大,水中的杂质和导电性离子就越多。不过水质条件会影响TDS检测的准确性,如水温太高就不行,同样的水质,温度越高TDS值也会越高。
进行TDS测量需要如下3个步骤:
[1] TDS水质检测传感器购买链接