Contoh Program Interfacing PZEM-004T V3 V3.0 Dengan Menggunakan Arduino

Spread the love

Sekilas Mengenai PZEM-004T V3.0

Pada artikel ini, kita akan membahas penggunaan atau pemakaian modul PZEM-004T V3.0 yang diinterface atau diprogram dengan menggunakan Arduino UNO atau Arduino Mega2560. Jika menggunakan contoh program dengan Hardware Serial maka diperlukan Arduino Mega2560 karena Arduino UNO Hardware Serialnya sudah digunakan untuk komunikasi dengan Serial Monitor.

Sebagaimana yang sudah saya sampaikan pada artikel sebelumnya, bahwasannya modul PZEM-004T V3.0 merupakan upgrade version dari PZEM-004T V2.0 dan juga protokol untuk komuniksi interface nya juga sudah berbeda, maka library program untuk PZEM-004T V2 tidak bisa digunakan untuk interface dengan PZEM-004T V3.0.

Untuk mengetahui lebih detail dan lengkap mengenai perbedaan maupun kelebihan diantara keduanya, silahkan buka artikel sebelumnya : Mengenal PZEM-004T Modul Elektronik Untuk Alat Pengukuran Listrik

Sedangkan untuk contoh program modul PZEM-004T V2.0 silahkan buka link artikel dibawah :

Contoh Program Interfacing PZEM-004T V2.0 Dengan Menggunakan Arduino

Hardware Yang Dibutuhkan

Pada contoh program modul PZEM-004T V3 ini, dibutuhkan beberapa hardware antara lain :

  • Modul PZEM-004T V3.0
  • Arduino UNO atau Arduino Mega2560
  • Beberapa kabel jumper M-F / F-F
  • Beban / Load (bisa menggunakan Lampu TL / Bohlam / LED / Bor Listrik)
  • USB to Serial TTL (optional untuk digunakan testing fungsi dengan aplikasi PZEM-004T Master).

Rangkaian / Wiring Diagram

Tabel berikut menunjukkan hubungan atau koneksi antara modul PZEM-004T V3.0 dengan Arduino

PZEM-004T V3.0Arduino UNO / Mega2560
VCC+5V
GNDGND
TXRX (Software Serial / Harware Serial)
RXTX (Software Serial / Harware Serial)

Untuk koneksi atau hubungan antara PZEM-004T V3.0 dengan Current Transformer (CT) , Beban / Load dan Arduino secara lengkap bisa dilihat pada gambar dibawah :

Wiring PZEM-004T with Load

Testing Fungsi Modul PZEM-004T V3.0

Ada kalanya ketika kita membuat program dengan Arduino dan setelah diupload ternyata outputnya tidak sesuai dengan yang diharapkan, banyak yang mengeluhkan modul PZEM-004T V3.0 nya rusak atau tidak berfungsi.

Untuk itu sebelum melakukan interfacing modul PZEM-004T V3.0 dengan Arduino, kami menyarankan sebaiknya dilakukan uji fungsi terlebih dahulu terhadap modul PZEM-004T V3.0 nya untuk memastikan bahwasannya modul PZEM-004T V3.0 tersebut tidak rusak atau berfungsi dengan baik.

Download aplikasi untuk testing fungsi modul PZEM-004T V3.0 pada link berikut :

PZEM-004Tsoftware New version

Selanjutnya ekstrak / unzip file yang sudah didownload tadi, kemudian register file : isAnalogLibrary.ocx pada sistem Windows OS PC / Laptop dengan cara berikut :

  • Copy file isAnalogLibrary.ocx ke folder : Windows/System32/
  • Buka command prompt atau cmd.exe
  • ketik : Regsvr32.exe C:\Windows\System32\isAnalogLibrary.ocx
  • Jika berhasil, akan muncul notifikasi Registered Successfully

Setelah berhasil melakukan register file : isAnalogLibrary.ocx, selanjutnya jalankan file : PZEM004T-Master.exe untuk melakukan testing apakah modul PZEM-004T V3.0 nya berfungsi atau tidak.

Perlu diketahui, untuk melakukan testing dengan menggunakan aplikasi tersebut, diperlukan hardware USB to Serial TTL yang cukup banyak tersedia di pasaran seperti : tipe CH340, tipe PL2303 dll seperti gambar di bawah.

USB to Serial TTL

Setelah modul PZEM-004T V3.0 nya sudah dirangkai baik dengan Beban / Load (bisa Lampu / Bor Listrik) maupun dengan USB to Serial TTL dan pastikan USB to Serial TTL nya sudah dikenali / dideteksi oleh Windows OS, klik Set COM Port kemudian klik Start Measure.

Setelah dilakukan testing atau uji fungsi dan dipastikan modul PZEM-004T V3.0 nya berfungsi dengan baik, bisa dilanjutkan dengan membuat program dengan Arduino maupun mikrontroller lainnya.

Code Program

Pada contoh program untuk mengakses atau melakukan interfacing modul PZEM-004T V3.0 menggunakan Arduino ini, kita menggunakan library berikut :

PZEM-004T-v30 atau PZEM-004T-v30

Setelah library tersebut didownload dan diinstall, buka contoh program yang ada dari bawaan library tersebut atau copy paste sketch berikut :

#include <PZEM004Tv30.h>

PZEM004Tv30 pzem(11, 12); // Software Serial pin 11 (RX) & 12 (TX)

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

void loop() {
   float voltage = pzem.voltage();
   if(voltage != NAN){
       Serial.print("Voltage: ");
       Serial.print(voltage);
       Serial.println("V");
   } else {
       Serial.println("Error reading voltage");
   }

   float current = pzem.current();
   if(current != NAN){
       Serial.print("Current: ");
       Serial.print(current);
       Serial.println("A");
   } else {
       Serial.println("Error reading current");
   }

   float power = pzem.power();
   if(current != NAN){
       Serial.print("Power: ");
       Serial.print(power);
       Serial.println("W");
   } else {
       Serial.println("Error reading power");
   }

   float energy = pzem.energy();
   if(current != NAN){
       Serial.print("Energy: ");
       Serial.print(energy,3);
       Serial.println("kWh");
   } else {
       Serial.println("Error reading energy");
   }

   float frequency = pzem.frequency();
   if(current != NAN){
       Serial.print("Frequency: ");
       Serial.print(frequency, 1);
       Serial.println("Hz");
   } else {
       Serial.println("Error reading frequency");
   }

   float pf = pzem.pf();
   if(current != NAN){
       Serial.print("PF: ");
       Serial.println(pf);
   } else {
       Serial.println("Error reading power factor");
   }

   Serial.println();
   delay(2000);
}

Atau contoh yang menggunakan Harware Serial seperti berikut :

#include <PZEM004Tv30.h>

PZEM004Tv30 pzem(&Serial3);  // Menggunakan Hardware Serial 3

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

void loop() {
     float voltage = pzem.voltage();
     if(voltage != NAN){
         Serial.print("Voltage: "); 
         Serial.print(voltage);
         Serial.println("V");
     } else {
         Serial.println("Error reading voltage");
     }

     float current = pzem.current();
     if(current != NAN){
         Serial.print("Current: ");
         Serial.print(current);
         Serial.println("A");
     } else {
         Serial.println("Error reading current");
     }

     float power = pzem.power();
     if(current != NAN){
         Serial.print("Power: ");
         Serial.print(power);
         Serial.println("W");
     } else {
         Serial.println("Error reading power");
     }

     float energy = pzem.energy();
     if(current != NAN){
         Serial.print("Energy: ");
         Serial.print(energy,3);
         Serial.println("kWh");
     } else {
         Serial.println("Error reading energy");
     }

     float frequency = pzem.frequency();
     if(current != NAN){
         Serial.print("Frequency: ");
         Serial.print(frequency, 1);
         Serial.println("Hz");
     } else {
         Serial.println("Error reading frequency");
     }

     float pf = pzem.pf();
     if(current != NAN){
         Serial.print("PF: ");
         Serial.println(pf);
     } else {
         Serial.println("Error reading power factor");
     }

     Serial.println();
     delay(2000);
 }

Setelah sketch program diatas diupload pada board Arduino, buka Serial Monitor pada Baudrate : 115200. Jika semua berfungsi dengan baik, maka data-data pembacaan oleh modul PZEM-004T V3.0 akan ditampilkan pada window Serial Monitor.

++++++++ Semoga Bermanfaat ++++++++

14 Komentar

  1. Keluaran yang saya dapatkan selalu NaN, itu kenapa ya pak ?,

    saya beli 2, keduanya NaN semua, sudah saya pastikan saya melakukan wiring dengan tepat

  2. Halo.. saya sudah mengetes dengan menggunakan master.exe. Namun, disitu bermasalah di com port. Padahal port ttl-usb sudah disesuaikan di device manager. Boleh dibantu ka? Trims

    • Pastikan Com Port dari USB to TTL nya tidak diakses oleh aplikasi yg lain semisal Arduino IDE atau Hyperterminal atau lainnya. Dan pastikan juga USB to TTL nya berfungsi dgn baik, cb diganti yg lain atau kl ada 2, tes komunikasi antar USB to TTL dgn program seperti Hyperterminal u/ memastikan USB to TTL nya berfungsi.

    • Coba dipastikan lagi wiring nya sudah betul trus coba dengan Load/beban yang lebih besar dayanya semisal Setrika dan dicek dulu dengan aplikasi PZEM004T-Master.exe

    • Kebetulan pzem_master.exe yg ini mmg versi terakhir jd cocoknya u/ PZEM-004T V3.0. Mestinya ada jg yg u/ PZEM-004T yg lama, tentunya file pzem_master.exe nya jg harus yg lama karena sudah beda protokol komunikasi nya.

1 Trackback / Pingback

  1. Mengenal PZEM-004T Modul Elektronik Untuk Alat Pengukuran Listrik - NN Digital | Belajar Arduino, ESP8266 / NodeMCU, STM32, Raspberry Pi, Mikrokontroller dan Teknologi Informasi Lainnya

Leave a Reply

Alamat email Anda tidak akan dipublikasikan.


*