Inhaltsverzeichnis:

Stromüberwachung über Arduino Nano (I2C) - Gunook
Stromüberwachung über Arduino Nano (I2C) - Gunook

Video: Stromüberwachung über Arduino Nano (I2C) - Gunook

Video: Stromüberwachung über Arduino Nano (I2C) - Gunook
Video: Winson WCS1800 WCS2750 WCS1500 Hall Effect Current Sensor with dispaly with over current protection 2024, November
Anonim
Stromüberwachung über Arduino Nano (I2C)
Stromüberwachung über Arduino Nano (I2C)

Hallo, Schöne Grüße..!!

Hier habe ich (Somanshu Choudhary) im Auftrag von Dcube Tech Ventures den Strom mit Arduino Nano überwacht. Dies ist eine der Anwendungen des I2C-Protokolls zum Lesen analoger Daten des Stromsensors TA12-200.

Schritt 1: Übersicht

Überblick
Überblick
  1. TA12-200 ist ein Wechselstromsensor
  2. DATENBLATT Link:https://berg.hatenablog.com/entry/2013/2044-21-0441
  3. Dieses Projekt misst AC-Stromwerte

Schritt 2: Was Sie brauchen / Links

Was Sie brauchen / Links
Was Sie brauchen / Links
  1. Arduino Nano
  2. I²C-Shield für Arduino Nano
  3. USB-Kabel Typ A zu Micro Typ B 6 Fuß lang
  4. I²C-Kabel
  5. I²C AC-Stromsensor über ADC121C 12-Bit ADC I²C Mini Modul
  6. CFL oder Glühbirne.
  7. PCV-Kabel.

Schritt 3: Schaltplan

Schaltplan
Schaltplan
Schaltplan
Schaltplan

Schritt 4: Programmierung / Code

Programmierung / Code
Programmierung / Code

#enthalten

Void-Setup ()

{

// I2C-Adresse des ADC121C021, 0x50 verbunden mit TA12-200

#define ADC_ADDR 0x50

// I2c Bus als Master beitreten

Wire.begin();

// Serielle Kommunikation für serielle Konsolenausgabe starten

Serial.begin (9600);

}

Leere Schleife ()

{

// Beginnen Sie die Übertragung mit dem angegebenen Gerät auf dem I2C-Bus

Wire.beginTransmission(ADC_ADDR);

// Konvertierungsergebnisregister aufrufen, 0x00(0)

Wire.write (0x00);

// Verzögerung (500);

// 2 Byte anfordern

Wire.requestFrom(ADC_ADDR, 2);

// Lesen Sie die Bytes, wenn sie verfügbar sind

if(Draht.verfügbar() == 2)

{

int msb = Wire.read();

int lsb = Wire.read();

// Übertragung beenden und I2C-Bus freigeben

Wire.endTransmission();

// Berechnungswert

int rawADC = msb * 256 + lsb;

rawADC = rawADC & 0x0fff;

// Ausgabe auf den Bildschirm

Serial.print ("ADC-Wert: ");

Serial.println (rawADC);

}

anders

{

Serial.println ("Nicht genügend Bytes auf dem Kabel verfügbar.");

}

Verzögerung (100);

}

//////////////////////////////////////////////// /////////////////////////HINWEIS//////////////////////// //////////////////////////////////////////////// //////////////////////////

// Diese Werte sind in Milliampere angegeben

// Sie können auch den Effektivwert des Stroms ermitteln, indem Sie den maximalen Messwert ermitteln und durch 1,414. dividieren

Schritt 5:

Für weitere Fragen besuchen Sie gerne unsere Website:

www.dcubetechnologies.com

Empfohlen: