Domotique et gestion cuve à eau

Réalisation d’un système de gestion de cuve à eau (eau d’arrosage).

L’origine du projet remonte à de très forte pluie le 3 octobre 2015, notre terrain (muré de chaque côté sans échappatoire) était inondé sous 30 cm d’eau. Heureusement, j’étais sur place ce jour là pour allumer les pompes de la cuve à eau. Il me fallait donc un système qui me permette de connaitre le niveau d’eau dans la cuve (qui me sert de trop plein l’hiver et de stockage d’eau pour l’arrosage l’été) pour pouvoir créer des scénarios adéquats dans ma box domotique (Jeedom).

Je me suis largement inspiré du blog Hotfirenet et son projet ‘Yadeleau’ pour la construction du ‘capteur’. Voir le détail du matériel en bas de page.

Le tout sera piloté par ma box domotique Jeedom, un Arduino Uno avec des interrupteurs à flotteur (les ‘capteurs’) et le plugin Jeedouino (l’interfaçage entre Jeedom et l’Uno).

Dans ce système, je vais utiliser 4 capteurs de niveau d’eau :

  1. pour le niveau 0 (ou presque ! je détaille pourquoi plus loin)
  2. pour 33% de remplissage de la cuve
  3. pour 66% de remplissage de la cuve
  4. pour 100% de remplissage de la cuve (donc quand elle sera pleine)

Partie ‘hardware’ / matériel :

On commence par découper 4 petits morceaux de 2 cm directement dans la cornière. En effet dans mon cas, j’ai acheté une cornière de 2.6 mètres mais je n’en avais réellement besoin que de 2 mètres.

Cuve à eau

On fait un trou avec la perceuse, et on colle ce petit morceau sur la cornière principale : ce sera le support pour le capteur de niveau d’eau.

Cuve à eau

Ensuite on essaie de faire une belle soudure entre les deux fils du capteurs de niveau, et les deux fils (une paire) d’un câble réseau. j’ai également mis une gaine thermorétractable à l’endroit où j’ai soudé, pour éviter le court-circuit bien sur !

Cuve à eau

Le capteur de niveau d’eau une fois vissé à son support de fortune :

Cuve à eau

Premier test avec l’ensemble qui est assemblé :

Cuve à eau

NB : ma cuve est une Garantia 1600 litres acheté chez LM il y a plusieurs années. Elle fait 1.6 mètres de haut (le tout enterré bien sur). Sur la photo, on distingue juste le PVC de 100 sur la partie haute de la cuve.

On notera que les fils ne sont pas attachés sur la photo, cela ne fait pas très ‘propre’. C’était juste pour la phase de test d’étanchéité (passée avec succès).

Pour la partie micro-contrôleur, j’ai pris un Arduino Uno compatible avec un module réseau ENC28J60

Cuve à eau

Partie ‘software’ / programmation :

Pour le moment, j’utilise Jeedouino pour l’interfaçage entre Jeedom et mes Uno. Je dis « pour le moment » car cela pose pas mal de limite technique et je souhaite changer lorsque j’aurais un moment.

Donc dans Jeedouino, j’ai paramétré 4 « Entrée Numérique » qui représente les 4 capteurs de la cuve à eau.

Mise à jour d’aout 2016 : depuis plusieurs semaines, je n’utilise plus Jeedouino (trop de plantage, trop de raté). C’est pourquoi j’ai développé mon propre système de communication rudimentaire entre l’Arduino avec les capteurs de niveau d’eau, et la box domotique Jeedom. Cliquez ici pour plus de détails sur mon système « bricolé maison » pour la communication Arduino <-> Jeedom. Avec, je n’ai plus aucun problème.

Chaque capteur est câblé comme suit :

  • un fil du capteur sur le GND du Uno (de la Breadboard en réalité)
  • l’autre fil du capteur vers une résistance de 10k-ohms (elle même reliée au +5V), le tout branché sur un Pin du Uno (un GPIO).

Avec un schéma, c’est plus simple :

schéma cablage cuve à eau

Note : lors de mon premier test, j’avais paramétré « Entré Numérique en PULL-UP… » mais la résistance de PULL-UP interne à mon Uno ne devait pas être satisfaisante, les capteurs jouaient au yoyo dans Jeedom. C’est pourquoi j’ai décidé de mettre mes propres résistances de pull-up.

En supplément facultatif, j’ai rajouté une sonde de température DS18B20 immergé au niveau ‘0’ (au fond de la cuve donc) et une sonde de température DHT22 sur la breadboard pour avoir la température de la pièce.

Ce qui donne cela dans Jeedom (cuve remplie à 100%) :

Dashboard cuve à eau

Cela me permet donc d’avoir des scénarios gérant :

  • l’arrêt de la pompe d’arrosage (via un relais) lorsque l’eau est en dessous du niveau 0.
  • une alerte quand le niveau de la cuve est à 100% pour couper les vannes du canal d’approvisionnement.
    Il s’agit pour le moment que d’une alerte, plutôt qu’une action sur une électro-vanne : le trop plein de la cuve se déversant dans la pelouse, cela sert à arroser le terrain par submersion.

Niveau 0 ou presque :

Mon capteur qui indique le niveau le plus bas « 0 » n’est en réalité pas au niveau 0. En effet, ma pompe d’arrosage est reliée à une crépine, qui nécessite 6 cm d’eau pour pouvoir aspirer l’eau. Donc le niveau ‘0’ est en fait situé à 8 cm au dessus du fond de la cuve. Ce niveau ‘0’ permettant d’arrêter la pompe automatiquement via un scénario Jeedom.

Chose à améliorer sur les capteurs de la cuve à eau :

Au bout de quelques semaines de fonctionnement, j’ai noté quelques petits trucs qu’il faudra que j’améliore :

  1. Il semblerait qu’au redémarrage du Uno (suite à coupure courant par exemple), Jeedom reçoit, de tous les capteurs, un niveau 0 puis un niveau 1 ce qui déclenche tous les scénarios utilisant ces équipements (alerte cuve vide, alerte cuve pleine, etc). A vérifier…
  2. par moment, il y a des faux positifs :
    exemple : la cuve est pleine et le capteur des 33% passe à ‘0’ alors que tous les autres sont à 1. Puis il repasse très rapidement à ‘1’ (sa valeur normale) mais cela génère un faux-positif puisque dans mes scénarios, je gère cette anomalie -qui ne devrait théoriquement jamais avoir lieu-.
    MAJ du 05/06/2016 : ce phénomène de faux-positif est très rare. Une fois par semaine. Et bizarrement, cela correspond PRECISEMENT au moment où je passe le coupe-bordure (pour couper l’herbe!). Et pas forcément à côté de la cuve. Je peux me situer à 15 mètres au moment du faux-positif. Il pourrait s’agir d’une baisse d’intensité dû au coupe-bordure ? Cela ne le fait qu’avec le coupe bordure, PAS avec la tondeuse ou d’autres appareils électrique. Sachant que la prise de l’Arduino et la prise du coupe bordure ne sont pas sur le même disjoncteur. En revanche, elles sont sur le même disjoncteur différentiel. A voir…

Matériel utilisé pour cet article sur la cuve à eau :


Cet article fait partie d’une série d’articles sur la box domotique Jeedom, les micro-contrôleurs Arduino et compatible, le tout en DIY (Do It Yourself). Consultez la liste complète des articles de cette thématique en cliquant ici.


Si vous souhaitez partager cet article...Share on Facebook
Facebook
Share on Google+
Google+
Tweet about this on Twitter
Twitter