我是靠谱客的博主 能干紫菜,最近开发中收集的这篇文章主要介绍Arduino--电容式土壤湿度传感器使用及原理1.常见的电容式土壤湿度传感2.湿度检测原理3.对该模块的电路进行分析4.Arduino实验,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录标题

  • 1.常见的电容式土壤湿度传感
  • 2.湿度检测原理
  • 3.对该模块的电路进行分析
  • 4.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);
}

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

最后

以上就是能干紫菜为你收集整理的Arduino--电容式土壤湿度传感器使用及原理1.常见的电容式土壤湿度传感2.湿度检测原理3.对该模块的电路进行分析4.Arduino实验的全部内容,希望文章能够帮你解决Arduino--电容式土壤湿度传感器使用及原理1.常见的电容式土壤湿度传感2.湿度检测原理3.对该模块的电路进行分析4.Arduino实验所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部