Mengatur Daya Secara ‘Phase Control’ Dengan MCS51
Mengatur Daya Secara ‘Phase Control’ Dengan MCS51
TRIAC merupakan saklar elektronik yang sangat ideal untuk mengatur daya arus bolak-balik. Kombinasi TRIAC dan mikrokontroler menghasilkan sistem pengaturan daya yang sangat fleksible dan akurat.
Rangkaian dasar pamakaian TRIAC terlihat dalam Gambar 1a. Kaki MT1 dan MT2 merupakan saklar yang mengatur aliran arus beban yang berasal dari sumber tegangan bolak-balik (AC). Dalam keadaan normal kaki MT1 dan MT2 tidak terhubung, sehingga tidak ada arus beban yang mengalir. Saat ada arus gate mengalir, MT1 akan terhubung ke MT2 dan mengalirkan arus beban.
Arus Gate hanya diperlukan untuk menghubungkan MT1 dan MT2, setelah itu MT1 akan tetap terhubung ke MT2 meskipun sudah tidak ada arus gate lagi. Pemberian arus gate sesaat untuk menghubungkan MT1 dan MT2 dikatakan sebagai menyulut (men-triger) TRIAC.
MT1 terhubung terus ke MT2 selama arus beban yang mengalir lebih besar dari arus minimum (holding current) sesuai dengan karakteristik masing-masing TRIAC.
Mengingat sumber daya yang dipakai berasal dari tegangan bolak-balik, pada daerah titik nol (zero crossing) dari tegangan bolak balik (lihat Gambar 1b), arus beban yang mengalir akan mengecil sampai kurang dari arus minimum yang diperlukan, akibatnya hubungan antara MT1 dan MT2 akan terputus dengan sendirinya.
Daya yang disalurkan ke beban tergantung pada lamanya MT1 terhubung ke MT2 setiap setengah periode tegangan sinus dari jala-jala listrik, yakni bagian yang di-arsir dalam Gambar 1b, pada saat-saat itulah beban menerima daya. Dengan demikian, daya yang disalurkan ke beban bisa diatur dengan mengatur waktu tunda saat penyulutan TRIAC, terhitung mulai saat tegangan sinus jala-jala listrik mencapai titik nol. Teknik pengaturan daya semacam ini dikatakan sebagai teknik phase control.
Grafik pada Gambar 2 menggambarkan hubungan antara waktu tunda penyulutan dengan daya yang disalurkan (P) dibagi dengan daya maksimum (Pmax). Dengan waktu tunda 0 mili-detik, P/Pmax mencapai 1.0 artinya semua daya disalurkan ke beban. Untuk frekuensi jala-jala listrik 50 Hz, waktu tunda maksimum adalah 10 mili-detik, saat itu P/Pmax bernilai 0 artinya tidak ada daya yang disalurkan.
Hubungan waktu tunda dengan nilai P/Pmax tidak linear, skala bagian bawah dari grafik Gambar 2 memperlihatkan nilai waktu tunda untuk memperoleh berbagai nilai P/Pmax .
Gambar 1. Dasar pengaturan daya dengan TRIAC
Gambar 2. Grafik waktu tunda vs P/Pmax
Teknik Phase Control Dengan MCS51
Gambar 3 memperlihatkan rangkaian pengaturan daya dengan teknik Phase Control. Rangkaian ini terdiri dari 3 bagian, bagian pertama bagian mikrokontroler, kedua adalah bagian saklar pengatur daya, ketiga merupakan rangkaian pemantau titik nol tegangan jala-jala listrik.
Bagian pertama meliputi IC AT89C2051 berikut dengan rangkaian pelangkapnya, yakni rangkaian osilator kristal yang dibentuk dari C1,C2 dan Y1 serta rangkaian reset C3 dan R4.
Bagian saklar pengatur daya dibentuk dengan R1, ISO1 MOC3021, R2, TRIAC Q1 dan Lampu sebagai beban. Bagian ini langsung berhubungan dengan sumber tegangan jala-jala listrik 220 Volt, agar tegangan jala-jala terpisah dari bagian lainnya, dipakai Opto Isolator MOC3021 untuk menghubungkan AT89C2051 dengan TRIAC.
Bagian input dari MOC3021 merupakan LED yang dinyala-padam-kan oleh AT89C2051 lewat resistor R1, instruksi CLR P1.7 akan mengakibatkan Port 1.7 menyalurkan arus dari Vcc lewat LED dan R1 ke ground sehingga LED menyala. Cahaya LED mengakibatkan Diac di bagian output MOC3021 menjadi ‘on’ dan mengalirlah arus gate TRIAC Q1 lewat resistor R2, selanjutnya TRIAC akan ‘on’ dan lampu akan menyala.
Agar bisa menentukan waktu tunda dengan tepat untuk mendapatkan hasil pengaturan daya yang akurat, mikrokontroler harus mengetahui saat titik nol (zero crossing) dari tegangan jala-jala listrik. Bagian ketiga merupakan rangkaian pemantau titik nol tegangan jala-jala listrik yang dibentuk dengan transistor NPN Q2, resistor R3 dan diode D2.
Rangkaian ini di-‘tempel’-kan pada rangkaian catu daya dengan cara me-‘nyisip’-kan Diode D2 antara jembatan diode D1 dan kapasitor C5, maksudnya agar tegangan pada ujung kanan resistor R3 masih berupa tegangan searah yang belum diratakan. Tegangan ini setelah lewat transistor NPN Q2 berubah bentuk menjadi gelombang kotak yang diumpankan ke kaki P3.0/INT0 (kaki 6) AT89C2051. Setiap kali tegangan jala-jala listrik mulai meninggalkan titik nol, gelombang kotak akan berubah dari ‘1’ menjadi ‘0’ yang merupakan sinyal permintaan interupsi bagi AT89C2051.
Rangkaian Lengkap Untuk Mengatur Daya Secara ‘Phase Control’ Dengan MCS51
Gambar 3. Rangkaian Phase Control dengan AT89C2051
Program untuk pengaturan daya dengan teknik phase control ini terlihat dalam Program 1.
Baris 01 sampai 06 pada Program 1 menentukan sistem kerja dari AT89C2051, yakni saat reset AT89C2051 menjalankan rutin Start, saat menerima permintaan interupsi titik nol yang diumpankan ke INT0 menjalankan ISR (Interrupt Service Routine – Rutin Layanan Interupsi) TitikNol, saat menerima permintaan interupsi Timer0 menjalankan ISR Penyulutan.
Rutin Start terdiri dari 2 bagian, yakni baris 09 sampai dengan 13 yang berfungsi mempersiapkan kerja dari AT89C2051, persiapan tersebut antara lain meliputi menentukan Timer0 bekerja dengan mode 1 (baris 9), mengaktipkan sistem interupsi INT0 (baris 10) dan menentukan yang dianggap sebagai sinyal permintaan interupsi INT0 adalah perubahan tegangan ‘1’ ke ‘0’ (baris 11) dan mengaktipkan sistem interupsi AT89C2051 (baris 12).
Faktor penentuan daya beban (P/Pmax) disimpan dalam register B, dalam contoh program ini ditentukan P/Pmax=0,5 (baris 13).
Bagian kedua dari rutin Start adalah bagian utama program ini. Karena Program 1 hanyalah sebagai contoh maka program utama ini hanyalah terdiri dari SJMP *, yakni hanya berputar-putar pada baris 14. Untuk pemakaian yang sesungguhnya baris 14 ini dikembangkan sesuai dengan keperluan sistem.
ISR TitikNol merupakan bagian yang menentukan waktu tunda penyulutan, bagian ini terletak di baris 16 sampai 27 dan baris 30 sampai 34.
Baris 30 sampai 34 merupakan tabel waktu tunda untuk menghasilkan daya P/Pmax mulai dari 0; 0,1; 0,2 sampai 1.0, nilai yang tersimpan dalam tabel ini adalah nilai yang harus diisikan ke Timer0 untuk menghasilkan waktu tunda sesuai dengan Grafik Gambar 2, dengan catatan AT89C2051 bekerja pada frekuensi kristal 12 MHz. Setiap nilai di dalam tabel terdiri dari bilangan biner 16 bit yang disimpan dalam 2 byte memori.
Baris 17 menyiapkan alamat tabel WaktuTunda pada DPTR, untuk dipakai pada baris 19 dan 23. Baris 18 sampai 20 mengambil isi tabel WaktuTunda byte pertama dan diisikan ke TL0, byte kedua diambil dan diisikan ke TH0 pada baris 21 sampai 24. Pengambilan-pengambilan itu berdasarkan nilai P/Pmax yang sebelumnya sudah disimpan dalam register B.
Setelah TL0 dan TH0 diisi, Timer 0 dihidupkan (Baris 25) dan sistem interupsi Timer 0 diaktipkan pada baris 26, agar beberapa mili-detik kemudian Timer 0 bisa meng-interupsi AT89C2051 untuk menyulut TRIAC.
ISR Penyulutan terletak di baris 36 sampai 42. Mula-mula Timer 0 dihentikan (baris 37) dan sistem interupsi Timer 0 dimatikan (baris 38). Baris 39 menyalakan LED dalam chip MOC3021, baris 40 menunggu sekitar 1 mikro-detik dan LED dimatikan pada baris 41.
Program 1 – Mengatur Daya Secara ‘Phase Control’ Dengan MCS51
01: ORG $0
02: LJMP Start ; Program Utama
03: ORG $3
04: LJMP TitikNol ; Pemantau titik nol
05: ORG $B
06: LJMP Penyulutan ; Menyulut TRIAC
07: ;
08: Start:
09: MOV TMOD,#1 ; Mode kerja Timer0
10: SETB EX0 ; interupsi INT0
11: SETB IT0 ; transisi ‘1’ ke ‘0’
12: SETB EA ; aktipkan sistem interupsi
13: MOV B,#5 ; P/Pmax = 0,5
14: SJMP * ; program utama
15: ;
16: TitikNol:
17: MOV DPTR,#WaktuTunda
18: MOV A,B ; nilai P/Pmax
19: MOVC A,@A+DPTR ; ambil nilai tunda
20: MOV TL0,A ; simpan ke Timer0
21: MOV A,B ; nilai P/Pmax
22: INC A ; byte ke 2
23: MOVC A,@A+DPTR ; ambil nilai tunda
24: MOV TH0,A ; simpan ke Timer0
25: SETB TR0 ; hidupkan Timer0
26: SETB ET0 ; aktipkan interupsi Timer0
27: RETI
28: ;
29: *** Tabel waktu tunda
30: WaktuTunda:
31: DW $FFFF-10000,$FFFF-7440,$FFFF-6550
32: DW $FFFF-5940,$FFFF-5400,$FFFF-5000
33: DW $FFFF-4550,$FFFF-4050,$FFFF-3380
34: DW $FFFF-2710
35: ;
36: Penyulutan:
37: CLR TR0 ; hentikan Timer0
38: CLR ET0 ; tanpa interupsi Timer0
39: CLR P1.7 ; hidupkan LED MOC3021
40: NOP ; tunggu sebentar
41: SETB P1.7 ; matikan LED MOC3021
42: RETI
Selamat mencoba, semoga informasi tentang “Mengatur Daya Secara ‘Phase Control’ Dengan MCS51” diatas mudah dipahami.