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
- Board Arduino (de exemplu, Uno, Mega, Nano)
- Senzor curent (de exemplu, ACS712, INA219) sau Rezistență de șunt
- Tablă de pâine și jumper
- Dispozitiv de încărcare (de exemplu, LED, motor sau orice componentă pentru care doriți să măsurați curentul)
- Sursă de alimentare (5V sau 12V în funcție de sarcina dvs.)
- 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
- Alegeți senzorul potrivit: Selectați un senzor de curent sau o rezistență de șunt adecvată pentru intervalul curent așteptat.
- Calibrează -ți configurarea: Reglați codul pentru senzorul dvs. specific sau rezistența de șunt pentru a asigura citiri precise.
- Minimizați zgomotul: Folosiți fire scurte și groase și evitați medii zgomotoase pentru a reduce erorile de măsurare.
- 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ă
- Monitorizarea consumului de baterii în dispozitivele IoT
- Măsurarea tragerii curente în motoare
- Testarea LED -urilor și a altor componente
- 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.!