Sensor Arus Listrik
Monitoring Arus listrik adalah melihat, menganalisa Arus Listrik pada sebuah Beban listrik, misal nya panel-penel listrik, Ganset, Gardu atau bahkan Arus Listrik pada Rumah masing-masing.
Monitoring Arus ini sangat erat kaitan nya dengan sensor Arus. Ada banyak macam-macam sensor arus, kita tinggal memilih sensor arus apa yang cocok kita gunakan. Untuk detail macam-macam sensor Arus bisa teman-teman lihat pada link berikut ini. Cukup tekan tombol Merah di bawah ini.
Rangkaian Monitoring Arus
Setelah kita melihat banyak jenis sensor di atas, kali ini kita akan mencoba memonitoring Arus listrik dengan Sensor CT 100A pada 3 Phasa. Sensor ini cukup baik dari segi instalasi, karena cukup di jepit pada satu cable aja. Berbeda jauh dengan sensor ACS712.
Sensor ini tidak bisa langsung di input ke Arduino, tapi ada rangkaian pengolah sensing menjadi tegangan Analog. Bagaiamana kah rangkaian nya? yuk kita lihat pada gambar di bawah ini.
Output rangkaian sensor monitoring sensor arus listrik di atas di filter oleh rangkaian R dan C agar output sensor lebih stabil, sehingga pembacaan arus nanti nya pada pin ADC lebih stabil. Karena kita akan memonitoring listrik 3 Phasa, maka rangkaian di atas kita buat 3 buah.
Jenis arduino yang di gunakan adalah Arduino Mega dan koneksi internet yang di gunakan adalah Modul SIM800v2. Jadi contoh Projek monitoring kali ini adalah menggunakan akses internet GSM. Bentuk Gambar hasil PCB nya bisa teman-teman lihat pada gambar di bawah ini.
Library Pendukung
Karena kita menggunakan Arduino, maka hal yang perlu kita siapkan adalah library pendukung nya. Library nya adalah sebagai berikut.
- Library emonlib.h untuk membaca sensor Arus
- Library tinyGSM untuk akses internet dengan SIM800
- Library I2C LCD Autoscan
Konfigurasi PIN
Untuk Konfigurasi Pin arduino mega sebagai monitoring arus listri nya adalah sebagai berikut,
- Output Rangkaian sensor Arus CT di hubungka ke pin A2, A3 dan A4
- SIM800v2 di Hubungkan ke pin Serial1 di Arduino Mega2560, yang mana pin TX sim800 di hubungkan ke PIN RX1, dan pin RX SIM800 di hubungkan ke PIN TX1, GSM RST di hubungkan ke pin 23 ( pin D23)
- LCD i2C di hubungkan ke PIN SCL, SDA, +5V dan GND.
Program Uji
Uji Sensor Arus
Program uji sensor Arus adalah sebagai berikut.
#include "EmonLib.h" // Include Emon Library EnergyMonitor emon1; // Create an instance EnergyMonitor emon2; EnergyMonitor emon3; double arus1, arus2, arus3; String text; void setup() { Serial.begin(9600); emon1.current(2, 9.81); // Current: input pin, calibration. emon2.current(3, 9.81); // Current: input pin, calibration. emon3.current(4, 9.81); // Current: input pin, calibration. } void loop() { arus1 = emon1.calcIrms(1480); // Calculate Irms only arus2 = emon2.calcIrms(1480); // Calculate Irms only arus3 = emon3.calcIrms(1480); // Calculate Irms only text = String("Arus1: ") + arus1 + " Arus2: " + arus2 + " Arus3: " + arus3; Serial.println(text); }
hal yang paling penting pada program di atas adalah calibrasi dan pin configurasi. pastikan ini sudah benar, dan teman-teman boleh merubah nilai kalibrasi agar sesuai dengan alat ukur. program nya adalah sebagai berikut.
emon1.current(2, 9.81); // Current: input pin, calibration. emon2.current(3, 9.81); // Current: input pin, calibration. emon3.current(4, 9.81); // Current: input pin, calibration.
2,3 dan 4 pada program di atas menunjukkan pin A2, A3, dan A4. Untuk nilai 9,81 adalah nilai dari kalibrasi. Silahkan teman-teman rubah agar sesuai dengan alat ukur.
Program Final Monitoring Arus
Karena kita menggunakan blynk sebagai pihak ke tiga untuk monitoring Arus listrik nya. maka teman-teman boleh lihat video berikut sebagai refrensi untuk pembuatan aplikasi app nya di android
Untuk final program nya adalah sebagai berikut,
#include "EmonLib.h" // Include Emon Library EnergyMonitor emon1; // Create an instance EnergyMonitor emon2; EnergyMonitor emon3; #define BLYNK_PRINT Serial // Comment this out to disable prints and save space // Select your modem: #define TINY_GSM_MODEM_SIM800 #include <TinyGsmClient.h> #include <BlynkSimpleSIM800.h> // Set serial for debug console (to the Serial Monitor, default speed 115200) #define SerialMon Serial // Hardware Serial on Mega, Leonardo, Micro #define SerialAT Serial1 // Your GPRS credentials // Leave empty, if missing user or pass const char apn[] = "Internet"; // ganti dengan apn provider const char user[] = ""; const char pass[] = ""; // You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). const char auth[] = "YourAuthToken"; TinyGsm modem(SerialAT); double arus1, arus2, arus3; String text; BlynkTimer timer; void setup() { emon1.current(2, 9.81); // Current: input pin, calibration. emon2.current(3, 9.81); // Current: input pin, calibration. emon3.current(4, 9.81); // Current: input pin, calibration. // Set console baud rate SerialMon.begin(115200); delay(10); // Set GSM module baud rate SerialAT.begin(115200); delay(3000); // Restart takes quite some time // To skip it, call init() instead of restart() SerialMon.println("Initializing modem..."); modem.restart(); String modemInfo = modem.getModemInfo(); SerialMon.print("Modem: "); SerialMon.println(modemInfo); // Unlock your SIM card with a PIN //modem.simUnlock("1234"); Blynk.begin(auth, modem, apn, user, pass); timer.setInterval(3000L, baca_arus); } void loop() { Blynk.run(); timer.run(); } void baca_arus(){ arus1 = emon1.calcIrms(1480); // Calculate Irms only arus2 = emon2.calcIrms(1480); // Calculate Irms only arus3 = emon3.calcIrms(1480); // Calculate Irms only text = String("Arus1: ") + arus1 + " Arus2: " + arus2 + " Arus3: " + arus3; Serial.println(text); Blynk.virtualWrite(V0, arus1); Blynk.virtualWrite(V1, arus2); Blynk.virtualWrite(V1, arus3); }
Sebenar nya modul di atas bukan menggunakan blynk sebagai akses monitoring nya, namun posting data sensor ke mysql + php, data logger sensor arus. Hasil testing monitoring nya bisa di lihat pada link web berikut, cukup tekan tombol merah di bawah ini,
Sekian dulu Artikel nya, semoga bermanfaat,
Untuk jenis project lain nya bisa dilihat di link berikut,
Refrensi tulisan di,
Thanks