BAB 3 PERANCANGAN SISTEM
Konsep dasar mengendalikan lampu dan komponen – komponen yang digunakan pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan perancangan sistem pengendali lampu yang mencakup perancangan perangkat keras dan perancangan perangkat lunak.
3.1
Perancangan Perangkat Keras
Perancangan perangkat keras yang digunakan pada sistem mencakup zero detector, sistem minimal mikrokontroler ATMega8, driver TRIAC beserta TRIAC dan output berupa lampu pijar. Masukan mikrokontroler dari zero detector dihubungkan ke kaki INT0 dan output berupa pulsa dikeluarkan melalui PORT B.1. Blok diagram untuk perancangan perangkat keras dapat digambarkan sebagai berikut :
Suplly AC
Zero Detector Mikrokontroler ATMega8
Perangkat Komputer
RS - 485
Gambar 3.1 Blok Diagram Sistem
27
Driver TRIAC
Lampu
28 3.2.1 Zero Detector
Zero detector pada sistem berfungsi untuk mendeteksi sinyal AC saat mengalami tegangan nol volt agar mikrokontroler mendapatkan delay yang akurat. Proses pendeteksiannya menggunakan transistor NPN. Masukan AC berasal dari sumber PLN 220V yang kemudian diturunkan menggunakan trafo step down menjadi 9V dan diturunkan lagi dengan resistor pembagi tegangan. Transistor yang digunakan bersifat seperti NOT GATE sehingga saat fase positif transistor akan menghasilkan output low (0 volt) dan saat fase negatif transistor akan menghasilkan output high (vcc). Jadi outputnya adalah gelombang kotak dengan frekuensi sesuai dengan frekuensi AC-nya yaitu 50 Hz.
Gambar 3.2 Zero Crossing Detector
29 3.1.2
Mikrokontroler ATMega8
ATMega8 sebagai otak dari sistem berfungsi memproses data masukan zero detector dan komunikasi serial standar RS – 485. Data masukan zero detector akan dibaca oleh fitur interrupt pada mikrokontroler. Mode interrupt yang digunakan adalah mode falling edge, sehingga ketika terjadi falling edge pada pulsa zero detector maka pulsa output akan berubah. Data masukan komunikasi serial standar RS 485 akan dibaca oleh pin RX pada mikrokontroler. Data yang diterima akan diproses sebagai delay dan menjadi acuan waktu pemicu triac. Pada mikrokontroler ATMega8 diberi ekternal Kristal (XTAL) yang bernilai 11,0592 MHz. XTAL berfungsi sebagai frekuensi timer.
Gambar 3.3 Rangkaian Kontroler Lampu
30 Berikut pin – pin ATMega8 yang digunakan pada sistem, yaitu : •
Pin 1 merupakan PC6 (RESET) Pin ini berfungsi sebagai reset. Apabila diberi level tegangan low maka akan terjadi reset pada mikrokontroler (aktif low).
•
Pin 2 merupakan PDO (RXD) Pin ini berfungsi sebagai penerima data (receiver) apabila kita ingin melakukan komunikasi secara serial.
•
Pin 3 merupakan PD1 (TXD) Pin ini berfungsi sebagai pengirim data (transmit) apabila kita ingin melakukan komunikasi secara serial.
•
Pin 4 merupakan PD2 (INT0) Pin 4 berfungsi sebagai interrupt eksternal 0. Pin 4 akan menerima data dari zero detector dan kemudian memprosesnya sebagai interrupt eksternal.
•
Pin 7 berfungsi sebagai VCC Pin ini berfungsi sebagai catu daya bagi ATMega8
•
Pin 8 berfungsi sebagi Ground
•
Pin 9 merupakan PB 6 (XTAL 1) Pin 9 merupakan input untuk inverting oscillator amplifier dan untuk internal clock operating circuit.
•
Pin 10 merupakan PB 7 (XTAL 2) Pin 10 merupakan output dari inverting oscillator amplifier.
31 •
Pin 15 merupakan PB 1 Pin ini akan berfungsi sebagai output mikrokontroler yang akan terhubung dengan optocoupler.
•
Pin 23 – pin 26 merupakan PC0 – PC3 Keempat pin ini berfungsi sebagai address mikrokontroler pada RS 485.
3.1.3
Driver TRIAC
Driver TRIAC yang digunakan merupakan optocoupler jenis MOC3021. Driver TRIAC atau optocoupler berfungsi sebagai isolator antara rangkaian AC dan DC pada sistem sehingga ketika terjadi ketidaknormalan pada rangkaian AC (beban), tidak mempengaruhi rangkaian DC (kontrol). Rangkaian driver ditunjukkan pada gambar 3.4
Gambar 3.4 Driver TRIAC MOC 3021
32 Pengaktifan Triac melalui driver ini adalah dengan pulsa low yang berasal dari port B.1 pada mikrokotroler. Pada saat pulsa low, transistor yang berfungsi sebagai NOT GATE akan menghasilkan pulsa high. Pada saat ada pulsa high (vcc) pada kaki 1 optocoupler maka akan terjadi beda potensial antara kaki 1 dan 2 sehingga arus mengalir dan dioda dalam MOC3021 memancarkan cahaya sehingga bilateral switch ON, arus mengalir dari kaki 6 ke 4 akan mengaktifkan Triac menjadi ON sehingga Triac dapat mengalirkan arus. Fungsi resistor R11 yang bernilai 1KΩ adalah untuk membatasi arus yang mengalir melalui dioda pada optocoupler.
3.1.4
Komunikasi Serial Standar RS-485
Gambar 3.5 MAX485
Pada penelitian ini kami menggunakan MAX485 pada sistem sebagai sarana komunikasi serial. MAX485 merupakan interface chip untuk komunikasi serial berdasarkan standar RS – 485. IC ini membutuhkan supply tegangan sebesar 5 V dan memiliki 8 pin.
33 Pin 1 merupakan Receiver Output (RO) yang digunakan untuk menerima input dari jaringan (pin 6 dan 7) dan mengirimkannya ke pin RX pada ATMega8. Apabila tegangan di pin 6 (A) lebih besar dari pin 7 (B), maka RO akan berlogik 1 dan akan mengirimkan sinyal keluar. Pin 2 merupakan Receiver Output Enable berfungsi untuk menentukan apakah pin RO aktif atau tidak. Pin ini bersifat active low, yang berarti pin 2 aktif ketika inputnya berlogik 0. Apabila pin 2 aktif, maka pin 1 (RO) juga aktif. Pin 3 adalah Driver Output Enable yang berfungsi untuk membuat MAX485 sebagai driver atau transmitter. Apabila pin 3 aktif dan pin 2 non aktif maka MAX485 akan berfungsi sebagai receiver. Pada sistem pengendali lampu, IC MAX485 berfungsi sebagai receiver sehingga pin 2 dan 3 dihubungkan ke ground. Hal ini membuat pin 2 yang active low menjadi aktif dan pin 3 menjadi non – aktif. Pin 5 merupakan ground dan pin 8 untuk Vcc.
3.1.5
Perangkat Komputer
PERSONAL COMPUTER
RS 232
RS 485
Gambar 3.6 Perangkat Komputer
Perangkat komputer digunakan untuk mengatur intensitas lampu dengan cara mengirim data serial ke modul pengendali. Perangkat komputer memiliki 3 bagian yaitu personal computer dan komunikasi serial standar RS 232 dan standar RS 485.
34 3.1.5.1 IC MAX232
MAX 485
Gambar 3.7 IC MAX232
Komunikasi serial standar RS 232 yang digunakan adalah IC MAX232. IC ini memiliki 16 pin, membutuhkan tegangan 5V serta kapasitor dengan nilai 1µF untuk menyimpan energi. Kapasitor eksternal yang digunakan untuk menyimpan tegangan ada 4 buah, dengan nilai kapasitor 1µF atau lebih. Kapasitor – kapasitor ini menghubungkan masing – masing pin 1 dengan pin 3, pin 4 dengan pin 5, pin 2 dengan Vcc dan pin 6 dengan ground. Di dalam IC terdapat 2 buah kapasitor yang digunakan sebagai charge-pump, sehingga dapat menghasilkan tegangan yang lebih besar. Terdapat 1 buah driver (T1INT1OUT), dan 1 buah receiver (R1IN-R1OUT). IC MAX232 berfungsi untuk mengubah
data
keluaran
komputer
menjadi
TTL
berkomunikasi dengan mikrokontroler melalui MAX 485.
agar
bisa
35 3.1.5.2 IC MAX485
Pada perangkat komputer, terdapat IC MAX485 juga namun memiliki fungsi yang berbeda. IC MAX485 disini berfungsi sebagai transmitter, oleh karena itu kaki 2 dan 3 pada IC MAX485 dihubungkan ke Vcc. Ketika pin 2 dan 3 dihubungkan ke Vcc, maka pin 2 menjadi non aktif dan pin 3 menjadi aktif, menyebabkan pin 4 (DI) aktif sehingga IC MAX485 menjadi transmitter. Pin 5 tetap dihubungkan ke ground dan pin 8 ke vcc.
3.2
Perancangan Perangkat Lunak
3.2.1
Program Mikrokontroler
Pada sistem digunakan bahasa pemrograman C yang dimasukan ke mikrokontroler ATMega8. Tahap awal dilakukan inisialisasi untuk mengatur variabel dan port – port yang akan digunakan. Tahap inisialisasi mencakup : •
Mengatur port B.1 sebagai output dengan nilai awal 1.
•
Mengatur port C.0 – C.3 sebagai input dan dijadikan sebagai address mikrokontroler.
•
Menset variabel TimerValue sebagai nilai TCNT0.
•
Mengaktifkan interrupt eksternal 0 dengan mode falling edge.
36 •
Mengatur nilai prescaler sebesar clk I/O/1024.
•
Mengatur baud rate untuk komunikasi serial sebesar 9600 bps.
•
Melakukan inisialisasi ” [ ” sebagai Frame Start dan ” ] ” sebagai Frame Stop.
Setelah dilakukan inisialisasi, masuk ke program utama (looping). Pada program utama, mikrokontroler menunggu data serial masuk, sambil menunggu data serial, program melakukan perintah yang terdapat pada interrupt eksternal dan timer overflow. Ketika ada data serial yang masuk, misalnya [A78] maka program akan membaca data antara frame start ” [ ” dan frame stop ” ] ” sebagai nilai. Nilai pertama yaitu A sebagai address dan dua nilai berikutnya yaitu angka ” 87 ” sebagai nilai dari variabel TimerValue yang akan menjadi nilai TCNT0 pada timer overflow. Program yang terdapat pada Interrupt Service Routine untuk interrupt eksternal 0 adalah : o Menonaktifkan interrupt eksternal 0. o Menset nilai timer overflow (TCNT). o Mengaktifkan timer 0 overflow. o Mengatur nilai port b.1 menjadi 1 (high).
Ketika terjadi overflow saat program utama atau program interrupt eksternal sedang berjalan, maka program akan menjalankan perintah yang
37 terdapat pada Interrupt Service Routine Timer Overflow, yang berisi perintah – perintah sebagai berikut : o Mengatur nilai port B.1 menjadi 0 (low). o Menonaktifkan timer 0 overflow. o Mengaktifkan kembali interrupt eksternal 0.
3.2.2
Program GUI
Program GUI merupakan interface bagi user dan dibuat menggunakan bahasa pemrograman Qt Creator. Program utama dari GUI adalah mengirimkan data ketika push button di klik atau slider digeser. Berikut penjelasan perintah pada masing – masing push button dan slider.
Gambar 3.8 Tampilan GUI
o Push button ” Lamp 1” akan mengirimkan data berupa address lampu pertama yaitu ” [A ” saat diklik, disusul nilai intensitas lampu ketika slider digeser disertai frame stop yang dikirim ketika slider dilepas, contohnya ” 67] ”.
38 o Push button ” Lamp 2” akan mengirimkan data berupa address lampu kedua yaitu ” [B ” saat diklik, disusul nilai intensitas lampu ketika slider digeser disertai frame stop yang dikirim ketika slider dilepas, contohnya ” 67] ”. o Ketika push button ”ON” di klik, komputer akan mengirimkan data serial berupa ”[A30][B30]” sehingga kedua lampu akan menyala terang maksimal secara bersamaan. o Ketika push button ”OFF” di klik, komputer akan mengirimkan data serial berupa ”[A99][B99]” sehingga kedua lampu akan mati secara bersamaan. o Untuk tampilan nilai pada GUI, akan berubah sesuai pergeseran slider. Apabila slider di geser ke kiri nilai akan berkurang dan apabila slider di geser ke kanan nilai akan bertambah. Nilai menunjukan angka yang dikirim melalui serial ketika push button diklik atau slider digeser. o Port serial pada komputer akan aktif ketika salah satu dari push button ditekan dan secara otomatis akan memilih port yang tersedia dengan baud rate 9600.
39
Gambar dibawah merupakan diagram alir sistem.
Mulai
Klik Push Button
Tidak
Slider di geser
Ya
Ya
Kirim Data Serial
Kirim Data Serial
Memilih ruangan
Mengatur intensitas lampu
Gambar 3.9 Diagram Alir Sistem
Tidak