Stromsensor ACS712 Arduino anschließen & verwenden

Der Stromsensor für den Arduino basiert auf dem Hall-Effekt und hat eine direkte Beziehung zwischen dem gemessenen Strom und dem Ausgangssignal. Die Stromsensormodule ACS712 (ACS713) / TA12-100 (Current Sensor) werden in verschiedenen Projekten eingesetzt, bei denen ein Überlastschutz erforderlich ist, z. B. beim Bau von Ladegeräten, externen Batterien (Power Banks) oder Schaltnetzteilen.




Bestandteile:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • Current Sensor ACS712 / TA12-100
  • 12-Volt-Stromversorgung;
  • Last 12V (Lampe);
  • Dupont-Kabel
  • Bibliothek TroykaCurrent.h

Der Stromsensor misst die Wechselstromstärke eines Kabels. Ein Stromwandler wandelt eine hohe Wechselstromstärke in eine minimale um. Durch die interne Verschaltung wird schließlich über einen analogen Anschluss eine analoge Spannung ausgegeben, die proportional zur gemessenen Stromstärke ist. Der Sensor kann direkt oder mithilfe des Grove Shields an einen analogen Pin des Arduinos angeschlossen werden.

Stromstärkesensor ACS712 Arduino pinout, datasheet

Stromstärkesensor ACS712 Arduino pinout, datasheet

Merkmale des Current Sensor ACS712 (datasheet)

  • Versorgungsspannung: 5 V
  • Schnittstellentyp: digital
  • Spannung: DC und AC
  • Stromaufnahme: 11 mA max
  • Strommessung: 5 bis 30 Ampere
  • Empfindlichkeit: 66 mV/A bis 185 mV/A
  • Betriebstemperatur: -40°C bis +85°C
  • Größe des Moduls: 31 x 13 mm

ACS713 und ACS712 Current Sensor bestehen aus einem linearen Sensor auf der Grundlage des Hall-Effekts mit einem Kupferleiter. Ein Strom erzeugt in dem Kupferleiter ein Magnetfeld, das vom Sensor aufgenommen und in eine Spannung umgewandelt wird. Die Stärke des Magnetfelds variiert linear mit der Stärke des Stroms. Die Genauigkeit wird durch den Chip auf dem Modul, dem DC- und dem AC-Sensor gewährleistet.

Stromstärkesensor TA12-100 Arduino pinout, datasheet

Stromstärkesensor TA12-100 Arduino pinout, datasheet

Merkmale des Current Sensor TA12-100 (datasheet)

  • Versorgungsspannung: 5 V
  • Schnittstellentyp: analog
  • Spannung: DC
  • Stromaufnahme: 5 mA max
  • Messstrom: bis zu 5 Ampere
  • Empfindlichkeit: Unbekannt
  • Betriebstemperatur: -55°C bis +85°C
  • Größe des Moduls: 30 x 24 mm

Der Arduino-Sensor TA12-100 misst die Spannung, die über einen 200-Ohm-Transistor fällt, der sich am Ausgang des Transformators befindet. Der TA12-100-Sensor wandelt die Spannung am Widerstand in ein analoges Signal um, indem er das Ohmsche Gesetz anwendet (I = E / R). Das Übersetzungsverhältnis des Transformators beträgt 1000:1, und um den Stromwert zu erhalten, müssen die Daten mit 1000 multipliziert werden.

Wie man einen Stromsensor ACS712 an einen Arduino anschließt

Wie man einen Stromsensor ACS712 an einen Arduino anschließt

Der ACS712 ist ein analoger Sensor und benötigt drei Drähte für den Anschluss. Zwei für die Stromversorgung – GND und 5V und eine Leitung für das Signal. Der Sensor wird in der Lücke zwischen der Stromversorgung und der Last angeschlossen. Es wird die Bibliothek TroykaCurrent.h verwendet, die die analogen Signalwerte in Milliampere umwandelt. Bauen Sie die Schaltung auf, installieren Sie die Bibliothek und laden Sie das Programm.

Programm für Spannungsmessung mit einem Sensor ACS712




#include "TroykaCurrent.h"
ACS712 sensorCurrent(A1);  // Pin für Sensoranschluss

void setup() {
   Serial.begin(9600);
}

void loop() {
   // sortie des données du capteur de courant
   Serial.print("I = ");
   Serial.print(sensorCurrent.readCurrentDC());
   Serial.println(" A");
 
   delay(1000);
}
  1. für AC, verwenden Sie sensorCurrent.readCurrentAC();
  2. Für negative Werte vertauschen Sie die Drähte an den Klemmen.

Wie man einen Stromsensor TA12-100 an einen Arduino anschließt

Wie man einen Stromsensor TA12-100 an einen Arduino anschließt

Der Sensor wird zur Messung des Wechselstroms verwendet und ist analog. Sie benötigen zwei Drähte für den Anschluss (obwohl es drei Stifte auf dem Modul gibt) – ein Draht wird mit GND und der andere mit dem Analogeingang verbunden. Der Draht, an dem Sie den Strom messen wollen, sollte durch die Spule des Moduls geführt werden. Bauen Sie die Schaltung wie im Bild gezeigt zusammen und laden Sie das Programm herunter.

Programm für Spannungsmessung mit einem Sensor TA12-100

#define TA12 A1  // Pin für Sensoranschluss

float nVPP;
float nCurrThruResistorPP;
float nCurrThruResistorRMS;
float nCurrentThruWire;

void setup() {
   Serial.begin(9600);
   pinMode(TA12, INPUT);
}

void loop() {
   // die Spannung über dem Widerstand finden
   nVPP = getVPP();

   // den Strom über den Widerstand nach dem Ohmschen Gesetz berechnen
   nCurrThruResistorPP = (nVPP / 200.0) * 1000.0;

   // сumwandeln des Wertes in einen RMS-Wert
   nCurrThruResistorRMS = nCurrThruResistorPP * 0.707;

   nCurrentThruWire = nCurrThruResistorRMS * 1000;

   // afficher les données sur le moniteur du port
   Serial.print("Volts Peak : ");
   Serial.println(nVPP, 3);

   Serial.print("Current Through Resistor (Peak) : ");
   Serial.print(nCurrThruResistorPP, 3);
   Serial.println(" mA Peak to Peak");

   Serial.print("Current Through Resistor (RMS) : ");
   Serial.print(nCurrThruResistorRMS, 3);
   Serial.println(" mA RMS");

   Serial.print("Current Through Wire : ");
   Serial.print(nCurrentThruWire, 3);
   Serial.println(" mA RMS");

   Serial.println();
}

// Spitzenwert in einer Sekunde
float getVPP() {
  
   float result;
   int readValue;
   int maxValue = 0;
   uint32_t start_time = millis();
 
   while ((millis() - start_time) < 1000) {
      readValue = analogRead(TA12);
      if (readValue > maxValue) { maxValue = readValue; }
  }
 
  result = (maxValue * 5.0) / 1024.0;
  return result;
}
  1. Wandlerverhältnis 1000:1, also wird der Strom mit 1000 multipliziert;
  2. Der Analog-Digital-Wandler an A1 wandelt eine Spannung im Bereich 0-5V in den Wertebereich 0-1024 um.

Schlussfolgerung. Der in diesem Artikel vorgestellte Stromstärkesensor Arduino mit dem ACS712-Chip liefert je nach gemessenem Strom eine analoge Ausgangsspannung im Bereich von 0 – 5V. Auf einer Platine mit externen Anschlüssen montiert, ist er ideal für Mikrocontroller-Projekte. Der Sensor wird in drei Versionen mit unterschiedlichen Messbereichen von 5A, 20A und 30A, aber mit der gleichen Funktionalität hergestellt.

5/5 - (1 vote)


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert