RANCANG
BANG UN PAP AN
PERLUASAN HB2000 UNTUK
SISTEM KENDALl BERBASIS MIKROKONTROLER
SERI
AT89C51/52
SUTANTO, TOTO TRIKASJONO Sekolah Tinggi Teknologi Nuklir - BATAN Jl. Babarsari Kotak Pos 6101 YKBB Yogyakarta 55281Telepon 0274-484085, 489716, Faksimili 0274-489715
e-mail: sutanto@sttn-batan.ac.id
Abstrak
RANCANG BANGUN PAPAN PERLUASAN HB2000 UNTUK SISTEM KENDALl BERBASIS
MIKROKONTROLER SERf AT89C51/52. Telah dibuat papan perluasan HB2000. Papan perluasan
HB2000 dibuat untuk membantu pengguna dalam belajar sistem kendali berbasis mikrolwntroler seri
AT89C51/52. Papan perluasan HB2000 terdiri dari rangkaian ADC 0809, DAC 0808, penggerak motor
stepper, Iwnektor pencacah, dan rangkaian konverter tingkat RS-232. Rangkaian-rangkaian tersebut dihubungkan dengan 2 (dua) buah Iwnektor 2 (dua) baris. Masing-masing Iwnektor bisa dihubungkan
dengan jalur I/O mikrokontroler yang dipasang pad a modul HB2000. Melalui kedua Iwnektor,
mikrolwntroler dapat menjalankan rangkaian dalam papan perluasan HB2000. Hasil pengujian
menunjukkan bahwafasilitas dalam papan perluasan HB2000 dapat bekerja dengan baik. Kata-kata kunci : Rancang Bangun, Papan perluasan, mikrokontroler
Abstract
DESIGN AND CONSTRUCTION AN EXPANSION MODULE OF HB2000 FOR CONTROL SYSTEM
ON MICROCONTROLLER BASED TYPE AT89C51/52. An expansion module of HB2000 have been
made. The purpose of design and construction an expansion module of HB2000 is to help user in studying control system on microcontroller based type AT89C51/52. An expansion module consists offacilities, i.e : assembly of ADC type 0809, DAC type 0808, stepper motor driver, counter connector, and level RS-232 converter. These facilities are connected into two connectors. Each connector can be connected to I/O of microcontroller that placed on HB2000 module. Through these connectors, each facility can be controlled by microcontroller. Function test shows that an expansion module can work well.
Keyword: Design, construction, An expansion module, Microcontroller
PENDAHULUAN
Penerapan mikrokontroler yang efektif memerlukan pengetahuan perangkat keras dan perangkat lunak mikrokontroler. Pengetahuan perangkat keras meliputi pengertian arsitektur mikrokontroler dan teknik antarmuka antara mikrokontroler dengan sistem yang hendak dikendalikan. Pengetahuan perangkat lunak meliputi pengertian instruksi-instruksi dan
penyusunannya dalam bentuk program.
Perpaduan perangkat keras dan perangkat lunak
yang sesuai akan memberikan derajad
fleksibilitas desain sistem kendali yang besar.
Oleh karena itu, pengetahuan tentang
mikrokontroler dapat membantu meningkatkan mutu dan keahlian sumber daya manusia dalam menerapkan mikrokontroler (Putra : 2002).
Dalam perancangan kendali sistem analog dengan mikrokontroler diperlukan
pemahaman rangkaian perantara analog.
Perantara analog meliputi rangkaian perantara tegangan analog ke nilai digitalnya dan perantara dari nilai digital ke tegangan analog. Perantara ini merupakan bagian dari antarmuka antara mikrokontroler dengan sistem analog
(plant) Mikrokontroler juga dapat digunakan
untuk menggerakkan motor stepper. Dalam hal
Penerapan ini memberikan pengetahuan dan ketrampilan pengguna dalam menggunakan port-port paralel mikrokontroler.
Mikrokontroler Seri AT89C51/52
Komponen dasar penyusun
mikrokontroler AT89C5l/52 terdiri dari bagian prosesor berukuran 8 bit, memori program internal 4 Kbyte, 256 byte RAM internal, 128
byte register fungsi khusus (SFR), perantara
masukan-keluaran (I/O), dan rangkaian osilator internal. Perantara I/O terdiri dari empat port paralel, sebuah kanal serial, dua buah
Timer/Counter (untuk AT89C52 ada tiga) dan
dua buahjalur interupsi eksternal. Keempat port paralel masing-masing dinamakan sebagai Port 0, Port 1, Port 2 dan Port 3. Jalur kanal serial,
Timer/Counter dan interupsi merupakan fungsi
khusus yang tergabung dalam Port 3
(Christanto : 2004). 1. Port Paralel
Port 1, Port 2, dan Port 3 merupakan port I/O 8 bit dua arah (bi-directional) yang telah dilengkapi dengan pull-up internal. Jika suatu logik 1 dituliskan pada port ini, maka port akan dibuat tinggi oleh pull up internal dan dapat digunakan sebagai masukan. Port 0 merupakan port 8 bit dua arah yang bersifat open drain. Saat logika I dituliskan pada port ini, pin port dapat digunakan sebagai masukan dengan impedansi tinggi.
2. Port Serial
Pada mikrokontroler AT89C5l/52, port serial dikontrol oleh register SCaN (serial Port Control) dan SBUF (Serial Data Buffer).
Data dari dan menuju ke port serial akan melalui register SBUF. Isi dari register SCaN adalah sebagai berikut :
ini diperlukan pemahaman tentang rangkaian penggerak motor stepper (driver). Dalam kasus lain, misalnya : pemantauan multi-sistem kendali diperlukan teknik antarmuka antara kendali dengan piranti digital lain (komputer). Dalam hal ini diperlukan pemahaman teknik komunikasi secara serial dan paralel (Garland:
1984).
Rancang bangun papan perluasan
HB2000 merupakan upaya untuk melengkapi modul HB2000. Modul HB2000 merupakan
papan pelatihan mikrokontroler yang
menyediakan fasilitas penampil led dan seven
segmen, keypad, dan rangkaian downloader.
Penulis memandang fasilitas ini belum
mencukupi bagi . pengguna di dalam
mempelajari perangkat keras dan perangkat lunak mikrokontroler. Sesuai dengan kegunaan
mikrokontroler yang cukup luas, maka
diperlukan tambahan fasilitas yang mendukung penggunaan HB2000. Tambahan fasilitas ini meliputi : rangkaian perantara analog, konektor
pencacah, penggerak motor stepper dan
rangkaian untuk komunikasi serial dengan komputer. Adanya fasilitas ini memungkinkan modul HB2000 bisa menjadi prasarana yang lebih efektif bagi pengguna di dalam menguasai perangkat mikrokontroler.
Berdasarkan uraian di atas maka penulis
mengambil pokok permasalahan, yaitu
bagaimana merancang dan membangun papan perluasan HB2000 yang terdiri dari rangkaian perantara analog (ADC seri 0809 dan DAC seri 0808), konektor pencacah, penggerak motor stepper 4 (empat) pole, dan rangkaian konverter
tingkat RS-232 dengan MAX-232. Hasil
pembuatan alat ini dapat digunakan sebagai
papan tambahan modul HB2000 sehingga
pengguna bisa mensimulasikan mikrokontroler sebagai basis suatu sistem kendali.
DASAR TEORl Modul HB2000
Modul HB2000 merupakan papan
pelatihan mikrokontroler. Modul HB2000 terdiri dari bagian mikrokontroler seri AT89C5l/52, bagian penampil (penampil led dan seven segmen), keypad, dan bagian
downloader. Sesuai dengan fasilitas tersebut
maka pengguna dapat berlatih menerima data dari keypad dan mengirimkan data ke penampil.
MSB
SMO SMI SM2 REN TB8 RB8 TI
Keterangan,
Bit (0) Rl =Receive Interupt Flag.
Diset oleh perangkat keras
menunjukkan suatu byte telah diterima.
Bit(l) TI =Transmit Interupt Flag
Diset oleh perangkat keras
menunjukkan suatu byte telah dikirimkan.
Bit(2) RB8=Receive bit 8
LSB Rl untuk lengkap untuk komplit
~---~
Gambar 1. Diagram Blok Modu1 HB2000 Antarmuka antara fasilitas-fasilitas dalam
papan perluasan HB2000 dengan
mikrokontro1er dalam modul HB2000
digunakan pin-pin seperti dalam Tabel 1.
Bit ini digunakan sesuai mode
pengoperasian. Pada mode 2 dan 3 dengan 9 bit diterima, bit terakhir akan dikopi ke RE8. Bit (3) TB8= Transmit bit 8.
Adalah data ke 9 yang akan dikirimkan pada mode 2 dan 3. Diset atau dihapus dengan sofware sesuai kebutuhan.
Bit (4) REN= Receive Enable
Bit ini hams diset untuk menerima data. Jika tidak data akan diblok.
Bit(5) SM2= Serial Mode (bit 2)
Digunakan pada mode 2 dan 3 untuk
mendukung komunikasi multiprosesor. Bit (6) SM 1= Serial mode bit 1
Bit (7) SMO= Serial mode bit 2
Untuk komunikasi se rial, beberapa parameter yang ditetapkan ErA (Electronics
Industry Association) antara lain : (Putra : 2002). Sebuah 'spasi' (logika 0) antara tegangan +3 sid +25 volt. Sebuah 'tanda' (logika 1) antara tegangan -3 sid -25 volt. Daerah tegangan antara +3 sid -3 volt tidak didefinisikan. Tegangan rangkaian terbuka tidak boleh lebih dari 25 volt (dengan acuan
ground). Arus hubung singkat rangkaian tidak
boleh lebih dari 500 mA.
PERANCANGAN DAN PEMBUA TAN
ADC
0809 o
PI
P2
Modul HB2000 terdiri dari bagian
mikrokontroler, masukan dari keypad, keluaran ke penampil led dan seven segmen dan bagian
downloader. Diagram blok modul HB2000 ditunjukkan oleh Gambar 1. Papan perluasan HB2000 yang dibangun terdiri dari fasilitas-fasilitas meliputi : rangkaian ADC 0809, rangkaian DAC 0808, penggerak motor stepper, konektor pencacah, dan rangkaian konverter tingkat RS-232 dengan MAX-232. Gambar 2 menunjukkan diagram blok papan perluasan HB2000. P3 COUNTER I I I
:
---I
STEPPER I 1Gambar 2. Diagram biok papan perluasan HB2000
Tabel 1. Pin I/O mikrokontroler yang digunakan papan perluasan HB2000
Rangkaian Pin I/OFungsi
mikrokontroler Port 0
Jalur data ADC 0809
Port 2 pin no 5-7Jalur alamat input
Port 3 pin no 2, 6 Jalur kendali dan 7 DAC 0808 Port 1 Jalur data Motor
Port 2 pin no 0-4Jalur data
stepper Konektor
Port 3 pin 4Jalur pulsa
pencacah Max-232
Port 3 pin 0Jalur penerima
Port 3 pin 1
Jalur pengirim
3. Rangkaian ADC 0809
Rangkaian kendali ADC 0809 ditunjukkan oleh Gambar 3
28 12 :u,••'I;.2-1 IN-1 2-2 2-3 IN-2 2-+ 2-3 IN-3 2-' 2-7 IN-+ ],:'b2-8 IN-3 ]!C)C IN-' ADD-A ADD-B IN-7 ADD-C -1(-) 7 1 1821 2 ~ ~ 3 ~ + 3
,
7 8Gambar 3 Rangkaian kendali ADC 0809 (Datasheet ADC 0809)
ADC0809 merupakan komponen akuisisi data dengan teknologi CMOS dan pengkonversi 8-bit analog ke digital. Teknik konversi menggunakan metode pendekatan beruntun
(successive approximation). ADC0809
memiliki 8 kanal masukan analog yang
termultipleks, yaitu pin nomor 1-5 dan nomor 26-28. Pemilihan kanal masukan dilakukan dengan memberikan data digital pada pin nomor 23 - 25. Data digital hasil konversi
diambil melalui pin nomor 8, 14, 15, dan 17 -21. Pengambilan data digital dilakukan dengan memberikan sinyal Output Enable ke pin 9. Data digital ditransfer ke mikrokontroler melalui PortO.
4. Rangkaian DAC 0808
Rangkaian DAC 0808 ditunjukkan oleh Gambar 4. -12V +5V DAC0808 Vee Port 1 16 I '\) 10 k I 8 COMP 10k 7 14~
tl
6 Vrl(+) 5"~»
4 Vrl(-) 3 =- + 2 4 ~ " IOllt-/
1 " '"" CON8 -:- OP AMP 741 S;I +5VData digital yang hendak diubah menjadi
tegangan analog dikeluarkan dari
mikrokontroler melalui Port 1. Data digital ini diterima DAC 0808, berturut-turut dari lsb
(least significant bit) sarnpai msb (most significant bit), melalui pin nomor 12 sampai 5.
Keluaran DAC 0808 berupa arus dan diubah menjadi tegangan oleh rangkaian Op-Amp 741.
5. Rangkaian Penggerak Motor Stepper
Garnbar 5 menunjukkan rangkaian
pengendali motor stepper yang digunakan memiliki 4 fase (pole atau kutub). Pengiriman pulsa dari mikrokontroler ke rangkaian motor
stepper dilakukan secara bergantian melalui pin
nomor 5 - 8 Port 2. Sebelum sampai ke motor stepper, data dilewatkan ULN 2003A untuk dikuatkan sehingga mampu menggerakkan
motor stepper PORT 2 ---, 8 7 6 5 4 3 2 1
L-J
CON8 ULN 2003A VCC 1 "2 :3 "4 3" "6 "i 8" "-A "-A "-A "-A "-A "-A "-A "-A RESPACK3 16 15 14 13 12 IT TO 9" VCC MSo
Gambar 5. Rangkaian Kendali Motor Stepper
6. Rangkaian Konverter Tingkat RS-232
Konverter tingkat RS-232 yang
digunakan dalam papan ini adalah MAX-23. Gambar 6 menunjukkan rangkaian konverter tingkat RS-232.
MAX-232 merupakan komponen
pengubah data digital dari tingkat logika TTL ke tingkat logika RS-232, demikian sebaliknya. IC ini memiliki dua penerima dan pengirim pada kemasan yang sarna. Jalur penerima
ditunjukkan oleh pin nomor 8 dan 13 dan jalur pengirim ditunjukkan oleh pin nomor 7 dan 14. Jalur pengirim bertugas mengirimkan data serial dari mikrokontroler ke komputer, sedangkan jalur penerima bertugas menerima data kiriman dari komputer. Dari rangkaian Gambar 3,4, 5, dan 6 disusun menjadi sistem
papan perluasan HB2000. Dalam bentuk
diagram blok seperti pada Garnbar 7..
•
P3 I ••
•
•
•
MAX 232 VCC Sv"-.-/
DB9Gambar 6. Rangkaian Antarmuka Serial Antara Mikrokontroler dengan PC (Datasheet MAX-232)
~---DC PO COUNTER
I
I
I
I
~---Gambar7. DiagramBlok PapanPerluasanHB2000 PENGUJIAN, HASIL, DAN PEMBAHASANPengujian
Pengujian dilakukan untuk mengetahui kerja rangkaian ADC0809, DAC 0808, motor stepper, rangkaian MAX-232, dan masukan pencacah. Pengujian rangkaian ADC 0809 meliputi uji linieritas diferensial dan non-linieritas intergral. (Putra : 2002) Pengujian DAC 0808 meliputi uji linieritas integral dan pergeseran tegangan analog keluaran DAC 0808 terhadap tegangan analog masukan ADC
~---I
I
II
I
I COUNfER I I II ~~_~_'-'~~
r-1t'L I
I I I..SIEEEERJ L..-..J I ~---~0809. Pengujian motor stepper dilakukan dengan memberikan data penggerak dan waktu tunda minimum data penggerak. Pengujian
rangkaian MAX-232 dilakukan dengan
pengiriman dan penerimaan data antara
rnikrokontroler dengan komputer. Pengujian port pencacah dilakukan dengan memberikan pulsa cacahan dan hasil cacahan ditampilkan pada penampilled. Pengujian dilakukan melalui program dalam bahasa Pascal dan Assembly (Kadir : 1987).
r---I
II
II
II
L _data digital
Gambar 10.. Pergeseran Tegangan Analog
Grafik 3. Linieritas Integral ADC 0809 dan DAC 0808 0.3 0.28 0.26 5> 0.24
i
Y=0.0225x + 0.0527 g; O~~ J R2=0.9308 ~ 0.18 '" 0.16 t: 0.14 ~ 0.12 1ij 0.1 0\ 0.08 2 0.06g:g~V
i
I .~
~
Y = 0.0178x + 0.0018 R2 = 0.9952 o o 1 2 3 4 5 6 7 8 9 10 y=0.0192x +0.074 ~ = 1 DAC 20 40 60 80 100 120 140 160 180 200 220 240 260 data digital )'5 .... 0)4 o ~ 3 IU :: 2 IU ~ 1 tII CiO!
oBerdasar Gambar 9. diperoleh nilai non-linieritas diferensial terbesar adalah 0,02 Volt (1 lsb), sedangkan nilai non-linieritas diferensial rata-rata sebesar
±
0,004 Volt. Nilai ini menunjukkan lebar kode pada masing-masing tegangan, rata-rata berbeda 0,004 Volt (1/5 19b)terhadap lebar kode ideal (0,02 Volt). Gambar 10 menunjukkan bahwa pada nilai digital yang sarna, tegangan keluaran DAC lebih besar daripada tegangan masukan ADC. Oleh karena itu untuk memperoleh hubungan masukan ADC dengan keluaran DAC yang sesuai perIu adanya faktor koreksi, dalam hal ini faktor koreksi sebesar angka desimal 4 (setara dengan 0,08 Volt).Non-linieritas integral menunjukkan seberapa jauh simpangan ketja ADC dan DAC terhadap garis ideal atau garis linier. Hasil pengujian ditunjukkan oleh Gambar l1.yang memperIihatkan proses konversi ADC dan DAC secara keseluruhan bersifat bersifat linier.
Data TeganganTegangan analog
digital
analog masukan keluaran ADC 0809 (V) DAC 080801)
°
°
°
1 0,02 0,1 2 0,04 0,12 3 0,05 0,13 4 0,08 0,15 5 0,09 0,17 6 0,11 0,19 7 0,12 0,21 8 0,15 0,23 9 0,16 0,25 10 0,18 0,27 10 9 8 c; 7 ~ 6 .E' 5 '0 4 nI..
nI '0 1 o o 0.02 0.04 0.00 0.00 0.1 0.12 014 0.16 0.1£ 02 tegangan analog (V)Pengujian non-linieritas diferensial dan pergeseran tegangan analog rangkaian ADC
0809 dan DAC 0808 dilakukan dengan
mengukur tegangan analog untuk data digital dari 0 sampai 10. Untuk uji non-linieritas integral, tegangan analog diukur hanya pada data digital tertentu saja yang dianggap mewakili. Pengambilan data uji motor stepper dilakukan dengan menge-set waktu tunda
minimum data penggerak sehingga motor
langkah tetap berputar dengan baik. Teknik pemutaran motor langkah dilakukan secara half
step. Setting waktu tunda dilakukan melalui
Timer 0 mode 2. Waktu minimum ini
menunjukkan kecepatan maksimum motor
langkah. Gambar 8 menunjukkan diagram blok pengujian papan perIuasan HB2000
Non-linieritas diferensial menunjukkan seberapa sarna lebar kode pada masing-masing bagian tegangan. Hasil pengujian Non-linieritas diferensial terhadap ADC 0809 dan DAC 0808 diperIihatkan pada Tabel 2 serta Gambar 9 dan Gambar 10.
Tabel2. Nilai Tegangan Analog ADC 0809 dan DAC 0808
Gambar 9 .. Non-linieritas Diferensial ADC 0809
2. Motor Stepper
DAFT AR PUST AKA KESIMPULAN
Dari hasil pengujian dan pembahasan tersebut di atas dapat disimpulkan bahwa, pada
penggunaan papan pelatihan untuk
pengendalian sistem analog, maka perlu adanya koreksi tegangan analog (secara software)
antara masukan ADC 0809 dengan keluaran DAC 0808, yaitu sebesar 0,08 volt (angka desima14)
1. PUTRA, A., E., 2002,"Belajar Mikrokontroler
AT89C51/52/55", Gava Media,Yogyakarta.
2. CHRISTANTO,D., 2004, clanPUSPORINI,K.,
"Panduan Dasar Mikrokontroler Keluarga
MCS-51", Innovative Electronics,
Surabaya.
3. GARLANDH., 1984,"Pengantar Desain Sistem Mikroprosesor", Erlangga,Jakarta.
4. PUTRA, A., E., 2002,"Teknik Antarmuka
Komputer : Konsep dan Aplikasi", Graha
Ilmu, Yogyakarta.
5. ZAKS, R., "Dari Chip ke Sistem : Pengantar Mikroprosesor", 1991,Erlangga,Jakarta. 6. ZAKS, R., dan LESEA, A., 1979, "Teknik
Perantaraan Mikroprosesor", Erlangga,
Jakarta.
7. KADIR,A., 1987,"Pemrograman Turbo Pascal Untuk IBM PC Menggunakan Versi 5.0 dan
5.5", E1ekMediaKomputindo,Jakarta. 8. DATASHEETADC 0809, datasheetDAC 0808,
datasheetMAX-232. TANYAJAWAB
Pertanyaan :
1. Mohon disajikan karakterisasi input vs out put dari design
2. Berapa batas atas dan bawah penggunaan ? 3. Apa kelebihan dan kekurangan design ?
(Mulyono Syampuan, Bapeten) Jawaban :
1. Alat ini bukan suatu system lengkap,
namun merupakan papan pelatihan
karakteristik input Vs output ditunjukkan
grafik 1,2 dan 3 yang menunjukkan
karakteritik input Vs output dari fasilitas perantara analog.
2. Batas atas dan batas bawah penyusunan ditunjukkan dengan batas tegangan analog masukan ADC 0890 (0-4,97 volt) dan tegangan analog keluaran DAC 0808 (0-4,97 volt).
3. Kelebihan alat ini adalah bersama HB 2000, papan perluasan ini memberikan tambahan fasilitas berupa perantara analog, port serial, motor stepner P konektor pencacah.
Kekurangan alat ini adalah untuk
membentuk system yang lengkap maka perlu dibuat lagi rangkaian pengkondisi sinyal dan sensor.
Saran :
Perlu aplikasi yangjelas.
Data diterima oleh komputer 1 2 3 4 5 00000001 00000010 00000011 00000100 00000101
Pengujian terhadap motor stepper
dilakukan terhadap Timer 0 mode 2. Diperoleh
nilai isi ulang maksimum sebesar OAR.
Frekuensi kristal mikrokontroler yang
digunakan 11,059 Mhz sehingga diperoleh periode limpahan sebesar 266,93 mikrodetik Lama waktu tunda terkecil untuk satu step sebesar 1601,59 mikrodetik. Jumlah total step untuk 1 putaran penuh adalah 400 step maka waktu untuk 1 putaran penuh adalah 0,64 detik. Kecepatan putar maksimum adalah 1,56 putaran per detik.
Data hasil pengujian Kanal komunikasi serial antara mikrokontroler dengan komputer ditunjukkan oleh Tabel 3. Data tersebut menunjukkan bahwa data yang dikirim oleh mikrokontroler dapat diterima dengan benar oleh komputer.
Tabel 3. Pengiriman data dari
mikrokontroler ke komputer
Data dari mikrokontroler
Sekolah Tinggi Teknologi Nuklir - BATAN 256 Sutanto dkk