Page 1 of 1

Acquisition d'un signal analogique 4-20mA sur une PyBoard (Boucle de courant)

Posted: Fri 3 Dec 2021 16:01
by Dominique
Copie d'une demande Support

je souhaite faire l'acquisition d'un signal analogique 4-20mA sur une PyBoard (ou équivalent sous micropython).
je dois le faire à 100Hz minimum (1kHz serait idéal).
mon équipement est alimenté en 12VDC environ. je peux éventuellement, si la qualité est là, le faire sur HAT Nadhat, en utilisant une résistance (100ohms ?) entre deux entrées des ADC ? (en clair, faire une mesure différentielle). est-ce que les deux entrées sont raisonnablement calibrées entre elles, ou est-ce que je vais avoir des différences de linéarité, par exemple ? j'aimerais ne pas avoir plus d'un LSB d'erreur.


Existe t'il un accessoire pour cela comme le 1-Channel 4-20mA Current Loop Receiver 16-Bit ADS1115 I2C Mini Module ?
Sélection_371.png
Petit Rappel:
Une boucle de courant utilise un courant (au lieu d'une tension) pour transporter une information de type analogique.
* 0% = 4mA
* 100% = 20mA
S'il n'y a pas de courant... c'est qu'il y a un défaut.

Re: Acquisition d'un signal analogique 4-20mA sur une PyBoard

Posted: Fri 3 Dec 2021 16:35
by Dominique
> est-ce que les deux entrées sont raisonnablement calibrées entre elles feront l'affaire ?
En fait, une seule entrée analogique avec une résistance bien calibrée devrait faire l'affaire. Il y a une référence commune par rapport à la terre (généralement en contact avec GND via l'alimentation).
Mais au moindre problème, ce sera une véritable catastrophe pour le MicroControleur.

Que je sache, la Pyboard ne dispose pas de mode différentiel sur ses entrées analogiques.

> 1-Channel 4-20mA Current Loop Receiver 16-Bit ADS1115 I2C Mini Module ?
J'ai déjà eu l'occasion d'écrire des pilotes pour du matériel NCD = National Control Device, c'est un matériel de qualité... même s'il reste onéreux (selon moi).
Ce module utilise un ADS1115 (en mode differentiel) couplé avec un capteur shunt INA196.
Je ne vois aucune bonne raison de se passer de cette protection d'autant que la connectique NCD est bien documentée (voir ici pour le connecteur NCD et ici pour le Level Shifting 5V-3.3V avec NCD

L'ADS1115 dispose également d'un mode échantillonnage. Donc: on envoi une commande sur le bus et on réceptionne un flux de donnée permettant de lire les variations de courant.... si cela présentait un intérêt. Sinon, une lecture à la volé devrait suffire.
Une recherche Google avec les termes "4-20mA read" permet de trouver des projets Arduino (donc du code) transposable en MicroPython.

Re: Transmetteur boucle de courant 4-20mA

Posted: Fri 3 Dec 2021 17:01
by Dominique
Pour créer un Transmetteur et contrôler un appareil distant avec une boucle de courant, il faut utiliser un autre montage.

J'ai trouver cette excellente vidéo YouTube de 0033met associé au schéma ci-dessous.

En modifiant le signal PWM en sortie du MCU, on modifie le courant traversant la boucle (une LED est utilisée pour vérifier la quantité de courant)
Sélection_372.jpg