Différences entre les versions de « Conception d'un capteur analogique 4-20mA »
(3 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 8 : | Ligne 8 : | ||
| date-create = 05/09/2017 | | date-create = 05/09/2017 | ||
| date-update = 07/09/2017 | | date-update = 07/09/2017 | ||
| auteur = fgtoul | |||
}} | }} | ||
==Conception d'un capteur analogique 4-20 mA == | ==Conception d'un capteur analogique 4-20 mA == | ||
Ligne 14 : | Ligne 15 : | ||
===un capteur de niveau d’eau dans un forage=== | ===un capteur de niveau d’eau dans un forage=== | ||
Nous allons voir | Nous allons voir comment créer un capteur analogique compatible avec l’IPX800 V3 ou V4 | ||
'''Principe :''' | '''Principe :''' | ||
Ligne 23 : | Ligne 24 : | ||
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. | 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 : | Voici le schéma : | ||
Ligne 109 : | Ligne 112 : | ||
La plage [0 ;9] est donc répartie sur 52428 valeurs, le pas est donc de 9/52428=0.00017166 | 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''' | digital vers analog : '''(x - 13107) * 0.00017166''' | ||
analog vers digital : '''(x | analog vers digital : '''(x / 0.00017166) + 13107''' | ||
=====Sur IPX800 V3===== | =====Sur IPX800 V3===== |
Version actuelle datée du 6 avril 2019 à 17:57
| |||
---|---|---|---|
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
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 :
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.
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