RADIO CONTROL MELALUI SERIAL PC Reyhan Fahrurrozie

advertisement
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
Download