TDS传感器 - 从零开始认识各种传感器【二十五期】

TDS传感器|从零开始认识各种传感器

1. 什么是TDS传感器?

read-normal-img

TDS传感器是用来检测水中的总溶解固体的含量的传感器。TDS(Total Dissolved Solids),中文名总溶解固体,又称溶解性固体总量,表明1升水中溶有多少毫克溶解性固体。一般来说,TDS值越高,表示水中含有的溶解物越多,水就越不纯净。因此,TDS值的大小,可作为反映水的洁净程度的依据之一。

read-normal-img

TDS传感器在各种领域都有广泛的应用,包括饮用水检测,工业过程控制,农业灌溉等。

2. TDS传感器是如何工作的?

TDS传感器的工作原理是基于电导率(EC,Electrical Conductivity)测量。电导率是指水样中离子导电的能力,水中溶解的固体(如盐类、矿物质)会增加水的电导率。

TDS传感器通过在两个或多个电极之间施加电压。那么带正电的离子(如钠离子,钙离子,镁离子等)向带负电荷的电极移动,而带负电荷的离子(如氯离子,硫酸根离子,碳酸氢根离子等)会向带正电荷的电极移动。这种离子的移动形成了电流。仪表通过检测离子的移动来确定电流并通过换算得到液体的TDS值。

可能有读者会问,既然是测量电导率,而电导率又是电阻率的倒数,那能用万用表代替TDS传感器来测量吗?答案是不可以。 这是因为万用表测试用的是直流电。 而直流电会引起离子的持续移动形成化学反应。举个例子,如果我们向海水中施加直流电,由于海水中存在大量的离子,会有大量的化学反应在电极上发生。有些离子会附着在电极上,有些会产生气体,电极本身也可能发生溶解。这些反应都会对溶液造成影响,从而改变电导率。

read-normal-img

那么,TDS测试是如何避免这些问题的呢?它使用的是交流电,交流电电场方向变化速度非常快,不会形成电离子整体移动的效果。在一秒钟内,带电离子在不断往复运动。从总体上讲,溶液和电极都没有变化,因此可以测量精确的电导率。

read-normal-img

3、常见的TDS传感器的种类

按照工作方式不同,TDS传感器一般分为电极型和电感型两种。大部分产品都是电极型的TDS传感器。

3.1 电极型TDS传感器

read-normal-img

电极型TDS传感器属于直接测量,是最常见的类型。它利用两个或多个电极在水中产生电场,通过测量电极之间的电导率来确定水中的溶解固体浓度。电导率(EC,Electrical Conductivity)与TDS值之间存在一定的比例关系,因此通过电导率可以推算出TDS值。

read-normal-img

3.2 电感型TDS传感器

read-normal-img

电感型电导率传感器采用电磁感应原理对电导率进行测量。电磁感应是指的是指放在变化磁通量中的导体,会产生电动势,被称为感应电动势。若处于闭合回路中,则该电动势会驱使电子流动,形成感应电流。 下图中,由于开关的通断动作,左边线圈中会出现电流的不断变化,会导致左边线圈磁通量的改变,从而会在右边线圈感应出电流。

电感型TDS传感器通过对感应电流进行测量来确定液体的TDS值。因为液体的电导率在一定范围内与感应电压呈正比关系。再通过电导率与TDS值之间存在的比例关系,就可以推算出TDS值。

电感型TDS传感器检测器不直接与被测液体接触,具有极强的抗污染能力与耐腐蚀性。也不存在电极极化与电极被污染的问题。但它的测量原理决定了它仅适用于测量具有高电导率的液体而不是测试自来水,矿泉水这样低电导率的液体。

4、TDS传感器实验演示

我们来演示使用 MCU 读取显示TDS传感器的数据。这是一款电极型的TDS传感器模块,模块的探头插入杯中。屏幕实时显示了它传回来的TDS值,当前杯中使用的是纯净水,所以测得TDS值只有个位数。在水中加入少量可乐,可以看到测得的TDS数值增大到了25左右。

代码:

from breakout_colourlcd240x240 import BreakoutColourLCD240x240
from machine import ADC, Pin, Timer, PWM
from utime import sleep
import time, math,array
#------------------------------------------------------------------
width = BreakoutColourLCD240x240.WIDTH
height = BreakoutColourLCD240x240.HEIGHT
display_buffer = bytearray(width * height*2)
display = BreakoutColourLCD240x240(display_buffer)

timer1 = Timer() 

stemp = ADC(2)                       
current_temp = 0                   
#-------------------------------------------------------------------
def display_init():
    
    display.set_pen(0,255,0)
    display.rectangle(58,30,13,160)
    display.circle(64,190,10)
    display.set_pen(255,0,0)
  
    display.text("current", 150, 20, 194, 2)
    display.text("value", 150, 35, 194, 2)
    display.update()
  
    for i in range(6):
        display.set_pen(0,200,0)
        display.pixel_span(80,27 + i*30,10)
        display.text(str(50 - i *10), 100, 20+i*30, 194, 2)
        display.set_pen(0,0,220)
        if i < 5:
            for j in range(4):
                display.pixel_span(80,33 + j*6 + i * 30,5)
        display.update()
    
#---------------------------------------------------------------------
def display_change(temp, color):
    global current_temp
    current_temp = temp
    #print(temp)
    display.set_pen(color[0], color[1], color[2])
    display.rectangle(58,30,13,160)
    display.circle(64,190,10)
    display.set_pen(0,0,150)
    display.rectangle(58,20,13,7+int((50-temp)/2)*6)
    display.set_pen(0,0,0)
    display.rectangle(150,50,90,40)
    display.set_pen(0,255,0)
    display.text(str(temp), 150, 50, 5, 5)
    display.update()
#----------------------------------------------------------------------
def get_temp():
    Analogvalue=stemp.read_u16()
    voltage=200*float(Analogvalue)/65535
    return voltage
#----------------------------------------------------------------------
def main():
    
    color = [0,255,0] 
    timer1 = Timer()
    display_init()
    timer1.init(freq=5,mode=Timer.PERIODIC, callback=lambda t:display_change(round(get_temp(),1), color))

    while True:
      sleep(0.1) 
main()


  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TDS传感器是一种测量水中总溶解固体(Total Dissolved Solids)含量的传感器。它通过测量水中的电导率来估算溶解固体的浓度。要将TDS传感器接入单片机中,需要进行以下步骤: 1. 确认TDS传感器的类型和接口:不同型号的TDS传感器可能具有不同的接口类型,比如模拟输出、数字输出或者串口输出。需要根据具体型号来确定传感器的接口。 2. 连接电源和地线:根据传感器的电源要求,将传感器的电源线连接到单片机的供电引脚,并将传感器的地线连接到单片机的地线。 3. 连接信号线:根据传感器的接口类型选择合适的引脚来连接传感器的信号线。如果是模拟输出,需要将传感器的信号线连接到单片机的模拟输入引脚上;如果是数字输出,需要将传感器的信号线连接到单片机的数字输入引脚上;如果是串口输出,需要将传感器的信号线连接到单片机的串口引脚上。 4. 配置单片机的输入端口:根据传感器的接口类型,通过单片机的编程方式来配置对应的引脚为输入模式,并设置合适的电平或波特率等参数。 5. 读取传感器数据:根据单片机的编程语言和库函数,编写代码来读取传感器的输出数据。可以根据读取的数据进行进一步的处理和显示。 总之,将TDS传感器接入单片机需要明确传感器的接口类型,连接电源、地线和信号线,并通过单片机的编程来配置引脚和读取数据。这样就可以通过单片机来实时监测和处理水中的总溶解固体含量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值