Artikel kali ini akan membahas tentang sebuah alat untuk monitoring listrik 3 phase, project kali ini menggunakan STM32, diharapkan dengan menggunakan mikrokontroler 32-bit dengan resolusi ADC 12-bit ini data pengukuran akan lebih baik dan untuk koneksi ke internet digunakan modul SIM800L. Data hasil pengukuran akan dikirim ke database mysql sebagai datalogging.
Project untuk mengukur daya listrik 3 phase ini tergolong cukup ribet dan mahal menurut saya, dikarenakan sensor yang digunakan sebanyak 6 buah, dimana digunakan 3 single phase voltage sensor dan juga 3 sensor untuk arusnya.
Sensor tegangan yang digunakan ZMPT101B dan SCT-013 untuk sensor arus, SCT-013 merupakan sensor arus berjenis non-kontak dengan sistem clamp, sensor ini cukup baik dari segi instalasi, hanya dengan menjepit pada salah satu kabel, artinya tidak perlu memutus atau mengubah instalasi yang sudah ada.
Komponen yang digunkan
- Modul STM32F1 Bluepill
- Modul SIM800L
- Modul DC-DC Step Down
- Sensor Tegangan ZMP101B
- Sensor Arus SCT103
- LCD 16x2 + i2c
- Kapasitor 10uF
- Resistor 10K
- Resistor 330R
Rangkaian/Electrical Circuit
PCB Design
Bagian program untuk mengukur daya listrik 3 phase
Pemasangan sensor SCT-013 pada kabel fasa
Pemasangan sensor ZMPT-101B fasa terhadap neutral (L/N)
Datalogging database mySQL
Pengujian Monitoring Daya Listrik
Bagian program untuk mengukur daya listrik 3 phase
void process_power_data(int16_t channel) { int32_t sample_V, sample_I, signed_V, signed_I; // ---------------------------------------- // Voltage if (channel == 0) sample_V = ADC_DMA_BUFF[0]; if (channel == 1) sample_V = ADC_DMA_BUFF[1]; if (channel == 2) sample_V = ADC_DMA_BUFF[2]; signed_V = sample_V - MID_ADC_READING; sum_V[channel] += signed_V; sum_V_sq[channel] += signed_V * signed_V; // ---------------------------------------- // Current if (channel == 0) sample_I = ADC_DMA_BUFF[3]; if (channel == 1) sample_I = ADC_DMA_BUFF[4]; if (channel == 2) sample_I = ADC_DMA_BUFF[5]; signed_I = sample_I - MID_ADC_READING; sum_I[channel] += signed_I; sum_I_sq[channel] += signed_I * signed_I; // ---------------------------------------- // Power sum_P[channel] += signed_V * signed_I; count[channel] ++; // ---------------------------------------- // Zero crossing detection last_positive_V[channel] = positive_V[channel]; if (signed_V > 0) positive_V[channel] = true; else positive_V[channel] = false; if (last_positive_V[channel] != positive_V[channel]) cycles[channel]++; // ---------------------------------------- // Cycle count == cycle set (MAX_CYCLES) if (cycles[channel] >= MAX_CYCLES) { cycles[channel] = 0; double Vmean = sum_V[channel] * (1.0 / count[channel]); double Imean = sum_I[channel] * (1.0 / count[channel]); sum_V_sq[channel] *= (1.0 / count[channel]); sum_V_sq[channel] -= (Vmean * Vmean); Vrms[channel] = V_RATIO[channel] * sqrt((double)sum_V_sq[channel]); sum_V[channel] = 0; sum_V_sq[channel] = 0; sum_I_sq[channel] *= (1.0 / count[channel]); sum_I_sq[channel] -= (Imean * Imean); Irms[channel] = I_RATIO[channel] * sqrt((double)sum_I_sq[channel]); sum_I[channel] = 0; sum_I_sq[channel] = 0; double mean_P = (sum_P[channel] * (1.0 / count[channel])) - (Vmean * Imean); sum_P[channel] = 0; count[channel] = 0; realPower[channel] = V_RATIO[channel] * I_RATIO[channel] * mean_P; apparentPower[channel] = Vrms[channel] * Irms[channel]; powerFactor[channel] = realPower[channel] / apparentPower[channel]; endMillis[channel] = HAL_GetTick(); unsigned long timeMs = (endMillis[channel] - startMillis[channel]); WattHour[channel] += realPower[channel] * ((double) timeMs / 3600000); // Watt-Hour startMillis[channel] = HAL_GetTick(); readings_ready = true; } }
Pemasangan sensor SCT-013 pada kabel fasa
Pemasangan sensor ZMPT-101B fasa terhadap neutral (L/N)
Datalogging database mySQL
Data pengukuran di kirim ke database menggunakan modul GSM dengan mode GPRS, data diterima oleh webserver hosting dan dimasukkan ke database dengan PHP.
Untuk interface digunakan LCD16x2 dengan sebuah tombol yang berfungsi sebagai pengubah tampilan layar lcd, terdapat 4 tampilan layar tegangan, arus, daya aktif (watt) dan konsumsi daya (Wh).
Tampilan tegangan/voltage
Tampilan arus/current
Tampilan daya/power
Tampilan konsumsi daya (watt hours)
Video 3 Phase Power Monitoring
Referensi learn.openenergymonitor.org
Alat ini yg sdh jadi ada gak ya
ReplyDeleteAlat ini yg sdh jd ada gak
ReplyDeletebelum ada.
Deletemas boleh minta library eagle untuk sensor ZMPT101 dan ACS712?
ReplyDelete