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
- Arduino Board (z. B. Uno, Mega, Nano)
- Stromsensor (z. B. ACS712, INA219) oder Shunt -Widerstand
- Breadboard- und Jumper -Drähte
- Laden Sie die Gerät (z. B. LED, Motor oder eine beliebige Komponente, für die Sie den Strom messen möchten.
- Stromversorgung (5 V oder 12 V abhängig von Ihrer Last)
- 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
- 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.
- Kalibrieren Sie Ihr Setup: Passen Sie den Code für Ihren spezifischen Sensor- oder Shunt -Widerstand an, um genaue Messwerte sicherzustellen.
- Geräusch minimieren: Verwenden Sie kurze, dicke Drähte und vermeiden Sie verrückte Umgebungen, um Messfehler zu reduzieren.
- Überwachung der Leistungsgrenzen: Stellen Sie sicher, dass der Sensor- oder Shunt -Widerstand den maximalen Strom ohne Überhitzung bewältigen kann.
Anwendungen der Strommessung
- Überwachung des Batterieverbrauchs auf IoT -Geräten
- Messung des Stromauszugs in Motoren
- Testen von LEDs und anderen Komponenten
- 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!