Avant de commencer à travailler avec les capteurs d’humidité, veuillez tenir compte des conseils suivants concernant le choix des capteurs et leur intégration. Une fois que vous êtes familiarisé avec les bases, vous pouvez commencer à intégrer les capteurs à l’aide de l’Arduino IDE avec des cartes telles que l’Arduino et l’ESP.

Depuis de nombreuses années, je me sers des systèmes d’arrosage automatique pour rendre le jardinage plus pratique. Mon premier système consistait en une simple minuterie avec des électrovannes à prix modéré, comme celles utilisées dans les machines à laver. La génération suivante intégrait une carte Arduino avec un afficheur, et elle recueillait ses données à partir de simples capteurs d’humidité capacitifs, et établissait même un journal d’arrosage. Mon système d’arrosage actuel est basé sur une carte ESP32 et est entièrement intégré à mon système domotique. Cela me permet de le démarrer manuellement, de définir et visualiser les horaires les plus récents des arrosages, de configurer d’autres paramètres, et bien plus encore. J’espère que vous pourrez vous inspirer de mon expérience.
La description ci-dessus n’est pas exhaustive. Il existe notamment une fonction d’alarme qui signale l’échec d’une session d’arrosage à cause d’un tuyau cassé par exemple. Il est également possible de commander le système à partir d’un navigateur Web, et le logiciel peut être mis à jour à distance (OTA).

Cependant, le système d’arrosage n’est pas l’objet de cet article car il a été conçu pour répondre à mes propres besoins. J’aimerais plutôt décrire mon expérience en matière de sélection de capteurs d’humidité, car j’ai beaucoup appris à leur sujet au fil des ans.

Les capteurs d’humidité jouent deux rôles dans un système d’arrosage : ils communiquent au système l’état actuel de l’arrosage et contribuent ainsi à une utilisation plus économe de la ressource en eau. De nombreuses plantes ne tolèrent pas le sol sec ni celui gorgé d’eau. Bien qu’il existe un très grand nombre de capteurs d’humidité, il semble que seuls quelques-uns fonctionnent vraiment convenablement.

Cet article vous donne un aperçu des principes de fonctionnement des capteurs d’humidité les plus courants, puis il se concentre sur l’intégration des capteurs à l’aide de l’Arduino IDE pour les cartes les plus courantes telles que l’Arduino ou l’ESP. Si vous utilisez actuellement un système d’arrosage sans capteurs ou si vous n’êtes pas satisfait de vos capteurs d’humidité, vous êtes au bon endroit.

Mesure de l’humidité du sol

Il existe un certain nombre de définitions différentes de l’humidité du sol. La teneur en eau, c’est-à-dire le volume d’eau par rapport au volume total du sol, est généralement ce qui nous intéresse. Si toutes les cavités du sol sont remplies d’eau, la teneur en eau maximale du sol naturel est d’environ 50 à 60 %. La tourbe et d’autres matières organiques présentent des valeurs plus élevées.

La teneur en eau gravimétrique correspond à la masse relative d’eau dans le sol. Il est possible de la déterminer, par exemple, en pesant un échantillon de sol avant et après séchage. Ce paramètre doit être mesuré en laboratoire, il n’est donc pas adapté à la surveillance continue de l’humidité du sol.

Les capteurs électriques d’humidité du sol reposent sur divers principes de mesure physique. La mesure de la conductivité électrique est peu coûteuse, mais malheureusement pas fiable, car la conductivité dépend également de la quantité d’ions dissous. Pour une même teneur en eau, la mesure de la conductivité peut donner des résultats complètement différents selon le type de sol, la teneur en sel et les engrais. La conductivité dépend aussi fortement de la température, ce qui est pratiquement impossible à compenser dans la pratique. Cependant, le plus gros problème est la corrosion des électrodes des capteurs, qui ne dure souvent que quelques jours ou semaines.

Les capteurs capacitifs dont les électrodes sont protégées par une couche isolante sont bien plus efficaces à cet égard. Le principe de mesure est basé sur l’interaction des molécules d’eau avec un champ électrique, étant donné que les molécules d’eau sont des dipôles avec des extrémités positives et négatives. Si nous plaçons un dipôle entre les électrodes d’un condensateur à plaques et que nous appliquons une tension aux électrodes métalliques, le dipôle s’alignera avec le champ électrique (voir la figure 1).

 Orientation polarisation of dipole water molecules in a plate capacitor.
Figure 1. Orientation et polarisation des molécules d’eau dipôles dans un condensateur à plaques.

Cet effet de polarisation est exprimé par la constante diélectrique εr. Elle varie de εr = 1 pour l’air à εr = 3 à 8 pour les particules de sol minéral et à εr = 80 pour l’eau. La constante diélectrique effective d’un sol donné, constitué d’un mélange d’air, d’eau et de particules de sol, est donc essentiellement déterminée par la teneur en eau. Si l’on place un échantillon de sol entre les électrodes d’un condensateur et que l’on mesure la capacité résultante, on peut calculer la constante diélectrique associée et en déduire la teneur en eau. Dans la pratique, nous appliquons une tension alternative aux électrodes pour réduire l’électrolyse aux électrodes du condensateur, les perturbations dues à la polarisation de la surface et l’influence de la conductivité du sol. Le fait d’augmenter la fréquence du signal de mesure permet d’obtenir des résultats plus précis et augmente l’immunité aux interférences. Les fréquences supérieures à 100 MHz sont idéales, mais elles rendraient les circuits beaucoup plus coûteux.

Capteurs de conductivité

Principe de mesure : l’humidité du sol est déterminée en mesurant la conductivité électrique du sol entre deux électrodes. Le capteur est généralement fourni avec un circuit de traitement du signal analogique avec une valeur seuil réglable (voir la figure 2).

A sensor for conductivity measurement. Moisture Sensors for Watering Systems
Figure 2. Capteur pour la mesure de la conductivité (YL69 ou similaire ; source : https://bit.ly/YL69-soil-sensor).

Inconvénients : la conductivité électrique du sol dépend non seulement de la teneur en eau, mais aussi fortement de la teneur en sel, des engrais et du type de sol, et constitue donc une mesure peu fiable de l’humidité du sol. Le capteur est exposé à une forte corrosion dans le sol et a donc une courte durée de vie. Cela s’applique également aux électrodes dotées d’une fine couche d’or. En outre, les bornes ne sont généralement pas protégées contre l’eau.

Avantage : très économique.

 Capteurs capacitifs basse fréquence

Principe de mesure : l’humidité du sol est déterminée par la mesure de la capacité. Le circuit électronique fonctionne à basse fréquence, dans une plage allant de quelques kilohertz à environ 1 MHz. Vous pouvez trouver de nombreuses versions en ligne, qui fonctionnent souvent avec un circuit de temporisation NE555 (voir la figure 3).

Example of a low-frequency capacitive sensor. Moisture Sensors for Watering Systems
Figure 3. Exemple d’un capteur capacitif à basse fréquence (source : https://bit.ly/cap-sensor).

Inconvénients : en raison de la faible fréquence de fonctionnement, les mesures d’humidité sont plus fortement influencées par d’autres facteurs tels que la conductivité électrique et la température du sol, n’offrant alors qu’une précision limitée. Les électrodes ne sont souvent protégées que par une fine couche de réserve de soudure, qui ne persiste pas longtemps dans le sol. Le circuit et les bornes ne sont souvent pas étanches à l’eau.

Avantage : relativement économique.

Capteur capacitif haute fréquence VH400

Principe de mesure : l’humidité du sol est déterminée par la mesure de la capacité.
Inconvénients : gamme de prix moyenne. On constate encore l’influence du type de sol sur la mesure. Les électrodes étant très proches les unes des autres, le champ de mesure électrique dépasse à peine la carte de circuit imprimé et le capteur est peu adapté aux sols à gros grains (voir figure 4). Les mesures dépendent de la température et changent lorsqu’on touche le câble de connexion avec la main [5].

VH400 sensor
Figure 4. Capteur VH400 (source : https://www.vegetronix.com/Products/VH400).

Avantage : mesure de l’humidité suffisamment précise dans de nombreux types de sol.

CWT-SOIL-H-S

Principe de mesure : aucune information disponible concernant le principe de mesure ou la fréquence de mesure.
Inconvénient : gamme de prix moyenne. Pannes fréquentes après une courte période dans le sol. Avantages : possibilité d’une mesure supplémentaire de la conductivité électrique ; différentes versions (voir la figure 5).

 CWT-SOIL-H-S sensor. Moisture Sensors for Watering Systems
Figure 5. Capteur CWT-SOIL-H-S (AliExpress ; source: https://de.aliexpress.com/item/1005001524845572.html).

Capteur capacitif haute fréquence SMT 50

Principe de mesure : l’humidité du sol est déterminée à l’aide d’un diviseur de tension capacitif. Le circuit fonctionne à 16 MHz ou plus.

Inconvénients : gamme de prix moyenne. L’influence du type de sol sur la mesure est encore perceptible. Avantages : la fréquence de mesure est suffisamment élevée et permet une mesure fiable de l’humidité dans de nombreux types de sol. Les électrodes sont intégrées dans une carte de circuit imprimé multicouche, offrant une bonne protection mécanique et une longue durée de vie dans le sol. Le circuit est protégé par de l’époxy pour le rendre complètement étanche (voir la figure 6). Le câble de raccordement de 10 m de long avec une gaine en polyuréthane est adapté à une installation souterraine (résistant aux microbes et à l’hydrolyse).

SMT 50 high-frequency capacitive sensor. Moisture Sensors for Watering Systems
Figure 6. Capteur capacitif haute fréquence SMT 50 (Source : https://www.truebner.de/en/smt50.php).

Tensiomètre DAV-6440

Principe de mesure : Ce capteur Watermark est un modèle de tensiomètre, qui mesure la tension de l’eau du sol (corrélée à la teneur en eau du sol). Pour cela, il faut déterminer la résistance électrique d’un matériau en contact hydraulique avec le sol (voir la figure 7). D’autres capteurs tensiométriques utilisent un tissu non tissé en contact avec le sol et déterminent sa teneur en eau par réchauffement électrique tout en observant la température (par exemple, les capteurs Gardena).

DAV-6440 sensor. Moisture Sensors for Watering Systems
Figure 7. Capteur DAV-6440 (source : https://bit.ly/DAVIS6440).

Inconvénients : Les tensiomètres sont lents et réagissent lentement aux changements d’humidité du sol. Il y a un effet d’hystérésis, ce qui entraîne des mesures différentes pour une même tension d’humidité du sol (avec une teneur en eau croissante ou décroissante). Dans des conditions très sèches, le capteur peut perdre le contact hydraulique avec le sol. La durée de vie indiquée de ce capteur dans le sol est d’au moins 5 ans, ce qui n’est pas particulièrement long. Avantage : La tension d’humidité du sol indique l’humidité du sol disponible pour les plantes.

Capteur SMT 100 TDT

Principe de mesure : Ce capteur de réflectométrie temporelle TDT (Time Domain Transmission) est constitué de boucles conductrices formant une ligne de transmission haute fréquence pilotée par des signaux impulsionnels (voir les figures 8 et 9).

SMT 100 TDT sensor. Moisture Sensors for Watering Systems
Figure 8. Capteur SMT 100 (Source : https://www.truebner.de/en/smt100.php).
Operating principle of a TDT sensor. Moisture Sensors for Watering Systems
Figure 9. Principe de fonctionnement d’un capteur TDT. Le temps de propagation des impulsions du conducteur de la boucle, qui dépend de l’humidité, est converti en une fréquence.

Un oscillateur en anneau est créé par rétroaction sur un amplificateur, et sa fréquence est mesurée par un microcontrôleur. La capacité entre les électrodes est influencée par l’humidité du sol. Plus le taux d’humidité est élevé, plus le temps de propagation des impulsions est long et plus la fréquence de l’oscillateur en anneau est basse. Inconvénient : gamme de prix élevé. Avantages : la fréquence de mesure est supérieure à 150 MHz, ce qui offre une grande précision et une bonne résolution, ainsi qu’une influence minimale du type de sol sur la mesure. Le capteur atteint une longue durée de vie dans le sol grâce au circuit imprimé multicouche avec enrobage époxy et au câble de haute qualité. Vous disposez d’un large choix d’interfaces, notamment une sortie analogique, RS-485 (TBUS/ASCII et Modbus), SDI-12 et une boucle de courant de 4 mA à 20 mA.

Le capteur SMT 100 est souvent utilisé à des fins professionnelles (agriculture de précision ou applications scientifiques en hydrologie et pédologie).

Intégration des capteurs dans les systèmes d’arrosage

Comme nous l’avons mentionné précédemment, les capteurs à coût modéré ont des interfaces analogiques et seuls les capteurs de qualité supérieure disposent d’interfaces numériques. Il est facile d’intégrer des capteurs analogiques simples dans l’Arduino IDE sans bibliothèques supplémentaires. Tout ce dont vous avez besoin est une entrée analogique. Dans l’exemple de programme suivant, nous utilisons la broche A0 d’un Arduino Uno.

int SENSOR_PIN = A0;     /* select analog pin */

int SENSOR_VAL = 0;      /* variable storing sensor value */

void setup()

{

  Serial.begin(9600);    /* setup serial connection */

}

void loop()

{

  /* read value */

  SENSOR_VAL = analogRead(SENSOR_PIN);

  Serial.println(SENSOR_VAL);    /* output value */

}

Les capteurs de qualité supérieure, tels que le CWT-SOIL-H-S ou le SMT 100, disposent d’interfaces numériques. Dans mon système, je connecte les deux capteurs via une interface Modbus RS-485. Les avantages de cette connexion sont évidents : les longs câbles (jusqu’à 100 m entre le capteur et l’unité de contrôle) ne posent aucun problème et la transmission des données est insensible aux interférences. De plus, il est possible de connecter de nombreux capteurs sur la même interface.

Le capteur CWT-SOIL-H-S fonctionne bien en principe, mais dans mon système, deux capteurs ont tout simplement cessé de fonctionner après deux ans ou ont commencé à indiquer des valeurs irréalistes. En outre, le guide de l’utilisateur inclus est compréhensible, mais l’outil de configuration décrit est difficile à trouver en ligne et n’est disponible qu’en chinois. Pour cette raison, nous ne discuterons ci-dessous que de l’intégration du capteur SMT 100.

Tout d’abord, nous allons vous présenter quelques remarques sur le RS-485 et le Modbus. RS-485 est une interface série différentielle à deux lignes qui transmet les données en mode différentiel, ce qui élimine les interférences en mode commun et améliore le rapport signal/bruit par rapport à RS-232. Il permet d’établir des connexions robustes jusqu’à 100 m de long avec de simples câbles à paires torsadées non blindées. Modbus est un protocole de communication client-serveur, développé en 1979 pour la communication avec les automates programmables. Ce protocole ouvert est devenu un standard industriel reconnu. Tous les documents techniques sont disponibles gratuitement. Chaque nœud possède fondamentalement une adresse unique pour accéder au nœud.

Configuration des capteurs

Lors des premières expériences avec le SMT 100, il est recommandé d’utiliser un pont USB/RS-485 ou une carte PCIe RS-485 afin que le capteur puisse communiquer directement avec un ordinateur portable ou de bureau. J’utilise un adaptateur USB bien documenté basé sur un circuit intégré FTDI.

Un programme de configuration Modbus très pratique est disponible en téléchargement sur le site web du fabricant du capteur. Après avoir déballé et installé le capteur, procédez comme suit pour connecter la version RS-485 du capteur à l’interface RS-485 : Le fil blanc du câble du capteur est la masse, le fil vert correspond à RS-485 A et le fil jaune à RS-485 B. Vous devez également connecter au fil marron une tension d’alimentation comprise entre +4 V et +24 V (par rapport à la masse).

Après avoir lancé l’outil Modbus, vous devez d’abord sélectionner le port COM. Si vous utilisez un adaptateur USB et qu’aucun port n’est affiché, vous aurez besoin d’installer le pilote approprié. Si tout est correct, la fenêtre illustrée dans la figure 10 apparaît.

Modbus test program for the SMT 100 sensor.
Figure 10. Programme de test Modbus du capteur SMT 100.

À ce stade, vous pouvez lire les différents paramètres ou modifier l’adresse Modbus. Par défaut, le capteur est accessible à l’adresse 253 (Broadcast). Si vous voulez connecter plusieurs capteurs, chacun d’entre eux doit avoir une adresse unique. Dans le programme d’exemple, l’adresse Modbus est définie sur 1 par l’instruction Set new MODBUS Address. Pour être sûr, vous pouvez vérifier la communication via l’adresse 1, pour laquelle Modbus Address à gauche doit être définie sur 1. Notez qu’un seul capteur à la fois peut être connecté au bus lors du réglage de l’adresse.

Un programme de test

Découvrons maintenant comment ce type de capteur peut être intégré dans un système d’arrosage. Le programme de test est représenté sur la figure 11.

est setup for connecting an SMT 100 sensor to an ESP32.
Figure 11. Configuration de test pour connecter un capteur SMT 100 à un ESP32.

Avec le kit ESP32-DEV-Kit, facilement disponible, il se présente sous la forme d’une petite carte qui convertit le signal RS-485 du capteur en niveaux TTL adaptés au microcontrôleur. La borne DI est une entrée pour la transmission série de données de l’ESP32 vers le capteur. La borne RO reçoit les données de l’ESP32 à transmettre au capteur. Les bornes DE et RE sont connectées ensemble ici. Lorsque ces bornes sont tirées vers le bas, le récepteur du circuit intégré MAX485 est activé, et lorsqu’elles sont tirées vers le haut, l’émetteur MAX485 est activé.

Jetons maintenant un coup d’œil au programme de test. La première partie (avant la routine de configuration) définit les broches et les variables pour les capteurs. Dans la routine de configuration, la broche destinée à la commutation de l’émetteur/récepteur est initialisée, l’interface série standard est définie comme interface de débogage, l’interface série vers le capteur est initialisée comme « Hardware Serial Interface 2 », et une sous-routine vérifie si le capteur est correctement connecté.

Output in the Arduino IDE Serial Monitor window.
Figure 12. Sortie du moniteur série de l’Arduino IDE.

Dans la boucle principale, le capteur est interrogé toutes les trois secondes en appelant la sous-routine SUB_RECEIVE_HUMIDITY, et le résultat est affiché. L’interrogation des valeurs du capteur est gérée par trois sous-programmes : SUB_CHECK_HUMIDITY vérifie l’exactitude de l’adresse du capteur reçue pour s’assurer qu’il est connecté, SUB_RECEIVE_HUMIDITY récupère la valeur du capteur et SUB_CALCULATE_CRC calcule la somme de contrôle CRC. Le code d’exemple complet et abondamment commenté est disponible gratuitement sur le site [12]. Si la sortie dans la fenêtre Arduino Serial Monitor est similaire à celle de la figure 12, alors tout fonctionne correctement.


Stratégie d’arrosage
L’arrosage classique à commande temporelle irrigue à des intervalles de temps fixes, sans tenir compte du besoin réel en eau. Selon les conditions météorologiques, il peut donc entraîner un excès d’irrigation et un engorgement nuisible, ou une carence en eau et un risque de sécheresse. L’utilisation d’un capteur de pluie ou d’informations météorologiques en ligne permet d’atténuer ce problème. L’arrosage contrôlé par capteur est beaucoup plus efficace. Cela permet non seulement une distribution optimale de l’eau aux plantes, mais aussi une réduction de sa consommation. Les différences sont illustrées dans le graphique. Il existe différentes stratégies pour fixer les seuils. Un jardinier expérimenté peut constater les symptômes du dessèchement en observant les plantes (léger flétrissement, enroulement du bord des feuilles). L’arrosage excessif entraîne une saturation, sans que l’humidité du sol augmente davantage. Si vous attendez un peu (environ 24 heures), l’excès d’eau s’écoulera dans le sous-sol. En règle générale, vous pouvez fixer le seuil inférieur du niveau de saturation à 60 %. Pendant la phase d’étude, observez les plantes ainsi que la variation de l’humidité et ajustez les niveaux de seuil si nécessaire pour obtenir un arrosage automatique optimal et économique à long terme. Il est important de positionner correctement le capteur dans la zone où se trouvent les racines des plantes. Pour obtenir un bon cycle d’humidité du sol avec l’irrigation goutte à goutte, le capteur ne doit pas être placé trop loin ou trop près de l’emplacement du goutte-à-goutte.


Des questions, des commentaires ?

Envoyez un courriel à l’auteur (peter.tschulik@chello.at) ou contactez Elektor (redaction@elektor.fr).


Traduction : Asma Adhimi