Comment mesurer le courant CC avec Arduino

Comment mesurer le courant CC avec Arduino
Arduino est une carte électronique ayant une large gamme d'applications en ce qui concerne les circuits électriques. Tout en travaillant avec Arduino, nous devons faire face à un certain nombre de paramètres qui impliquent également la mesure du courant. Pour exécuter Arduino en douceur, nous devons constamment vérifier le courant car il ne devrait pas dépasser la limite sûre. Normalement, un multimètre conventionnel ou numérique est utilisé pour mesurer le courant, mais ici nous couvrirons comment Arduino peut être utilisé pour mesurer le courant.

Mesure du courant CC avec Arduino

Il existe de nombreuses raisons pour lesquelles nous devons mesurer le courant CC en utilisant Arduino. Nous pourrions vouloir vérifier la quantité actuelle d'Arduino et d'autres périphériques qui utilisent ou pour mesurer la charge de batterie et le courant de courant.

La plupart des planches et microcontrôleurs Arduino ont intégré ADC, donc nous devons d'abord mesurer la tension CC qui peut être lue par une entrée analogique Arduino, en utilisant plus tard facteur d'échelle Pendant la programmation, nous convertissons cette valeur de tension ADC en courant.

Pour mesurer le courant CC à l'aide d'Arduino, différents capteurs et modules sont disponibles sur le marché. L'un des capteurs les plus populaires et les plus bon marché disponibles sur le marché est le ACS712 capteur d'effet de salle.

Capteur à effet Hall ACS712

Les deux CA et Dc Le courant peut être mesuré à l'aide du capteur d'effet Hall ACS712. Aujourd'hui, nous ne nous concentrerons que sur la mesure du courant CC. ACS712 fonctionne sur 5V, il génère une tension de sortie au niveau du Vout Pin du capteur qui est proportionnel à la valeur du courant mesuré par elle.

Trois variations différentes de ce capteur sont disponibles en fonction de la valeur actuelle que les mesures:

ACS712-5A: Le capteur 5A peut mesurer le courant entre -5A à 5A. 185 mV est le facteur d'échelle ou la sensibilité du capteur qui montre 185 mV Le changement de tension initiale représente 1a changement de l'entrée de courant.

ACS712-20A: Le capteur 20A peut mesurer le courant entre -20A à 20A. 100 mV est le facteur d'échelle ou la sensibilité du capteur qui montre 100 mV Le changement de tension initiale représente 1a changement de l'entrée de courant.

ACS712-30A: Le capteur 30A peut mesurer le courant entre -30a à 30a. 66 mV est le facteur d'échelle ou la sensibilité du capteur qui montre 66 mV Le changement de tension initiale représente 1a changement de l'entrée de courant.

Le capteur sortira 2.5V Lorsqu'aucun courant n'est détecté, la tension inférieure à celle-ci représente un courant négatif tandis que la tension supérieure à 2.5V montre un courant positif.

Facteur d'échelle:

5A 20A 30A
185 mV / ampli 100 mV / ampli 66 mV / ampli

Formule pour mesurer le courant

Pour vérifier le facteur d'échelle, consultez la puce ACS712 sur le capteur d'effet Hall comme indiqué ci-dessous dans le diagramme. Ici dans notre cas, nous utiliserons la version 20A.

Schéma
Assurez-vous que lors de la connexion des capteurs d'effet de salle avec la charge, se connectez toujours en série car le courant reste constant en série. La connexion du capteur en parallèle peut endommager la carte Arduino ou ACS712. Connectez le capteur dans la configuration mentionnée ci-dessous:

Épingle arduino Pin ACS712
5V VCC
GND GND
Épingle analogique Dehors

Simulation

Code

/ * A défini deux variables pour le capteur Vout et le courant de charge mesuré * /
Double SensorVout = 0;
double motocurrent = 0;
/ * Constantes pour le facteur d'échelle en V * /
/ * Pour le capteur 5A, prenez SCALE_FACTOR = 0.185; * /
const Double Scale_factor = 0.1; / * Pour le capteur 20A * /
/ * Pour le capteur 30A, prenez SCALE_FACTOR = 0.066; * /
/ * Variables définies pour convertir les données analogiques en numérique car arduino a 10 bits ADC, donc les valeurs possibles maximales sont 1024 * /
/ * La tension de référence est 5V * /
/ * La valeur de tension par défaut pour le capteur est la moitié de la tension de référence qui est 2.5V * /
const Double Refvolt = 5.00;
const Double AdCresolution = 1024;
double adcValue = refVolt / adcresolution;
Double defaultSensorVout = Refvolt / 2;
void setup()
En série.commencer (9600);

VOID LOOP ()
/ * 1000 lectures prises pour obtenir plus de précision * /
pour (int i = 0; i < 1000; i++)
SensorVout = (SensorVout + (AdcValue * analogread (a0)));
retard (1);

// Vout dans MV
SensorVout = SensorVout / 1000;
/ * Utilisation de la formule de courant Convertir Vout du capteur en courant de charge * /
MotorCurrent = (SensorVout - DefaultSensorVout) / Scale_factor;
En série.print ("SensorVout ="); / * Imprimera le capteur Vout sur le moniteur en série * /
En série.imprimer (SensorVout, 2);
En série.print ("volts");
En série.print ("\ t MotorCurrent ="); / * Imprimera le courant CC mesuré * /
En série.imprimer (moto, 2);
En série.println ("ampères");
retard (1000); / * Un retard de 1 sec est donné * /

Ici, dans le code ci-dessus, deux variables sont initialisées Caporvout et Véhicule de moto, Ces deux variables stockeront respectivement les valeurs et le courant. Le facteur d'échelle suivant est défini sur 0.1 V (100 mV) selon le capteur 20A-ACS712. La tension de référence est définie sur 5V et pour convertir l'entrée analogique en résolution ADC numérique est initialisée à 1024. Comme Arduino a un ADC 10 bits, ce qui signifie que le maximum qu'il peut stocker est de 1024 valeurs.

Comme expliqué ci-dessus facteur d'échelle prendra la lecture en fonction des tensions déviées totales de 2.5V. Donc, 0.1V Le changement de Vout de capteur sera égal à 1A de courant d'entrée.

Suivant dans le boucle Section A pour boucle est initialisé pour prendre 1000 lectures pour obtenir une valeur plus précise du courant de sortie. Le capteur Vout est divisé par 1000 pour convertir les valeurs en mv. En utilisant la formule de courant du moteur, nous avons déterminé notre courant de charge. La dernière section du code imprimera à la fois les tensions du capteur Vout et le courant mesuré.

Sortir
Ici, dans le capteur de sortie, Vout est inférieur à 2.5V Le courant du moteur mesuré la sortie est négatif. Le courant de sortie est négatif en raison de la polarité inverse du moteur à courant continu.

Conclusion

La mesure du courant CC à l'aide d'Arduino a nécessité un capteur ou un module externe. L'un des capteurs d'effet Hall largement utilisés est ACS712, qui a non seulement une large gamme de mesures de courant pour DC ainsi que le courant alternatif. En utilisant ce capteur, nous avons mesuré le courant CC d'un moteur à courant continu en cours d'exécution et le résultat de sortie est illustré dans la fenêtre de terminal.