Strom mit dem Arduino messen

Measuring Current with the Arduino

Die Messung des Stroms in elektronischen Schaltkreisen ist eine häufige Voraussetzung für Projekte, an denen Sensoren, Motoren, LEDs und andere Komponenten beteiligt sind. Während Arduino den Strom nicht direkt messen kann, können Sie externe Komponenten wie einen Stromsensor oder einen Shunt -Widerstand verwenden, um ihn indirekt zu messen. Dieses Tutorial führt Sie durch den Prozess der Messung des Stroms mit einem Arduino.


Was Sie brauchen werden

  1. Arduino Board (z. B. Uno, Mega, Nano)
  2. Stromsensor (z. B. ACS712, INA219) oder Shunt -Widerstand
  3. Breadboard- und Jumper -Drähte
  4. Laden Sie die Gerät (z. B. LED, Motor oder eine beliebige Komponente, für die Sie den Strom messen möchten.
  5. Stromversorgung (5 V oder 12 V abhängig von Ihrer Last)
  6. Ein Computer mit der Arduino -IDE installiert

Methode 1: Verwenden eines Stromsensors

Stromsensoren wie die ACS712 oder Ina219 vereinfachen die Strommessung, indem eine analoge oder digitale Ausgabe proportional zum Strom bereitgestellt wird.

1. Verwenden des ACS712 -Stromsensors

Der ACS712 -Sensor misst sowohl den Wechselstrom als auch den Gleichstrom und gibt ein analoges Signal aus proportional zum durch ihn fließenden Strom aus.

Schaltplan
ACS712 PIN Verbindung
VCC Arduino 5V
GND Arduino GND
AUS Arduino Analog Pin (z. B. A0)
IP+ Positive Lastanschluss
IP- Negative Lastanschluss
Beispielcode
#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. Verwenden Sie den Stromsensor ina219

Der INA219 ist ein hochpräziser Stromsensor, der über I2C mit Arduino kommuniziert und sowohl Strom- als auch Spannungsmessungen anbietet.

Schaltplan
Ina219 Pin Verbindung
VCC Arduino 5V
GND Arduino GND
SDA Arduino SDA (z. B. A4 auf UNO)
Scl Arduino SCL (z. B. A5 auf UNO)
Vin+ Positive Lastanschluss
Vin- Negative Lastanschluss
Beispielcode

Installieren Sie die Adafruit INA219 Bibliothek über den Arduino Library Manager.

#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);
}

Methode 2: Verwenden eines Shunt -Widerstands

Ein Shunt-Widerstand ist ein niedriger Widerstandswiderstand, der in Reihe mit der Last platziert ist. Durch Messen des Spannungsabfalls über den Shunt -Widerstand können Sie den Strom nach Ohm -Gesetz berechnen:

I = v / r

Schaltplan

Komponente Verbindung
Shunt -Widerstand In Serie mit der Last
Arduino Analog Pin Über den Shunt -Widerstand
Laden Mit der Stromversorgung verbunden
Beispielcode
#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);
}

Best Practices für genaue Messungen

  1. Wählen Sie den richtigen Sensor: Wählen Sie einen aktuellen Sensor oder einen Shunt -Widerstand aus, der für Ihren erwarteten Strombereich geeignet ist.
  2. Kalibrieren Sie Ihr Setup: Passen Sie den Code für Ihren spezifischen Sensor- oder Shunt -Widerstand an, um genaue Messwerte sicherzustellen.
  3. Geräusch minimieren: Verwenden Sie kurze, dicke Drähte und vermeiden Sie verrückte Umgebungen, um Messfehler zu reduzieren.
  4. Überwachung der Leistungsgrenzen: Stellen Sie sicher, dass der Sensor- oder Shunt -Widerstand den maximalen Strom ohne Überhitzung bewältigen kann.

Anwendungen der Strommessung

  1. Überwachung des Batterieverbrauchs auf IoT -Geräten
  2. Messung des Stromauszugs in Motoren
  3. Testen von LEDs und anderen Komponenten
  4. Leistungsmanagement in eingebetteten Systemen

Fehlerbehebung

  • Falsche Lesungen: Doppelprüfung der Sensorverdrahtung und Kalibrierungswerte.
  • Keine Ausgabe: Stellen Sie sicher, dass die Last angeschlossen ist und der Strom fließt.
  • Schwankende Werte: Fügen Sie einen Kondensator über die Stromversorgung des Sensors hinzu, um die Messwerte zu stabilisieren.

Abschluss

Das Messen von Strom mit einem Arduino ist bei der Verwendung der richtigen Werkzeuge wie Stromsensoren oder Shunt -Widerständen unkompliziert. Wenn Sie diesem Leitfaden folgen, können Sie Strom in Ihren Schaltkreisen genau überwachen, um eine bessere Leistungsverwaltung und Systemdiagnose zu ermöglichen. Experimentieren Sie mit verschiedenen Sensoren, um die beste Passform für Ihre Projekte zu finden!

Hinterlasse einen Kommentar

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.