Go Down

Topic: PoolMaster: gestion et domotisation de ma piscine (Read 5338 times) previous topic - next topic

Loulou74

Dec 19, 2018, 06:06 pm Last Edit: Mar 25, 2019, 08:31 am by Loulou74
Bonjour à tous,

Nouveau sur ce forum, je vous présente la solution que j'ai développé pour l'automatisation et la domotisation de ma piscine.

Mon projet tourne sur un Controllino MAXI (Arduino Mega2560 + shield Ethernet).

Ce qu'il fait:

- mesure et régulation PID du pH et du Redox avec prise en compte de la température de l'eau pour les mesures
- valeurs de calibrage stockées en mémoire EEPROM
- gestion de la filtration et module RTC pour gestion du temps et des plages horaires
- serveur web, affiche une petite page web qui résume l'état du système quand on s'y connecte via son adresse IP
- intégration dans mon système domotique (Jeedom) via MQTT pour la remontée d'infos (historique des mesures, alarmes diverses, etc) mais aussi pour du pilotage manuel du système via Jeedom (calibrage des sondes, syncro de l'horloge RTC, mise en route manuelle de pompes, etc)

Le code et le détail (en anglais) sont ici: https://github.com/Loic74650/PoolMaster














vincent84

Pas mal cette petite boite Controlino ! mais peut être un peu chère.
Mais beau projet (j'ai un peu le meme avec une DUE + ecran TFT mais je n'ai pas encore implémenté l'ethernet).

Vincent

Loulou74

Oui ça fait un certain budget, mais bon si tu achètes un Mega2560 + la carte relais + le RTC + le shield Ethernet + le boitier DIN pour faire tenir le tout + les frais de port, voire les droits de douane + le temps que tu passes à assembler le tout, tu obtiens un truc pas très industriel pour pas beaucoup moins cher!  :smiley-wink:

Loulou74

#3
Jan 23, 2019, 12:49 am Last Edit: Jan 25, 2019, 01:27 pm by Loulou74
Mise à jour du projet avec photo du boitier complet






Lolotoulouse

Bonjour Loulou74, bravo pour ta réalisation,

Je suis 100% novice en ardouino.

J'ai commandé un   ESP-12E WeMos D1 WiFi ainsi que l'amplificateur de signal, une sonde et un Y BNC( pour peut être me reprendre sur la sonde existante) dans le but de réaliser une sonde Ph pour la piscine à intégrer a jeedom.

J'aurai aimé savoir si ton code peut s'adapter pour transmettre les infos en wifi ?

Sur une seule carte D1, est il possible de connecter aussi une sonde de temperature à plonger dans l'eau et récupérer l'info dans jeedom. Si oui quelle sonde me conseilles tu ?

Pour résumer je souhaite un arduino en wifi qui envoi pH et temperature de l'eau et qui ne commande rien.

Merci de ton aide

Loulou74

Bonjour Lolotoulouse

Malheureusement je n'ai pas d'expérience avec les Wemos mais je pense que les modifs à effectuer sont probablement légères.
A ta place je commencerais par chercher un exemple Wemos de communication de données de mesure (température ou humidité) par le WiFi et je piocherais ensuite dans le code de PoolMaster ce dont j'ai besoin

A+

TheLapin

Bonjour
Je réalise un projet relativement similaire mais avec un electrolyseur au sel et quelques autres trucs de mon cru.
Bref, En étudiant votre code, j'ai découvert plein de choses interressantes :
 - les watchdog pour rebooter en cas de blocage
 - les softtimer

par contre, je n'ai pas trouvé ou se situais la compensation de la température pour les lectures ORP. Est-ce que cela corresponds au 20 mv de "marge" posé sur la consigne ?
Est-ce que cette compensation est reellement nécessaire ?

A+

Loulou74

Bonjour TheLapin,

Je n'ai pas vu à ce jour de source d'info sur la correction en température de la mesure Orp.

J'avais mis en place une correction en température pour la mesure du pH mais je l'ai enlevé après avoir ajouté la calibration multi-points. Je la rajouterai peut-être à l'avenir mais si tu traces sous Excel la courbe tu verras que le gain est limité. En particulier, on veut être assez précis lorsque la piscine est utilisée et dans mon cas elle est régulée en température donc l'intérêt est faible.

Quand aux "20 mv de marge" sur la consigne de l'Orp, je ne vois pas de quoi tu parles. Peux-tu détailler stp? Ma valeur de 750mV par défaut serait-elle un peu trop haute?

TheLapin

Pour les 20mv, je crois que j'ai confondu avec un autre projet  :o  : il permet d'arrêter l'électrolyseur lorsque la valeur a atteint le point de consigne +/- 20 mv.

Et si on regarde bien, la solution de calibrage varie d'environ 20 mv entre 15° et 30° donc on peux admettre  que la température influe assez peu sur cette plage de mesure.

Allez, je m'y remet...

Loulou74

Bonjour à tous,

Mise à jour du projet avec en particulier:

  • un meilleur portage du code vers l'Arduino Mega2560, il suffit maintenant de choisir le type de carte (Controllino-Maxi ou Arduino Mega2560 dans l'IDE avant de compiler
  • un exemple d'intégration du système dans l'application smartphone (cloud) "Blynk" (cf. capture d'écran au premier post)
  • prise en charge d'un capteur de pression et de la température ext.
  • de nouveaux écrans LCD


Le code et le détail (en anglais) sont ici: https://github.com/Loic74650/PoolMaster

A+

TheLapin

je suis fan  :)  :)  :)

Tu as les références du capteur de pression ?

Pour la température, j'ai l'impression qu'elle est donnée depuis l'extérieur via requête JSON : j'ai bon ?
pourquoi ne pas avoir collé un second capteur 1-wire ?

Note : je ne suis pas sure que allumer le moteur 10 minutes par heure en cas de gel (température <2.0) soit une bonne chose pour le moteur.




Loulou74

je suis fan  :)  :)  :)

Tu as les références du capteur de pression ?

Pour la température, j'ai l'impression qu'elle est donnée depuis l'extérieur via requête JSON : j'ai bon ?
pourquoi ne pas avoir collé un second capteur 1-wire ?

Note : je ne suis pas sure que allumer le moteur 10 minutes par heure en cas de gel (température <2.0) soit une bonne chose pour le moteur.
Cool, mon premier fan  :D

J'ai rajouté la ref du capteur de pression dans la liste hardware sur Github.

Pour la temp. ext. ce n'est pas exactement une requête JSON mais plutôt un système extérieur (Jeedom dans mon cas) qui publie la température ext. sur un topic de Mosquitto. PoolMaster y est abonné et reçoit donc l'info. J'ai fait cela car mon local technique est mal placé pour ajouter une sonde 1-wire mais la modif est simple si besoin.

Enfin, pour l'allumage moteur toutes les 10 minutes par heure en cas de gel tu as raison. Tartiflette (du projet Domogarden) m'a déjà fait la remarque et conseillé d'allumer la pompe tant que la pompe est <-2deg. Tu confirmes? Je suis preneur de tout retour d'expérience pour améliorer ce projet

TheLapin

je confirme que c'est ce que font la plupart des boitier hors gel (un peu comme la consigne de pression)

Il y a une temperature de déclanchement + une marge pour l'extinction pour éviter les yoyo

en gros
si Temperature air < 2.0 deg -> Allumage de la pompe
si Temperature air > 4.0 deg -> extinction pompe

Par contre, je ne connais pas les "bonnes" valeurs a mettre.
2 et 4 me paraissent pas mal, voir un peu moins


Je suis fan car le code est "très propre" avec plein de bonnes idées.

De mon coté, c'est un peu plus compliqué car je veux pouvoir tout régler via l'afficheur LCD.
A cela, j'ajoute que je realise moi même les interfaces Arduino/ORP et PH. (60€ pour 4 ampli op, c'est abusé !)

Dans la partie Amélioration, j'ai prévu de faire un mode "Nettoyage de filtre assisté pour madame" qui affiche la position des vannes et allume/éteint la pompe quand il faut (j'ai vu un capteur de turbidité...)

Par contre, j'ai encore du mal a voir comment calculer le temps de filtration, surtout au début de saison: il faut filtrer le jour et en plusieurs fois.

TheLapin

J'ai retrouvé l'autre projet de supervision de la piscine a base d'arduino aussi

http://clement.storck.me/blog/2014/08/controle-et-supervision-de-la-piscine/

Il y a quelques truc a étudier la bas.

Autres questions :
 - tu as une chambre d'analyse
 - un pool terre ?
 - si oui, le pool terre est-il relié a la masse des sonde PH/ORP ?

Loulou74

OK pour le filtrage continu en fonction de la température ext. avec hystérésis. Je vais réfléchir à l'implémenter.

De mon coté, c'est un peu plus compliqué car je veux pouvoir tout régler via l'afficheur LCD.
A cela, j'ajoute que je realise moi même les interfaces Arduino/ORP et PH. (60€ pour 4 ampli op, c'est abusé !)
J'avais réfléchi à implémenter tout via le LCD mais je me laisse plutôt l'option via la page web (faut que me perfectionne en HTML avant cela...) car PoolMaster est assez orienté "connecté" donc je pars du principe qu'il sera toujours connecté au réseau.

Pour l'ampli ORP/pH je suis intéressé de voir les perfs que tu obtiendras.

Filtration: pourquoi faut-il filtrer en plusieurs fois?

J'ai retrouvé l'autre projet de supervision de la piscine a base d'arduino aussi

http://clement.storck.me/blog/2014/08/controle-et-supervision-de-la-piscine/

Il y a quelques truc a étudier la bas.

Autres questions :
 - tu as une chambre d'analyse
 - un pool terre ?
 - si oui, le pool terre est-il relié a la masse des sonde PH/ORP ?
Je connais ce blog, il est bien.
Oui j'ai une chambre d'analyse achetée sur le site où j'ai acheté les pompes péristaltiques (cf. liste hardware, c'est du super matos). J'ai également un pool terre branché à la masse de mon réseau électrique et également à la masse des sondes. Pas très académique mais cela a grandement stabilisé les mesures. Pour l'instant je n'utilise plus les isolateurs galvaniques décrits dans mon schéma, je dois les retester pour voir si cela apporte un plus

Go Up