Pomiar prądu w obwodach elektronicznych jest wspólnym wymogiem dla projektów obejmujących czujniki, silniki, diody LED i inne komponenty. Podczas gdy Arduino nie może bezpośrednio zmierzyć prądu, możesz użyć komponentów zewnętrznych, takich jak czujnik prądu lub rezystor bocznikowy, aby pośrednio go zmierzyć. Ten samouczek poprowadzi Cię przez proces pomiaru prądu za pomocą Arduino.
Czego będziesz potrzebować
- Board Arduino (np. Uno, Mega, Nano)
- Aktualny czujnik (np. ACS712, INA219) lub Rezystor bocznikowy
- Druty chleba i skoczków
- Urządzenie załadunku (np. LED, silnik lub dowolny komponent, dla którego chcesz zmierzyć prąd)
- Zasilacz (5 V lub 12 V w zależności od obciążenia)
- Komputer z zainstalowanym Arduino IDE
Metoda 1: Korzystanie z prądu czujnika
Czujniki prądowe, takie jak ACS712 lub INA219, upraszczają pomiar prądowy, zapewniając wyjście analogowe lub cyfrowe proporcjonalne do prądu.
1. Za pomocą czujnika prądu ACS712
Czujnik ACS712 mierzy zarówno prąd AC, jak i DC i wysyła sygnał analogowy proporcjonalny do przepływającego przez niego prądu.
Schemat okablowania
Pin ACS712 | Połączenie |
---|---|
VCC | Arduino 5v |
GND | Arduino GND |
NA ZEWNĄTRZ | Arduino analogowy pin (np. A0) |
IP+ | Pozytywne połączenie obciążenia |
Ip- | Ujemne połączenie obciążenia |
Przykładowy kod
#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. Za pomocą czujnika prądu INA219
INA219 jest wysokim precyzyjnym czujnikiem prądowym, który komunikuje się z Arduino przez I2C, oferując zarówno pomiary prądu, jak i napięcia.
Schemat okablowania
Ina219 Pin | Połączenie |
---|---|
VCC | Arduino 5v |
GND | Arduino GND |
SDA | Arduino SDA (np. A4 na UNO) |
Scl | Arduino SCL (np. A5 na UNO) |
Vin+ | Pozytywne połączenie obciążenia |
Vin- | Ujemne połączenie obciążenia |
Przykładowy kod
Zainstaluj Biblioteka Adafruit INA219 za pośrednictwem menedżera biblioteki 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: Za pomocą rezystora bocznikowego
Rezystor bocznikowy to rezystor o niskiej oporności umieszczony szeregowo z obciążeniem. Mierząc spadek napięcia na rezystor bocznikowy, możesz obliczyć prąd za pomocą prawa Ohma:
I = v / r
Schemat okablowania
Część | Połączenie |
---|---|
Rezystor bocznikowy | W szeregu z obciążeniem |
Analogiczna szpilka Arduino | Po drugiej stronie bocznika |
Obciążenie | Połączone z zasilaczem |
Przykładowy kod
#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);
}
Najlepsze praktyki dokładnych pomiarów
- Wybierz odpowiedni czujnik: Wybierz bieżący czujnik lub rezystor bocznikowy odpowiedni dla oczekiwanego bieżącego zakresu.
- Kalibruj swoją konfigurację: Dostosuj kod dla określonego czujnika lub rezystora bocznikowego, aby zapewnić dokładne odczyty.
- Minimalizuj hałas: Użyj krótkich, grubych przewodów i unikaj hałaśliwych środowisk, aby zmniejszyć błędy pomiaru.
- Monitoruj limity mocy: Upewnij się, że czujnik lub rezystor bocznikowy może obsłużyć maksymalny prąd bez przegrzania.
Zastosowania bieżącego pomiaru
- Monitorowanie zużycia baterii w urządzeniach IoT
- Mierzenie prądu w silnikach
- Testowanie diod LED i innych komponentów
- Zarządzanie energią w systemach wbudowanych
Rozwiązywanie problemów
- Nieprawidłowe odczyty: Wartości okablowania i kalibracji czujnika dwukrotnie.
- Brak wyjścia: Upewnij się, że obciążenie jest podłączone, a prąd płynie.
- Wahania wartości: Dodaj kondensator zasilania czujnika, aby ustabilizować odczyty.
Wniosek
Pomiar prądu za pomocą Arduino jest prosty podczas korzystania z odpowiednich narzędzi, takich jak czujniki prądu lub rezystory boczne. Postępując zgodnie z tym przewodnikiem, możesz dokładnie monitorować prąd w swoich obwodach, umożliwiając lepsze zarządzanie energią i diagnostykę systemu. Eksperymentuj z różnymi czujnikami, aby znaleźć najlepsze dopasowanie do twoich projektów!