Perangkat Keras Hardware TINJAUAN PUSTAKA

7 kemungkinan mode RGB ada 256x256x256 = 16.777.216 warna, sedangkan mode HSL ada 360x100x100 warna. Jadi akan ada warna-warna yang jika dikonversikan hasilnya akan sama akibat pembulatan.

2.5 Perangkat Keras Hardware

2.5.1 Mikrokontroler AT89S51 Mikrokontroler adalah mikroprosesor yang dirancang khusus untuk aplikasi kontrol, dan dilengkapi dengan ROM, RAM dan fasilitas IO pada satu chip. AT89S51 adalah salah satu anggota keluarga dari keluarga MCS-5152 yang dilengkapi dengan internal 4 Kbyte flash PEROM Programmable and Erasable Read Only Memory, yang memungkinkan memori program untuk dapat diprogram kembali. AT89S51 dirancang oleh Atmel sesuai dengan instruksi standard dan susunan pin 80C51 Atmel Datasheet. Gambar 3. Mikrokontroler AT89S51 Gambar 4. Konfigurasi Pin pada mikrokontroler AT89S51 AT89S51 memiliki sebuah CPU Central Processing Unit 8 bit, 128 byte RAM Random Access Memory internal, 4 buah port IO, yang masing-masing terdiri dari 8 bit, osilator internal dan ragkaian pewaktu, 2 buah timercounter 16 bit, 6 buah jalur interupsi 2 buah interupsi eksternal dan 4 interupsi internal, sebuah serial port dengan full duplex UART Universal Asynchronous Receiver Transmitter, EPROM yang besarnya 4 kbyte untuk memori program, kecepatan maksimum pelaksanaan instruksi per siklus adalah 0.5 µs pada frekuensi clock 24 MHz. AT89S51 mampu melaksanakan proses perkalian, pembagian, dan boolean. 8 a. Konfigurasi Pin Konfigurasi pin pada mikrokontroler AT89S51 dijelaskan pada Gambar 4. b. Deskripsi Pin Tabel 2 menjelaskan seluruh pin yang ada pada mikrokontroler AT89S51. c. Register dengan fungsi spesial Mikrokontroler AT89S51 memiliki beberapa fungsi spesial yang secara khusus dialamatkan pada register tertentu. Tabel 3 menunjukkan seluruh register dengan fungsi spesial yang dimiliki mikrokontroler ini. d. Operasi Timer Counter AT89S51 menyediakan fasilitas Timer 16 bit sebanyak 2 buah yaitu Timer0 dan Timer1. Timer digunakan untuk membuat tundaan waktudelay. Timer ini juga bisa berfungsi sebagai pencacah counter. Timer bekerja dengan cara menghitung pulsa clock internal mikrokontroler yang dihasilkan dari rangkaian osilator. Jumlah pulsa clock akan dibandingkan dengan sebuah nilai yang terdapat dalam register timer TH dan TL. Jika jumlah pulsa clock sama dengan nilai timer, maka sebuah interupsi akan terjadi ditandai oleh flag TF. Interupsi ini dapat dipantau oleh program sebagai tanda bahwa timer telah overflow. Pencacah bekerja dengan cara menghitung pulsa eksternal pada P3.4 T0 dan P3.5 T1. Jumlah pulsa ini akan disimpan dalam register Timer yaitu pada TH dan TL. Gambar 5. Logika Kontrol TimerCounter Timer akan menghitung pulsa clock dari osilator yang sebelumnya telah dibagi 12. Agar berfungsi sebagai timer maka pada register TMOD, bit CT harus bernilai 0 dan bit Gate bernilai 0 atau pin INTx harus bernilai 1 dan pada TCON, bit TRx harus bernilai 1. Pencacah menghitung pulsa dari pin input T0 dan T1. Agar berfungsi sebagai pencacah maka pada TMOD, bit CT harus bernilai 0 dan bit Gate bernilai 0 atau pin INTx bernilai 1 dan pada TCON, bit TRx bernilai 1. 9 Tabel 2. Deskripsi pin mikrokontroler AT89S51 Atmel Datasheet Nama Pin Keterangan VCC Tegangan supply +5V GND Ground Port 0 Port 0 merupakan port paralel 8 bit dua arah bi-directional yang dapat digunakan untuk berbagai keperluan. Port 0 juga memultipleks alamat dan data jika digunakan untuk mengakses memori eksternal. Port 1 Port 1 merupakan port paralel 8 bit dua arah dengan internal pull-up. Port 1 juga digunakan dalam proses pemrograman P1.5 MOSI P1.6 MISO P1.7 SCK Port 2 Port 2 merupakan port paralel 8 bit dua arah dengan internal pull-up. Port 2 akan mengirim byte alamat jika digunakaan untuk mengakses memori eksternal. Port 3 Port 3 merupakan port paralel 8 bit dua arah dengan internal pull-up. Port 3 juga bida difungsikan untuk keperluan khusus yaitu : P3.0 RXD Receive Data P3.1 TXD Transmit Data P3.2 INT0 Interrupt 0 P3.3 INT1 Interrupt 1 P3.4 T0 Timer 0 P3.5 T1 Timer 1 P3.6 WR Write Strobe P3.7 RD Read Strobe RST Pulsa dari low ke high akan mereset mikrokontroler ALEPROG Address Latch Enable, digunakan untuk menahan alamat memori eksternal selama pelaksanaan instruksi PSEN Program Store Enable, merupakan sinyal kendali yang memperbolehkan program memori eksternal masuk ke dalam bus selama proses pengambilan instruksi EAVPP Jika EA=1 maka mikrokontroler akan melaksanakan instruksi dari ROM internal Jika EA=0 maka mikrokonttoler akan melaksanakan instruksi dari ROM eksternal XTAL1 Intput ke rangkaian osilator internal XTAL 2 Output dari rangkaian osilator internal 10 Tabel 3. Special function register Atmel Datasheet Simbol Nama Alamat Nilai Awal ACC Akumulator E0H 00000000 B B Register F0H 00000000 PSW Program Status Word D0H 00000000 SP Stack Pointer 81H 00000111 DPTR0 Data Pointer 0 16 bit DP0L Byte Rendah DP0H Byte Tinggi 82H 83H 00000000 00000000 DPTR1 Data Pointer 1 16 bit DP1L Byte Rendah DP1H Byte Tinggi 84H 85H 00000000 00000000 P0 Port 0 80H 11111111 P1 Port 1 90H 11111111 P2 Port 2 A0H 11111111 P3 Port 3 B0H 11111111 IP Interrupt Priority Control B8H xx000000 IE Interrupt Enable Control A8H 0x000000 TMOD TimerCounter Mode Control 89H 00000000 TCON TimerCounter Control 88H 00000000 TH0 TimerCounter 0 High Byte 8CH 00000000 TL0 TimerCounter 0 Low Byte 8AH 00000000 TH1 TimerCounter 1 High Byte 8DH 00000000 TL1 TimerCounter 1 Low Byte 8BH 00000000 SCON Serial Control 98H 00000000 SBUF Serial Data Buffer 99H xxxxxxxx PCON Power Control 87H 0xxx0000 WDTRST Watchdog Timer Reset A6H xxxxxxxx AUXR Auxiliary Register 8EH xxx00xx0 Tabel 4. Timer Mode Atmel Datasheet TxM1 TxM0 Mode Timer Deskripsi 13-bit Timer 1 1 16-bit Timer 1 2 8-bit auto reload 1 1 3 Split timer 11 Tabel 5. Register TCON Atmel Datasheet Bit Nama Fungsi Timer 7 TF1 Timer 1 Overflow. Bit ini diatur oleh mikrokontroler 1 6 TR1 Timer 1 Run. Timer akan aktif jika bit ini bernilai 1 1 5 TF0 Timer 0 Overflow. Bit ini diatur oleh mikrokontroler 4 TR0 Timer 1 Run. Timer akan aktif jika bit ini bernilai 1 Tabel 6. Register TMOD Atmel Datasheet Bit Nama Fungsi Timer 7 GATE1 Jika bernilai 1, timer hanya akan mulai ketika INT1 pada kondisi high. Jika bernilai 0, timer akan mulai tanpa pengaruh kondisi INT1. 1 6 CT1 Timer akan mencacah kejadian melalui T1 ketika bit ini bernilai 1 dan akan mencaca setiap siklus mesin jika bit bernilai 0. 1 5 T1M1 Penentu mode timer yang akan digunakan 1 4 T1M0 Penentu mode timer yang akan digunakan 1 3 GATE0 Jika bernilai 1, timer hanya akan mulai ketika INT1 pada kondisi high. Jika bernilai 0, timer akan mulai tanpa pengaruh kondisi INT1. 2 CT0 Timer akan mencacah kejadian melalui T1 ketika bit ini bernilai 1 dan akan mencaca setiap siklus mesin jika bit bernilai 0. 1 T0M1 Penentu mode timer yang akan digunakan T0M0 Penentu mode timer yang akan digunakan e. Komunikasi Data Serial Komunikasi serial memiliki keuntungan dari segi efektifitasnya karena hanya membutuhkan 2 jalur komunikasi, jalur data dan clock. Data dikirimditerima per bit secara bergantian. Pada MCS-51, data ditampung sementara dalam register SBUF Serial Buffer sebelum dikirimditerima. Untuk mengatur mode komunikasi data serial dilakukan oleh SCON Serial Control register. Untuk mengatur baudrate dilakukan oleh register PCON Power Control register. Pada AT89S51, port serial terdapat pada pin P3.0RXD dan P3.1TXD. Terdapat 4 mode komunikasi data serial yang dapat dilakukan mikrokontroler AT89S51yang dapat dipilih dengan kombinasi nilai pada bit SM0 dan SM1 dalam SCON. Dalam SCON, terdapat flag TI Transmit Interrupt dan RI Receive Interrupt yang menandakan sedang terjadi pengiriman atau penerimaan data. Pengiriman data serial dimulai ketika sebuah byte data dikirimkan ke SBUF. TI akan 1 ketika data telah selesai dikirimkan. Penerimaan data serial dimulai ketika REN dalam SCON 12 bernilai 1. RI akan 1 ketika data telah selesai diterima. Baik pada pengiriman maupun penerimaan, data akan disimpan dalam register SBUF. Tabel 7. Mode pilihan komunikasi data serial Atmel Datasheet SM1 SM0 Mode Deskripsi Shift register, baud = f12 1 1 8-bit UART, baud = variabel 1 2 9-bit UART, baud = f32 atau f64 1 1 3 9-bit UART, baud = variabel Tabel 8. Register SCON Atmel Datasheet Bit Simbol Fungsi 7 SM0 Serial port mode bit 0 6 SM1 Serial port mode bit 1 5 SM2 Pengaktif komunikasi multiprosesor 4 REN Receive Enable bit. Beri nilai 1 untuk mengaktifkan penerimaan data serial 3 TB8 Transmitted bit 8. Pengaturan dilakukan oleh program pada mode 2 dan 3 2 RB8 Received bit 8. Bit ke-8 dari data yang diterima pada mode 2 dan 3. Berupa stopbit pada mode 1 dan tidak digunakan pada mode 0 1 TI Transmit Interrupt flag. Harus dikontrol oleh program RI Receive Interrupt flag. Harus dikontrol oleh program Tabel 9. Register PCON Atmel Datasheet Bit Simbol Fungsi 7 SMOD Serial baudrate modify bit. Bernilai 1, program akan menggandakan timer 1 sebagai baudrate pada mode 1,2 dan 3. Bernilai 0, untuk menggunakan baudrate timer 1. 6-4 - Tidak digunakan 3 GF1 General purpose user flag bit 1 2 GF0 General purpose user flag bit 0 1 PD Power down bit. Beri nilai 1, untuk masuk konfigurasi power down IDL Idle mode bit. Beri nilai 1, jika ingin masuk konfigurasi mode idle 13 f. Operasi Interupsi Interupsi adalah kondisi yang memaksa mikrokontroler menghentikan sementara eksekusi program utama untuk mengeksekusi interupsi rutin tertentu Interrupt Service Routine ISR. Setelah melaksanakan ISR secara lengkap, maka mikrokontroler akan kembali melanjutkan eksekusi program utama yang tadi ditinggalkan. Pada mikrokontroler AT89S51, terdapat 6 sumber interupsi yaitu System reset, External 0, Timer 0, External 1, Timer 1, Serial Port. Untuk mengatur kerja interupsi dapat dilakukan pengaturan pada register Interrupt Enable IE dan Interrupt Priority IP. Tabel 10. Register IE Atmel Datasheet Bit Simbol Fungsi 7 EA Enable Interrupts bit. Beri nilai 1, untuk mengaktifkan interrupt sesuai enable bit interrupt terkait. 6 - Tidak digunakan 5 ET2 Penggunaan pada 8052 4 ES Enable serial port interrupt. Beri nilai 1 untuk mengaktifkan interrupt 3 ET1 Enable timer1 overflow interrupt. Beri nilai 1 untuk mengaktifkan interrupt 2 EX1 Enable external1 interrupt. Beri nilai 1 untuk mengaktifkan interrupt INT1 1 ET0 Enable timer0 overflow interrupt. Beri nilai 1 untuk mengaktifkan interrupt EX0 Enable external0 interrupt. Beri nilai 1 untuk mengaktifkan interrupt INT0 Tabel 11. Register IP Atmel Datasheet Bit Simbol Fungsi 7-6 - Tidak digunakan 5 PT2 Penggunaan pada 8052 4 PS Prioritas interrupt untuk serial port 3 PT1 Prioritas interrupt untuk timer1 overflow 2 PX1 Prioritas interrupt untuk external1 1 PT0 Prioritas interrupt untuk timer0 overflow PX0 Prioritas interrupt untuk external0 2.5.2 DTHiQ USB ISP Flash Programmer Merupakan salah satu perangkat keras yang digunakan untuk membaca, menulis, dan menghapus memori flash yang ada pada mikrokontroler AT89S51. 2.5.3 Embedded Module Series EMS EMS 30 A H-Bridge merupakan driver H-Bridge berbasis VNH3SP30 yang didisain untuk menghasilkan drive 2 arah dengan arus kontinyu sampai dengan 30 A pada tegangan 5,5 Volt sampai 36 Volt . Modul ini dilengkapi dengan rangkaian sensor arus beban yang dapat digunakan sebagai 14 umpan balik ke pengendali. Modul ini mampu menngelola beban-beban induktif seperti relay, solenoid, motor DC, motor stepper, dan berbagai macam beban lainnya. Gambar 6. Modul EMS H-Bridge 30 A Modul ini terdiri dari 1 driver full H-Bridge beserta rangkaian current sensor, mampu melewatkan arus kontinyu 30 A, berinterval tegangan output untuk beban antara 5,5 V sampai 36 V, input kompatibel dengan level tegangan TTL dan CMOS, jalur catu daya input VCC terpisah dari jalur catu daya untuk bebean V Mot, output tri-state, frekuensi PWM sampai dengan 20KHz, fault detection, proteksi hubungan singkat, proteksi overtemperature, undervoltage dan overvoltage shutdown, reverse battery protection. a. Driver Motor Transistor Motor DC biasanya dikontrol menggunakan konfigurasi transistor yang dikenal dengan istilah H-Bridge. Konfigurasi ini biasanya menggunakan 4 buah transistor NPN atau dua transistor NPN dan dua transistor PNP. Gambar 7. Konfigurasi H-Bridge Gambar 5 menunjukkan konfigurasi transistor NPN yang digunakan sebagai pengontrol motor DC. Arus yang mengalir ke motor DC polaritasnya dapat diatur dengan memberikan logika ke transistor Q1 sampai Q4. Pengaturannya seperti pada tabel kebenaran pada tabel 12. Transistor Q1 dan Q2 atau Q3 dan Q4 tidak diperbolehkan kondidi keduanya dalam keadaan high karena akan menyebabkan short circuit terhadap baterai. b. IC Driver Motor VNH3SP30 merupakan salah satu IC Integrated Circuit yang dapat digunakan sebagai driver motor DC. IC ini menggunakan prinsip kerja H-Bridge. Tiap H-Bridge dikontrol menggunakan level tegangan TTL yang berasal dari output mikrokontroler. IC ini hanya dapat 15 mengendalikan 1 buah motor DC. Kelebihan dari IC ini adalah dapat melewatkan arus kontinyu sampai dengan 30A dan tegangan maksimum sampai dengan 36 Volt. Tabel 12. Tabel Kebenaran konfigurasi H-Bridge Maju Mundur Stop Q1 1 Q2 1 Q3 1 Q4 1 Pengaturan kecepatan motor DC dilakukan dengan cara pengontrolan lama pulsa aktif metode PWM – Pulse Width Modulation yang dikirimkan ke rangkaian driver motor oleh modul kendali motor. Duty cycle PWM yang dikirimkan menentukan kecepatan putar motor DC. Gambar 8. Integrated Circuit VNH30SP30 2.5.4 Modulasi Lebar Pulsa PWM Buldan 2006 menyebutkan bahwa PWM digunakan untuk mengatur kecepatan motor DC sesuai dengan yang diinginkan oleh penggunanya. Dalam PWM gelombang kotak, frekuensi tinggi dibangkitkan sebagai output digital. Sebagai contoh, sebuah port bit secara kontinyu melakukan kegiatan saklar on dan off pada frekuensi yang relatif tinggi. Selanjutnya, bila sinyal diumpankan pada Low Pass Filter LPF, tegangan pada output filter akan sama dengan Root Mean Square RMS dari sinyal gelombang kotak.Tegangan RMS inilah yang dapat divariasikan dengan mengubah duty cycle dari sinyal. Duty cycle menyatakan fraksi waktu sinyal pada keadaan logika high dalam satu siklus. Satu siklus diawali oleh transisi low to high dari sinyal dan berakhir pada transisi berikutnya. Selama satu siklus, jika waktu sinyal pada keadaan high sama dengan low maka dinyatakan sinyal mempunyai duty cycle 50. Duty cycle 20 menyatakan sinyal berada pada logika 1 selama 15 dari waktu total. Gambar 7 memberikan ilustrasi dari duty cycle yang dimaksud. Pada sistem kontrol dengan PWM perlu ditambahkan speed encoder sebagai umpan balik dari sistem. kecepatan rotasi dari sebuah motor listrik bergantung pada tingkat pengulangan dan waktu switching dari relay penghubung dengan asumsi beban motor adalah konstan. Dengan kondisi tersebut, sistem akan menemukan keseimbangan antara kecepatan putaran motor dan beban motor. Akan tetapi, jika beban motor berubah maka kecepatan motor akan terpengaruh. Hal ini tidak terjadi pada sistem dengan umpan balik Krokar, 2008. 16 Gambar 9. Duty cycle 30 2.5.5 Catu Daya Catu daya memiliki peranan yang sangat penting dalam perancangan elektronika. Modul- modul elektronik tidak dapat berfungsi tanpa bagian ini. Sama halnya jika penggunaan catu daya yang tidak tepat, modul tidak akan bekerja sebagaimana mestinya. Menurut Buldan 2006, Penentuan sistem catu daya yang akan digunakan ditentukan oleh banyak faktor, diantaranya: a. Tegangan Setiap modul sensor atau aktuator tidak memiliki tegangan yang sama. Hal ini akan berpengaruh terhadap desain catu daya. Tegangan tertinggi dari salah satu modul sensor atau actuator akan menentukan nilai tegangan catu daya. b. Arus Arus memiliki satuan Ah Ampere-hour. Semakin besar Ah, semakin lama daya tahan baterai bila digunakan pada beban yang sama. c. Teknologi Baterai Baterai isi ulang ada yang dapat diisi hanya apabila benar-benar kosong, dan ada pula yang dapat diisi ulang kapan saja tanpa harus menunggu baterai benar-benar kosong.

2.6 Perangkat Lunak Software