Mierzenie prądu za pomocą Arduino

Measuring Current with the Arduino

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ć

  1. Board Arduino (np. Uno, Mega, Nano)
  2. Aktualny czujnik (np. ACS712, INA219) lub Rezystor bocznikowy
  3. Druty chleba i skoczków
  4. Urządzenie załadunku (np. LED, silnik lub dowolny komponent, dla którego chcesz zmierzyć prąd)
  5. Zasilacz (5 V lub 12 V w zależności od obciążenia)
  6. 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

  1. Wybierz odpowiedni czujnik: Wybierz bieżący czujnik lub rezystor bocznikowy odpowiedni dla oczekiwanego bieżącego zakresu.
  2. Kalibruj swoją konfigurację: Dostosuj kod dla określonego czujnika lub rezystora bocznikowego, aby zapewnić dokładne odczyty.
  3. Minimalizuj hałas: Użyj krótkich, grubych przewodów i unikaj hałaśliwych środowisk, aby zmniejszyć błędy pomiaru.
  4. Monitoruj limity mocy: Upewnij się, że czujnik lub rezystor bocznikowy może obsłużyć maksymalny prąd bez przegrzania.

Zastosowania bieżącego pomiaru

  1. Monitorowanie zużycia baterii w urządzeniach IoT
  2. Mierzenie prądu w silnikach
  3. Testowanie diod LED i innych komponentów
  4. 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!

Zostaw komentarz

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.