Relevez la température avec une IPX800v3 et la Zibase

Mercredi, 12 Mars 2014 06:00 Domotics
Imprimer
Note des utilisateurs: / 14
MauvaisTrès bien 

Frédéric est un lecteur fidèle de TLD. Il vous propose un article sur l'utilisation de l'IPX800, de la Zibase et de la sonde de température TC4012. Frédéric utilise une entrée analogique de son IPX800v3 pour relever la température. Il lie ensuite la Zibase à l'IP800v3 afin de partager la température avec son système de domotique.

Lisons tout de suite son article ...

Cette mise en oeuvre a été importante pour moi car je devais mesurer plusieurs températures d’une pièce bien trop éloignée du réseau zwave, et largement hors de portée des petites sondes Orégon. Mais heureusement un câble réseau était bien présent dans cette pièce et l'IPX800v3 a été la solution de secours !

J’ai construit ce qui suit en glanant à droite et à gauche quelques infos sur divers forums et sites.

J’ai réussi (enfin je l'espère) à créer cette sonde virtuelle qui va afficher et corriger la valeur donnée par l'IPX800V3.

Je note tout de suite que je ne suis pas expert, il y a peut-être une ou des erreurs sur mon installation. Il est surement possible d’améliorer ce montage ?  N’hésitez pas à commenter et/ou compléter en pied de cet article ...

 

Installation et paramétrage de la sonde sur l’IPX800V3

La sonde filaire TC4012 a les caractéristiques suivantes :

- Large plage de température : -40°C à +125°C

- Précision : ±2°C (max.), 0°C à +70°C

- 10.0 mV/°C

- VDD = 2.3V to 5.5V

- Longueur de câble : 5 mètres. (Pour le modèle testé)

- Diamètre du capteur : 6mm.

 

Pour le raccordement électrique, il faut suivre ces indications :

- Conducteur Bleu: +

- Conducteur Blanc: V-Out ( à connecter sur une entrée analogique, j’ai choisi arbitrairement le première : attention c’est analog0 dans le xml et non 1, il y a le même décalage que pour les entrées T-Out ou rien )

- Conducteur nu: Gnd ou masse

 

Voici le câblage de la sonde de température sur l'entrée analogique de l'IPX800v3.

 

Ouvrez votre navigateur web et connectez-vous sur l'interface graphique de l'IPX800v3. Un simple clic sur l’entrée analogique correspondante vous permet de choisir le type de sonde connectée et de paramétrer une ou plusieurs sorties en fonction de la température relevée.


Voici la capture d’écran de l'IPX800v3:

 

La sonde filaire TC4012 n’est pas très précise, en tout cas son exploitation via l’IPX800V3 donne une précision de 0.3 en 0.3°C. De plus je constate tout de même un décalage important avec une sonde Orégon THGR810 et même une SRT814 d'Everspring qui sont toutes les deux 2.6°C en dessous de la mesure annoncée par l’IPX800 !


Mais grâce à la fonction mathématiques présente sur la Zibase, nous allons pouvoir corriger ce problème d’erreur statique (post-offset) et retrouver une valeur conforme et qui évoluera sur le modèle d’une Oregon que j’ai choisi comme référence.

Nous aurons simplement une définition de 0.3°c et non du dixième de degré comme l’Oregon. Après avoir installé la sonde filaire TC4012 sur l'IPX800V3 et après l'avoir paramétré sur l'entrée analogique correspondante, vous devez voir un écran comme celui-ci :

 

Le XML de l’IPX800 vous donne la valeur suivante :

Un incrément de 1 de cette valeur fait augmenter l’affichage de 0.3°C.

 

Récupérer la valeur contenue dans le xml de l’IPX800 à l'aide de la Zibase

Il faut créer un premier scénario sur la Zibase qui va aller lire la valeur dans le xml de l'IPX800 et la stocker dans une variable. J'ai choisi arbitrairement V50 ...

Affecter la valeur contenue dans « analog0 » (entrée 1 IPX800 lue sur le xml) à la variable V50. Cette valeur est récupérée via une commande HTTP. Attention ma valeur de stimuli temporel est à 60s pour mes essais. C'est  bien trop bas et nullement nécessaire à part pour des tests. Je pense régler ensuite une mesure toutes les 10-12 minutes.

 

Traiter et corriger la valeur récupérée dans V50.

A la fin du scénario précédent, je lance un deuxième scénario avec pour "ACTION : ALIMENTER UNE SONDE". Il permet d'envoyer cette valeur dans une sonde virtuelle (Je n'ai pas encore essayé de regrouper dans un seul et unique scénario pour limiter mais j'imagine que cela fonctionne ? ).

Il reste à trouver les valeurs de la formule de conversion:

 

J'ai procédé au calcul suivant. De façon rigoureuse, nous avons trois inconnues :

- 1) le pré-offset que je note x ;

- 2) le coefficient de conversion que je note y

- 3) le post-offset que je note z.

 

Nous pouvons donc résoudre ce système en retournant brièvement dans nos années Lycée avec un système à trois équations. Pour ma part, j’ai remarqué que la valeur du post-Offset était facile à déduire, puisque c’est simplement la différence entre la valeur affichée par l’IPX800V3 et celle donnée par ma sonde Oregon.

Une rapide montée en température en positionnant les deux sondes devant une sortie d’air de mon PC m'a validé cela. L'écart est toujours le même : 2.6°C. Voilà déjà z de trouvé ! Reste x et y, mais avec deux équations pour deux inconnues cela devrait aller vite.

Il nous reste donc :

-> I0 = (Vx + pré-offset) * coefficient de conversion

-> I0 = (Vx + x ) * y

Avec I0 = valeur donnée par l’IPX800 en °C suite à sa conversion interne. Et Vx = valeur brute donnée dans le XML de l’IPX800.

 

Pour résoudre cela je relève donc deux points de mesure :

-> I0 = 24.6°C  donne Vx = 231  et I0 = 26.2°C donne Vx = 236.

 

Il n'y a plus qu’à résoudre :

-> 24.6 = (231 + x ) *y

-> 26.2 = (236 + x ) *y  → x = (26.2/y) – 236

 

Donc pour trouver y :

-> 24.6 = ( 231 + (26.2/y) -236 ) * y

-> 24.6 = 231y + 26.2 – 236y

-> 236y – 231y = 26.2 - 24.6

-> 5y = 1.6 → y = 1.6/5 = 0.32 = y

 

Il reste à déduire x :

-> 24.6 = (231 +x) * 0.32

-> 24.6 = 231*0.32 + 0.32x

->24.6 – 73.92 = 0.32x

-> x = (24.6 - 73.92) / 0.32 = -154.125 = x

 

Mais attention, il ne faut pas oublier que la Zibase affiche 23° si elle reçoit le chiffre 230. Il faut donc corriger le coefficient de conversion, 0.32 (à multiplier par 10 !) devient 3.2 et le post offset de -2.6 à -26 ( Attention, pas de modification nécessaire sur le pré-offset ).

 

Il n'y a plus qu’à rentrer ces valeurs :

 

Récupérer l’ID de la sonde virtuelle et afficher la température.

Maintenant dans le suivi d'activité de la Zibase, vous pouvez récupérer l'ID de la sonde virtuelle qui va vous permettre de créer votre sonde visible sur l'application :

 

Reste à créer la sonde à l'aide d'un périphérique virtuel.

 

Et voilà la mesure de l'IPX800 corrigée et affichée sur l'icône de notre nouvelle sonde.  :D`

Quelques essais de montée en température ... et cela semble correct. J'espère que cela pourra aider d'autres membres et lecteurs de Touteladomotique.com ! Le montage n'est vraiment pas compliqué. C'est à la portée de Monsieur tout le monde.

Merci à Frédéric pour sa contribution...

Vous n'avez pas compris un point ? Vous vous posez une question ? Vous pouvez nous contacter via le bouton Assistance sur votre gauche. N'hésitez pas à demander un rendez-vous téléphonique avec Domotics.

Vous avez aimé cet article ? Vous pouvez le partager sur vos réseaux sociaux pour soutenir son auteur et l'encourager à écrire de nouveaux articles ...

 

Cet article vous est proposé par Domotics: Domotics habite dans la région Toulousaine. Il est ingénieur en informatique et électronicien amateur. La domotique est pour lui une passion qu'il pratique depuis 1999. En 2003, il décide de partager ses expériences sur le magazine et le forum de touteladomotique.com.

En 2014, il crée sa société de conseils en Domotique ID2domotique.com et sa boutique en ligne laboutiquededomotique.com. Profitez de l'expérience et l'expertise de Domotics en faisant appel à ses services. Les conseils sont gratuits ...

Mise à jour le Lundi, 10 Mars 2014 22:43