Domogarden: Gestion de piscine et arrosage intégré

fafidio:
J'ai eu des problèmes de lecture de ph et de redox avec les cartes Phidjet: elles ne sont pas conçues pour fonctionner ensemble dans le même liquide.
Les valeurs de ph et redox n'étaient réelles que lorsque les deux sondes étaient dans deux récipients différents.

J'ai donc résolu avec cet outil

https://www.ebay.it/itm/Misuratore-Controller-Regolatore-di-ORP-Redox-e-pH-EdulcoWater/153048357215?hash=item23a264995f:g:MecAAOSw0RpXlWSA

qui est moins cher que les cartes Phidjet et peut être connecté via port série à arduino: donc je me suis connecté à Serial1 de Arduino mega, j'ai changé le code de lecture de UART, et c'est vraiment précis, libérant Arduino beaucoup de code.

Nextion est 7"

Bonjour je n'ai pas trouvé de doc sur ce produit, pouvez vous me dire comme t vous l'avez interface avec l'arduino ? Cdlt

skoubidoufr:
bonjour,
ca faisait longtemps que je j'y pensais mais je me lance.

Je vais commencer par la récup du ph, du redox et de la température dans un premier temps, pour l'afficher sur mon téléphone, j'ajouterai la regul dans un deuxieme temps.
question: comment raccorder la sonde ds18b20 pour que ce soit etanche? (chambre d'analyse, circuit eau en 50?)

Pour ma part, j'ai acheté un bouchon qui se monte sur un collier de prise en charge que j'ai percé avec un diamètre inférieur à la sonde. puis je l'ai monté en force en ajoutant de la colle PVC.

Bonsoir à tous,

je suis toujours de près le sujet, même si mon projet comporte des différences.
Je souhaite en particulier suivre à distance les mesures et éventuellement agir (pompe et électrolyseur ON/OFF). Un serveur Blynk devrait me permettre cela.

J'ai donc un ESP8266 sur une carte Wemos Mega+Wifi. Et je cherche comment établir un protocole de conversation entre ces 2 éléments pour être certain de ne rien perdre en route...

Pour ne pas polluer ce post, j'en ai ouvert un, différent sur le forum.

Merci par avance de votre aide.

Bonsoir je voudrais savoir comment on fait pour du PH plus a la place du PH moins ?

Merci d"avance.

Bonsoir,
Il faut modifier le code dans la page "permanent", partie injection Ph.

Modifier le code de la façon suivante (signes et seuils):

///////////////////// Injection, consigne 7.4 /////////////////
// si 7.4 > ph => 7.25 (20% injection) Ton=120 Toff=480
if ((filtrationON == 1) && (ph_value_float >= (seuil_ph - 0.15)) && (ph_value_float < seuil_ph) && (StartInjectionPh == 0)){
TonPh = 120;
ToffPh = 480;
StartInjectionPh = 1;
CyclePh = 20;
}
// si 7.25 > ph =>7.10 (50% injection )Ton=300 Toff=300
if ((filtrationON == 1) && (ph_value_float >= (seuil_ph - 0.30)) && (ph_value_float < (seuil_ph - 0.15)) && (StartInjectionPh == 0)){
TonPh = 300;
ToffPh = 300;
StartInjectionPh = 1;
CyclePh = 50;
}
// si 7.10 > ph =>6.95 (75% injection) Ton=450 Toff=150
if ((filtrationON == 1) && (ph_value_float >= (seuil_ph - 0.45)) && (ph_value_float < (seuil_ph - 0.30)) && (StartInjectionPh == 0)){
TonPh = 450;
ToffPh = 150;
StartInjectionPh = 1;
CyclePh = 75;
}
// si ph < 6.95 (100% injection) Ton=600 Toff=1
if ((filtrationON == 1) && (ph_value_float < (seuil_ph - 0.45)) && (StartInjectionPh == 0)){
TonPh = 600;
ToffPh = 1;
StartInjectionPh = 1;
CyclePh = 100;
}
// si ph > seuil ph -> pas d'injection
if ((ph_value_float >= seuil_ph) && (StartInjectionPh == 0)){
injection_phON = 0;
CyclePh = 0;
}

Bonjour a tous.
Finalement, après deux ans de travail et de tests, j'ai presque atteint la fin du projet.
Je voudrais encore une fois remercier Tartiflette d'avoir partagé son projet. En raison d'erreurs dans la lecture des sondes, j'ai dû abandonner les cartes Phidjet, optant pour un système moins cher et opto-isolé appelé Edulcowater (acheté sur eBay). L'appareil dispose déjà de l'étalonnage des sondes intégrées. J'ai donc dû modifier le code d'origine pour la lecture en série des sondes et j'ai supprimé toute la partie de l'étalonnage. Aussi, ayant un électrolyseur au sel, j'ai modifié le code pour avoir une modulation de la puissance au lieu du contrôle de la pompe à chlore.
Enfin maintenant j'ai toujours contrôlé et purifié l'eau.
Merci encore au concepteur du projet et à tous ceux qui m'ont aidé à apporter les modifications nécessaires pour arriver à la fin du projet.




Bonjour

Je me lance moi aussi dans l'aventure avec, au programme :

  • régulation temps d'électrolyseur via Redox
  • gestion temps de filtration selon la température + hors gel
  • capteur de pression (nettoyage du filtre)
  • sans doute de l'arrosage dans un second temps

Cependant, je pense qu'il y aura quelques différences par rapport au SUPER projet de Tartiflette :

  • mon électrolyseur doit fonctionner au moin 4h10 pour avoir l'inversion de polarité dans le cycle donc je dois adapter le temps de filtration et le redox en fonction
  • ma pompe est une pompe a vitesse variable donc le capteur de pression/électrolyseur ne doivent pas fonctionner des le démarrage car la pompe est en amorçage donc a fond
  • je vais étudier la possibilité de commander la puissance de l'électrolyseur et la vitesse de la pompe (l'équipement étant sous garantie, je vais différer la chose
  • j'ai plein d'autres idées...(d'informaticien !!! : conso, temps de fonctionnement des sondes, de l'électrode, bouton de mode manuel, etc..)

Le code de tartiflette est très propre. bravo

Personnellement j'aurais ajouté des #define pour activer/désactiver chaques fonctions facilement (arrosage, pompe PH, etc...)) et un numéro de version dans la ROM pour effectuer l'init automatiquement et gérer les évolutions futures dans perdre le paramétrage

Pour l'IHM, je ne sais pas si je fait comme vous ou si je code un menu avec un afficheur 16x2 ou 20x4 et quelques boutons.

J'ai quelques question pour vous :

  • dans quel boite avez-vous mis votre Arduino/relais/transfo ? (mon local n'est pas du tout isolé/étanche)
  • quel transfo utilisez-vous (j'ai vu des montages a base de 7805. vous avez des liens ?)
  • comment faite-vous les branchements entre l'Arduino et le reste (soudure, fils de tests, ...)

@fafidio : votre installation est d'une propreté exemplaire

Bravo ! C'est du très bon boulot, et très propre.
Ça fait plaisir :slight_smile:

TheLapin:
J'ai quelques question pour vous :

  • dans quel boite avez-vous mis votre Arduino/relais/transfo ? (mon local n'est pas du tout isolé/étanche)
  • quel transfo utilisez-vous (j'ai lu des montages a base de 7805. vous avez des liens ?)
  • comment faite-vous les branchements entre l'Arduino et le reste (soudure, fils de tests, Shield...)
  • sur un autre forum, quelqu'un a fait un équivalent . Cependant, il avait déjà une régulation de PH. Du coup, il a mis un 1130 et un T BNC pour lire la même sonde que son regulateur. Vous pensez pas qu'il y a un risque ?
  • quel environnement de Dev utilisez-vous ? (Arduino IDE, Eclipse, Visual Studio, Amtel Studio ?)

un petit Up + quelques autres questions

Bonjour,

Pour le boitier, j'ai utilisé ça:

boitier

Pour le transfo, un simple adaptateur 5V exterieur au boitier.
Il y a deux régulation 5v à base de 7805.
Le problème avec ce système, c'est que les 7805 chauffent breaucoup. Surtout l'été, et ça abime les composants. Mon afficheur LCD est HS, je pense à cause de ça. Je dois trouver une solution pour palier à ce problème. J'ai pensé à une petite alim a découpage, mais j'ai peur des harmoniques parasites.

Pour le câblage, le mieux c'est de tout souder. Le minimum de connecteurs. Pour bien faire, il faudrait un faire un PCB.

L'environnement de develepoment est l'outil est l'IDE arduino.

tartiflette:
Pour le transfo, un simple adaptateur 5V exterieur au boitier.
Il y a deux régulation 5v à base de 7805.
Le problème avec ce système, c'est que les 7805 chauffent breaucoup. Surtout l'été, et ça abime les composants.

Le transo 5v n'est pas déjà un transfo à découpage ?
C'est très étrange que les 7805 chauffent avec une entrée en 5v.
Pour les parasites, je vois bien une self pour faire un pont LC dans la régulation.

tartiflette:
L'environnement de develepoment est l'outil est l'IDE arduino.

Finalement, je suis parti sur Visual Studio avec Visual Micro qui permet de faire du debug pas a pas. et sur un écran 20x4 avec 4 bouton pour la partie affichage et pilotage (en plus du pilotage directe via app mobile).

Je n'ai pas encore étudié ton code sur le temps de filtration selon la température mais je ne vais pas pouvoir appliquer le même algo car ma sonde de température sera connecté au tuyau de refoulement donc il faut que la filtration soit en marche pour avoir la bonne température.
Du coup, je vais mettre plutôt une heure de départ fixe (le matin à 7h ou 8h selon la saison) et faire varier l'heure de coupure selon la température avec la regle du T°/2).

Je vais aussi appliquer le même algo pour l'hivernage : T°/3 en hiver et départ la nuit à 1h du mat (+un capteur T° de l'air qui met la pompe en marche forcé pour le hors gel)

Dans la série des questions : quelqu'un sait comment fonctionne un électrolyseur au sel au niveau de la cellule ?
je voudrais essayer de récupérer l'info d'inversion de polarité sans perturber la cellule mais je ne sais pas comment faire, ni a quel tension fonctionne celle-ci (un transistor + opto coupleur ?). Si quelqu'un a des infos la dessus, je suis preneur.
L'idée et d'asservir la production de chlore via le redox et de faire fonctionner l'électrolyseur suffisament longtemps pour avoir l'inversion de polarité.

Il me manque encore plein de choses mais je m'éclate a mettre tout ça en place.

Je viens de me rendre compte que j'ai dit une bêtise.
Ce n'est pas une alimentation 5V, mais 9V pour que le 7805 puisse réguler correctement. Peut-être metre un LDO ?

Le filtre LC peut-être une bonne solution

Dans la série des questions : quelqu'un sait comment fonctionne un électrolyseur au sel au niveau de la cellule ?
je voudrais essayer de récupérer l'info d'inversion de polarité sans perturber la cellule mais je ne sais pas comment faire, ni a quel tension fonctionne celle-ci (un transistor + opto coupleur ?). Si quelqu'un a des infos la dessus, je suis preneur.
L'idée et d'asservir la production de chlore via le redox et de faire fonctionner l'électrolyseur suffisament longtemps pour avoir l'inversion de polarité.

Il me manque encore plein de choses mais je m'éclate a mettre tout ça en place.

e m'excuse pour la traduction: il pourrait y avoir des erreurs dues à google.
Mon électrolyseur fonctionne avec un régulateur de puissance et vous pouvez choisir d’inverser la polarité après 2-3 heures ou 4. Il est également doté d’un bouton marche / arrêt pour allumer l’appareil. J'ai donc résolu le problème en connectant les boutons + et - des deux électrolyseurs Arduino et le bouton marche / arrêt à un autre relais. J'ai modifié le code de la tartiflette avec cinq seuils d'oxydoréduction et avec un cycle "pour", je peux savoir dans quel intervalle l'électrolyseur doit intervenir: le code active donc les relais + et - pour donner le bon courant à l'appareil.
En ce qui concerne l’alimentation, j’ai utilisé une switching qui ne pose pas le problème de la surchauffe.

Bonsoir

je suis tombé sur cet article par hasard et après avoir commencé à étudié le code , quel boulot ! bravo à tartiflette.

je vais commencé l'automatisation de ma piscine par un système un peu différent du votre car je suis équipé en domotique knx avec un superviseur lifedomus mais le travail accompli va m'aider grandement dans mes réflexion.
je vais utiliser un module knx arcus avec sonde ph & orp .

@ tartiflette : si jamais tu avais un ordinogramme de réalisé je suis preneur, sinon je vais faire du reverse engineering loll

concernant la gestion d'un électrolyseur, je serais preneur de retour d'expérience. je pensais simplement agir en mode On & Off . logiquement l'appareil mémorise le temps de fonctionnement pour qu'il fasse son inversion de polarité convenablement.
Est ce que vous avez des modèles à conseiller ?

merci de votre aide

pierre jean

pjlet:
concernant la gestion d'un électrolyseur, je serais preneur de retour d'expérience. je pensais simplement agir en mode On & Off . logiquement l'appareil mémorise le temps de fonctionnement pour qu'il fasse son inversion de polarité convenablement.
Est ce que vous avez des modèles à conseiller ?

Bonsoir,
J'ai modifié un peu le code de Tartiflette pour commander l'électrolyseur en mode on/off.
Si le Redox est trop faible, une tempo ajustable démarre avant de mettre en route l'électrolyseur pour être certain que la filtration est lancée.
A chaque minute de fonctionnement un compteur s'incrémente jusqu'à atteindre la consigne d'inversion de polarité (par défaut 60 min)
Les bornes + et - passent par 2 relais, et s'inversent au bout de ce temps choisi.
Il y a une sécurité qui éteint l'électrolyseur quelques secondes pendant l'inversion.

ParisBrest:
Si le Redox est trop faible, une tempo ajustable démarre avant de mettre en route l'électrolyseur pour être certain que la filtration est lancée.
A chaque minute de fonctionnement un compteur s'incrémente jusqu'à atteindre la consigne d'inversion de polarité (par défaut 60 min)
Les bornes + et - passent par 2 relais, et s'inversent au bout de ce temps choisi.
Il y a une sécurité qui éteint l'électrolyseur quelques secondes pendant l'inversion.

Ce que j'ai prévu de faire :

  • pas d'électrolyse si la pompe n'est pas en marche depuis un temps réglable (a chaque démarrage, j'ai 2 minutes d'amorcage a fond)

  • il faut 2 points de consigne : une basse et une haute : si le redox est sous le niveau bas, il démarre l'electrolyseur jusqu'a atteindre le niveau haut (sinon, l’électrolyseur va passer son temps a s'allumer/s’éteindre autour du point de consigne ce qui n'est pas bon.

  • dans ton système, c'est toi qui gère manuellement l'inversion de polarité. Pour ma part, l'électrolyseurs a déjà un mécanisme automatique. Il faut juste que je trouve un moyen d'envoyer l'inversion à l'Arduino (diode + résistance + opto ?). Dans l'idée : des que je suis au point de consigne haut, si le cycle d'inversion n'arrive pas dans les x minutes qui suivent, je peux couper l'electrolyseur. Sinon, je le laisse en marche sns dépasser une valeur max absolue.

  • l'inversion est plutôt de l'ordre de 3-4 h de marche et pas plus de 10 minutes

C'est à peu de choses près, ce que j'ai :

  • l'électrolyse fonctionne seulement si la filtration est en route ET si le Redox est trop faible ou si l'électrolyseur est en marche forcée. Si l'électrolyseur doit fonctionner, cela ne se fait qu'après la tempo réglable.
  • Il y a 2 points de consigne, un haut et un bas, dans le projet de Tartiflette, qui commandent la pompe à chlore : je n'ai pratiquement pas modifié cette partie
  • mon électrolyseur est un Dytech Chlornett qui gère normalement le temps de fonctionnement et l'inversion, selon la température du bassin. Avec l'arduino, l'électrolyseur est en mode manuel.
  • l'inversion est réglable mais j'ai choisi une vraie alternance, 2 heures dans un sens, 2 heures dans l'autre, par exemple. Penses-tu que cela pose un problème ?

Je ne suis pas un expert mais il me semble que les électrodes positive et négative ne sont pas faite de la même composition.
Perso : si tu contrôle l'inversion, je mettrais la même chose que ce que fait ton electrolyeur en automatique. (chez Zodiac, c'est 10 minutes d'inversion toutes les 3h il me semble).
J'ai lu quelque part que pendant l'inversion, il n'y avait pas de production de chlore.

Après, ton appareil est déjà relativement automatisé (régule de PH et commande de filtration selon la t°).
(je n'ai pas compris ce que vient faire la t° dans la production de l'électrolyse)

Bonjour à tous,

Je viens de découvrir ce projet, félicitations à Tartiflette pour le code très propre et l'IHM complète.

De mon coté je viens de redévelopper quelque chose de très similaire avant de découvrir ce projet... Petite différence, je souhaitais intégrer le tout dans mon système domotique (Jeedom) donc il prend en charge le protocole MQTT.

Mon projet:
https://forum.arduino.cc/index.php?topic=586092.0

Sinon au sujet des instabilités de mesure des sondes dont j'ai vu parler plusieurs personnes dans ce fil, en plus des solutions déjà évoquées, on peut ajouter une isolation galvanique de ce type: Gravity: Analog Signal Isolator - DFRobot

Joyeuses fêtes

L'isolation galvanique coûte assez cher quand même et je ne pense pas que ce soit réellement justifié dans ce cas avec un poolterre.

Pour ma part, j'ai trouvé un shéma pour remplacer les 1130 à moindre coût car quand je vois la liste des composant du 1130, je ne vois rien qui justifie un tel prix.