La mesure du courant dans les circuits électroniques est une exigence commune pour les projets impliquant des capteurs, des moteurs, des LED et d'autres composants. Bien qu'Arduino ne puisse pas mesurer directement le courant, vous pouvez utiliser des composants externes comme un capteur de courant ou une résistance de shunt pour le mesurer indirectement. Ce tutoriel vous guidera à travers le processus de mesure du courant avec un Arduino.
Ce dont vous aurez besoin
- Conseil d'administration d'Arduino (par exemple, uno, mega, nano)
- Capteur de courant (par exemple, ACS712, INA219) ou Résistance de shunt
- Fils de planche à pain et de cavalier
- Appareil de chargement (par exemple, LED, moteur ou tout composant pour lequel vous souhaitez mesurer le courant)
- Alimentation (5V ou 12V selon votre charge)
- Un ordinateur avec l'ide Arduino installé
Méthode 1: Utilisation d'un capteur de courant
Les capteurs de courant comme l'ACS712 ou l'inA219 simplifient la mesure du courant en fournissant une sortie analogique ou numérique proportionnelle au courant.
1. À l'aide du capteur de courant ACS712
Le capteur ACS712 mesure à la fois le courant AC et CC et produit un signal analogique proportionnel au courant qui le traverse.
Schéma de câblage
Pin ACS712 | Connexion |
---|---|
VCC | Arduino 5V |
GND | Arduino GND |
DEHORS | Pin analogique Arduino (par ex., A0) |
Ip + | Connexion de charge positive |
Ip- | Connexion de charge négative |
Exemple de code
#define sensorPin A0
const float sensitivity = 0.185; // Sensitivity for ACS712-05B (mV per A)
const int zeroPoint = 512; // Zero current output in ADC counts
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(sensorPin);
float voltage = (sensorValue / 1023.0) * 5.0; // Convert to voltage
float current = (voltage - (zeroPoint / 1023.0) * 5.0) / sensitivity; // Calculate current
Serial.print("Current: ");
Serial.print(current, 3);
Serial.println(" A");
delay(1000);
}
2. En utilisant le capteur de courant Ina219
L'INA219 est un capteur de courant de haute précision qui communique avec Arduino via I2C, offrant à la fois des mesures de courant et de tension.
Schéma de câblage
PIN INA219 | Connexion |
---|---|
VCC | Arduino 5V |
GND | Arduino GND |
SDA | Arduino SDA (par exemple, A4 sur uno) |
SCL | Arduino SCL (par exemple, A5 sur uno) |
Vin + | Connexion de charge positive |
Vin- | Connexion de charge négative |
Exemple de code
Installer le Bibliothèque Adafruit Ina219 via le directeur de bibliothèque Arduino.
#include <Wire.h>
#include <Adafruit_INA219.h>
Adafruit_INA219 ina219;
void setup() {
Serial.begin(9600);
if (!ina219.begin()) {
Serial.println("Failed to find INA219 chip");
while (1);
}
}
void loop() {
float current_mA = ina219.getCurrent_mA();
Serial.print("Current: ");
Serial.print(current_mA);
Serial.println(" mA");
delay(1000);
}
Méthode 2: Utilisation d'une résistance de shunt
Une résistance de shunt est une résistance de faible résistance placée en série avec la charge. En mesurant la chute de tension à travers la résistance de shunt, vous pouvez calculer le courant en utilisant la loi d'Ohm:
I = v / r
Schéma de câblage
Composant | Connexion |
---|---|
Résistance de shunt | En série avec la charge |
Broche analogique arduino | À travers la résistance de shunt |
Charger | Connecté à l'alimentation |
Exemple de code
#define shuntPin A0
const float shuntResistance = 0.1; // Resistance in ohms
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(shuntPin);
float voltage = (sensorValue / 1023.0) * 5.0; // Convert to voltage
float current = voltage / shuntResistance; // Calculate current
Serial.print("Current: ");
Serial.print(current, 3);
Serial.println(" A");
delay(1000);
}
Meilleures pratiques pour des mesures précises
- Choisissez le bon capteur: Sélectionnez un capteur de courant ou une résistance de shunt adaptée à votre plage de courant attendue.
- Calibrez votre configuration: Ajustez le code de votre capteur ou de votre résistance de shunt spécifique pour assurer des lectures précises.
- Minimiser le bruit: Utilisez des fils courts et épais et évitez les environnements bruyants pour réduire les erreurs de mesure.
- Surveiller les limites de puissance: Assurez-vous que le capteur ou la résistance de shunt peut gérer le courant maximum sans surchauffe.
Applications de la mesure actuelle
- Surveillance de la consommation de batterie dans les appareils IoT
- Mesurer le tirage au courant des moteurs
- Tester les LED et autres composants
- Gestion de l'alimentation dans les systèmes intégrés
Dépannage
- Lectures incorrectes: Valeurs de câblage et d'étalonnage du capteur à double revoir.
- Pas de sortie: Assurez-vous que la charge est connectée et que le courant circule.
- Valeurs fluctuantes: Ajoutez un condensateur à travers l'alimentation du capteur pour stabiliser les lectures.
Conclusion
La mesure du courant avec un Arduino est simple lors de l'utilisation des bons outils comme les capteurs de courant ou les résistances de shunt. En suivant ce guide, vous pouvez surveiller le courant dans vos circuits avec précision, permettant une meilleure gestion de l'alimentation et des diagnostics système. Expérimentez avec différents capteurs pour trouver le meilleur ajustement pour vos projets!