Conception d'un capteur analogique 4-20mA

De GCE Electronics
Révision datée du 6 avril 2019 à 18:57 par Fgtoul (discussion | contributions) (→‎Sur IPX800 V4)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

CAPTEUR 4-20mA

Montage2Capteur20mA.png
Nom CAPTEUR 4-20mA
Famille IPX800 V3 & V4
Wiki créé le 05/09/2017
Wiki mis à jour le 07/09/2017
Auteur fgtoul

Conception d'un capteur analogique 4-20 mA

CapteurNO3.PNG      CapteurNF3.PNG

un capteur de niveau d’eau dans un forage

Nous allons voir comment créer un capteur analogique compatible avec l’IPX800 V3 ou V4

Principe :

Dans le puits, des interrupteurs à flotteur seront immergés à différentes profondeurs, répartis régulièrement le long d’un support lesté (tube, goulotte, corde nylon, ...).

Chaque flotteur sera monté de manière à fermer le circuit si le niveau l’atteint ou le dépasse, et à l’ouvrir si le niveau passe plus bas. Fermé, le switch constituera un shunt.

Le courant contournera la résistance associée. Cela aura pour effet de baisser la résistance globale du circuit et ainsi faire monter l’intensité. Le courant sera alors proportionnel à la hauteur d’eau.

Attention : Il est obligatoire d'utiliser des câbles torsadés pour constituer une boucle 4-20 mA.

Voici le schéma :

Capteur4-20-principe.PNG

La diode sert de protection contre l’inversion de polarité.


Déterminons les besoins.

Tous les contacts fermés (puits plein) , le courant ne doit pas dépasser 20mA. Le seuil minimal sera de 4mA lorsque les contacts seront tous ouverts (puits vide).

Nous allons décider arbitrairement que lorsque le niveau passe sous chaque flotteur, le courant devra baisser de 1 mA. Cela nous donnera alors 20-4=16 étages, soit 16 résistances et 16 capteurs.

Pour l’exercice nous aurions pu utiliser 8 étages au lieu de 16, les flotteurs auraient été placés à 1 mètre d’intervalle au lieu de 0.5m. Nous aurions alors fait le calcul pour 2mA par résistance.

   remarque : Le seuil bas à 4mA permettra la détection de panne ou de court-circuit si le courant devient nul.

Déterminons la valeur des résistances.

Tout au long de ce chapitre nous utiliserons la loi d’Ohm : U=R.I

- Soit R20 la résistance de limitation de courant à 20mA. Nous partirons sur une base de 21mA, la diode consommant environ 1mA.

le circuit est alimenté en 12 Vcc, il faut donc R20 = 571Ω , (R=U/I <=> R=12/0.021 <=> R=571).

- Soit R19 la résistance correspondant au flotteur le plus haut. Nous voulons que le courant soit alors de 19 mA (+1 pour la diode) lorsque tous les autres switches sont fermés.

R19=12/(0.019+0.001) <=> R=600Ω

Or, nous avons déjà placé une résistance de 600Ω en série (pour la butée à 20mA), notre résistance R19 sera donc de 600-571 = 29Ω

- Soit R18 la résistance correspondant au second flotteur. Si l’eau passe plus bas, alors le switch est ouvert, le plus haut également tandis que tous les autres sont fermés. Nous voulons un courant de 18 mA.

R18=12/(0.018+0.001) <=> R18=631Ω

Nous avons déjà 600 + 31 en série, donc R18 =631-600=31Ω

- Ainsi de suite jusque R4. Nous voulons que pour le niveau le plus bas, le courant soit de 4 mA.

R4=12/(0.004+0.001) <=> R4=2400Ω

Or, la somme des résistances en place est déjà de 571 + 29 + 32 + 35 + 39 + 44 + 50 + 57 + 66 + 77 + 91 + 109 + 133 + 167 + 214 + 286 = 2000Ω

Donc R4=2400 - 2000 <=> R4=400Ω

Nous avons donc calculé toutes nos valeurs de résistances, mais dans la pratique,2 raisons feront que ce ne sera pas aussi simple :

  • Les valeurs calculées n’existent pas en standard
  • Le courant traversant une diode n’est pas constant, mais est fonction de ses caractéristiques et de la tension à ses bornes.

Alors, pour gagner en précision, nous opterons pour des potentiomètres 25 tours que nous règlerons individuellement. Les courants sont très faibles, des potentiomètres 1/4 W suffisent, je prendrai des 1/2 W par précaution.

Méthode de réglage

Si l’alimentation n’est pas stabilisée, Il ne faudra pas oublier d’ajouter un régulateur de tension (avant tout réglage), car toute variation provoquerait des écarts de mesure et, dans le pire des cas, risquerait d’endommager l’IPX800. Il faudra alors prévoir un LM7812 ou équivalent (ne figure pas sur le schéma).

En plaçant un ampèremètre en série (voir le schéma précédent), il sera alors très facile de régler chaque niveau.

  • Fermer tous les contacts
  • Régler le potentiomètre R20 pour obtenir 20mA
  • Ouvrir les contacts un à un, en partant du niveau 20 et régler le potentiomètre correspondant jusqu’à ce que le courant soit en corrélation.

Connexion à l’IPX800

Prérequis : Lire les articles «  Les entrées analogiques sur IPX800 V3 » ou « Les entrées analogiques sur IPX800 V4 »

Rappel : dans les articles cités ci-dessus, nous avons vu qu’en plaçant une résistance de 165Ω à la sortie d’un capteur analogique 4-20mA, nous pourrons lire la tension à ses bornes. Celle-ci devrait alors varier entre 3.3V (à 20mA) et 660 mV à 4mA.

Si nous ajoutons une résistance de 165Ω, la résistance globale de notre montage serait modifiée, et il est fort à parier que nous n’obtiendrions plus 20 mais plutôt 15mA maximum.

Nous allons donc remplacer notre résistance R20 de 600Ω par 2 résistances en série, une de 406Ω, l’autre de 165Ω. Nous pourrons lire la tension aux bornes de cette dernière.


Capteur de niveau analogique 0-3.3V.gif

Déterminons les formules de notre capteur :

Nous savons que nous obtenons 3.3V pour 9 mètres d’eau et 4mA lorsque le niveau est à zéro (en fait 99 cm, ce qui correspond à la hauteur minimale nécessaire pour garder la pompe immergée en toute sécurité)

Sur IPX800 V4

A 20mA, l’IPX800 retourne la valeur digitale 65535

A 4 mA, l’IPX800 retourne 13107

La plage [0 ;9] est donc répartie sur 52428 valeurs, le pas est donc de 9/52428=0.00017166

   digital vers analog : (x - 13107) * 0.00017166
   analog vers digital : (x / 0.00017166) + 13107
Sur IPX800 V3

A 20mA, l’IPX800 retourne la valeur digitale 1023

A 4 mA, l’IPX800 retourne 204

La plage [0 ;9] est donc répartie sur 819 valeurs, le pas est donc de 9/1023=0.010989

   digital vers analog : (x - 204) * 0.010989
   analog vers digital : (x ÷ 0.010989) + 204