Misurare la corrente con l'Arduino

Measuring Current with the Arduino

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

  1. Arduino Board (ad esempio, uno, mega, nano)
  2. Sensore di corrente (ad esempio, ACS712, INA219) o Resistenza di shunt
  3. Breadboard e fili jumper
  4. Carica dispositivo (ad es. LED, motore o qualsiasi componente per cui si desidera misurare la corrente per)
  5. Alimentazione (5 V o 12V a seconda del carico)
  6. 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

  1. Scegli il sensore giusto: Seleziona un sensore di corrente o una resistenza di shunt adatto per l'intervallo di corrente atteso.
  2. Calibra la tua configurazione: Regola il codice per il tuo sensore specifico o resistenza a shunt per garantire letture accurate.
  3. Riduci al minimo il rumore: Usa fili corti e spessi ed evita ambienti rumorosi per ridurre gli errori di misurazione.
  4. 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

  1. Monitoraggio del consumo di batterie nei dispositivi IoT
  2. Misurare il pareggio corrente nei motori
  3. Test LED e altri componenti
  4. 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!

Lascia un commento

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.