Différences entre les versions de « Conception d'un capteur analogique 4-20mA »
Ligne 77 : | Ligne 77 : | ||
====Connexion à l’IPX800==== | ====Connexion à l’IPX800==== | ||
'''Prérequis :''' | '''Prérequis :''' | ||
Lire les articles « Entrées analogiques sur IPX800 V4 » ou « Entrées analogiques sur IPX800 V3 » | 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. | '''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. |
Version du 5 septembre 2017 à 11:39
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 :
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.
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’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