Az elektronikus áramkörök áramának mérése az érzékelők, motorok, LED -ek és más alkatrészek bevonásával foglalkozó projektek általános követelménye. Noha az Arduino nem tudja közvetlenül mérni az áramot, használhat külső alkatrészeket, például egy áramérzékelőt vagy egy söntállóságot, hogy közvetett módon mérje. Ez az oktatóanyag végigvezeti Önt az áram mérésének folyamatán egy Arduino -val.
Mire lesz szüksége
- Arduino Board (például Uno, Mega, Nano)
- Aktuális érzékelő (például ACS712, INA219) vagy Sönt ellenállás
- Kenyérlemez és jumper vezetékek
- Betöltési eszköz (például LED, motor vagy bármely olyan alkatrész, amelyre az áramot mérni szeretné)
- Tápegység (a terheléstől függően 5 V vagy 12 V)
- Egy számítógép, amelyen az Arduino IDE telepített
1. módszer: Aktuális érzékelő használata
Az olyan áramérzékelők, mint az ACS712 vagy az INA219, egyszerűsítik az árammérést az árammal arányos analóg vagy digitális kimenet biztosítása révén.
1. Az ACS712 áramérzékelő használatával
Az ACS712 érzékelő mind az AC, mind a DC áramot méri, és analóg jelet ad ki, amely arányos az rajta áramló árammal.
Bekötési rajz
ACS712 PIN | Kapcsolat |
---|---|
VCC | Arduino 5V |
GND | Arduino GND |
KI | Arduino analóg tű (például A0) |
IP+ | Pozitív terhelési csatlakozás |
IP- | Negatív terhelési csatlakozás |
Példakód
#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. Az INA219 áramérzékelő használatával
Az INA219 egy nagy pontosságú áramérzékelő, amely az Arduino-val az I2C-n keresztül kommunikál, mind az áram, mind a feszültségméréseket kínálva.
Bekötési rajz
INA219 PIN | Kapcsolat |
---|---|
VCC | Arduino 5V |
GND | Arduino GND |
SDA | Arduino SDA (például A4 az UNO -n) |
SCL | Arduino SCL (például A5 az UNO -n) |
Vin+ | Pozitív terhelési csatlakozás |
Vin- | Negatív terhelési csatlakozás |
Példakód
Szerelje be a ADAFruit Ina219 könyvtár Az Arduino könyvtári menedzserén keresztül.
#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);
}
2. módszer: Shunt ellenállás használata
A shunt ellenállás egy alacsony ellenállású ellenállás, amelyet sorba helyeznek a terheléssel. A feszültségcsökkenés mérésével a sönt ellenálláson kiszámíthatja az áramot az Ohm törvényének felhasználásával:
I = v / r
Bekötési rajz
Összetevő | Kapcsolat |
---|---|
Sönt ellenállás | Sorban a terheléssel |
Arduino analóg tű | A shunt ellenálláson keresztül |
Terhelés | Csatlakoztatva az áramellátáshoz |
Példakód
#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);
}
A pontos mérések legjobb gyakorlatai
- Válassza ki a megfelelő érzékelőt: Válassza ki az aktuális érzékelőt vagy a shunt ellenállást, amely alkalmas a várt áramtartományra.
- Kalibrálja a beállítást: A pontos leolvasások biztosítása érdekében állítsa be a kódot az adott érzékelőhöz vagy a shunt ellenálláshoz.
- Minimalizálja a zajt: Használjon rövid, vastag vezetékeket, és kerülje a zajos környezetet a mérési hibák csökkentése érdekében.
- Figyelemmel kíséri a teljesítménykorlátozásokat: Győződjön meg arról, hogy az érzékelő vagy a sönt ellenállás képes kezelni a maximális áramot túlmelegedés nélkül.
Az árammérés alkalmazása
- Az akkumulátor fogyasztásának ellenőrzése az IoT eszközökön
- Az áramlást mérni a motorokban
- A LED -ek és más alkatrészek tesztelése
- Energiagazdálkodás beágyazott rendszerekben
Hibaelhárítás
- Helytelen olvasmányok: Duplán ellenőrizze az érzékelő huzalozását és a kalibrációs értékeket.
- Nincs kimenet: Győződjön meg arról, hogy a terhelés csatlakoztatva van, és az áram áramlik.
- Ingadozó értékek: Adjon hozzá egy kondenzátort az érzékelő tápellátásához a leolvasások stabilizálásához.
Következtetés
Az áram mérése Arduino -val egyértelmű, ha a megfelelő szerszámokat, például az áramérzékelőket vagy a shunt ellenállókat használja. Az útmutató követésével pontosan figyelemmel kíséri az áramköröket, lehetővé téve a jobb energiagazdálkodást és a rendszerdiagnosztikát. Kísérletezzen különböző érzékelőkkel, hogy megtalálja a legmegfelelőbb projekteket!