Arduino--电容式土壤湿度传感器使用及原理

1.常见的电容式土壤湿度传感

世面上常见的电容式土壤湿度传感器模块基本都是capactive soil moisture sensor系列的。现在常见的有三个版本v1.0,v1.2(最便宜),v2.0。
v1.0
在这里插入图片描述

v1.2
v1.2
v2.0
v2.0
以上就是常见的电容式土壤湿度传感器。他们看起来都差不多,其实这些版本都是从v1.0版本改进的。

2.湿度检测原理

关于这个传感器检测的原理,网上找的资料不多。类似传感器经典的设计是美国DECAGON 公司生产的ECH2O 系列传感器。其结构如下:
传感器结构测量原理公式:
公式 式中: ε0 = 8.854×10-12 为真空介电常数,F/m; S 为板间遮盖面
积,m2 ; C 为板间电容量,F; δ 为板件厚度,m; ε 为含高湿敏性基
材板件聚合物外膜介电常数,F/m。
测量原理为:薄膜聚合物由于周围湿度条件改变,引发板件聚合物外膜相对介电常数(ε)与电容量变化。等式右边在使用中是定值。
这个看起来很像我们传感器的原理,但我们买的传感器太便宜了,与是我用砂纸打磨掉,传感器PCB的覆油,如下图:
打磨后的PCB板
仔细观察我们发现,该模块并不是上面所讲的结构,也没有薄膜聚合物,没有上下电极之分。该模块的结构应该是这样:
在这里插入图片描述
其实它就是把两个电容的极板插到了土壤里,只是这个两个极板在同一水平面。土壤加板子上的漆构成了电容的介质层。

3.对该模块的电路进行分析

在网上只能找到V1.0的原理图:

v1.0电路图
这个电路是所有该类型传感器的基础,剩下的所有版本都是在这个基础上修修改改。V1.2在V1.0的基础上用普通的NE555换了TI的555芯片,删除了5V转3V电路(用0欧电阻跳线如下图)。删除了555第5脚的旁路电容。所以其只要3,4块的售价。
在这里插入图片描述
V1.2的电路原理图如下:
V1.2原理图

V1.0与V1.2电路的核心一致,V2.0在V1.2的基础上加回了5V转3V的芯片。所以V1.2版本的模拟口输出是大于3V的,而且需要5V供电。这个许多买家描述的不一样。
这电路的核心是用555芯片构成的多谐振荡器,其原理如下(数电课本上的):
由555构成的多谐震荡器

在这里插入图片描述
所以这个震荡器的频率主要由电容C(v1.0电路中的C5)决定,v1.0电路中圈1部分的电阻,决定其输出方波的占空比。在V1.2的原理图中标出土壤等效电容的位置,这与V1.0板的位置一样。该脉冲信号由555的三脚送到电容的等效电容中。
在V1.2原理图中,B点波形为:
在这里插入图片描述
在这里插入图片描述
A点波形为:
在这里插入图片描述
用的示波器太老了。我们可以看到这方波的占空比很小,频率在2MHZ左右。脉冲信号不断给电容(土壤)充放电,就有了A点的波形。随着土壤湿度的变化,电容(土壤)发生变化,其充放电时间常数发生改变。其波形的峰值会改变。类似下图:
在这里插入图片描述
再通过峰值检波电路如下图,输出电压信号给单片机采样。
在这里插入图片描述

4.Arduino实验

用arduino读取v1.2版本(输出不是3V)传感器数值,在空气中采样值为900多,在水中,采样值为700多,其测量范围不如电阻式的宽。代码如下:

 void setup() {
  Serial.begin(9600); // open serial port, set the baud rate to 9600 bps
 // analogReference(EXTERNAL); 
}

void loop() {
  
  int n = analogRead(A0);
  Serial.println(n); //connect sensor and print the value to serial
  delay(1000);
}

用读取v2.0(这个一般比较贵)版本,读取数据如下:
在这里插入图片描述
修改arduino采样口基准电压为3.3V,采集数据如下:
在这里插入图片描述
这里的arduino aref口要接3.3V。
代码:

 void setup() {
  Serial.begin(9600); // open serial port, set the baud rate to 9600 bps
  analogReference(EXTERNAL); //修改ADC基准电压为外部3.3V
}

void loop() {
  
  int n = analogRead(A0);
  Serial.println(n); //connect sensor and print the value to serial
  delay(1000);
}

注:如果要获得准确的土壤含水量需要做标定。

基于RS485的电容式土壤湿度和温度传感器概述: 电容式土壤湿度传感器通过Modbus通过RS485连接,并且提供温度读数。该无接触电容式土壤湿度传感器,是我的I2C土壤水分传感器(链接:https://www.cirmall.com/circuit/6457/detail?3)的延续。传感器的这种特殊版本适用于需要长电缆运行的更专业的安装。它增加了本地电压调节器,以减轻电压降和RS485收发器,以适应长电线,也反向极性,并增加额外的ESD保护等级。 基于RS485的电容式土壤湿度和温度传感器实物展示: 基于RS485的电容式土壤湿度和温度传感器主要特点: 电容土壤湿度感测 温度感应 温度稳定性好 良好的稳定性与功率变化 适用于长电缆运行 使用工业Modbus协议 无接触电容式RS485土壤湿度传感器技术参数: 电源电压-5V 总线可以在3V和5V上运行 默认串行设置:19200,8位帧,无奇偶校验,2个停止位 默认Modbus地址:1 电流消耗:有效:9mA,深度睡眠:11uA 基于RS485的电容式土壤湿度和温度传感器工作原理: 传感器进行周期性测量(默认情况下每500ms一次),通过写入Modbus寄存器之一可以更新测量之间的延迟。测量结果保存在特定的Modbus寄存器中,除非传感器处于深度睡眠状态,否则可以由主机读取。 通过写入几秒钟进入深度睡眠进入特殊的睡眠寄存器。传感器将收发器和所有外围设备置于最低可能的功耗模式,并在指定的时间内睡眠。睡眠后,传感器将唤醒,开始测量,并在总线上可用,直到下一个睡眠命令。 串行通信参数可以通过写入相关寄存器来更新波特率,奇偶校验位和地址。如果写入任何一个寄存器,传感器将重置并引导新参数。 基于RS485的电容式土壤湿度和温度传感器如何解读读数? 水分值是相对的。意思是,更多的水分会给你更高的阅读量,更少的水分 - 读数更低。由于不同类型的土壤的读数会有所不同,因此可以将其校准为土壤中的水量。 水分有些线性。我在运输前测试所有传感器,并在空闲空气中放置约292个。 温度由传感器主体上的热敏电阻测量。计算的绝对测量精度优于2%。返回值在十分之一摄氏度。即,值252将意味着25.2°C。 基于RS485的电容式土壤湿度和温度传感器控制器支持 只要您拥有RS485收发器,传感器就可以与任何支持串行通信的控制器正常工作。许多微处理器系列都有很多Modbus库。尝试传感器的最简单的方法是使用丰富而便宜的USB至RS485加密狗,并将其连接到Raspberry pi或甚至直接连接到计算机。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值