blog.ijacek007.cz

Blog o všem trochu jinak.

Postavíme si jednoduchý obvod, který bude využívat destičku s čipem ESP8266, poté rozšiřující modul pro připojení napěťového transformátoru a nakonec proudový transformátor pomocí kterého budeme z měřeného obvodu bez přerušení či jakéhokoliv narušení zjišťovat aktuální odběr. Budeme tedy měřit odběr ze střídavé sítě klasických zásuvkových obvodu, tedy 220V a možnosti měřit proud do 30 A.


Pohled na kompletní systém měření

Pozor!

I když naše zapojení a veškerá elektronika, kterou zde budeme dnes stavět, bude napájena jak bezpečným napětím, tak měřící transformátor předpokládá manipulaci v blízkosti standartního jedno fázového zásuvkového napětí. Jedná se o napětí nebezpečné. Proto by zapojení měl vždy provádět odborník!.

Protože jsem úmyslně použil WeMos D1 Mini Pro V3.0 s rozšiřující deskou, není nutné cokoliv pájet či zapojovat, ale stačí dvojici destiček do sebe pouze zacvaknout. Napěťoví transformátor je totiž vybaven klasickým konektorem jack 3,5 mm a v rozšiřujícím modulu je na to připraven konektor. Přesto není od věci ukázat si alespoň schéma zapojení, kdybyste z nějakého důvodu chtěli stavět vlastní zapojení tohoto měřícího transformátoru. Jde vlastně jen o jediný kondenzátor, čtveřici odporu a samotný konektor na připojení měřícího transformátoru.
schéma zapojení pro měření z SCT013

Jak vidíte nic to není, ale s modulem to je prostě mnohem pěknější. No pokud už máme zapojení, stačí nahrát jen kód do ESP a obvod je hotov.

/*
    A simple library demo thatat reads an MLP191020 - 1-channel CT sesnor boards
    Based On:   EmonLib https://github.com/openenergymonitor/EmonLib
    Auther:     David Mottram
    Updated:    22nd September 2021
*/

#include <ESP8266WiFi.h>              // needed for EPS8266
#include <WiFiClient.h>               // WiFi client
#include <ESP8266WebServer.h>

const char* ssid     = "TajnaWifi";
const char* password = "SuperTajneHeslo";

ESP8266WebServer server(80);

String webString = "";

// I/O items
#define Network_LED 2

// library for the MLP191020 PCB
#define Cal_value 1500

// values for reporting
#define Voltage 230
#define CT_Cal 17.619
#define Min_Usable_Value 0.3
#define Reporting_Delay 500

// https://github.com/Mottramlabs/MQTT-Power-Sensor
#include <MLP191020.h>
// make an instance of MLP191020
MLP191020 My_PCB(Cal_value);

double Value = 0;                     // result

void handle_root() {
  int analog = 0;

  Serial.println("HTTP cteni ");

  // display report
  //Serial.print(" - Amps: "); Serial.print(Amps); Serial.print("A - Watts: "); Serial.print(); Serial.print("W");

   // read A/D values and store in value
  Value = My_PCB.power_sample();

  // calc Amps, zero the value if below usable value
  float Amps = Value / CT_Cal;

  // if below min usable value then zero
  if (Value < Min_Usable_Value) {
    Amps = 0;
  } // end if

  int Watts = Amps * Voltage;


  webString = "Amps :"+String(Amps)+"|Watts :"+String(Watts)+""; // Arduino has a hard time with float to string
  server.send(200, "text/plain", webString);            // send to someones browser when asked

  delay(100);
}

void setup() {

  // start the serial connection
  Serial.begin(115200); Serial.println(""); Serial.println(""); Serial.println("Up and Clackin!");
  Serial.println(__FILE__);

  // setup I/O
  pinMode(Network_LED, OUTPUT); digitalWrite(Network_LED, HIGH);

 // nasstaveni wifi modu jen na clienta
  // WiFi.mode(m): set mode to WIFI_AP, WIFI_STA, or WIFI_AP_STA.
  // WiFi.mode(WIFI_STA);
  WiFi.softAPdisconnect(true);

  // Connect to WiFi network

  WiFi.begin(ssid, password);
  Serial.print("\n\r \n\rWorking to connect");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {


   delay(1000);

    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());


  server.on("/", handle_root);

  server.begin();
  Serial.println("HTTP server started");


} // end of setup


void loop() {
  server.handleClient();

  // read A/D values and store in value
  Value = My_PCB.power_sample();

  // calc Amps, zero the value if below usable value
  float Amps = Value / CT_Cal;

  // if below min usable value then zero
  if (Value < Min_Usable_Value) {
    Amps = 0;
  } // end if

  int Watts = Amps * Voltage;

  // display report
  Serial.print("Value: "); Serial.print(Value); Serial.print(" - Amps: "); Serial.print(Amps); Serial.print("A - Watts: "); Serial.print(Watts); Serial.print("W");
  Serial.println("");

  // flash the LED
  digitalWrite(Network_LED, HIGH); delay(10); digitalWrite(Network_LED, LOW);

  delay(Reporting_Delay);

} // end of loop


pohled na konzoli i na webovou stránku měření

Jak si můžete všimnout v kódu, jsme úmyslně nechali jak výpis na konzoly, tak se informace zobrazují v podobě jednoduchého textového údaje. Také na webové stránce čidla, pokud je obvod úspěšně připojen k bezdrátové síti. Jde samozřejmě jen o vzorový příklad a kód by se dal velmi pěkně optimalizovat, nicméně jako ukázka to bohatě postačí.

Odkazy

WeMos D1 Mini Pro v3.0 NodeMcu ESP8233 (ALIRXPRESS)

Rozčířující deska pro připojení napětového transformáturu (E­BAY)

Měřící transformátor SCT013 (ALIRXPRESS)


Štítky článku elektronika | programovani | skutecnost |
Autor Ijacek.007 27.11.2021 Opravil(a) sokorka zobrazeno 1 435x
Předchozí článek Minimalistický wifi kontrolér k led pásku WS2812
Používání infračervených signálu a ESP8266 Další článek


gravatar

Vložit komentář

Nick *:
WWW:
Email * (nezobrazuje se ):
Gravatar:
Pamatuj si mě:
Komentář článku *:
Opiš následující text: *

* - vyžadované údaje. RSS kanál s komentáři

Přihlášení



Audioknihy

Jsme milovníci audio knížek, kterých aktuálně máme zakoupených 390. Poslech všech dohromady zabral přes 5340 hodin.

Z tohoto množství jsme si již stihli poslechnout téměř 48% tedy 188 audioknih.

Aktuálně poslouchaná audioknihakniha je Everest 1922

Poslední hodnocenou audioknihou je Nápad za miliardu Hodnocení audioknihy 4/5.

Nejlépe hodnocenou audioknihou je Astronautův průvodce životem na Zemi Hodnocení audioknihy 4/5.

Reklama