Objectif
Depuis 2 ans, je cherche à comprendre le fonctionnement et l’interprétation des données récupérées auprès d’une sonde Redox. J’ai une piscine au Sel et contrôler le Redox semble une bonne manière de surveiller la désinfection de l’eau.
La page Contrôle domotique Redox (ORP) ou Ph d’une piscine vers Jeedom décrit mon installation et il manquait la gestion du Redox car à la création de mon installation, je n’étais pas arrivé à comprendre malgré les nombreuses lectures de forums et tuto. Chacun utilisant sa propre formule. Merci également au support Phidgets de qui m’a orienté vers la bonne méthode.
Description de l’installation
Un schéma valant toujours mieux qu’un long discours, voici l’installation
Difficultés rencontrées
Il était difficile de franchir les étapes pour “traduire” l’info de la sonde puis celle du 1130 qui entrait dans l’input analogique de l’ADS1115 puis le décoder pour l’envoyer à Esp Esay et à Jeedom. L’objectif était de trouver une valeur en mV.
Informations récupérées de la sonde Redox
La sonde mesure le potentiel d’oxydoréduction (appelé Redox) définie entre -2000mV et +2000mV. Si le Redox est supérieur à 0, l’eau est oxydante. Plus cette valeur est élevée, plus il y a de chlore dans l’eau.
Cet article décrit très bien le principe des sondes ORP : http://www.piscine-clic.com/news/2014/02/potentiel-redox-kezako/
Le problème est que cette sonde sort un courant très faible, on ne peut pas la lire précisément de cette manière, il faut y ajouter un amplificateur qui va par la même occasion relever la tension pour la lire.
Le Phidgets 1130
La documentation complète de cet adaptateur se trouve ici : http://www.phidgets.com/docs/1130_User_Guide
Ce qui va nous être utile est la formule de décodage en fonction :
A la lecture de cette formule, on se rend compte qu’une règle simple de proportionnalité entre la valeur obtenue en sortie et un coefficient à définir ne fonctionnera pas. Les points de calibrages proposées par l’ESP Easy ne seront doncpas fiables puisque rien n’est linéaire.
La difficulté est de trouver quelle valeur prend Voltage et le lien entre ce Voltage et la valeur récupérée sur l’entrée analogique A0 du ADS1115.
Calage du Gain sur l’ADS 1115
La configuration de l’entrée analogique du ADS1115 est simple, la seule difficulté est le calage du gain. en effet le 1115 est équipé d’un amplificateur à gain programmable. C’est donc lui qu’il faut bien caler sinon rien ne fonctionnera correctement.
Pour savoir quelle valeur choisir, j’ai testé l’ADS1115 sur les deux valeurs spécifiques de fonctionnement, 0v et Vcc (proche de 5v) sur tous les gains, et j’ai finalement choisi le gain qui me permet de tester une valeur supérieure à 4.096v donc, il faut utiliser ce gain :
2/3x gain (FS=6.1444V)
- Pour A0=GND=0v, j’ai obtenu un résultat de -19
- Pour A2=Vcc=5.02v, j’ai obtenu un résultat de 26697
Ce qui me convient, toutes les mesures se feront entre ces deux valeurs.
Avec cette configuration, le pas de mesure est donc de 6.144v/32767=0.000187506v
- 6.144v correspond à la valeur FS choisie dans le gain
- 32767 est le nombre de pas. en effet l’ADS1115 a une résolution sur 16 bits (allant de -32768 à 32767). Le ADS1015 est quant à lui sur 12 bits donc -2048 à 2047.
Nota : quelques documentations se contredisent, parfois on utilise FS/32767 parfois Vcc/32767. Pour ma part FS donne de manière empirique une bonne correspondance.
Calcul du “Voltage” du 1130
La première étape de notre calcul est de trouver la valeur de Voltage à injecter dans la formule fournie dans la documentation du 1130.
Ainsi, il y a forcement une correspondance entre la valeur mesurée entre A0 (Valeur mesurée entre AIN0 et la masse) et la valeur de Voltage qu’on recherche.
Dans Esp Easy, on choisira bien cette configuration :
Méthode de calibrage
J’ai utilisé une dose tampon à 468mV pour effectuer mes tests.
Étape 1 : Plonger la sonde dans la solution tampon 468mV
Étape 2 : Mesurer au voltmètre la valeur de la tension entre Data et GND des 3 fils de sortie du 1130, je trouve : 2.01v
Étape 3 : Relever sur Esp Easy la valeur donnée sur A0, je trouve 10636
Je sais grâce à d’autres essais de valeurs qu’il me faut ajouter un offset (ou valeur de calibrage), je vais utiliser la formule suivante :
Voltage = (A0 + MonOffset) * ValeurDuPas
- comme expliqué plus haut la valeur du pas est ValeurDuPas=0.000187506v (ou on peut utiliser 6.144/32767)
Dans mon exemple A0=10636, mon offset, je l’ai calé à 99, on a donc le calcul suivant :
Voltage = (10636 + 99) * 0.000187506 = 2.01287393, le voltmètre nous donnait 2.01v
Nous avons donc à ce stade le lien entre la valeur donnée par le ADS1115 et la tension de sortie du 1130.
Calcul de la valeur Redox
Comme la documentation du 1130 nous l’explique, nous allons utiliser la formule suivante
Dans mon calcul, je vais multiplier par 1000 pour avoir le résultat en mV.
ORP(mV) = 1000*(2.5-Voltage)/1.037
Si je reprends les valeurs avec la solution tampon 468mV, je trouve :
ORP(mV) = 1000 * (2.5 – 2.01287393)/1.037 = 469.74mV
Je vais considérer que la valeur est bonne !!
Configuration ESP Easy
Dans ESP Easy, il a fallu trouver une manière de rentrer une formule complexe dans peu de caractères, le champ formule est limité, voici la configuration que j’ai utilisée :
Récap et 3 tests avec 3 solutions tampon
Une fois les formules mises en place, j’ai re-testé mon dispositif avec 3 solutions tampon (cf. tableau)
Solution tampon 1 :
- Solution est estampillée 468mV
- Ce type de solution se vend dans le commerce et est assez simple à trouver.
- C’est la colonne orange du tableau qui donne 463mV comme résultat, c’est satisfaisant.
Solution tampon 2 :
- C’est un sachet commandé chez les amis chinois, estampillé 256mV
- C’est la colonne verte du tableau qui donne 255mV comme résultat, c’est satisfaisant.
Solution tampon 3 :
- Solution est “ancienne”, de l’année dernière, elle est estampillée 650mV mais sa valeur a probablement varié avec le temps.
- C’est la colonne bleue du tableau qui donne 632mV comme résultat, c’est satisfaisant.