Différences entre les versions de « Conception d'un capteur analogique 4-20mA »

De GCE Electronics
Aller à la navigation Aller à la recherche
Ligne 4 : Ligne 4 :
==Conception d'un capteur analogique 4-20 mA ==
==Conception d'un capteur analogique 4-20 mA ==


===un capteur de niveau d’eau dans un forage==
===un capteur de niveau d’eau dans un forage===


Nous allons voir ici comment créer un capteur analogique compatible avec l’IPX800 V3 ou V4
Nous allons voir ici comment créer un capteur analogique compatible avec l’IPX800 V3 ou V4
Ligne 37 : Ligne 37 :
Soit R20 la résistance de limitation de courant à 20mA. Nous partirons sur une base de 21mA, la diode consommant environ 1mA.
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).
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.
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
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
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
Ligne 47 : Ligne 47 :
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.
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
R18=12/(0.018+0.001) <=> R18=631


Nous avons déjà 600 + 31 en série, donc R18 =631-600=31
Nous avons déjà 600 + 31 en série, donc R18 =631-600=31
Ligne 53 : Ligne 53 :
Ainsi de suite jusque R4. Nous voulons que pour le niveau le plus bas, le courant soit de 4 mA.
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
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
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
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 :
Nous avons donc calculé toutes nos valeurs de résistances, mais dans la pratique,2 raisons feront que ce ne sera pas aussi simple :
Ligne 67 : Ligne 67 :


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


• Fermer tous les contacts
• Fermer tous les contacts
Ligne 87 : Ligne 87 :


[[Fichier:Capteur de niveau analogique 0-3.3V.gif]]
[[Fichier:Capteur de niveau analogique 0-3.3V.gif]]
====Déterminons les formules de notre capteur : ====
Nous savons que nous obtenons 3.3V pour 9m d’eau et 4mA lorsque le niveau est à zéro (en fait moins d’un mètre, ce qui correspond à la hauteur minimale nécessaire pour garder la pompe immergée en toute sécurité)
=====Sur IPX800 V4=====
A 20mA, l’IPX 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'''

Version du 5 septembre 2017 à 12:35


Conception d'un capteur analogique 4-20 mA

un capteur de niveau d’eau dans un forage

Nous allons voir ici 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 rigide (tube).

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 l’impédance globale du circuit et ainsi faire monter l’intensité. Le courant sera alors proportionnel à la hauteur d’eau.

Voici le schéma :

Capteur4-20-principe.PNG

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


Déterminons les besoins.

Tous les switch fermés (puits plein) , le courant ne doit pas dépasser 20mA. Le seuil minimal sera de 4mA lorsque les switches 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.

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 ¼ W suffisent, je prendrai des ½ W par précaution.

Méthode de réglage : En plaçant un ampèremètre en série (comme sur 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.

Si l’alimentation n’est pas stabilisée, Il ne faudra pas oublier d’ajouter un régulateur de tension, car toute variation provoquera 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).

Connexion à l’IPX800

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

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, l’impédance globale de notre montage sera 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 9m d’eau et 4mA lorsque le niveau est à zéro (en fait moins d’un mètre, ce qui correspond à la hauteur minimale nécessaire pour garder la pompe immergée en toute sécurité)

Sur IPX800 V4

A 20mA, l’IPX 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