Les entrées analogiques sur IPX800 V3

De GCE Electronics
Révision datée du 21 février 2022 à 12:46 par Kevin.richard (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche


ANALOGIQUES

AnalogiqueV3.png
Nom ANALOGIQUES
Famille IPX800 V3
Wiki créé le 31/08/2017
Wiki mis à jour le 20/12/2017
Auteur fgtoul

Définition

Un capteur analogique est un dispositif permettant de mesurer une grandeur physique telle que pression, humidité, luminosité, température, conductivité, ....

A la sortie du capteur, nous obtenons une grandeur électrique, fonction de la grandeur physique mesurée. La sortie peut prendre une infinité de valeurs continues.

Le signal des capteurs analogiques peut être du type :

  • sortie tension
  • sortie courant

Ces capteurs peuvent être raccordés aux entrées analogiques de l'IPX800, moyennant quelques précautions.



Les Entrées analogiques de l’IPX800 V3

Les entrées analogiques de l’IPX800 permettent de mesurer des tensions, allant de 0V à 3.3V maximum. Il convient de connecter le capteur entre le GND et 3.3V. Le fil correspondant à la mesure sera connecté à l’entrée analogique (cas des capteurs TC-100 ; TC4012 ; SHT-X3 vendus par GCE)

IPXv3 1.jpg

Si des tensions supérieures à 3.3 V doivent être mesurées, alors il faudra utiliser un pont diviseur afin de ramener cette tension à 3.3v maximum.

Si le capteur nécessite une alimentation plus élevée, ne pas lui raccorder le 3.3V.

Le Convertisseur Analogique vers Numérique

Acronyme : CAN en français, ADC en anglais

Chaque entrée analogique de l’IPX constitue un CAN, capable de traduire une tension (de 0 à 3.3 V) en une grandeur numérique codée sur 10 bits (Résolution) pour la V3.

Chaque bit peut prendre 2 valeurs (0 ou 1).

Nous obtenons alors 210 combinaisons différentes, soit 1024 valeurs possibles (de 0 à 1023 inclus) pour la V3

IPXv3 2.PNG

Pour une valeur analogique 0 V, l’IPX800 retourne une valeur numérique 0.

Pour une tension pleine échelle 3.3 V (le maximum) , l’IPX800 V3 retourne 1023.

Entre chaque point de mesure, il y a donc 3.3/1023=0.00323 V

IPXv3 3.PNG

Donc, pour chaque grandeur analogique (tension de 0 à 3.3v), le convertisseur renvoie une valeur de 0 à 1023, représentant le multiple de 0.00323 V le plus proche de la valeur mesurée.

Pour retrouver la valeur analogique mesurée, il suffit alors de calculer le produit entre la valeur numérique fournie par l’IPX et 0.00323. Nous avons là une fonction « voltmètre ».

Exemple :

l’IPX800 V3 renvoie une valeur brute de 619.

619 * 0.00323 = 1.999 soit 2 V (arrondi)

La tension appliquée à l’entrée analogique est donc de 2 V

Application : un anémomètre analogique

Soit un anémomètre avec les caractéristiques suivantes :

Sortie : 0.4V à 2V

La tension va varier de 0,4V (Vent à 0 m/s) à 2V ( vent à 32,4 m/s).

Nous n’utilisons donc pas la totalité de la plage possible de lectures de l’IPX qui peut aller jusqu’à 3.3v.

- Pour une lecture de 2V, nous aurons donc une valeur numérique de 2 / 0.00323 = 619.

619 sera donc la valeur numérique maxi calculée par l’IPX pour 32.4 m/s

- Pour une lecture de 0.4v nous aurons une valeur numérique de 0.4 / 0.00323 = 123.

123 sera la valeur minimale calculée par l’IPX800.

Nous avons donc 619 - 123 = 496 valeurs numériques utilisables par l’IPX800 correspondant à une plage [0.4 V ; 2 V].

Voyons cela sur un graphique


IPXv3 4.PNG


Avec le graphique nous voyons que l’IPX peut faire correspondre 496 valeurs proportionnelles à la tension de sortie de notre capteur.

Cela revient donc à dire que l’IPX peut faire correspondre 496 valeurs proportionnelles à la vitesse du vent, dans la plage [0 ; 32.4] m/s

Chaque valeur numérique retournée est donc un multiple de 32.4/496=0.06532 m/s

De là, nous déduisons la formule (avec prise en compte de l’origine à 123)

Soit A la valeur analogique recherchée, et D la valeur renvoyée par l’IPX.

Nous avons déterminé que A=(D-123) * 0.06532

Dans l’IPX800, nous écrirons la formule sous la forme

décimal vers analog : (x - 123) * 0.06532

Inversement Soit A la valeur analogique recherchée, et D la valeur renvoyée par l’IPX.

Nous savons que A = (D - 123) * 0.06532

<=> A / 0.06532 = D -123

<=> D = (A / 0.06532) + 123

Dans l’IPX800, nous écrirons la formule sous la forme

analog vers décimal : (x / 0.06532) + 123

Pour vérifier la formule, prenons la valeur 619 calculée ci-dessus,

elle retourne bien (619-123)*0.06532 = 32.4

Mesurer une tension supérieure à 3.3 V

Principe

La tension applicable sur une entrée analogique de l’IPX800 doit impérativement être inférieure à 3.3v.

Au dessus, elle ne sera pas mesurée et vous risquez d’endommager l’IPX.

Si vous devez mesurer une tension plus grande, il faut utiliser un pont diviseur de tension.

Le but n’est pas ici d’expliquer le fonctionnement d’un diviseur de tension, mais de voir son application à l’IPX800.

Nous savons que l’impédance interne de l’entrée analogique de l’IPX800 est de 4700 Ω

IPXv4 6e.PNG

Aux bornes de l’entrée analogique, la tension Vs est telle que

   Vs = (R1/(R1+R2)) x Ve

Exemple d’un capteur analogique avec sortie 0 – 10v

IPXv3 6.PNG

   La résistance R1 est interne à l’IPX800. Elle est représentée ici pour la compréhension du schéma. Ne pas la câbler.
   Adaptez les branchements en fonction des recommandations constructeur.

Vs = (R1/(R1+R2)) * Ve

Isolons le terme R2 :

R2 = R1 * (Ve / Vs) - R1

Remplaçons par les valeurs numériques. Nous ajouterons 10% de marge à notre tension d’entrée par mesure de sécurité (soit 11V au lieu de 10V) :

R2 = 4700 * ((11 / 3.3) – 4700
<=> R2 = 10966 Ω

Il conviendra de prendre une résistance de 11 kΩ. (valeur standard supérieure la plus proche)

Recalculons la tension max aux bornes de l’IPX

Vs = (R1/(R1+R2)) * Ve
<=> Vs = (4.7 / (4.7 + 11)) * 10
<=> Vs = 3.0 V

Pour 10 V en sortie du capteur, l’IPX800 ne « verra » donc que 3.0 V aux bornes de son entrée analogique.

Nous devons nous assurer que notre résistance peut supporter le courant qui circulera

  • Ve = I * (R1 +R2)
<=> I=Ve/(R1+R2)
<=> I=10 / (11000 +4700) = 0.00063 A
  • P = Ve * I
<=> P=10 x 0.00063 A
<=> P=0.007 W
=> Une résistance 1/4W suffira.

Utilisation de capteurs analogiques avec sortie en courant

Le courant de sortie est fonction linéaire de la gamme de mesure.

Exemple : variation de 0 à 20 mA pour une mesure de 0 à 40°C.

Nous pouvons les rencontrer sous différents formats :

  • 0-20 mA : fréquent
  • 4-20 mA : le plus répandu ; permet de détecter les ruptures de conducteur ou les défauts de mesure (si I < 4mA)
  • 0-10mA : rare
  • 0-16mA : rare

Les avantages de ces capteurs :

  • Pas de perte de signal sur une longue distance. Le courant est constant sur toute la longueur de la boucle
  • Peu sensible aux interférences électromagnétiques

Utilisation des capteurs 0-20 mA ou 4-20 mA

Pour utiliser ce type de capteur, il suffit d’ajouter une résistance de 165 Ω aux bornes de la sortie du capteur.

Avec la loi d’Ohm, nous prévoyons en effet que lorsque la sortie délivrera 20mA (son maximum), la tension aux bornes de la résistance sera

U=R * I
<=>U = 165 * 0.020
<=>U = 3.3 V

Nous faisons mesurer cette tension par l’IPX.

IPXv3 7.PNG

  Attention :
  - Si le capteur est susceptible d’émettre un courant plus fort (22 mA dans certains cas), utilisez une résistance de 150 Ω
  - Il existe des capteurs à 3 ou 4 fils. Adaptez les branchements en fonction des recommandations constructeur.


Ci-dessus le cas d'un Capteur Actif. Gâce à son alimentation propre, il génère un courant (ou une tension) proportionnel au phénomène mesuré.
Il fonctionne comme un générateur.

IPXv3 10.PNG

Ci-dessus le cas d'un capteur passif. Souvent de type résistif, Il se contente de transformer le courant ou la tension qui le traverse en une grandeur proportionnelle au phénomène mesuré


La formule sera calculée en fonction de la tension aux bornes de la résistance.

Exemple d’un capteur de température 0 à 40°C en 4-20 mA (voir la méthode plus haut)

Avec la loi d’Ohm, à 20 mA, nous savons que nous aurons 3.3V (le CAN traduira par 1023)

De même, à 4 mA, nous aurons 0.66 V (le CAN traduira par 204)

La plage de mesure [0 – 40°C] est donc répartie sur 819 valeurs, soit un pas de 0.0488

La formule de notre capteur sera donc

   digital vers analog :  (x - 204) * 0.0488
   analog vers digital :  (x / 0.0488) + 204

Pour mesurer la tension aux bornes d’une batterie

Comme nous l’avons vu plus haut, pour mesurer une tension supérieure à 3.3V, il faut avoir recours à un pont diviseur de tension.

IPXv3 8.PNG

Rien de bien compliqué dans ce cas de figure.

La seule chose qui doit susciter votre attention est de bien déterminer la valeur de la résistance R2 en fonction de la tension à vide de la batterie.

Dans le cas d’une batterie entretenue (connectée à un chargeur permanent), bien mesurer la tension en charge et y ajouter 10% de marge,

la résistance R2 ne sera alors plus à calculer sur 12 V, mais plutôt sur 20 V.

Utiliser les entrées analogiques sur IPX800 V3

L'IPX800 V3 possède 4 entrées analogiques de bases. Avec l'ajout d'extensions X-400 Analog (1), X-400CT(2) et X-200PH (3) il est possible de porter ce nombre à 16 maximum.

Consulter

Sur l'interface de l'IPX, l'affichage des analogiques se fait sur 4 écrans, à raison de 4 par écran.

AnalogiquesV3accueil.png

Configurer

Le bouton Edit de chaque entrée analogique donne accès à la configuration.

AnalogiquesV3config.png

Il est possible de

  • nommer l'entrée,
  • modifier le type de sonde connectée.
 cela configure alors les formules pré-programmées des capteurs reconnus.
 Dans la liste, nous trouverons Analog qui permet d'afficher directement la valeur digitale calculée par le CAN.
 Le capteur Volt qui, comme nous l'avons vu plus haut, applique la formule x * 0.00323
 les autres capteurs vendus par GCE sont également disponibles dans la liste.
 NB : Pour utiliser un capteur inconnu par l'IPX800, il faudra demander les codes sources du site Web embarqué et modifier la page index1.htm.
   Si vous modifiez le type de sonde, cliquez immédiatement sur Save afin de rafraîchir l'écran.
  • Il est possible de programmer des actions en fonction des mesures analogiques. Ces actions s'appliqueront sur la ou les sorties (relais) sélectionnées.
   3 ordres possibles :
   * ON  : les sorties associées sont mises ON. 
   * OFF : les sorties associées sont mises OFF.
   * INV : l'état de la sortie est inversé. de ON il passera OFF ou inversement.

Les actions sont paramétrées en fonction de seuils analogiques Haut et Bas.

La valeur de ces seuils est à saisir dans l'unité du capteur connecté.

   Important : le fonctionnement des seuils est le suivant :
   * Si la mesure analogique égale ou dépasse la valeur du seuil Haut, l'action correspondante est exécutée 1 fois.
   * si la mesure analogique devient inférieure à la valeur du seuil Bas, l'action correspondante est exécutée 1 fois.
   * Entre les 2 seuils, c'est l'hystérésis. Le relais reste dans un état indéfini.
   Règle : pour qu'une action soit déclenchée sur franchissement de seuil, il faut impérativement que le seuil opposé ait été franchi auparavant.

Exemple : Cas d'une sonde de température de l'air pour mise en hors-gel d'une piscine

configuration :

  • Seuil Haut=1.9°C ; relais 4; action OFF
  • Seuil bas = 1°C ; Relais 4 ; Action ON

Lorsque le seuil haut est franchi, l'action programmée est exécutée, le Relais 4 passe sur OFF. La pompe de la piscine est arrêtée. il faudra attendre que la mesure passe sous le seuil bas pour que le relais 4 repasse ON. Si la température ne descend pas sous le seuil bas mais reste dans la plage de l’hystérésis puis remonte au delà du seuil haut, cela n’a aucun effet sur le relais 4, il est toujours OFF.

Le principe est le même pour le seuil bas, il faut un franchissement du seuil haut au préalable pour qu’un changement d’état s’opère lors du franchissement du seuil bas.

AnalogiquesV3exemple5.png

Notifier

La partie inférieure de l'écran de configuration des entrées analogiques permet de mettre en place des notifications.

Le serveur peut être

  • un serveur personnel exécutant ainsi le script de votre choix,
  • un Webservice de notification comme PushingBox,
  • une autre IPX800,
  • autre.

La zone de saisie PUSH 1 permet de mettre en place la notification sur passage au dessus du seuil haut.

Pour notre sonde analogique, nous pourrions faire appel à un serveur Http exécutant l'envoi d'un SMS "Arrêt de la pompe"

La zone de saisie PUSH 2 permet de mettre en place la notification sur passage sous le seuil bas.

Pour notre sonde analogique, nous pourrions envoyer un SMS "Démarrage de la pompe"

Historiser

Les Notifications examinées ci-dessus n'envoient les données que lors des dépassements de seuils.

Ce n'est donc pas par ce biais que vous pourrez historiser les données de vos capteurs.

Il vaudrait mieux envoyer les données à intervalle de temps régulier, ce que vous pouvez faire via un autre écran :

cliquez sur le menu M2M en bas de l'écran puis PUSH.

AnalogiquesV3PushGlobal3.JPG

Sur cet écran, vous pouvez paramétrer l'URL du serveur vers lequel vous voulez envoyer vos données, puis définir un intervalle de temps. Dans notre exemple, nous envoyons 2 valeurs analogiques au site internet Notifix.fr (4) Vous remarquerez l'usage des étiquettes $A03 et $A04. En effet, chacune des entrées analogiques peut être ainsi ciblée dans les notifications. C'est ce que nous appelons les étiquettes. À chaque requête, l'IPX800 remplace l'étiquette par la vraie valeur. Pour les analogiques, les étiquettes vont de $A01 à $A16.

Attention :

  • ne pas activer les Modes "On Events" et "On time" simultanément.
  • ne pas envoyer les données trop souvent pour ne pas saturer les serveurs.
 Pour Notifix, la direction de GCE Electronics demande un délai minimum de 10 minutes, soit un paramètre valorisé à 600 secondes.

Branchements multiples

  Pour un même capteur, il est possible de définir plusieurs scenarii.
  En effet si vous connectez le capteur à plusieurs entrées analogiques simultanément, pour chaque entrée analogique vous pourrez alors définir des seuils et des actions différentes.
  AnalogiquesV3multiple.PNG

Notes

(1) : X-400 Analog : La X-400 Permet d'ajouter 4 entrées analogiques 0-3.3V / 10 bits à votre IPX800 V3. Il est possible d'ajouter jusqu'à 3 X400 à l'IPX800 V3.

(2) : X-400CT : La X-400CT permet d'ajouter 4 pinces ampèremétriques à votre IPX800 V3. Il est possible d'ajouter jusqu'à 3 X400CT à l'IPX800 V3.

(3) : X-200PH : La X-200PH permet d'ajouter une sonde pH et une sonde redox dans votre installation. Fonctionne avec une IPX800 V3 à partir du firmware 3.05.58 . En fonction du canal sélectionné à la mise en route, les données seront lisibles sur les analogiques 13 à 16. Voir le tableau ici.

(4) : Notifix.fr est un site web développé par GCE Electronics pour accompagner votre IPX800. Ce site permet d'historiser automatiquement vos données et de créer des graphiques ou statistiques. Pour des fonctions encore plus évoluées, GCE a mis Notifix V2 à la disposition des utilisateurs d'IPX800 ou d'Ecodevices.


Annexes

@Didierm a créé deux outils permettant de calculer les résistances nécessaires pour créer un pont diviseur de tension ou de courant. Je vous invite à consulter son tutoriel et de télécharger ses fichiers. https://forum.gce-electronics.com/t/fichier-dechelle-0-20ma-et-tension-pour-ipx/962?u=fgtoul