Stroom meten met de Arduino

Measuring Current with the Arduino

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

  1. Arduino Board (bijv. UNO, Mega, Nano)
  2. Huidige sensor (bijv. ACS712, INA219) of Shuntweerstand
  3. Breadboard en jumper draden
  4. Laadapparaat (bijv. LED, motor of een component waarvoor u stroom wilt meten)
  5. Voeding (5V of 12V afhankelijk van uw belasting)
  6. 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

  1. Kies de juiste sensor: Selecteer een huidige sensor of shuntweerstand die geschikt is voor uw verwachte huidige bereik.
  2. Kalibreer uw opstelling: Pas de code aan voor uw specifieke sensor of shuntweerstand om nauwkeurige metingen te garanderen.
  3. Minimaliseer geluid: Gebruik korte, dikke draden en vermijd lawaaierige omgevingen om meetfouten te verminderen.
  4. Monitor stroomlimieten: Zorg ervoor dat de sensor- of shuntweerstand de maximale stroom kan verwerken zonder oververhitting te raken.

Toepassingen van de huidige meting

  1. Batterijverbruik in IoT -apparaten bewaken
  2. Het meten van stroomafname in motoren
  3. LED's en andere componenten testen
  4. 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!

Laat een reactie achter

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.