La misurazione della corrente nei circuiti elettronici è un requisito comune per progetti che coinvolgono sensori, motori, LED e altri componenti. Mentre Arduino non è in grado di misurare direttamente la corrente, è possibile utilizzare componenti esterni come un sensore di corrente o una resistenza di shunt per misurarlo indirettamente. Questo tutorial ti guiderà attraverso il processo di misurazione della corrente con un Arduino.
Cosa avrai bisogno
- Arduino Board (ad esempio, uno, mega, nano)
- Sensore di corrente (ad esempio, ACS712, INA219) o Resistenza di shunt
- Breadboard e fili jumper
- Carica dispositivo (ad es. LED, motore o qualsiasi componente per cui si desidera misurare la corrente per)
- Alimentazione (5 V o 12V a seconda del carico)
- Un computer con l'IDE Arduino installato
Metodo 1: usando un sensore di corrente
I sensori di corrente come l'ACS712 o INA219 semplificano la misurazione della corrente fornendo un'uscita analogica o digitale proporzionale alla corrente.
1. Utilizzo del sensore di corrente ACS712
Il sensore ACS712 misura sia la corrente CA che la CC e le uscite un segnale analogico proporzionale alla corrente che scorre attraverso di essa.
Diagramma di cablaggio
Pin ACS712 | Connessione |
---|---|
VCC | Arduino 5V |
GND | Arduino Gnd |
FUORI | Arduino Analog Pin (ad es. A0) |
IP+ | Collegamento del carico positivo |
IP- | Connessione di carico negativo |
Codice di esempio
#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. Utilizzo del sensore di corrente INA219
L'INA219 è un sensore di corrente ad alta precisione che comunica con Arduino tramite I2C, offrendo misurazioni sia di corrente che di tensione.
Diagramma di cablaggio
PIN INA219 | Connessione |
---|---|
VCC | Arduino 5V |
GND | Arduino Gnd |
SDA | Arduino SDA (ad es. A4 su Uno) |
SCL | Arduino SCL (ad es. A5 su Uno) |
Vin+ | Collegamento del carico positivo |
Vin- | Connessione di carico negativo |
Codice di esempio
Installa il Biblioteca Adafruit INA219 tramite il gestore della biblioteca 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);
}
Metodo 2: usando una resistenza di shunt
Una resistenza di shunt è una resistenza a bassa resistenza posizionata in serie con il carico. Misurando la caduta di tensione attraverso la resistenza di shunt, è possibile calcolare la corrente usando la legge di Ohm:
I = V / R
Diagramma di cablaggio
Componente | Connessione |
---|---|
Resistenza di shunt | In serie con il carico |
Arduino Pin analogico | Attraverso il resistore di shunt |
Carico | Collegato all'alimentazione |
Codice di esempio
#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);
}
Best practice per misurazioni accurate
- Scegli il sensore giusto: Seleziona un sensore di corrente o una resistenza di shunt adatto per l'intervallo di corrente atteso.
- Calibra la tua configurazione: Regola il codice per il tuo sensore specifico o resistenza a shunt per garantire letture accurate.
- Riduci al minimo il rumore: Usa fili corti e spessi ed evita ambienti rumorosi per ridurre gli errori di misurazione.
- Monitorare i limiti di alimentazione: Assicurarsi che il sensore o la resistenza di shunt sia in grado di gestire la corrente massima senza surriscaldamento.
Applicazioni della misurazione corrente
- Monitoraggio del consumo di batterie nei dispositivi IoT
- Misurare il pareggio corrente nei motori
- Test LED e altri componenti
- Gestione dell'alimentazione nei sistemi incorporati
Risoluzione dei problemi
- Letture errate: Valori di cablaggio e calibrazione del sensore a doppio controllo.
- Nessun output: Assicurarsi che il carico sia collegato e che la corrente stia scorrendo.
- Valori fluttuanti: Aggiungi un condensatore attraverso l'alimentazione del sensore per stabilizzare le letture.
Conclusione
La misurazione della corrente con un Arduino è semplice quando si utilizzano gli strumenti giusti come sensori di corrente o resistori di shunt. Seguendo questa guida, è possibile monitorare la corrente nei circuiti accuratamente, consentendo una migliore gestione dell'alimentazione e diagnostica del sistema. Sperimenta con diversi sensori per trovare la soluzione migliore per i tuoi progetti!