Het meten van stroom in elektronische circuits is een veel voorkomende vereiste voor projecten met sensoren, motoren, LED's en andere componenten. Hoewel Arduino de stroom niet direct kan meten, kunt u externe componenten gebruiken zoals een huidige sensor of een shuntweerstand om deze indirect te meten. Deze zelfstudie zal u begeleiden door het proces van het meten van stroom met een Arduino.
Wat u nodig hebt
- Arduino Board (bijv. UNO, Mega, Nano)
- Huidige sensor (bijv. ACS712, INA219) of Shuntweerstand
- Breadboard en jumper draden
- Laadapparaat (bijv. LED, motor of een component waarvoor u stroom wilt meten)
- Voeding (5V of 12V afhankelijk van uw belasting)
- Een computer met de Arduino Ide geïnstalleerd
Methode 1: Een huidige sensor gebruiken
Huidige sensoren zoals de ACS712 of INA219 vereenvoudigen de huidige meting door een analoge of digitale uitgang te bieden die evenredig is aan de stroom.
1. Met behulp van de ACS712 stroomsensor
De ACS712 -sensor meet zowel AC- als DC -stroom en voert een analoog signaal uit dat evenredig is aan de stroom die erdoorheen stroomt.
Bedradingsschema
ACS712 PIN | Verbinding |
---|---|
VCC | Arduino 5V |
GND | Arduino GND |
UIT | Arduino analoge pin (bijv. A0) |
IP+ | Positieve belastingverbinding |
Ip- | Negatieve belastingverbinding |
Voorbeeldcode
#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. met behulp van de Ina219 -huidige sensor
De INA219 is een zeer nauwkeurige huidige sensor die communiceert met Arduino via I2C en biedt zowel stroom- als spanningsmetingen.
Bedradingsschema
Ina219 pin | Verbinding |
---|---|
VCC | Arduino 5V |
GND | Arduino GND |
SDA | Arduino SDA (bijv. A4 op uno) |
SCL | Arduino SCL (bijv. A5 op UNO) |
VIN+ | Positieve belastingverbinding |
Vin- | Negatieve belastingverbinding |
Voorbeeldcode
Installeer de Adafruit ina219 bibliotheek via de 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: Een shuntweerstand gebruiken
Een shuntweerstand is een weerstand met lage weerstand die in serie met de belasting wordt geplaatst. Door de spanningsval over de shuntweerstand te meten, kunt u de stroom berekenen met behulp van de wet van Ohm:
I = v / r
Bedradingsschema
Onderdeel | Verbinding |
---|---|
Shuntweerstand | In serie met de lading |
Arduino analoge pin | Over de shuntweerstand |
Laden | Verbonden met voeding |
Voorbeeldcode
#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 voor nauwkeurige metingen
- Kies de juiste sensor: Selecteer een huidige sensor of shuntweerstand die geschikt is voor uw verwachte huidige bereik.
- Kalibreer uw opstelling: Pas de code aan voor uw specifieke sensor of shuntweerstand om nauwkeurige metingen te garanderen.
- Minimaliseer geluid: Gebruik korte, dikke draden en vermijd lawaaierige omgevingen om meetfouten te verminderen.
- Monitor stroomlimieten: Zorg ervoor dat de sensor- of shuntweerstand de maximale stroom kan verwerken zonder oververhitting te raken.
Toepassingen van de huidige meting
- Batterijverbruik in IoT -apparaten bewaken
- Het meten van stroomafname in motoren
- LED's en andere componenten testen
- Power Management in ingebedde systemen
Problemen oplossen
- Onjuiste metingen: De bedrading- en kalibratiewaarden met dubbele controles.
- Geen uitvoer: Zorg ervoor dat de belasting is verbonden en stroom stroomt.
- Fluctuerende waarden: Voeg een condensator toe over de voeding van de sensor om de metingen te stabiliseren.
Conclusie
Het meten van stroom met een Arduino is eenvoudig bij het gebruik van de juiste tools zoals huidige sensoren of shuntweerstanden. Door deze gids te volgen, kunt u de stroom in uw circuits nauwkeurig controleren, waardoor een beter energiebeheer en systeemdiagnostiek mogelijk is. Experimenteer met verschillende sensoren om de beste pasvorm voor uw projecten te vinden!