Selasa, 13 Juli 2021

cara aman merakit kwh 3 phase dengan pzem004t

 





#define BLYNK_PRINT Serial

#include <TimeLib.h>

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

#include <WidgetRTC.h>

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

#include <ModbusMaster.h>

#define nodemcu Serial

#include <ModbusMaster.h>

ModbusMaster node1;//pzem1

ModbusMaster node2;//pzem2

ModbusMaster node3;//pzem3

ModbusMaster node4;

int vrn, vsn, vtn, vnn, vrs, vst, vtr, arus1, arus2, arus3, arus4, iavg, freq, kwh1, kwh2, kwh3, kwhtot;

uint8_t result1;

uint8_t result2;

uint8_t result3;

uint8_t result4;

uint16_t data[40];

#define BLYNK_TEMPLATE_ID "TMPLHakUdinP"

#define BLYNK_DEVICE_NAME "xxxxxx"

#define BLYNK_AUTH_TOKEN "xxxx"

char auth[] = "xxxxx";//

char ssid[] = "SIMOR#2020";

char pass[] = "simor123";

BlynkTimer timer;

WidgetRTC rtc;


void simor()

{

  String currentTime = String(hour()) + ":" + minute() + ":" + second();

  String currentDate = String(day()) + " " + month() + " " + year();


  Blynk.virtualWrite(V20, currentTime);

  Blynk.virtualWrite(V21, currentDate);

//pzem1

  result1 = node1.readInputRegisters(0x0000, 10);

  if (result1 == node1.ku8MBSuccess) {

    vrn = (node1.getResponseBuffer(0x00) / 10.0f);

    arus1 = (node1.getResponseBuffer(0x01) / 1000.000f) ;

    freq = (node1.getResponseBuffer(0x07) / 10.0f);

    kwh1 = (node1.getResponseBuffer(0x05) / 1000.0f);

  }

  delay(100);

  result2 = node2.readInputRegisters(0x0000, 10);

  if (result2 == node2.ku8MBSuccess) {

    vsn = (node2.getResponseBuffer(0x00) / 10.0f);

    arus2 = (node2.getResponseBuffer(0x01) / 1000.000f)  ;

    kwh2 = (node2.getResponseBuffer(0x05) / 1000.0f);

  }

    delay(100);


  result3 = node3.readInputRegisters(0x0000, 10);

  if (result3 == node3.ku8MBSuccess) {

    vtn = (node3.getResponseBuffer(0x00) / 10.0f);

    arus3 = (node3.getResponseBuffer(0x01) / 1000.000f) ;

    kwh3 = (node3.getResponseBuffer(0x05) / 1000.0f);

  }

  delay(100);

  vrs = ((vrn + vsn) / 2) * 1.73;

  vst = ((vsn + vtn) / 2) * 1.73;

  vtr = ((vrn + vtn) / 2) * 1.73;

  

  iavg = (arus1 + arus2 + arus3) / 3;

  kwhtot =  kwh1 + kwh2 + kwh3;

  Blynk.virtualWrite(V0, vrn); //

  Blynk.virtualWrite(V1, vsn); //

  Blynk.virtualWrite(V2, vtn); //

  Blynk.virtualWrite(V3, vrs); //

  Blynk.virtualWrite(V4, vst); //

  Blynk.virtualWrite(V5, vtr); //

  Blynk.virtualWrite(V6, arus1); //

  Blynk.virtualWrite(V7, arus2); //

  Blynk.virtualWrite(V8, arus3); //

  Blynk.virtualWrite(V9, iavg); //

  Blynk.virtualWrite(V10, freq); //

  Blynk.virtualWrite(V11, kwh1); //

  Blynk.virtualWrite(V12, kwh2); //

  Blynk.virtualWrite(V13, kwh3); //

  Blynk.virtualWrite(V14, kwhtot); //



  lcd.setCursor(0, 0);

  lcd.print("KWH IOT 3 PHASE");

  lcd.setCursor(0, 1);

  lcd.print(arus1);

  lcd.setCursor(5, 1);

  lcd.print(arus2);

  lcd.setCursor(10, 1);

  lcd.print(arus3);

  lcd.setCursor(15, 1);

  lcd.print(arus4);

  /*


  lcd.setCursor(0, 2);

  lcd.print(vrn);

  lcd.setCursor(5, 2);

  lcd.print(vsn);

  lcd.setCursor(10, 2);

  lcd.print(vtn);

  lcd.setCursor(15, 2);

  lcd.print(vnn);



  lcd.setCursor(0, 3);

  lcd.print(vrs);

  lcd.setCursor(5, 3);

  lcd.print(vst);

  lcd.setCursor(10, 3);

  lcd.print(vtr);

  lcd.setCursor(15, 3);

  lcd.print(freq);

  */

}

BLYNK_CONNECTED() {

  // Synchronize time on connection

  rtc.begin();

}

void setup() {

  Serial.begin(9600);

  nodemcu.begin(9600);

  node1.begin(1, nodemcu);

  node2.begin(2, nodemcu);

  node3.begin(3, nodemcu);

  Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);

  timer.setInterval(2000L, simor);

  setSyncInterval(60 * 60); // Sync interval in seconds (60 minutes)


  lcd.init();                      // initialize the lcd

  lcd.init();

  lcd.backlight();

  lcd.setCursor(6, 0);

  lcd.print("WELCOME");

  lcd.setCursor(0, 1);

  lcd.print("KWH IOT 3 PHASE");

  /*

  lcd.setCursor(0, 2);

  lcd.print("SIMOR TECHNOLOGY)");

  lcd.setCursor(0, 3);

  lcd.print("By: Fuad Hasan");

  */

  delay(5000);

  lcd.clear();

}

void loop() {

  Blynk.run();

  timer.run();


}


Sabtu, 10 Juli 2021

Power Meter Toky DS9L/7L Register Addres dan Cara Test Modbus

 

Assalamu'alaikum,
Sobat SIMOR,  kali ini saya share pengalaman penggunakan power meter (PM) ini. awal mengetahui power meter ini dari Facebook. ada salah satu temen yang bernama Acheng Ho memposting. dia adalah salah satu distributor power meter ini di indonesia. Power meter ini adalah Toky DS9L/7L. 


PM ini mempunyai fitur, antara lain:

1) mengukur Item: 3 phase power jaringan Tegangan/Arus/Daya Aktif/Daya Reaktif/Frekuensi/Power Factor dll, 

2) dua/OFF input dan 2 ON/OFF output (opsional empat ON/OFF input)

3) dengan RS485 antarmuka Modbus RTU protokol komunikasi
4) satu active energy pulse output


Berikut spesifikasinya :


Register Modbusnya:


Standart paramater komunikasinya : 
Baudrate 9600
Id  1
Parity  None
Stop Bit 1

Cara mengecek data Modbusnya:


Kwh ini juga bisa d tampilkan ke Web
















Jumat, 09 Juli 2021

masalah upload STM32 bluepill pakai kabel usb

 


Problem gagal upload



cek di device manager tidak terdetect di port




instal driver klik 2x


tunggu sampai selesai



stm32 akan terdetect di port dan siap untuk di upload

upload Finish


tutorial lengkap :



tutorial upload via port usb  download


Sabtu, 03 Juli 2021

Monitoring Server menggunakan Blynk versi 2.0 ( web dashboard)




 assalamu'alaikum

sobat SIMOR, hari ini saya mengadakan Ngobrol Bersama yang akan membahas tentang bagaimana membuat alat monitoring suhu dan kelembapan server via blynk versi web dashboard.


berikut alat dan bahan yang dibutuhkan:

- esp8266/esp32

- dht11/dht22

- kabel jumper

- kabel data/microusb 

- laptop 

software dan aplikasi yang perlu di instal
- arduino IDE

- board esp8266 /esp32  (tutorial ada di link)

- library blynk, dht, adafruit sensor (download)

- sketch Monitoring Server (download)

- aplikasi Blynk IoT (download)


langkah -langkahnya :

1. buka web browser https://blynk.cloud/dashboard/login, pilih create new account


setelah itu ada email dari blynk untuk konfirmasi, klik link yang ada di email.

selanjutnya ikuti tutorial di acara NGOMBE.






terima kasih



Cara belajar arduino online tanpa hardware

 



assalamu'alaikum, 

sobat SIMOR. malam ini saya akan share bagaimana belajar arduino tanpa arduino maupun komponen lainnya. cukup sediakan :
- Laptop + koneksi Internet
- Mouse
- Cemilan secukupnya


langsung saja ke langkahnya :

1. buka web browser https://www.tinkercad.com/
2. klik join now pojok kanan atas


3. klik create a perconal account


4.sign in with google (biar cepet)



5. klik centang dan continue


6. klik circuit


7. klik create new circuit

8.  drag n drop komponen




sketch mode block

sketch mode text

jika sudah tekan start simulation




selamat belajar arduino tanpa hardware














cara blok value di Node red

 ambil node filter dan edit seperti di bawah ini