Penjelasan Singkat
Artikel ini merupakan revisi dari artikel sebelumnya cara mengakses sensor tegangan 220v ZMPT101B.
Tegangan listrik (Voltage) timbul dikarenakan ada beda potensi listrik antara dua titik dalam rangkaian listrik. Besaran tegangan dinyatakan dalam satuan international volt.
Pengukuran ini dilakukan dikarenakan adanya beda potensial di suatu medan listrik yang berefek pada aliran listrik yang mengalir pada material yang berbahan dari konduktor.
Jenis tegangan
Sumber tegangan listrik dapat digolongkan menjadi dua macam antara lain :
- bolak-balik (AC) misalnya: dinamo dan generator.
- searah (DC) misalnya elemen Volta, akumulator, dan elemen kering (baterai)
Pada Tutorial ini hanya akan dibahas untuk mengakses sensor tegangan sumber arus bolak-balik menggunakan Sensor Module (ZMPT101B).
Bentuk Fisik sensor ZMPT101B
Keterangan pin :
- Vcc / Vinput tegangan (5Vdc)
- Voutput (Tegangan Analog)
- Gnd
- Sumber tegangan AC
- Sumber tegangan AC
Deskripsi Produk :
- Sensor tegangan 110-250V AC sistem Active Transformer
- Cocok untuk Arduino / AVR
- Langsung sambung ke Tegangan PLN 220V
- Model ZMPT101B
- Ukuran papan PCB : 50x19mm
- Nilai Input Current : 2mA
- Retardasi (dinilai input) : “20 (input 2mA, sampling resistance 100Ω)
- Kisaran linear : 0 ~ 1000V
- Isolasi tegangan : 4000V
- Suhu operasi : -40 C + 70 C
- linearitas ≤0.2% (20% dot ~ 120% dot)
- enkapsulasi Epoxy
- instalasi PCB mount (Pin Panjang> 3mm)
- Suhu pengoperasian antara -40 º C ~ + 70 º C
Fitur :
- A01B aktif fase tunggal modul tegangan output AC transformator
- Onboard presisi sirkuit op amp, sinyal untuk pengambilan sampel yang tepat dan fungsi kompensasi yang tepat
- Dapat diukur dalam tegangan 250V AC sesuai dengan output analog dapat disesuaikan
Tutorial Pengecekan Sensor Modul Tegangan menggunakan Multitester
Bahan yang perlu dipersiapkan untuk tutorial ini antara lain :
- Sensor ZMPT101B (Sensor tegangan AC)
- Multitester digital
- Sumber tegangan AC
- Adaptor 5Vdc
Skema yang perlu dirangkaikan
Hal yang perlu diamatin yaitu tegangan input dengan tegangan yang tertampil di multitester. Setelah itu ditarik kesimpulan untuk penentuan rumus untuk tutorial selanjutnya dengan menggunakan arduino.
Putar knob pada power supply AC setelah itu amati perubahan pada multitester (diset ke voltmeter DC). Lakukan percobaan atau tutorial sebanyak 10 kali.
Catatan : harap dicatat nilai yang tertampil di multitester dan tegangan AC yang diset, mencari rumus pada tutorial selanjutnya.
Tutorial cara mengakses Sensor Tegangan menggunakan arduino
Bahan yang perlu dipersiapkan untuk tutorial ini antara lain :
- Arduino Uno
- Komputer + Software IDE Arduino
- Sensor ZMPT101B (Sensor tegangan AC)
- Resistor 220Ω
- LED 3mm merah
- Kabel Jumper
Skema rangkaian
Skema yang perlu dirangkaikan
Sumber untuk pengujian dapat langsung tegangan PLN 220VAC, ataupun untuk menguji keakuratannya dapat menggunakan variabel supply AC.
Kode Pemrograman
/* https://www.nyebarilmu.com */ const int input_sensor = A0; // nama lain dari A0 yaitu input_sensor const int output_pwm = 2; // nama lain dari 2 yaitu output_pwm //nilai default variabel data int nilai_adc= 00; int nilai_pwm = 00; float voltageOut= 00; float voltage= 00; void setup() { // inisialisasi komunikasi serial pada 960bps Serial.begin(9600); } void loop() { nilai_adc = analogRead(input_sensor); // Prosedur pembacaan analog pin // mapping pembacaan resolusi sensor nilai_pwm = map(nilai_adc, 0, 1023, 0, 255); // mengubah nilai analog out analogWrite(output_pwm, nilai_pwm); voltageOut = nilai_adc * (5.0 / 1023.0); // Mencetak hasil ke monitor serial: Serial.print("sensor = " ); Serial.println(nilai_adc); Serial.print("output pwm= "); Serial.println(nilai_pwm); Serial.print("Voltage ADC = "); Serial.println(voltageOut); delay(1500); //jeda 2ms Serial.println(); }
Dari hasil program diatas pembacaan sensor dengan nilai ADC 10 bit yaitu rata-rata di angka 695, sehingga nilai tersebut dapat dijadikan acuan untuk mengubah nilai menjadi tegangan AC.
Kode Pemrograman
/* https://www.nyebarilmu.com */ const int input_sensor = A0; // nama lain dari A0 yaitu input_sensor const int output_pwm = 2; // nama lain dari 2 yaitu output_pwm //nilai default variabel data int nilai_adc= 00; int nilai_pwm = 00; float voltageOut= 00; float voltage_ac= 00; void setup() { // inisialisasi komunikasi serial pada 960bps Serial.begin(9600); } void loop() { nilai_adc = analogRead(input_sensor); // Prosedur pembacaan analog pin // mapping pembacaan resolusi sensor nilai_pwm = map(nilai_adc, 00, 1023, 00, 255); // mengubah nilai analog out analogWrite(output_pwm, nilai_pwm); voltageOut = nilai_adc * (5.0 / 1023.0); voltage_ac = map(nilai_adc, 00,695,00,220); //didapat dari pembacaan program adc diatas // Mencetak hasil ke monitor serial: Serial.print("sensor = " ); Serial.println(nilai_adc); Serial.print("output pwm= "); Serial.println(nilai_pwm); Serial.print("Voltage ADC = "); Serial.println(voltageOut); Serial.print("Voltage AC = "); Serial.println(voltage_ac); delay(1500); //jeda 2ms Serial.println(); }
Program diatas akan menunjukan hasil pembacaan dalam bentuk real pembacaan, dan diimplementasikan ke fading LED.
Selamat mencoba!
Terimakasih sudah berkunjung, dan semoga bermanfaat. Salam nyebarilmu.com!
Makasih banyak gan infonya…mantap
sama – sama gan,
mau nanya gan itu modul sensor tegangannya boleh langsung aja disambung ke tegangan AC?, apa perlu rangkaian lagi?
gan itu modul sensor tegangannya langsung aja disambung ke tegangan AC?, apa perlu rangkaian tambahan lain?
gak perlu gan,
tapi saran ane dicek pertama pake voltmeter dulu, baik itu input maupun output tegangannya
mau nanya lagi itu rumus y=0.001x – 1.178 dapet dari mana ya?
Kakak orang mana kak? soalnya mau isi daftar pustaka kak.
orang klaten, gan
bagian voltageOut= 00; kok error gan? mohon bantuan gan
Sudah gan, ternyata ada program yang kurang ke copy,
sekarang sudah bisa,
Ini kalo tegangannya kecil banget (di bawah 1 vAC) bisa nggak bang?
Soalnya saya sudah nyoba beberapa rangkaian rectifier itu tegangan DC nya sering ilang (ga kebaca) di arduinonya
Thanks
iya gan, ane sempurnakan programnya dulu,
thanks masukannya
mas rumus persamaan yang diatas itu sudah pasti kah ? atau beda hasil pengukuran itu beda rumus lagi?
iya gan, ane cek ulang lagi
thanks
Kok disaya tetap gabisa membaca sensornya ya gan? Ada masalah kah?
Ada library ndak ini gan?
belum ada library ny gan,
maaf bgt gan code agan kurang tepat…. perlu dilakukan kalibrasi dlu gan
saya ada codenya
double sensorValue=0;
double sensorValue1=0;
int crosscount=0;
int climbhill=0;
double VmaxD=0;
double VeffD;
double Veff;
void setup() {
Serial.begin(115200);
}
void loop() {
sensorValue1=sensorValue;
delay(100);
sensorValue = analogRead(A0);
if (sensorValue>sensorValue1 && sensorValue>511){
climbhill=1;
VmaxD=sensorValue;
}
if (sensorValue<sensorValue1 && climbhill==1){
climbhill=0;
VmaxD=sensorValue1;
VeffD=VmaxD/sqrt(2);
Veff=(((VeffD-420.76)/-90.24)*-210.2)+210.2;
Serial.println(Veff);
VmaxD=0;
}
}
terimakasih banyak gan, untuk masukannya