pH metre DIY via ESPHome

Bonjour, Depuis environ 2 ans, je contrôle la pompe de ma piscine et mon robot Polaris avec home assistant et 2 smart switch Athom que j’ai insérés dans le boitier existant avec des interrupteurs qui permettent de revenir à l’état initial en cas de problème (ou vente de la maison !!). J’ai aussi installé une sonde de température (Dallas sur ESP32) qui remonte la température de l’eau dans HA quand la pompe tourne et qui permet de régler le temps de fonctionnement de la pompe en fonction de l température de l’eau. Tout ceci fonctionne bien donc je passe à l’étape suivante : Mesure du pH et de l’ORP puis dans un troisième temps, injection de pH+ et de Chlore avec des pompes péristaltiques.

J’ai donc lu votre discussion avec beaucoup d’intérêt, j’ai appris beaucoup de choses et je suis arrivé a la configuration suivante :

1 sonde PH chinoise (pas trop cher puisqu’il faut apparemment la changer tous les ans)

1 sonde ORP chinoise (pas trop cher puisqu’il faut apparemment la changer tous les ans)

2 Phidgets 1130 (surtout parce qu’ils permettent d’obtenir le bon rapport d’amplification et le bon offset pour le pH ou ORP avec un simple jumper)

2 ESP32 (car le convertisseur AD de l’ESP32 est de 12 bits, vs 10 bits pour le Wemos mini, ce qui devait peut-être suffire pour cette application en permettant ainsi de s’affranchir des ADS1115. Par contre je ne sais pas si on peut faire de l’entrée différentielle sur l’ESP32)

2 chargeurs de téléphone 5V (pour alimenter séparément les ESP et les Phidjet 1130 et de cette façon maintenir l’isolation électrique entre les deux chaines de mesures, ce qui apparemment est très souhaitable.

Pour l’instant je n’ai fait que quelques essais avec une sonde pH et " une merde chinoise 4502" pour vérifier le fonctionnement avec l’ESP32, ESPHome et Home Assistant, et je dois dire que ça fonctionne plutôt bien.

Avant de passer à la suite et commander d’autres composants, j’aimerai bien profiter de votre expérience et avoir vos commentaires sur cette configuration qui a sûrement des défauts, sachant que je ne cherche pas la perfection d’une mesure de labo, simplement une configuration qui fasse le job pour ma piscine.

Merci d’avance et bonne soirée.

Bonjour @Lepelot
Je suis surpris du bon fonctionnement avec le 4502? Ta sonde est elle bien placée dans le circuit de filtration, ou l’as tu mise dans un verre (dans ce cas cela fonctionne bien). En effet, pour les raisons expliquées plus haut cette carte est très mal filtrée et l’électrode pH- est référencée à 2,5V, donc très sensible aux perturbations. As tu un traitement électrolyseur à sel ou galet chlore?
Pour ma part, je viens de compléter mon installation avec une sonde ORP et Phidgets, dans un premier temps je n’ai pas mis d’ isolation galvanique (convertisseur DC/DC) entre les alims des deux Phidgets et je constate que les sondes ne sont pas perturbées contrairement à ce que j’avais pu lire par ailleurs sur des forums. La mesure pH et températures sont bien stables, par contre je constate une baisse continuelle de mon ORP que je ne sais pas expliqué (pb stabilisant ou autres?).
Je vais essayer de mettre mes convertisseur DC/DC sur chaque voie pH et ORP pour voir si cela s’améliore, mais je ne vois pas le rapport? Par contre, je ne sais pas si dans ton cas, le différentiel est nécessaire avec les Phidgets? Pour ma part je l’ai mis par précautions.

Merci Mick pour cette réponse rapide:

  • Pour l’instant je suis dans un verre d’eau pour vérifier l’intégration dans HA, c’est cette partie là qui marche plutôt bien, mais j’ai bien l’intention de passer en Phidjets
  • J’ai construit un porte sonde et donc je m’apprête a vérifier le fonctionnement en vraie grandeur.
  • Ma piscine est au chlore.
  • Les deux sonde étant complètement séparées avec leur propre alimentation et retour par wifi, penses tu qu’une autre isolation soit nécessaire?
  • Que penses tu d’attaquer directement les ESP32 sans les ADS1115?
  • J’ai aussi une carte comme ca Capteur numérique isolé pH ORP avec des fichiers Arduino que j’aurai bien voulu essayer, mais je ne sais pas comment lire le bus I2C avec ESPHome et je ne trouve pas grand chose sur internet. A tout hasard, si tu as des infos là dessus, je suis preneur. Les N° que je trouve sur la carte ne donnent rien sur google …
  • Je n’ai pas l’impression que les entrées analogiques de l’ESP32 permette le différentiel
    Merci pour ton aide.
  • Pour l’instant je suis dans un verre d’eau pour vérifier l’intégration dans HA, c’est cette partie là qui marche plutôt bien, mais j’ai bien l’intention de passer en Phidjets

Je comprends pourquoi ça marche, j’avais le même résultat avant de passer dans la réalité, et la déception avec un bruit de +/-0,7 pH? Mais avant de passer à Phidgets tu peux vérifier mes dires, peut être que tu auras plus de chance avec du chlore, car je suis sous électrolyse donc plus de perturbations. Mais je te conseille Phidgets plus cher mais plus sûr et fiable.

J’ai construit un porte sonde et donc je m’apprête a vérifier le fonctionnement en vraie grandeur.

Je te conseille de mettre au porte sonde que tu as créé un pool terre, si tu n’en as pas. Le porte sonde pH ou ORP doit se placer toujours après la filtration (donc pas à cette position). Autre conseil, suite à mon expérience, j’ai constaté que le pH , l’ORP et la Temp, variaient quand la filtration s’arrêtait. Je suppose que le tuyau se vide, aussi il faudrait mettre les sondes sur un point bas, pour que le tuyau soit toujours plein et que les mesures ne soient pas faussées.

  • Les deux sonde étant complètement séparées avec leur propre alimentation et retour par wifi, penses tu qu’une autre isolation soit nécessaire?

Je ne pense pas, pour moi actuellement avec les Phidgets j’ai la même alim et je n’ai pas de problèmes apparents, mais j’ai mes convertisseurs DC/DC en réserve pour isoler si besoin?

  • Que penses tu d’attaquer directement les ESP32 sans les ADS1115?

Je pense que oui car je crois que le convertisseur AD de l’ESP a une meilleure résolution que mon ESP8266, d’où la nécessité de l’ADS. Regarde les data sheet pour vérifier

  • Je n’ai pas l’impression que les entrées analogiques de l’ESP32 permette le différentiel

Je ne pense pas que cela soit nécessaire avec les Phidgets et si besoin tu rajoutes un ADS.
J’aimerais que les anciens @Bubule et @jrvrcd de ce sujet donnent leurs avis et commentaires, car j’expérimente depuis peu et ne suis pas forcément le mieux placé pour les conseils, que je donne en fonction de mon expérience récente et mes déboires avec le régulateur 4502c chinois, que la communauté avait apparemment agréée malgré ses défauts? Ou n’ai je pas de chance?

C’est assez surprenant (à mon sens).
La Phidgets, si c’est bien ce schéma :
image
Ressemble fort aux premiers schémas que j’ai utilisé. Une pompe de charge pour créer le -5V.
Le reste, pas de vrai isolation à part quelques petits filtrages.
Mais ces filtrages n’ont (normalement) pas la capacité de filtrer les parasites du fluide, importés par la sonde, qui sont d’une amplitude facteur 10 ou 100 de la plage de mesure de celle-ci.

Dans mon cas, ce schéma ne suffisait pas pour enrayer les variations de mesures.

Je pense que tu as autre chose qui permet de se prémunir des parasites (mesure diff ?, isolation galva par ailleurs ?, … ?).

Là, c’est normal. Pas de parasite dans un verre.
L’essentiel étant effectivement de commencer à faire remonter des mesures fiables dans HA.

La clé est sans doute là pour se prémunir d’une remontée des parasites.
Tant qu’aucun pole n’est relié à la même masse que l’eau (mis à part la sonde elle-même).

Oullà !
Je ne pense pas avoir suffisamment de compétence pour cela. Il n’y a pas d’autre solution qu’expérimenter… Et remonter les informations de ce que l’on constate (bonnes et mauvaises) afin que cela serve à d’autre.

Bonjour @Bubule
Le schéma je l’ai trouvé chez Gotronics dans les caractéristiques données par Phidgets.
Pour l’instant je n’ai pas eu besoin d’isoler les alims, car les mesures sont stables, peut être qu’il y a éventuellement une variation sur une longue durée, mais dans ce cas on ne sait pas si c’est la réalité du pH, l’environnement, la température, la sonde ou la mesure?
Constatation sur les mesures:

  • variation lente du pH en filtration: de 7,32 à 7,4 sur 12h, toujours en augmentation dans la journée, ce qui semble normal?
  • variation brusque lors de l’arrêt de la filtration: pH de 7,4 à 7,8
  • redémarrage de filtration: pH de 7,7 à 7,45
    Ma filtration démarre à 8h00 jusqu’à 20h.
    J’aimerais avoir ton explication sur les variations brusques constatées autant sur le pH que l’ORP, lors de l’arrêt ou marche de la filtration. Pour ma part je l’attribue, à un manque d’eau dans les canalisations? lié à mon installation car j’ai positionné les sondes sur un point eau à la sortie de la filtration et avant ma PAC voir photos:
    IMG_4218
    IMG_4219
    Dans l’ordre en partant de la gauche:
  • sonde pH
  • sonde ORP
  • ancien capteur température de mon électrolyseur
  • capteur température DS18B20
    A droite la pool terre à la sortie de la pompe de filtration
    J’attends tes remarques, merci
    Tu noteras également sur le haut mon boitier avec les 2 Phidgets+ADS+ESP8266 alimenté par une seule alim ( chargeur iphone) via mini USB de l’ESP.

Difficile d’être catégorique. Surtout sur si peu de temps.
Si tu veux valider que les variations brutales de pH sont à attribuer à une vidange de la conduite, tu peux faire un essai en mettant tes sondes à un endroit où tu es sûr que les sondes restent immergées (piscine ?).
Les variations au fil des heures ne me choquent pas en aquariophilie. Le pH monte au fil de la journée pour redescendre la nuit. Cela est lié à la photosynthèse. Dans une piscine, je ne sais pas.
Bien sûr, la mesure évolue en fonction de la température du liquide. Elle devrait normalement être compensée par le soft. Pour ma part, je n’ai pas besoin de compenser, car notre eau est à température constante (25°C). Si ta conduite se vide, sa température peut évoluer. Mais de là à ce que ce soit brutal. J’en doute.

Je pense que votre alim permet de générer une tension 5V flottante. Il n’y a sans doute aucun point référentiel (hormis la sonde) sur le secondaire.
Mais avec deux sondes, celles-ci sont connectées entre elles par le liquide. Je craindrais une interaction. De ce fait, je préférerais une seconde alim indépendante (également avec tension flottante. Mais du coup, avec deux ERP …

As-tu testé si tu relevais une variation de pH en déconnectant la sonde ORP ?

Merci pour ton retour, je te joins en PJ les variations relevés sur les dernières 24h avec 12h de filtration (jour) et 12h d’arrêt (nuit). La sonde ORP ne fait aucun effet, c’était la même chose avant sa présence. Concernant les isolations galvanique, dans tous les cas les sondes seront reliées entre elles par leur électrode ph- et orp- qui sont par construction en contact avec l’eau, donc leur masse (0/5V), et la pool terre. Si je veux deux alims isolées j’ai mes deux convertisseur DC/DC disponibles pour alimenter chaque Phidgets, mais leurs masses seront forcément reliées à la fin par les sondes.
Pour info en ce moment il fait trés chaud avec température de l’eau à 27°C

Tu noteras les variations brusques à l’arrêt et au démarrage de la filtration, et je pense que la canalisation se vide et se remplit à chaque commutation, d’où la nécessité de faire une sorte de cuve, en faisant un U dans la canalisation. Ainsi l’eau sera toujours présente sur le point bas.

Je pensais mettre le corp de la sonde Dallas a la terre … qu’en pensez-vous?

Pourquoi? Il y aura un débit assez faible dans le porte sonde, la grosse majorité de l’eau passera toujours par le filtre.

Ce n’est pas fait pour cela, mais en effet dans le porte sonde du capteur,l y a une cavité métallique creuse pour accueillir le capteur et qui pourrait faire office de masse, pourquoi pas? Mais masse moins dense, dans un cas creux dans le vrai pool terre plein.
Après la filtration , pour éviter les impureté avant qui sont filtrées après la filtration. C’est ce que l’on préconise

Oui , j’ai remarqué ca, il faut que je corrige mais ca va être un peu compliqué car le tuyau de refoulement est au raz du sol …

Parfait, je ferai donc l’essai et si ca marche, je ferai l’économie de deux alims et de deux ESP32 pour n’utiliser que celui de la sonde Dallas avec son alim.

l’ADC due l’ESP8266 a une résolution de 10-bit soit une plage de 0 à 1023. Celui de l’ESP32 de 12 bits, soit une plage de 0 à 4095.

Dans mon montage, les sondes attaquent un ADS1115 qui est sur 16 bits, je ne sais pas si le 12 bits suffira?

Pourrais tu partager ces schémas, la comparaison est intéressante?

Le sujet commence à dater un peut. Mais vous y trouverez toutes les informations pour comprendre le cheminement :

Oui, merci Franck, j’ai déjà parcouru cette conversation très intéressante. Pour l’instant j’expérimente avec des modules tout fait, mais je me lancerai peut-être dans la fabrication d’un module un de ces jours.

Je pensais que tu avais mis la main sur le schéma du module chinois 4502, ça m’aurait intéressé de le comparer avec celui des modules Phidgets.

Le schéma chinois est dans un de mes posts précédent, et la comparaison est criante. Aucun précaution sur la mesure, et des circuits gadgets inutiles pour la fonction principale