Măsurarea curentului cu Arduino

Measuring Current with the Arduino

Măsurarea curentului în circuitele electronice este o cerință comună pentru proiectele care implică senzori, motoare, LED -uri și alte componente. În timp ce Arduino nu poate măsura direct curentul, puteți utiliza componente externe precum un senzor de curent sau un rezistor de șunt pentru a -l măsura indirect. Acest tutorial vă va ghida prin procesul de măsurare a curentului cu un Arduino.


Ce vei avea nevoie

  1. Board Arduino (de exemplu, Uno, Mega, Nano)
  2. Senzor curent (de exemplu, ACS712, INA219) sau Rezistență de șunt
  3. Tablă de pâine și jumper
  4. Dispozitiv de încărcare (de exemplu, LED, motor sau orice componentă pentru care doriți să măsurați curentul)
  5. Sursă de alimentare (5V sau 12V în funcție de sarcina dvs.)
  6. Un computer cu IDE Arduino instalat

Metoda 1: Utilizarea unui senzor curent

Senzorii actuali precum ACS712 sau INA219 simplifică măsurarea curentă, oferind o ieșire analogică sau digitală proporțională cu curentul.

1. Utilizarea senzorului de curent ACS712

Senzorul ACS712 măsoară atât curentul AC, cât și DC, și scoate un semnal analogic proporțional cu curentul care curge prin acesta.

Diagrama de cablare
Pin ACS712 Conexiune
VCC Arduino 5V
GND Arduino GND
Afară Pinul analog Arduino (de exemplu, A0)
IP+ Conexiune de încărcare pozitivă
Ip- Conexiune de încărcare negativă
Cod de exemplu
#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. Folosind senzorul de curent INA219

INA219 este un senzor de curent de înaltă precizie care comunică cu Arduino prin I2C, oferind atât măsurători de curent cât și de tensiune.

Diagrama de cablare
INA219 PIN Conexiune
VCC Arduino 5V
GND Arduino GND
SDA Arduino SDA (de exemplu, A4 pe UNO)
SCL Arduino SCL (de exemplu, A5 pe UNO)
Vin+ Conexiune de încărcare pozitivă
Vin- Conexiune de încărcare negativă
Cod de exemplu

Instalați Biblioteca Adafruit INA219 prin intermediul managerului bibliotecii 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);
}

Metoda 2: Utilizarea unui rezistor de șunt

O rezistență de șunt este o rezistență cu rezistență redusă plasată în serie cu sarcina. Măsurând căderea de tensiune pe rezistența de șunt, puteți calcula curentul folosind Legea OHM:

I = v / r

Diagrama de cablare

Componentă Conexiune
Rezistență de șunt În serie cu sarcina
Pinul analog Arduino Peste rezistența de șunt
Încărca Conectat la alimentarea cu energie electrică
Cod de exemplu
#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);
}

Cele mai bune practici pentru măsurători precise

  1. Alegeți senzorul potrivit: Selectați un senzor de curent sau o rezistență de șunt adecvată pentru intervalul curent așteptat.
  2. Calibrează -ți configurarea: Reglați codul pentru senzorul dvs. specific sau rezistența de șunt pentru a asigura citiri precise.
  3. Minimizați zgomotul: Folosiți fire scurte și groase și evitați medii zgomotoase pentru a reduce erorile de măsurare.
  4. Monitorizează limitele de putere: Asigurați -vă că senzorul sau rezistența de șunt poate gestiona curentul maxim fără a se supraîncălzi.

Aplicații de măsurare curentă

  1. Monitorizarea consumului de baterii în dispozitivele IoT
  2. Măsurarea tragerii curente în motoare
  3. Testarea LED -urilor și a altor componente
  4. Gestionarea puterii în sisteme încorporate

Depanare

  • Citiri incorecte: Valorile de cablare și calibrare a senzorului dublu-verificare.
  • Fără ieșire: Asigurați -vă că sarcina este conectată și curentul curge.
  • Valori fluctuante: Adăugați un condensator de -a lungul sursei de alimentare a senzorului pentru a stabiliza citirile.

Concluzie

Măsurarea curentului cu un Arduino este simplă atunci când utilizați instrumentele potrivite, cum ar fi senzorii de curent sau rezistențele de șunt. Urmărind acest ghid, puteți monitoriza cu exactitate curentul în circuitele dvs., permițând o mai bună gestionare a puterii și diagnosticare a sistemului. Experimentați cu diferiți senzori pentru a găsi cea mai bună potrivire pentru proiectele dvs.!

Lasă un comentariu

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.