[TUTO] Domotisation piscine au chlore DIY

Tags: #<Tag:0x00007fa7a8d6e618>

Bonjour à tous,

Suite à la lecture d’un récent post sur la domotisation d’une piscine via Jeedom j’ai tilté que je n’avais jamais fait de schéma de mon installation et écrit un petit truc au cas où mon install tombe, et comme j’avais passé beaucoup de temps à la mettre en place je me suis dit que ça serait bien de le faire. Et quitte à le faire autant que ça serve, d’où ce petit tuto.

Mon objectif était de domotiser ma piscine au chlore afin de pouvoir suivre :

  • la température,
  • le pH,
  • le taux de chlore,
    mais également de piloter la pompe et l’éclairage de manière automatique, plutôt que de modifier plusieurs fois par saison mon boitier mécanique de programmation au niveau du coffret piscine (et c’est chiant de clipser les petits ergos de programmation :slight_smile: ).
    image

Ça a été mon tout premier projet de domotique et mes premiers pas avec Jeedom ça m’a pris donc beaucoup de temps mais aujourd’hui j’ai quelque chose qui s’auto gère depuis un an et ça marche nickel.

J’ai parcouru beaucoup de forums et tutos sur internet qui présentaient diverses solutions à base d’Arduinos, Fibaro, Sonoff… A l’époque je n’avais qu’un Raspberry qui trainait car acheté pour me lancer dans la domotique mais jamais vraiment démarré, quelques modules en 433Mhz, et je trouvais que le Zwave revenait relativement cher, ne sachant pas trop si j’allais vraiment m’équiper, je lorgnais plutôt vers le Zigbee.

Du coup je voulais rester avec quelque chose de relativement économique, mais versatile dans le cas où je voudrais faire évoluer mon installation.

J’ai donc décider d’ajouter un coffret domotique directement dans le local piscine en parallèle de l’installation existante sur la base d’un Raspberry Pi A+ branché sur une prise CPL.

La pompe est pilotée via une carte relais connectée aux GPIO.

Le pH et l’ORP sont récupérés via les sondes du même nom, connectées sur des cartes adaptateurs 1130 de chez Phidgets, et envoyées vers les GPIO du Rasp via un convertisseur analogique numérique MCP3008.

La température d’eau est acquise via une sonde DS18B20 à visser connectée aux GPIO du Rasp.

Les sondes sont fixées sur la canalisation piscine juste après le préfiltre de pompe via des colliers de prise en charge.

J’ai ajouté un inter 3 positions pour garder la possibilité de shunter la domotique et revenir sur la programmation méca si problème sur l’install, et ça me permet d’activer la pompe quand je suis dans le local piscine et que je n’ai pas mon tél.

La liste des courses :

  • 1 Raspberry Pi A+,
  • 1 prise CPL pour raccorder en filaire (le local est un peu loin pour du WiFi et c’est plus stable),
  • 1 Adaptateur USB 3.0 vers Ethernet - lien
  • 1 carte 4 relais - lien
  • 1 sonde ORP - lien
  • 1 sonde pH - lien
  • 2 cartes adaptateurs 1130 pH/ORP - lien
  • 1 sonde DS18B20 à visser - lien
  • Résistances 1k/2k/4,7k
  • Colliers de prise en charge – lien + raccords étanches à visser pour les sondes ORP+pH,
  • 1 interrupteur 3 positions - lien
  • 1 CAN MCP3008 - lien
  • Un boitier étanche électrique,
  • De la bigaille diverse (vis/fil, plaque de prototypage…)

Les infos sont centralisées sur un Jeedom fils qui communique via Jeelink vers le Raspberry de la maison.

Côté Jeedom, j’utilise les plugins :

  • Jeedom Link,
  • Piscine pour l’automatisation,
  • Script pour récupérer les données des sondes ORP/pH,
  • Virtuel,
  • Jeedouino pour les données de la sonde de température + les données du MCP3008 + la carte relais,
  • Weather pour la température extérieure (prévu d’ajouter une sonde ext. prochainement).

Le câblage du boitier :
image
Je n’ai pas mis la partie pompe et inter de sélection, c’est de l’élec simple, et c’est avant le relais.

Sonde température + pompe :
Rien de sorcier, côté Jeedom, j’ai configuré Jeedouino pour récupérer les données de la sonde de température et piloter le relais :
image

J’ai ensuite des virtuels pour récupérer tout ça sur le dashboard.

ORP + pH :
Là c’est un peu plus touchy.
Le MCP3008 réalise la conversion CAN des sondes ORP et pH et envoie le tout sur le bus SPI du Rasp.
Il faut d’abord préparer le Rasp avec les bibliothèques qui vont bien pour l’utilisation du MCP3008, pour cela un tour sur la doc officielle très bien documentée ici et , en résumé ça donne, à lancer dans un terminal :

Install de Python3 :
sudo apt-get update
sudo apt-get upgrade
sudo pip3 install --upgrade setuptools

Vérif que le SPI est activé :
ls /dev/spi*

Ça doit renvoyer :
/dev/spidev0.0 /dev/spidev0.1

Si OK, install de la librairie adafruit :
sudo pip3 install adafruit-circuitpython-mcp3xxx

On donne les droits à GPIO et SPI d’accéder au dossier des scripts :
sudo adduser www-data gpio
sudo adduser www-data spi

Il faut ensuite lancer un script Python via le plugin script pour récupérer la tension renvoyée par la sonde :
image

Je mets le script en PJ. Le script est à adapter selon votre configuration :

  • Ligne 13 è le « board.D5 » correspond au GPIO utilisé pour le câblage au Rasp (dans mon cas le GPIO5, cf. schéma précédent)
  • Ligne 20 è le « MCP.P0 » correspond au port du MCP 3008 auquel est connecté la sonde (pour moi ORP = P0, pH = P1)

J’ai fait le choix de faire 100 mesures de suite et de faire une moyenne pour fiabiliser la valeur.

On récupère ensuite la tension que l’on convertit en pH ou ORP selon les formules que l’on trouve dans la doc de la carte 1130, dans un virtuel :
pH = 7-(2,5-Tension)/(0,257179+0,000941468xTempérature_d_eau) (+/- étalonnage)
ORP = (2,5-Tension)x1000/1,037 (+/- étalonnage)

La valeur (+/- étalonnage) est à déterminer avec des solutions d’étalonnage pour être le plus précis possible sur vos mesures.

Concernant l’automatisation du temps de filtration en fonction de la température et la gestion de l’hivernage/saison, j’utilise l’excellent plugin Piscine qui fait tout ça très bien. La doc est bien détaillée. On peut également gérer via scénario.

Pour la suite j’ai prévu d’ajouter une sonde de température extérieure et d’ajouter la gestion des éclairages, sur le même principe que la pompe, via la carte relais. Une mesure du niveau d’eau peut également être intéressante, j’avais vu un tuto sur le sujet.

En espérant que ça servira à certains d’entre vous.

Bonne journée,

ORP.txt (669 Octets)

3 J'aimes

Bonsoir,
c’est le projet que j’aimerais faire, j’ai commencé avec un sonoff SV alimenté en 5v (merci au tuto de Sigalou) mais en wifi. ici
J’ai bien les remontées des valeurs PH et redox mais la régulation j’aimerais la laisser en autonome, juste un suivi des courbes et utiliser les sondes des boitiers de régul si c’est possible avec des Tés Bnc comme ceux-ci, j’attends de remettre en route la piscine pour faire des test.

mais un tres beau projet!!

1 J'aime

Merci :grin:
Yes son tuto fait partie de ceux qui m’ont inspiré quand j’ai cherché à domotiser tout ça! Celui de Clément Stock également mais je me lancais dans le Raspberry a l’époque et ne voulais pas tout mélanger avec un Arduino :grin:

Bonsoir, merci pour ton partage. Je tente.
Désolé si ma question est nulle, mais à quoi correspondent tes flèches sur ton plan ?

C’est la mise à la masse sur les GPIO du Raspberry :grinning:

Waaaaa, si tu as quelques photos de ton install, alors là, je suis preneur car je pars de loin !

Yes bien sur :slight_smile:
Je t’en mets quelques unes, c’est encore un peu la bazar dans le boitier je n’ai toujours pas soudé la carte principale, je suis toujours avec la plaque de prototypage.
Tu as le Raspberry à gauche, la carte relais en bas à droite avec les 2 cartes ORP/pH. A gauche sur le couvercle c’est l’inter 3 positions pour sélectionner la filtration via l’horloge du tableau ou le pilotage par le Raspberry de la pompe. Au dessus la plaque de prototypage avec une nappe qui va aux GPIO du Raspberry et sur la carte j’ai tout qui arrive : les sondes, le CAN…
20210417_1853491
20210417_1854021
Vue de l’extérieur :
20210417_1856381
Et les sondes juste après le préfiltre (j’ai une micro fuite sur l’ORP :slight_smile: :sweat_smile: :
20210417_1856531

1 J'aime

Mais comment as-tu trouvé le coup de l’ORP, bravo !
Je viens de finir la partie logicielle.
Je m’occupe de celle matérielle à réception du matos.
Merci, top !
PS : ou plutôt pssst ! où as-tu trouvé les raccords étanches à visser pour les sondes ?

Ha yes j’ai pas mis le lien :sweat_smile: J’avais pris 1 truc comme ça


Si c était à refaire j’en chercherai 1 en métal, j’ai 1 micro fuite sur 1 des 2, et à force de resserrer légèrement, je me dis que le filetage va pas aimer. :upside_down_face:
1 J'aime

Bonjour,

Ne trouvez vous pas que les porte-sondes sont hors de prix ?
Chez mano mano c’est 8€ mais avec 7€ de frais de port. Cela fait juste le porte sonde à 15€ :frowning:
Dans ce cas il y a moins cher à Irrijardin 12,15€ https://www.irrijardin.fr/produit/support-pour-sonde-regulation-de-ph
Avez vous des plans sur des sites chinois par hasard ?

De plus, les tarifs des colliers de prise en charge sont entre 2€ et 35€. Y a t’il un risque fort à utiliser un collier à 2€ ?. https://www.rs-pompes.com/colliers-de-prise-en-charge/2307-collier-de-prise-en-charge-o-50x12-irritec.html
Au pire si c’est vraiment il y a une fuite je basculerai sur un plus cher cependant si vous avez des avis, je suis preneur.

Merci d’avance pour vos expériences.

Bonjour,

Concernant la sonde de température, c’est la version 50 mm que vous avez utilisé ?

Cordialement
Eric


Remi31

Mimic33

12m

Je me régale, elle est top ton installation.
et je découvre tout le potentiel des gpio !
Bon, j’ai pommé le MPC3008 :partying_face:
mais allez, je tiens la ligne !

Quelle est cette carte rouge, sur la deuxième photo, reprenant l’id des gpio derrière la nappe ?

Effectivement je m’étais fait la remarque à l’époque aussi j avais pas vraiment trouvé de truc moins cher, j’en avais commandé plusieurs pour économiser les fdp.
Pour le collier, perso j’en prendrai 1 avec 4 vis de fixations. Si ton plastique est de mauvaise qualité, et que tu places ta sonde dans 1 endroit où il fait chaud en été (moi par exemple c est dans un cabanon et quand ça tape la température grimpe pas mal), ça risque de jouer et le joint pourrait ne plus assurer l’étanchéité. Alors que 4 vis de fixation, pas dans l’axe de la sonde les efforts sont mieux repartis. Après déformation pro’ je mets ceinture et bretelle :crazy_face:
Après tu peux tenter et recommander si souci mais ça te fera repayer. J’avais mis un lien plus haut c’était 1 dizaine d euros j crois.

1 J'aime

Comment ça 50?j crois le diamètre c était 12mm. Tu as les liens plus haut :+1::hugs:

Haha merci ça fait plaisir. L’inconvenient des GPIO c est le filaire, mais c est vrai que si t’es pas loin de ta zone d’implantation tu peux faire des trucs top pour pas cher! :hugs:

C est juste une carte pour reporter les GPIO sur une plaque de prototypage avec la nappe. Il fait que je me soude le circuit imprimé final ça fait 1 an que je me dis ça :crazy_face:

Merci pour tes réponses.
Le lien mène à une sonde de température de 50mm de longueur si je ne me trompe pas.
Bon en fait cela dépend du collier de fixation.

Le 50 vient du connecteur BNC 50ohm. La sonde elle fait 14,7cm de long. L’important c’est le diamètre pour le porte sonde : 12mm.

Boarf, je me demande si c’est vraiment nécessaire cette infinité de soudure puisque cela fonctionne bien ainsi et, comme l’installation est statique, ne risque pas de bouger.