Aller au contenu
Nico882

Interface HC2/arduino - gestion de la désinfection d'une piscine (PH / REDOX)

Recommended Posts

Bonjour à tous,

 

depuis quelques temps et petit à petit je tente de domotiser la gestion de ma piscine grâce à la HC2 de fibaro.

malheureusement le chemin est semé d'embuche...

 

j'en suis à l'étape de gestion de la désinfection et du niveau de PH du bassin.

l'été dernier j'ai tenté une solution simple que je vais tenté de vous décrire ci-dessous (mais je vous le dis tout de suite à ça ne fonctionne pas) :

1) partie physique :

- une chambre de mesure en parallèle du système de pompe avec un capteur de température (DS18B20), une sonde PH et une sonde REDOX.

- un module FGBS001 de fibaro connecté au capteur de température DS18B20

- un adaptateur Adaptateur pH/ORP 1130 (https://www.gotronic.fr/art-adaptateur-ph-orp-1130-12112.htm) connecté à la sonde PH

- un adaptateur Adaptateur pH/ORP 1130 (https://www.gotronic.fr/art-adaptateur-ph-orp-1130-12112.htm) connecté à la sonde REDOX

- un module FGRGB-101 configuré en capteur 0-10V sur 4 entrées. 2 entrées sont connectées aux adaptateurs PH/ORP 1130.

- un module FGS-222 connecté (sur chaque sortie) à 2 pompes doseuses (circuit de dosage du PH- et circuit de dosage du chlore)

- un module FGS-222 connecté à la pompe de filtration

 

2) partie logiciel :

j'ai développé plusieurs petits programmes sous forme de scène qui gère les fonctions suivantes :

- Fonctionnement de la filtration liée à la température du bassin. 4 cycles par jour; temps de filtration = température /2 / 4

- Mesure des niveaux de PH et de REDOX du bassin. Mesure du voltage en entrée du FGRGB-101 puis transformation à l'aide des formules adéquates en valeur de PH et de REDOX (affichées dans des modules labels)

- Gestion de la désinfection du bassin :

+ la première fonction traite du niveau de REDOX dans le bassin. je simule un comportement de régulateur PI pour commander une injection de chlore liquide à chaque cycle de filtration en fonction de la mesure de REDOX du bassin.

+ la seconde fonction traite du niveau de PH dans le bassin. je simule un comportement de régulateur PI pour commander une injection de PH moins à chaque cycle (en différé du chlore pour ne pas perturber les éléments chimiques) en fonction du niveau de PH du bassin. ça ne vous aura pas échappé que je ne gère pas l'injection de PH+ mais dans ma région c'est quasi inutile.

 

alors me direz-vous pourquoi ça ne fonctionne pas???

tout simplement parce que le module FGRGB-101 possède une résolution catastrophique de 0,1V. ce n'est pas suffisant pour capter efficacement les variations des sondes (plus exactement les niveaux de potentiel en sortie des adaptateur PH/ORP 1130). Pour vous donner une idée, on capte la variation de PH avec une résolution de 0,4PH et le redox avec 70mV. il faudrait à minima 0,1PH et 10mV pour une réelle efficacité.

 

Donc j'en suis arrivé à la conclusion qu'il me faut remplacer le module FGRGB-101 par un élément plus efficace et capable de remonter les mesures au HC2. je me suis tourné vers arduino (plus exactement un Arduino MEGA 2560 R3 et un shield wifi RN171). La résolution de lecture des entrées analogiques est bien meilleure et parfaitement adaptée à mon besoin.

 

c'est maintenant que les choses se compliquent! j'essaye de pousser une requete HTTP du module arduino vers un module virtuel dans le HC2 pour transférer les mesures des 2 sondes.

malheureusement, je n'y arrive pas.

 

dans un premier temps, je tente une requette test qui modifie l'état d'une lampe dans un module fibaro. du coté de l'arduino cela semble fonctionner sans problème mais côté HC2 ça ne fonctionne pas.

je vous mets ci-dessous le code pour la requette que je tente de construire dans l'arduino :

 if (wifly.open(server, 80)) {
        Serial.println(F("Making HTTP Request to HC2..."));
        // Make a HTTP GET Request to HC2:
        wifly.print(F("POST /api/callAction?deviceID=39&name=turnOn"));
        wifly.println(F(" HTTP/1.1"));
        wifly.println(F("Host: 192.168.1.20"));
        wifly.println(F("Authorization: Basic XXXXXXXXXXXX")); // Authorization: Basic test:test
        wifly.println(F("Content-Type: text/html"));
        wifly.println(F("Connection: close"));
        wifly.println();

        Serial.println(F("HTTP Request Send to HC2"));
         
        /*wifly.stop (); */
    }
    else {
      Serial.println(F("Connection Failed.")); 
      }

(nota : j'ai volontairement modifié le login et mdp en base 64 par "XXXXXXXXXXXX". bien évidemment, j'utilise mon login et mdp correctement transcodé en base 64 pour la vraie requette)

 

 

si ce sujet trouve une solution, cela donnera peut-être quelques idées à certain heureux possesseur d'une piscine...

 

en tout cas merci d'avance de votre aide

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

hormis le fun de tout construire soit même, pourquoi pars tu sur une solution DIY et pas sur une solution IPX800 + extension X200PH ?

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour PITP2,

 

merci pour ton retour rapide et mes excuses pour cette réponse tardive (15 jours de déplacement).

 

je ne connaissais pas la solution IPX800. Elle me semble très intéressante en effet mais après quelques recherches je ne vois pas de solution de communication sans fil de type wifi entre l'IPX800 et le réseau (puis vers le HC2). cela me pose un véritable problème car je n'ai pas de moyen de tirer de câble Ethernet jusqu'à mon local piscine.

du coup, sauf si une solution sans fil IPX800 existe, je serai vraiment intéressé pour solution mon problème initiale à savoir l'interface entre arduino et HC2.

 

merci d'avance pour ton retour.

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu peux utiliser du CPL , cela fonctionne très bien depuis quelques années ainsi chez moi :)

 

D'ailleurs piscine à 31 degrés aujourd'hui ;) alors on dit  qu'il pleut tjrs en belgique ?? :2:

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour,

le bus qui relie l’ipx800v3 au X200pH 

peut il etre de 30m?

l’ipx dans garage et le x200 dans local piscine.

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

×