Bonsoir je voudrais savoir comment on fait pour du PH plus a la place du PH moins ?
Merci d"avance.
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 :
Cependant, je pense qu'il y aura quelques différences par rapport au SUPER projet de Tartiflette :
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 :
@fafidio : votre installation est d'une propreté exemplaire
Bravo ! C'est du très bon boulot, et très propre.
Ça fait plaisir
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:
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 :
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.
Bonjour TheLapin,
Une des solutions évoquées plus haut est de relier le GND du 5V de l'Arduino et des sondes à la terre. Dans les faits cela fonctionne (j'ai pu le vérifier sur une courte durée seulement) mais je ne suis pas certain que cela soit très académique et safe pour l'Arduino sur le long terme (je ne suis pas électronicien).
J'ai commandé un poolterre et ferai les essais avec et sans isolation galvanique. Je ferai un retour sur le forum. Si cela fonctionne, il est clair que c'est une meilleure solution (et plus économique)
D'après mon expérience, j'ai essayé de collecter les sondes et l'arduino à Gnd sans obtenir le résultat.
Cependant, la solution que j'ai adoptée avec "Edulcowater" est moins chère que le Phidjet et résout les problèmes d'isolation galvanique.
Il fonctionne depuis un an sans problèmes.
Je serais assez curieux de voir ce qu'il y a "électroniquement" dans le "Edulcowater"
Mais impossible de trouver des infos techniques.
Si quelqu'un a des info sur le sujet, je suis preneur
J'ai regardé l'arduino de LouLou74 et faut avouer que c'est sympa comme module. Par contre, le prix s'éloigne de l'esprit "Arduino".
Et je dois trouver une alim et un boitier pour tout le système