Att mäta ström i elektroniska kretsar är ett vanligt krav för projekt som involverar sensorer, motorer, lysdioder och andra komponenter. Även om Arduino inte direkt kan mäta ström, kan du använda externa komponenter som en strömsensor eller ett shuntmotstånd för att indirekt mäta det. Denna handledning kommer att vägleda dig genom processen att mäta ström med en Arduino.
Vad du behöver
- Arduinstyrelse (t.ex. Uno, Mega, Nano)
- Nuvarande sensor (t.ex. ACS712, INA219) eller Shuntmotstånd
- Breadboard och jumpertrådar
- Lastanordning (t.ex. LED, motor eller någon komponent du vill mäta ström för)
- Strömförsörjning (5V eller 12V beroende på din last)
- En dator med Arduino Ide installerad
Metod 1: Använda en aktuell sensor
Nuvarande sensorer som ACS712 eller INA219 förenklar strömmätningen genom att tillhandahålla en analog eller digital utgång proportionell mot strömmen.
1. Använda ACS712 nuvarande sensor
ACS712 -sensorn mäter både AC- och DC -ström och matar ut en analog signal som är proportionell mot strömmen som strömmar genom den.
Kabeliagram
ACS712 -stift | Förbindelse |
---|---|
Vcc | Arduino 5v |
Gard | Arduino |
UT | Arduino Analog Pin (t.ex. A0) |
Ip+ | Positiv lastanslutning |
Ip- | Negativ belastningsanslutning |
Exempelkod
#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. Använda INA219 nuvarande sensor
IRA219 är en strömsensor med hög precision som kommunicerar med Arduino via I2C och erbjuder både ström- och spänningsmätningar.
Kabeliagram
Ina219 stift | Förbindelse |
---|---|
Vcc | Arduino 5v |
Gard | Arduino |
SDA | Arduino SDA (t.ex. A4 på UNO) |
SCL | Arduino SCL (t.ex. A5 på UNO) |
Vin+ | Positiv lastanslutning |
Vin- | Negativ belastningsanslutning |
Exempelkod
Installera Adafruit ina219 bibliotek via 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);
}
Metod 2: Använda ett shuntmotstånd
Ett shuntmotstånd är ett lågresistensmotstånd placerat i serie med lasten. Genom att mäta spänningsfallet över shuntmotståndet kan du beräkna strömmen med Ohms lag:
I = v / r
Kabeliagram
Komponent | Förbindelse |
---|---|
Shuntmotstånd | I serie med lasten |
Arduino analog stift | Över shuntmotståndet |
Ladda | Ansluten till strömförsörjning |
Exempelkod
#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);
}
Bästa metoder för exakta mätningar
- Välj rätt sensor: Välj en aktuell sensor eller shuntmotstånd som är lämplig för ditt förväntade nuvarande intervall.
- Kalibrera din installation: Justera koden för din specifika sensor eller shuntmotstånd för att säkerställa exakta avläsningar.
- Minimera brus: Använd korta, tjocka ledningar och undvik bullriga miljöer för att minska mätfelen.
- Övervaka strömgränser: Se till att sensorn eller shuntmotståndet kan hantera den maximala strömmen utan överhettning.
Tillämpningar av aktuell mätning
- Övervakning av batterikonsumtion i IoT -enheter
- Mätning av nuvarande drag i motorer
- Testlysdioder och andra komponenter
- Krafthantering i inbäddade system
Felsökning
- Felaktiga avläsningar: Dubbelkontrollsensorledningar och kalibreringsvärden.
- Ingen utgång: Se till att lasten är ansluten och strömmen flyter.
- Fluktuerande värden: Lägg till en kondensator över sensorns strömförsörjning för att stabilisera avläsningarna.
Slutsats
Att mäta ström med en Arduino är enkelt när du använder rätt verktyg som nuvarande sensorer eller shuntmotstånd. Genom att följa den här guiden kan du övervaka strömmen i dina kretsar exakt, vilket möjliggör bättre krafthantering och systemdiagnostik. Experimentera med olika sensorer för att hitta den bästa passformen för dina projekt!