RADIO CONTROL MELALUI SERIAL PC Reyhan Fahrurrozie 23101021 [email protected] JURUSAN SISTEM KOMPUTER, FAKULTAS ILMU KOMPUTER, UNIVERSITAS GUNADARMA ABSTRAK Dalam penelitian ini dibuat rancang bangun sistem antar muka berbasis mikrokontroler AT89S52 yang berfunsi sebagai pelaksana perintah program yang ada didalam mikrokontroler dan PC yang dikendalikan dalam jarak jauh. Hasil dari penelitian yang diharapkan adalah otomosi kendali yang bersifat rutin. Sistem Radio Control (R/C) dapat dimanfaatkan dalam berbagai bidang yang membutuhkan sistem kontrol jarak jauh (wireless). Hubungan antara AT89S52 dengan PC adalah handshaking (dua arah), karena terdapat data yang di keluarkan melaui penekanan keyboard dan data tersebut di olah kembali untuk di keluarkan ke AT89S52. Sistem ini disebut dengan transmitter. Komunikasi antara PC dan transmitter menggunakan komunikasi serial dengan moteda Asinkronus dengan bit UART. Setiap bit data yang akan dikeluarkan oleh serial diawali dengan start bit dan diakhiri dengan stop bit, dengan asumsi banyaknya data tidak bisa lebih dari 8 bit data. Pada akhirnya terdapat dua sistem, yaitu transmitter dan receiver. Receiver hanya mengolah data per-bit dari data yang telah di kirim oleh transmitter, karena data-data tersebut diproses oleh AT89S52 tanpa memperhatikan bentuk gelombang yang di bawanya. Kata kunci: Mikrokontroler AT89S52, transmitter, receiver, PC, R/C PENDAHULUAN Penulisan suatu makalah yang membahas tentang interface sudah banyak dilihat, baik dibuku-buku ataupun mencarinya di internet. Namun dari keseluruhan penulisan tersebut dapat dikatakan bahwa penulisan mengenai interface dengan menggunakan HyperTerminal tidak pernah atau sulit ditemukan. Oleh kerena itu, penulis memperkenalkan HyperTerminal sebagai interface yang telah disediakan oleh Windows yang jarang dioperasikan. Selain itu juga, penulis ingin memanfaatkan PC melalui komunikasi serialnya untuk dapat berkomunikasi dengan dunia luar tidak hanya dengan printer (parallel) atau peralatan elektronik lainnya yang biasa digunakan. Dan juga membangun host untuk dapat menggendalikan beberapa workstation melalui serial PC, sehingga PC tidak hanya digunakan untuk perkantoran melainkan juga pabrik-pabrik dengan secara langsung. PEMBAHASAN MIKROKONTROLER AT89S52 Mikrokontroler AT89S52 merupakan salah satu jenis Mikrokontroler CMOS 8 bit yang memiliki performance yang tinggi dengan disipasi daya yang rendah, compatible dengan produk MCS-52, memiliki sistem pemograman kembali Flash Memori 8 Kbyte dengan daya tahan 1000 kali write/erase. Disampig itu terdapat RAM Internal dengan kapasitas128 x 8 bit dan frekuensi pengoperasian hingga 24 MHz. Mikrokontroler ini juga memiliki 32 port I/O yang terbagi menjadi 4 buah port dengan 8 jalur I/O, kemudian terdapat Sebuah port serial dengan kontrol serial full duplex, dua timer/counter 16 bit dan sebuah osilator internal dan rangkaian pewaktu. 1. Interupt Program yang sedang dijalankan oleh mikrokontroler AT89S52 dapat dihentikan untuk sementara dengan meminta interupsi. Apabila AT89S52 mendapat permintaan interupsi maka program counter (PC) akan diisi alamat dari vector interupsi, kemudian AT89S52 melaksanakan rutin pelayanan interupsi mulai dari alamat tersebut setelah selesai maka AT89S52 akan kembali ke pelaksanaan program utama yang ditinggalkan. Mikrokontroler AT89S52 menyediakan 6 sumber interupsi yaitu 2 buah interupsi eksternal (INT0 dan INT1), 3 buah interupsi timer (Timer 0, Timer 1, dan Timer 2), dan sebuah interupsi port serial. Selain itu ada juga sebuah non maskable interrupt yaitu reset yang tidak dapat dihalangi oleh perangkat lunak. Setiap sumber interupsi dapat diprogram secara individual (sendiri-sendiri) baik pengaktifannya maupun prioritasnya. Untuk mengaktifkan atau menonaktifkan interupsi dikontrol oleh register IE (interrupt enable), sedangkan untuk tingkat prioritasnya diatur oleh register IP (interrupt priority). 2. Komunikasi Serial (Asinkron) AT89S52 mempunyai On Chip Serial Port yang dapat digunakan untuk komunikasi data serial secara Full Duplex sehingga port serial ini masih dapat menerima data pada saat proses pengiriman data terjadi. Untuk menampung data yang diterima atau data yang akan dikirimkan, AT89S52 mempunyai sebuah register yaitu SBUF yang terletak pada alamat 99H di mana register ini berfungsi sebagai buffer sehingga pada saat mikrokontroler ini membaca data yang pertama dan data kedua belum diterima secara penuh, maka data ini tidak akan hilang. Pada kenyataannya register SBUF terdiri dari dua buah register yang memang menempati alamat yang sama yaitu 99H. Register tersebut adalah Transmit Buffer Register yang bersifat write only (hanya dapat ditulis) dan Receive Buffer Register yang bersifat read only (hanya dapat dibaca). Pada proses penerimaan data dari port serial, data yang masuk ke dalam port serial akan ditampung pada Receive Buffer Register terlebih dahulu dan diteruskan ke jalur bus internal pada saat pembacaan register SBUF sedangkan pada proses pengiriman data ke port serial, data yang dituliskan dari bus internal akan ditampung pada Transmit Buffer Register terlebih dahulu sebelum dikirim ke port serial. Port Serial AT89S52 dapat digunakan untuk komunikasi data secara sinkron maupun asinkron komunikasi data serial secara sinkron adalah merupakan bentuk komunikasi data serial yang memerlukan sinyal clock untuk sinkronisasi di mana sinyal clock tersebut akan tersulut pada setiap bit pengiriman data sedangkan komunikasi asinkron tidak memerlukan sinyal clock sebagai sinkronisasi. Pengiriman data pada komunikasi serial AT89S52 dilakukan mulai dari bit yang paling rendah (LSB) hingga bit yang paling tinggi (MSB). Gambar Blok Diagram Port Serial HyperTerminal HyperTerminal adalah program yang dapat digunakan untuk menghubungkan satu komputer dengan komputer lain, Telnet site, Bulletin Board Systems (BBSs), online service, dan komputer pusat dengan menggunakan suatu modem seperti Null Modem Cable (NMC) atau LAN Card. Gambar Jendela HyperTerminal Program ini telah disediakan oleh Windows, HyperTerminal dapat digunakan untuk mengirim dan menerima teks dan data ke komputer. Status transfer data ditampilkan pada jendela HyperTerminal selama sedang terjadi transmit dan receive. RS-232 Dikarenakan mudahnya dan ringkasnya hardware (dibandingkan dengan antar muka paralel), antar muka serial digunakan secara luas dalam industri elektronik. Pada saat ini spesifikasi EIA/TIA-232-E populer digunakan. Standar ini, yang dikembangkan oleh Electronic Industry Association and the Telecommunications Industry Association (EIA/TIA), lebih populer dengan nama “RS-232” dimana “RS” adalah singkatan dari “recomamended standard”. Pada saat ini RS sudah digantikan oleh EIA/TIA yang merupakan sumber dari standar tersebut. RS-232 adalah standar basic. Maksudnya adalah standar ini dibuat untuk memastikan kompabilitas antara host system dan peripheral system dengan spesifikasi: 1. Level tegangan dan sinyal yang sama 2. Konfigurasi pin yang sama 3. Jumlah informasi kontrol yang minimal antara host dan peripheral system Tidak seperti standar yang hanya menjelaskan karakteristik elektronik dari perangkat antar muka, RS-232 menspesifikasikan karakteristik elektronik, fungsi dan mekanik untuk memenuhi ketiga spesifikasi diatas. Spesifikasi elektronik dari RS-232 terdiri dari level tegangan, rata-rata perubahan dari level sinyal dan impedansi jalur. Standar RS-232 yang orisinil ditetapkan pada tahun 1962. Karena dikembangkannya sebelum adanya logika TTL, tidak mengherankan jika standar ini tidak menggunakan logika tegangan 5 volt dan ground. Melainkan level High yang digunakan adalah +5 sampai +15 volt dan level Low yang digunakan adalah -5 sampai -15 volt. Level logika penerima didefinisikan untuk menyediakan margin noise sebesar 2 volt. Sehingga level High menjadi +3 sampai +15 volt dan level Low menjadi -3 sampai -15 volt. Gambar RS–232 LOGIC LEVEL SPECIFICATIONS Seperti yang diperlihatkan pada gambar 1, level High (+3 sampai +15 volt) didefinisikan sebagai logika 1 atau disebut “marking” dan level Low (-3 sampai -15 volt) didefinisikan sebagai logika 0 atau disebut “spacing”. Standar RS-232 juga menjelaskan batas maksimum dari slew rate pada driver output. Batasan ini membantu mengurangi cross-talk antar sinyal yang berbatasan. Makin kecil waktu kenaikan dan penurunan sinyal, makin kecil kemungkinan terjadinya cross-talk. Maksimum slew rate yang diperbolehkan adalah 30 V/µs. Maksimum data rate adalah 20k bits/s untuk mengurangi terjadinya cross-talk. Impedansi antara driver dan reciever juga telah ditetapkan, yaitu antara 3kΩ sampai 7kΩ. Pada standar orisinil, panjang kabel maksimum adalah 15 meter. Pada revisi “D” (EIA/TIA-232-D) maksimum panjang kabel tidak didefinisikan, melainkan kapasitansi maksimum didefinisikan yaitu 2500pF untuk memenuhi spesifikasi. Panjang maksimum kabel ditentukan oleh kapasitansi per unit panjang dari kabel. DRIVER MOTOR DC L293D Sebuah IC L293D berisi empat buah push-pull. Setiap dua buah push-pull dapat digunakan sebagai sebuah untai H-bridge dan dapat diaktifkan dengan sebuah sinyal enable. Dalam penelitian ini digunakan metode DC Chopper kelas E sehingga untai yang dirancang ditunjukkan gambar 2.12. IC L293D mampu beroperasi pada tegangan 4,5 V sampai 36 V. Besarnya arus yang dapat ditarik adalah 600mA pada kondisi normal serta 1,2 A pada arus puncak (sesaat). Gambar 2.12 Driver Motor L293 PENDEKATAN FUNGSIONAL dan STRUKTURAL Pendekatan fungsional dan struktural dalam rangkaian seperti ini, terlihat dari blok diagram dibawah ini. PC Receiver RS-232 AT89S52 Transmitter AT89S52 Driver Motor DC Motor DC Gambar Blok Diagram PC (Personal Computer) sebagai host melalui komunikasi serial-nya dapat beriteraksi dengan perangkant luar, dalam hal ini gelombang radio. Setiap bit-bit keluaran dari PC diolah oleh chip mikrokontroler AT89S52 sebelum diterima oleh transmitter. Mikrokontroler disini berfungsi sebagai penyederhana rangkaian, karena tanpa mikrokontroler tersebut komunikasi dari PC ke transmitter masih dapat bekerja, namun untuk keperluan yang lebih luas dan kompleks akan lebih mudah jika menggunakan mikrokontroler. Pengiriman data (transmitter) diterima oleh receiver dalam satu paket perangkat gelombang radio. Data yang diterima kembali diolah mikrokontroler untuk mempermudah suatu aplikasi. Blok pengirim gelombang dari PC hingga ke transmitter dan blok penerima gelombang dari receiver ke chip mikrokontroler AT89S52 merupakan blok inti, sedangkan driver motor dan motor DC merupakan aplikasi dari rangkaian ini. Perubahan aplikasi dilakukan mulai dari driver motor, misalnya rangkaian ini digunakan untuk instalasi listrik pada pabrik-pabrik (sebagai saklar) atau perumahan biasa. Pabrik dengan ukuran besar bisanya terdapat banyak perlatan yang bekerja secara otomatis, namun untuk mengaktifkan perlatan tersebut masih menggunakan tenaga manusia, dengan penggunaan rangkain ini maka hal tersebut dapat teratasi. Rangkaian ini juga dapat digunakan untuk perumahan biasa yaitu sebagai alarm, misalnya saja diletekan pada kendaran. Selama kendaran tersebut masih dalam radius gelombang radio tersebut maka rangkaian ini pasif namun jika rangkaian ini bergerak melewati titik yang telah ditentukan maka rangkain ini aktif. Aplikasi-aplikasi lain dari rangkaian ini masih dapat dibentuk sesuai dengan kebutuhan yang berhubungan dengan wireless. PROTOTIPE, HASIL UJI COBA dan PEMBAHASAN Gambar Prototipe Mobil Gambar di atas adalah gambar prototipe untuk objek dari aplikasi rangkaian ini. Motor di depan berfungsi untuk putar kiri dan putar kanan serta motor di belakang berfungsi untuk maju da mundur, dengan demikian rangkaian ini memiliki 4 (empat) kondisi. HASIL UJI COBA DAN PEMBAHASAN Berdasarkan hasil uji coba rangkaian, maka didapatkan hasil sebagai berikut. Tabel Hasil Uji Coba Penekanan Aksi w Maju s Mundur d Putar kanan a Putar kiri Berdasarkan tabel diatas penekanan keyboard dapat menghasilkan 4 (empat) keluaran, yaitu ‘w’ untuk maju, ‘s’ untuk mundur, ‘d’ untuk putar kanan, dan ‘a’ untuk putar kiri. Penekanan lebih dari satu dapat menghasilkan reaksi yang lain lagi, misalnya penekanan ‘w’ dan ‘d’ akan menghasilkan maju dan putar kanan secara bersaman. Dengan demikian rangkaian ini sebenarnya memiliki 8 masukan dan 8 keluaran, setiap masukan dan keluaran memiliki data yang berbeda pada gelombang radio. Reaksi dari penekanan keyboard ke transmitter memiliki kecepatan 9600bps (bit persecond) berdasarkan perintah dari mikrokontroler yang telah diprogram. Kecepatan ini dapat dirubah namun kecepatan 9600bps adalah kecepatan yang paling stabil untuk mikrokontroler type ini. KESIMPULAN dan SARAN Table 5.1 Kecepatan Motor Menggunakan Baterai 1 Percobaan t(waktu) s(jarak) |t - (t)| v(m/s) |v - (v)| 1 9,34 10 0,152 1,071 0,019 2 8,63 10 0,558 1,159 0,069 3 8,78 10 0,408 1,139 0,049 4 9,2 10 0,012 1,087 0,003 5 8,88 10 0,308 1,126 0,036 6 8,76 10 0,428 1,142 0,052 7 9,31 10 0,122 1,074 0,016 8 9,52 10 0,332 1,05 0,04 9 9,69 10 0,502 1,032 0,058 10 9,77 10 0,582 1,024 0,066 91,88 100 3,404 10,9 0,408 Berdasarkan hasil pengujian alat yang dilakukan oleh penulis pada bab empat, dilakukan sebanyak 20 kali percobaan kecepatan dari dua baterai, masing-masing baterai 10 kali percobaan. Dari formula dibawah ini didapatkan nilai rata-rata dan persentasi kesalahan sebagai berikut. Dari tabel diatas dapat dihitung waktu rata-rata dan persentasi kesalahan yaitu sebagai berikut Dari formula diatas didapatkan vrata-rata ((v)) adalah 1,09m/s dan persentasi kesalahan 3,74% Untuk baterai yang kedua adalah sebagai berikut Table 5.2 Kecepatan Motor Menggunakan Baterai 1 Percobaan t(waktu) s(jarak) |t - (t)| v(m/s) |v - (v)| 1 9,59 10 0,302 1,043 0,011 2 9,35 10 0,302 1,07 0,038 3 9,36 10 0,302 1,068 0,036 4 9,51 10 0,302 1,052 0,02 5 9,48 10 0,302 1,055 0,023 6 9,7 10 0,302 1,031 0,001 7 9,82 10 0,302 1,018 0,014 8 9,78 10 0,302 1,022 0,01 9 10,23 10 0,302 0,978 0,054 10 10,16 10 0,302 0,984 0,048 96,98 100 3,02 10,32 0,254 Seperti yang terlihat dari tabel 5.2, didapatkan vrata-rata ((v)) adalah 1,032m/s dan persentasi kesalahan 2,42% Berdasarkan dari data diatas, dapat disimpulkan bahwa kecepatan rata-rata pertama adalah 1,09m/s dengan persentasi kesalahan 3,74%. Dan pada kecepatan rata-rata kedua adalah 1,032m/s dengan persentasi kesalahan 2,42%. Pengujian tersebut menggunakan dua sumber tegangan yang berbeda dengan besar tegangan yang sama. Faktor kesalahan itu dipengaruhi oleh beberapa hal, yaitu mekanik motor, motor DC dan driver motor DC. Mekanik motor disini adalah penggunaan gear dan pemasangannya, dalam R/C ini pemasangannya sudah tepat namun kurang didukung oleh gear yang bagus sehingga pada saat berjalan posisi gear tidak stabil. Pengaruh kesalahan yang lain yaitu disebabkan oleh motor DC dan driver motor, penggunaan driver motor sudah tepat namun motor DC yang digunakan kurang tepat karena tegangan yang diminta oleh motor DC sebesar 12 volt tetapi tegangan yang diberikan sebesar 9 volt, sehingga motor DC tidak bekerja maksimal. Oleh karena itu, persentasi kesalahan yang relatif kecil itu dapat dikurangi dengan cara penggunaan gear yang tepat dan memaksimalkan kinerja dari motor DC. PUSTAKA 1. Andi, Paulus Nalawan, Teknik Antar Muka dan Pemrograman Mikrokontroler AT89C51, Elex Media Komputindo, Jakarta, 2003 2. Budiharto, Widodo, S.Si, M.Kom, Interfacing Komputer dan Mikrokontroler, Elex Media Komputindo, Jakarta, 2004 3. Malvino, Albert Paul, Prinsip-Prinsip Elektronika, Terjemahan Prof. M. Barmawi, Ph.D., Erlangga, Jakarta, 1992. 4. Miles, Pete, Robot Sumo: The Official Guide, California, U.S.A, 2002 5. http://www.delta-electronic.com 6. http://www.futaba.com 7. http://www. innovativeelectronic.com 8. http://www. parallax.com 9. Prasetia, Retna, Catur Edi Widodo, Interfacing Port Paralel dan Port Serial Komputer dengan VISUAL BASIC 6.0, ANDI, Yogyakarta, 2004 10. Samuel C. Lee, Digital Circuit and Logic Design, Erlangga, Jakarta, 1994 11.Wasito. S (Alih Bahasa), Data Sheet Book I, Data IC Linier, TTL dan CMOS, Elex Media Komputindo, Jakarta, 1992