Subscribe
iotles.com
No Result
View All Result
  • Login
  • BERANDA
  • BELAJAR IOT
  • ENERGY METER
  • BERANDA
  • BELAJAR IOT
  • ENERGY METER
No Result
View All Result
iotles.com
No Result
View All Result
Home Energy Meter

Membaca Listrik 3 Phase dengan Sensor PZEM-016 dengan Arduino ESP12

jimmisitepu by jimmisitepu
January 29, 2022
in Energy Meter
0
listrik 3 phase pzem 016

wiring installasi

0
SHARES
2.9k
VIEWS
Share on FacebookShare on Twitter

Kebutuhan akan monitoring listrik 3 phase berkembang seiring dengan berkembang nya sensor-sensor yang mendukung nya, mulai dari sensor yang low cost, menengah bahkan yang industrial seperti power meter keluaran ABB, Schneider dan lain lain.

Kali ini kita akan akan mengungkap trik dan tips membaca listrik 3 phase dengan sensor PZEM-016. Sengaja memilih sensor ini di bandingkan dengan sensor pzem-004T, karena alasan wiring, modbus suppport dan kerapian dalam instalasi.

Mengikut tutorial sebelum nya, agar tidak bingung mengikuti tutorial berikut, alangkah baik nya teman-teman membaca artikel berikut ini, ya itu merubah alamat modbus pada sensor PZEM 016, cukup click tombol di bawah ini,

Related articles

Tips dan Trik Cara Reset kWh Pada Sensor PZEM 016 dan PZEM 004

Cara Mudah Merubah Address Sensor PZEM 016 / PZEM004

Merubah address pzem 016

Wiring PZEM-016 dengan Modul Modbus Converter

wiring installasi
wiring pzem 016 untuk 3 phase
diagram instalasi

Pastikan Jalur 220VAC TIDAK SHORT, check dengan MULTIMETER

Savety First

Setelah Wiring sudah benar dan baik, saya harap teman-teman sudah Merubah Address masing masing sensor PZEM-016, jika belum check tutorial sebelum nya, yaitu merubah address sensor PZEM-016

Coding Membaca 3 Phase

static uint8_t pzemSlaveAddr1 = 1;
static uint8_t pzemSlaveAddr2 = 2;
static uint8_t pzemSlaveAddr3 = 3;

Alamat masing masing sensor PZEM bisa dilihat pada cuplikan di atas, dengan penjelasan seperti di bawah ini,

  1. Sensor PZEM 016 yang ke satu kita beri address 0x01,
  2. Sensor PZEM 016 yang ke dua kita beri address 0x02,
  3. Sensor PZEM 016 yang ke tiga kita beri address 0x03,

Setelah itu kita panggil secara bergantian data dari sensor pzem ini, fungsi nya seperti pada cuplikan code berikut ini,

void loop() {
  baca_pzem(pzemSlaveAddr1);
  baca_pzem(pzemSlaveAddr2);
  baca_pzem(pzemSlaveAddr3);
}

Untuk Program keseluruhan nya adalah seperti berikut ini,

#include <ModbusMaster.h>
ModbusMaster node;

static uint8_t pzemSlaveAddr1 = 1;
static uint8_t pzemSlaveAddr2 = 2;
static uint8_t pzemSlaveAddr3 = 3;

#include <SoftwareSerial.h>
SoftwareSerial pzemSerial(13, 14);

#define EN      12
#define MAX485_RE_NEG  12

float voltage,  current, power, energy, freq, pf;

void preTransmission()
{
  digitalWrite(EN, 1);
}

void postTransmission()
{
  digitalWrite(EN, 0);
}
 
void setup() {

  pinMode(EN, OUTPUT);
  // Init in receive mode
  digitalWrite(MAX485_RE_NEG, 0);
  digitalWrite(EN, 0);

  pzemSerial.begin(9600); // baudrate pzem
  Serial.begin(115200);

  node.preTransmission(preTransmission);
  node.postTransmission(postTransmission);

}

void loop() {
  baca_pzem(pzemSlaveAddr1);
  baca_pzem(pzemSlaveAddr2);
  baca_pzem(pzemSlaveAddr3);
}

void baca_pzem(byte addr){
  Serial.print("baca pzem addr: ");
  Serial.println(addr);
  
  node.begin(addr, pzemSerial);
  uint8_t result;
  result = node.readInputRegisters(0, 9); //read the 9 registers of the PZEM-014 / 016
  if (result == node.ku8MBSuccess)
  {

    voltage = node.getResponseBuffer(0) / 10.0;
    uint32_t tempdouble = 0x00000000;

    tempdouble = node.getResponseBuffer(1);       //LowByte
    tempdouble |= node.getResponseBuffer(2) << 8;  //highByte
    current = tempdouble / 1000.0;

    tempdouble |= node.getResponseBuffer(3);       //LowByte
    tempdouble |= node.getResponseBuffer(4) << 8;  //highByte
    power = tempdouble / 10.0;

    tempdouble = node.getResponseBuffer(5);       //LowByte
    tempdouble |= node.getResponseBuffer(6) << 8;  //highByte
    energy = tempdouble;

    tempdouble = node.getResponseBuffer(7);
    freq = tempdouble / 10.0;

    tempdouble = node.getResponseBuffer(8);
    pf = tempdouble / 10.0;
    print_data();

  } else {
    Serial.println("Failed to read modbus");
  }
  delay(1000);//wajib ada delay
  
}

void print_data() {
  Serial.print(voltage);
  Serial.print("V   ");

  Serial.print(current);
  Serial.print("A   ");

  Serial.print(freq);
  Serial.print("Hz   ");

  Serial.print(pf);
  Serial.print("pf   ");
  Serial.print("   ");

  Serial.print(power);
  Serial.print("W  ");

  Serial.print(energy);
  Serial.print("Wh  ");
  Serial.println();
}

Compile program di atas dan upload ke modul modbus converter kita, Jika kebetulan error, maka silahkan merujuk ke artikel sebelum nya, cukup clik tombol di bawah ini,

Membaca Sensor PZEM 016

Setelah itu, buka serial monitor dan lihat, jika wiring berhasil akan nampak seperti pada video di bawah ini,

Monitoring 3 Phase

Monitoring 3 phase akan jadi lebih menarik, dan akan kita bahas di tutorial selanjut nya, sebelum melangkah ke monitoring 3 phase dengan platform iot yang sudah ada, saya harap teman membaca tutorial ini secara berurut, agar ilmu yang di dapatkan secara terstruktur dan teratur, list tutorial nya adalah sebagai berikut,

  1. Modul Modbus Converter
  2. Membaca Sensor PZEM -016 dengan Modul Modbus Converter
  3. Merubah address Sensor PZEM -016
  4. Mereset nilai KWH Sensor PZEM-016

Jika teman-teman tertarik dengan modul Modbus Converter, Cukup Click tombol whatsapp di bawah ini,

Whatsapp Kami

Sekian dulu tutorial ini, Semoga bermanfaat.

Previous Post

Tips dan Trik Cara Reset kWh Pada Sensor PZEM 016 dan PZEM 004

Next Post

Membaca Push Button Arduino dengan digitalRead

Related Posts

wiring pzem 016
Energy Meter

Tips dan Trik Cara Reset kWh Pada Sensor PZEM 016 dan PZEM 004

January 29, 2022
merubah address pzem 016
Energy Meter

Cara Mudah Merubah Address Sensor PZEM 016 / PZEM004

January 29, 2022
wiring pzem 016
Energy Meter

Langkah Mudah Membaca Sensor PZEM 016 dengan Arduino ESP12

January 29, 2022
modbus converter esp12
Energy Meter

Mengenal Modbus RTU Converter To Cloud Support PZEM 004, PZEM 016 dan Power Meter

January 29, 2022

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Monitoring Beberapa Jenis Power Meter Tanpa Koding dengan Modul LTE Modbus ke Blynk Cloud
  • Posting Data Ke blynk Iot dengan Modul GSM SIM7600 ESP32
  • Modul 4G Arduino SIM7600 dengan ESP32
  • Membuat Game Sederhana ESP32 Arduino dengan Random LED dan Button
  • Membuat Counter UP dan Counter Down pada Arduino Dengan Button

Recent Comments

No comments to show.
  • BERANDA
  • BELAJAR IOT
  • ENERGY METER
Call us: +62 851-5941-1861

© 2021 iotles.com - Learning and making iot device iotles.

No Result
View All Result
  • BERANDA
  • BELAJAR IOT
  • ENERGY METER

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist