Rabu, 08 Februari 2017

Fungsi Mikrokontroler dan Perangkat Lunak

BAB II
LANDASAN TEORI
Dalam bab ini akan dijelaskan mengenai teori-teori penunjang untuk membentuk sebuah robot cerdas pemadam api, baik teori perangkat keras maupun perangkat lunak yang akan digunakan

2.1 PERANGKAT KERAS (HARDWARE )
2.1.1 Mikrokontroler
Mikrokontroler berfungsi sebagai pusat pengendali robot dan sebagai pengambil keputusan dari data-data yang dikirimkan oleh sensor-sensor. Mikrokontroler yang digunakan pada robot ini adalah Scenix SX48BD dengan modul pengendali Basic Stamp. 

Beberapa alasan utama pemilihan mikrokontroler Scenix SX48BD:
  • Bahasa pemrograman yang sederhana membuat pengembangan perangkat lunak menjadi lebih cepat.
  • Kecepatan tinggi dengan frekuensi clock 75 MHz.
  • Jumlah port I/O sebanyak 36 buah.
  • Kapasitas memori program EE/Flash 8x2048 Byte (16k Byte).
  • Memori data berukuran 136x8bit SRAM.
  • Rentang tegangan (Vcc) yang digunakan antara 3.0 – 5.5 volt tetapi umumnya menggunakan level tegangan 5 volt.
  • Suplai arus yang melewati Vcc maksimal sebesar 130 mA.
Fitur-fitur lain yang dimiliki Scenix SX48BD adalah:
  • 13.3 ns untuk satu siklus instruksi 
  • Merupakan mikrokontroler RISC, sehingga memiliki 43 single-word instruksi dasar.
  • 8-bit Real Time Clock/Counter (RTCC) dengan 8-bit prescaler terprogram.
  • Watchdog Timer dengan isolator internal yang mempunyai frekuensi antara 31.25 kHz sampai 4 MHz.
Arsitektur keluarga SX menggunakan modifikasi arsitektur Harvard. Arsitektur ini menggunakan dua memori terpisah dengan bus alamat yang terpisah, satu untuk program dan satu untuk data yang mengizinkan transfer data dari memori program ke SRAM. Kemampuan ini mengizinkan pengaksesan data dari memori program. Keuntungan dari arsitektur ini adalah transfer instruksi fetch dan memori dapat di overlap dengan sebuah multi-stage pipeline (fetch, decode, execute dan write back), yang berarti instruksi selanjutnya dapat di-fetch dari memori program ketika instruksi sekarang sedang dieksekusi menggunakan data dari memori data.

2.1.1.1 Deskripsi Pin-Pin SX48BD
Scenix SX48BD memiliki port untuk input/output sebanyak 36 pin, yang terdiri dari 4 pin sebagai port A, 8 pin sebagai port B, 8 pin sebagai port C, 8 pin sebagai port D dan 8 pin sebagai port E. Khusus untuk port A (pin 6, 7, 8, dan 9) digunakan sebagai port I/O jalur pemrograman mikrokontroler. Pin 6 dan pin 7 secara berturut-turut berfungsi sebagai jalur data serial, dan input clock serial. Pin 8 dan pin 9 berfungsi sebagai pin reset atau pin Vpp pada saat mode pemrograman. Komunikasi serial atau USB dapat digunakan untuk mengisikan program ke mikrokontroler.

Berikut adalah daftar pin-pin pada mikrokontroler SX28AC/DP beserta fungsinya : 

2.1.1.2 Organisasi Memori
Memori pada SX48BD terbagi menjadi dua blok memori, yaitu memori program dan memori data. Ukuran memori program adalah 2k word dengan lebar 12-bit word yang merupakan memori bersifat Erasable Electrical Programmable Read Only Memory (EEPROM). Sedangkan ukuran memori data sebesar 136 bytes pada RAM, dikelompokkan menjadi 8 bank dari 16 register dan 8 register not bank. Keduanya bisa dialamati baik secara langsung maupun tidak langsung menggunakan file select register (FSR). Special-function register dipetakan ke dalam memori data.

2.1.2 Sensor Objek
Sensor-sensor objek akan mengambil informasi dari lingkungan sekitarnya. Mikrokontroler akan menentukan langkah yang tepat berdasarkan informasi dari sensor. Sensor-sensor objek ini diantaranya sensor dinding dan sensor lantai.

2.1.2.1 Sensor Dinding
Sensor dinding digunakan sebagai sensor jarak untuk menentukan jarak robot dengan dinding sehingga robot dapat menentukan aksi apa yang harus dilakukan. Sensor ultrasonik dan sensor infra merah digunakan sebagai sensor dinding pada robot yang dirancang. 

Pemilihan komponen ini didasarkan pada kehandalannya terhadap gangguan yang telah ditetapkan oleh Panitia KRCI. Sensor ultrasonik sangat tangguh terhadap gangguan hanging object berupa cermin, tetapi sensor ini menjadi kurang handal terhadap hanging object berupa sound damper (busa) yang dipasang di dinding arena lapangan. Sebaliknya dengan sensor infra merah tangguh terhadap sound damper (busa) tetapi tidak tangguh dengan cermin.

2.1.2.2 Sensor Ultrasonik
Telinga manusia hanya bisa mendengar frekuensi bunyi antara 20 Hz sampai 20 kHz. Gelombang diatas itu tidak dapat didengar oleh telinga manusia yang dinamakan dengan gelombang ultrasonik. Gelombang jenis ini bisa dimanfaatkan sebagai sensor pengukur jarak tanpa terjadinya kontak fisik dengan objek yang diukur jaraknya (dinding). Sensor ultrasonic bekerja pada frekuensi 40Khz, mempunyai bagian pengirim gelombang (transmitter) dan bagian penerima gelombang (receiver). Jarak dapat diketahui dengan menghitung waktu yang dibutuhkan oleh gelombang ultrasonik sejak awal pengiriman sampai kembali ke penerima gelombang. 
Gambar Prinsip kerja ultrasonik

2.1.2.3 Sensor Infra Merah
Cahaya infra merah tergolong ke dalam cahaya yang tidak tampak. Mempunyai panjang gelombang mulai 700 nm sampai 1 mm seperti terlihat pada gambar 2.4. Cahaya ini tidak dapat menembus benda padat seperti halnya cahaya tampak. Sensor infra merah yang digunakan pada perancangan robot pemadam api adalah GP2D15 yang diproduksi oleh SHARP.

2.1.3 Sensor Lantai
Sensor lantai digunakan untuk mendeteksi adanya garis putih. Robot dikatakan berada di dalam ruangan jika sudah melewati garis putih yang dipasang sebagai penanda pintu ruangan dengan lebar 2 cm.

Sensor ini menggunakan prinsip pemantulan cahaya LED yang tergolong ke dalam cahaya yang tampak dengan kirasan panjang gelombang 450 nm. Cahaya pantulan dari LED yang mengenai garis putih akan diterima oleh modul penerima berupa photoIC

2.1.4 Sensor Api
Robot pemadam api tentunya membutuhkan sensor api yang digunakan untuk mendeteksi keberadaan api di dalam ruangan. Sensor yang digunakan sebanyak dua buah yaitu:
  • UVtron digunakan untuk mendeteksi keberadaan api dalam suatu ruangan arena lomba. 
  • Phototransistor yang berfungsi menentukan arah titik api didalam ruangan. 
2.1.4.1 Uvtron
Sensor UVtron mempunyai rentang spektrum panjang gelombang antara 185 nm hingga 260 nm seperti terlihat pada gambar 2.4 yang merupakan spektrum gelombang ultraviolet emisi nyala api. Sensor ini bekerja dengan menangkap pancaran ultraviolet. Api dideteksi oleh tabung UVtron sedangkan unit pemroses sinyal tersebut menggunakan modul interface UVtron (Hamamatsu seri C3704). Kelebihan dari sensor ini adalah mampu mendeteksi pancaran ultraviolet sampai jarak 5 meter. Gambar 2.6 berikut adalah gambar sensor UVtron dan modul interface-nya:

2.1.4.2 Phototransistor
Phototransistor digunakan untuk mencari titik api didalam ruangan. Phototransistor bekerja dengan cara menangkap emisi ultraviolet yg dikeluarkan oleh nyala api. Prinsip kerja dari phototransistor adalah ketika basis menangkap cahaya dengan panjang gelombang tertentu maka collector akan terhubung dengan emitter dalam hal ini transistor bekerja. Phototransistor memiliki dua mode operasi yaitu mode aktif dan mode peralihan. Mode aktif artinya transistor akan menghasilkan reaksi yang sebanding dengan besaran cahaya yang diterima sampai dengan tingkatan tertentu. Mode peralihan artinya phototransitor hanya akan berkondisi “off” atau “on” ketika terkena cahaya, mode ini berguna ketika dibutuhkan keluaran digital (0/1). Sedangkan phototransistor sendiri mempunyai karakteristik yang berbeda sebagai berikut;
Gambar Prinsip kerja rangkaian phototransistor

2.1.5 Modul Penggerak
Roda yang dihubungkan menggunakan rantai plastik pada robot digerakkan menggunakan dua buah motor gear dc yang dipasang pada roda paling belakang sebelah kiri dan kanan. Pemilihan motor gear dc didasarkan pada putaran dan torsi yang lebih besar dibandingkan dengan motor stepper atau motor servo, juga didasarkan atas ketersediaan di pasaran selain harga murah juga banyak variasinya.

Motor gear dc tidak dapat dikendalikan secara langsung oleh mikrokontroler, karena kebutuhan arus yang besar sedangkan keluaran arus dari mikrokontroler sangat kecil. Motor driver merupakan alternatif yang dapat digunakan untuk menggerakkan motor dc.

Ada dua cara yang dapat digunakan untuk mendapatkan motor driver:

2.1.5.1 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.

2.1.5.2 IC Motor Driver
L293 dan L298 adalah contoh IC 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. L293 dapat mengontrol 4 buah motor dc sedangkan L298 dapat mengontrol 2 buah motor dc. Tegangan yang dapat digunakan untuk mengendalikan robot bisa mencapai tegangan 46 Vdc dan arus mencapai 2 A untuk setiap kanalnya.

Pengaturan kecepatan kedua motor dilakukan dengan cara pengontrolan lama pulsa aktif (metode PWM - Pulse Width Modulation) yang dikirimkan ke rangkaian driver motor oleh modul pengendali (mikrokontroler Basic Stamp). Duty cycle PWM yang dikirimkan menentukan kecepatan putar motor dc. Gambar 2.12 menunjukkan bentuk IC L293 dan L298 Multiwatt 15 yang digunakan sebagai motor driver.

2.1.5.3 Kendali Motor
MMBE (Motor Mind B enhanced) adalah suatu komponen kontrol motor dc yang memiliki kemampuan untuk mengontrol satu buah motor dc. Dimana di dalamnya sudah terintergrasi sistem kontrol PI (Proportional Intergral).

Fitur-fitur dari MMBE :
  1. Arus Maksimal 1,75 A (6A Peak) Tegangan Antara 6-36 VDC
  2. Frekuensi PWM 242Hz atau 15.5KHz
  3. Serial Interface TTL 2.4KBPS atau 9.6KBPS
  4. 0-65,535Hz tachometer 
  5. Kontrol kecepatan Tertutup Proportional integreted
  6. Dapat dengan mudah mengakses EEPROM 
MMBE dapat mengontrol sebuah motor DC melalui TTL serial interace. MMBE dapat mengakomodasi boudrate 2.4 Kbps dan 9.6 Kbps, dan dapat diopeasikan menggunakan pulse-width modulation dengan frekuensi 15.5KHz

Konfigurasi pin-pin MMBE beserta fungsinya :
Kontrol kecepatan MMBE dapat menggunakan model increment-decrement atau menggunakan kontrol propotional integral untuk memperbaiki error, model increment akan menaikan kecepatan apabila kecepatan yang dihasilkan lebih rendah daripada kecepatan yang diinginkan sedangkan model decrement akan menurunkan kecepatan apabila kecepatan yang dihasilkan melebihi kecepatan yang diinginkan sedangkan kontrol proportional integral adalah error sinyal (frekuensi yang di inginkan dikurangan dengan frekuensi yang dihasilkan) dikalikan dengan ketetapan proportional kemudian jumlah error selama waktu tertentu dikalikan dengan ketetapan integral dan dijumlahkan dengan hasil sebelumnya. Hasil penjumlahan tersebut berupa bilangan 32 bit komplemen 2 yang di konversi menjadi bilangan desimal antara -255 sampai +255, yang nantinya nilai tersebut digunakan sebagai nilai pengaturan kecapatan motor. Untuk menggunakan mode PI direkomendasikan untuk menggunakan frekuensi pada pengaturan 15,5 Khz .

2.1.5.4 Optocoupler
Optocoupler merupakan alat yang terdiri dari led infra merah dan phototransistor. Pada saat cahaya dari led infra merah yang menuju ke phototransistor terhalang oleh cahaya dari led infra merah yang menuju ke phototransistor diterima maka phototransistor kan melewatkan arus yang melaluinya. Pada keadaan phototransistor menerima cahaya maka optocoupler akan menghasilkan beda potensial sebesar beberapa mV.

2.1.6 Modul Pemadam Api
Media yang digunakan untuk memadamkan api adalah kipas. Kipas digerakkan oleh motor dc.

2.1.7 Sensor Suara
Robot dapat diaktifkan menggunakan sensor suara dengan frekuensi antara 3 – 4 kHz. Modul yang dirancang terdiri dari dua bagian, yaitu modul penghasil suara yang diaktifkan oleh operator robot dan modul pendeteksi suara yang terpasang pada robot. Alat yang digunakan sebagai penghasil suara adalah sebuah buzzer dengan frekuensi sekitar 3 – 4 Khz. Suara yang dihasilkan berupa sinyal analog yang akan diterima oleh komponen microphone yang kemudian di-filter melalui komponen lowpass filter sehingga menghasilkan sinyal digital. Sinyal tersebut diterima oleh mirokontroler yang menandakan bahwa awal dari pergerakan robot 

2.1.8 Catu Daya
Catu daya memegang peranan yang sangat penting dalam hal perancangan sebuah robot. Tanpa bagian ini robot tidak akan berfungsi. Begitu juga bila pemilihan catu daya tidak tepat, maka robot tidak akan bekerja dengan baik. 

Penentuan sistem catu daya yang akan digunakan ditentukan oleh banyak faktor, diantaranya :
1. Tegangan
Setiap modul sensor atau aktuator tidak memiliki tegangan yang sama. Hal ini akan berpengaruh terhadap disain catu daya. Tegangan tertinggi dari salah satu modul sensor atau aktuator akan menentukan nilai tegangan catu daya. 

2. Arus
Arus memiliki satuan Ah (Ampere-hour). Semakin besar Ah, semakin lama daya tahan baterai bila digunakan pada beban yang sama. 

3. Teknologi Baterai
Baterai isi ulang ada yang dapat diisi hanya apabila benar-benar kosong, dan ada pula yang dapat di isi ulang kapan saja tanpa harus menunggu baterai tersebut benar-benar kosong.

Secara umum, ada beberapa jenis dan bentuk baterai yang dapat digunakan untuk sistem catu daya pada sebuah robot, diantaranya baterai Nickel Metal Hydride (Ni-MH). Baterai ini mempunyai teknologi terbaik untuk rechargeable baterai, yakni dapat diisi ulang lebih dari 400 kali serta memiliki tahanan dalam yang rendah dengan tegangan kerja sebesar 1.2 volt, sehingga dapat memberikan arus yang relatif besar. Jika digunakan untuk beban yang berat, baterai ini dapat menjadi panas.

Kapasitas simpan baterai Ni-MH ini sangat bervariasi, yakni sampai 2700 mAh. Berikut ini adalah contoh sebuah baterai Ni-MH 2700 mAh.

Untuk pengisian baterai ini dapat dilakukan kapan saja, namun untuk hasil yang lebih baik, setelah beberapa kali pengisian, baterai ini harus dikosongkan terlebih dahulu sebelum diisi. Selain jenis baterai Ni-MH, masih banyak lagi jenis baterai yang tersedia di pasaran dengan spesifikasi yang beragam dan dapat digunakan untuk catu daya pada sebuah robot. Diantaranya baterai Ni-CAD, Alkaline, Lithium, Lead Acid dan sebagainya, yang masing-masing mempunyai kelebihan dan kekurangannya.

2.2 Perangkat Lunak ( Software )
Perangkat lunak merupakan faktor penentu paling akhir dalam tahap perancangan robot. Perangkat lunak ini berupa algoritma gerak dan tugas robot dalam bentuk listing program yang ditanamkan kedalam mikrokontroler. Program dapat bermacam-macam bentuk versi dan bahasa pemrogramannya, sesuai dengan spesifikasi dari mikrokontroler yang digunakan. 

Mikrokontroler SX48BD adalah jenis mikrokontroler yang didalamnya sudah terdapat interpreter chip. Di dalam interpreter chip sudah terdapat program kecil yang berfungsi untuk menginterpretasikan program yang ditulis di dalam Basic Stamp Editor. Bahasa pemrograman yang digunakan untuk mengisikan program ke dalam mikrokontroler ini adalah Bahasa PBasic, yang bahasa pemrogramannya hampir sama dengan bahasa Basic

2.2.1 Basic Stamp
Instruksi yang dapat digunakan pada editor basic stamp relatif cukup banyak dan bergantung dari type dan jenis basic stamp yang digunakan. Berikut ini beberapa instruksi-instruksi dasar yang dapat digunakan pada mikrokontroler basic stamp dengan type BS2SX.

2.2.1.1 Editor Basic Stamp
Editor Basic Stamp merupakan sebuah software yang dapat dijalankan pada dua jenis versi sistem operasi, yakni DOS dan Windows. Software ini dapat berjalan pada komputer dengan sistem minimum, tanpa harus membutuhkan spesifikasi komputer yang sangat canggih. Berikut ini tampilan jendela program editor Basic Stamp yang berjalan pada sistem operasi windows.

Dari jendela editor basic stamp di atas terdapat beberapa bagian, diantaranya menu dan toolbar yang digunakan untuk melakukan operasi file seperti New, Open, Save, serta pengeditan listing program yang sedang dirancang. Gambar berikut merupakan bagian menu dan toolbar pada editor basic stamp.

Gambar 2.15.Tampilan Menu/ToolBar editor Basic Stamp

Setiap file yang dibuka pada program editor Basic Stamp akan dibuatkan tab editor seperti yang terlihat pada gambar 2.26, sehingga memudahkan pengguna software untuk berpindah-pindah dari satu file ke file yang lain.

Pada bagian bawah dari tampilan program editor basic stamp terdapat bagian yang bernama status bar seperti yang terlihat pada gambar 2.28. Status bar ini berfungsi menampilkan beberapa keterangan yang berhubungan dengan penulisan/pengeditan listing program, diantaranya posisi kursor berada, dan sukses atau gagalnya pengisian program ke dalam mikrokontroler.

2.2.2 Cara Pembuatan program 
Pembuatan listing program dengan menggunakan editor basic stamp diawali dengan menentukan jenis/tipe mikrokontroler basic stamp dan versi bahasa PBASIC yang digunakan. Hal ini sangatlah mudah karena cukup memilih/meng-klik icon jenis/tipe basic stamp dan versi bahasa PBASIC yang akan kita gunakan pada toolbar, seperti yang terlihat pada gambar 2.29 berikut :

Setelah menentukan tipe/jenis Basic Stamp dan versi bahasa PBASIC yang akan digunakan, dilanjutkan dengan penulisan listing program. Ketentuan penulisan Listing program tergolong cukup mudah dan dapat diselesaikan dalam waktu yang relatif singkat, karena menggunakan bahasa pemrograman tingkat tinggi yakni PBASIC yang bahasa pemrogramannya hampir sama dengan BASIC. Dalam penulisan Listing program dapat ditambahkan komentar yang dapat membantu proses pengeditan jika terjadi kesalahan dengan algoritma program yang dibuat. Gambar 2.31 berikut ini contoh tampilan editor basic stamp yang berisi potongan program lengkap dengan deklarasi variabel dan komentar.

Dalam perancangan perangkat lunak, ada beberapa instruksi-instruksi umum yang sering digunakan, seperti perulangan, percabangan dan rutin/prosedur. Berikut ini ditunjukkan cara-cara penggunaan instruksi-instruksi umum pada mikrokontroler basic stamp.

3. Rutin/Prosedur
Prosedur merupakan sekumpulan instruksi yang karena berbagai pertimbangan dipisahkan dari program utama. Bagian-bagian di program utama akan memanggil prosedur, jadi mikrokontroler sementara akan meninggalkan aliran program utama untuk mengerjakan instruksi-instruksi dalam prosedur. Setelah selesai mengerjakan prosedur, maka mikrokontroler akan kembali ke aliran program utama. 

4. Pengaksesan port I/O
Jumlah port I/O yang dapat digunakan pada mikrokontroler Basic Stamp berjumlah 16 buah, dimulai dari port 0 sampai port 15 yang masing-masing port dapat difungsikan sebagai input maupun output. Dalam pengaksesan (mengeset atau membaca) port I/O dapat langsung disebutkan/dituliskan nomor port I/O yang akan di akses. 

2.2.3 Motor Mind Control Software

Software ini digunakan untuk mengkonfigurasikan MMBE. Dengan software ini kita dapat menjalankan perintah-perintah yang dimilik oleh MMBE seperti SPDCON, SETDC, TACH , COUNT , dll. Dengan software ini pun kita dapat mengkonfigurasikan sistem kontrol motor PI. Untuk menghubungkan MMBE dengan PC, kita hanya perlu menghubungkan jalur komunikasi serial diantara keduanya. 

Perintah-perintah tersebut yang nantinya akan dikirimkan oleh mikrokontroler secara serial (synchronous), transmisi data serial disebut sinkron jika waktu kirim dan terima atau lamanya penerimaan setiap bit di tentukan secara pasti sebelum bit tersebut dikirim dan diterima. Pada transmisi sinkron, data dikirm dalam bentuk berkelompok dalam kecepatan yang tetap tanpa bit awal dan bit akhir. Awalan blok dan akhiran blok di identifikasikan dalam bentuk bytes dengan susunan yang spesifik. Clock pada penerima dioperasikan secara kontinyu dan di kunci agar sama dengan clock yang diterima pengirim. masing-masing intruksi mempunya fungsi tersendiri. Baud rate komunikasi yang digunakan ada dua pilihan kecepatan yaitu 2.4 Kbps dan 9.6 Kbps. Settingan awal menggunakan kecepatan 2.4 Kbps. Tiap byte data yang dikirimkan tidak akan lebih dari 500μs.

Fungsi Mikrokontroler dan Perangkat Lunak Rating: 4.5 Diposkan Oleh: frf

0 komentar:

Posting Komentar