Senin, 24 Juni 2013


BAB II
LANDASAN TEORI

2.1.      Algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Oleh karena itu suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :
1.      Mengerti setiap langkah dalam Algoritma
2.      Mengerjakan operasi yang bersesuaian dengan langkah tersebut.

2.2.      Sistem Kontrol 
Kontrol adalah bagian yang amat penting dalam robotik. Sistem robotik tanpa kontrol hanya akan menjadi benda mekatronik yang mati. Dalam sistem kontrol robotik terdapat dua bagian, yaitu perangkat keras elektronik, yakni rangkaian elektronik yang setidak-tidaknya terdiri dari rangkaian prosesor (CPU, memori, komponen interface input/output) dan perangkat lunak yang berisi program kemudi dan algoritma kontrol. Algoritma kontrol yang digunakan dalam dunia robotik biasanya adalah kontrol cerdas yang berdasarkan algoritma dipandang cerdas. Pengertian cerdas di sini sangatlah relatif, karena tergantung dari sisi mana seseorang memandang.
Sistem kontrol yang digunakan pada robot yang dirancang merupakan gabungan dari sistem close loop dan open loop dengan jenis kontrol ON/OFF. Sistem kontrol ON/OFF sering disebut juga “bang-bang control”, adalah kontrol yang paling dasar dalam robotik. Input sensor dan  sinyal output pada aktuator dinyatakan hanya dalam dua keadaan, yaitu ON/OFF atau logika 1 dan 0. Dalam perancangan sistem robot yang dibangun, cara ini sudah cukup memadai karena mampu mengontrol robot untuk mencapai target yang dikehendaki.
Mekanisme kerja dari sistem kontrol yang dirancang dapat diilustrasikan pada gambar berikut ini.

Tiga prosedur utama, yaitu baca sensor, memproses data sensor, dan mengirim sinyal aktuasi ke aktuator adalah tugas utama kontroler. Dalam aplikasi, prosedur “baca sensor” dapat terdiri dari berbagai teknik yang masing-masing membawa dampak kerumitan dalam pemrograman.
Kontroler yang digunakan dalam perancangan merupakan tipe kontroler yang menggunakan teknik polling dalam proses membaca dan menulis data pada port I/O. Teknik polling adalah prosedur membaca data berdasarkan pengalamatan langsung yang dapat dilakukan kapan saja kontroler menghendaki.
Bagian yang berfungsi untuk memproses data sensor adalah bagian yang paling penting dalam program kontroler. Pada bagian ini semua data di proses, baik berupa data hasil bacaan sensor maupun berupa sinyal aktuasi ke aktuator. Berbagai algoritma kontrol mulai dari teknik klasik seperti kontrol ON/OFF, P, I, dan D dapat diterapkan. Jika dikehendaki kontrol yang lebih pintar dan dapat beradaptasi, maka dapat dimasukkan berbagai algoritma kontrol adaptive hingga teknik artificial intelligent seperti fuzzy control, neural network dan lain-lain.
Bagian prosedur untuk “tulis data” adalah bagian yang berisi pengalamatan ke aktuator untuk proses penulisan data. Dalam konteks rangkaian elektronik, data ini adalah sinyal aktuasi ke kontroler seperti berapa besar tegangan atau arus yang mengalir ke motor, dan lain sebagainya.
Mikrokontroler yang digunakan dalam perancangan sistem robot cerdas pemadam api ini yakni sebuah mikrokontroler Scenix SX48BD dengan modul pengendali Basic Stamp.
Beberapa alasan utama pemilihan mikrokontroler Scenix SX48BD:
1.        Bahasa pemrograman yang sederhana membuat pengembangan perangkat lunak menjadi lebih cepat.
2.        Kecepatan tinggi dengan frekuensi clock 75 MHz.
3.        Jumlah port I/O sebanyak 36 buah.
4.        Kapasitas memori program EE/Flash 16 K Byte (8 K Word).
5.        Memori data berukuran 262x8bit SRAM.
6.        Rentang tegangan (Vcc) yang digunakan antara 3.0 – 5.5 volt tetapi umumnya menggunakan level tegangan 5 volt.
7.        Suplai arus yang melewati Vcc maksimal sebesar 130 mA.

Fitur-fitur lain yang dimiliki Scenix SX48BD adalah:
1.        13.3 ns untuk satu siklus instruksi
2.        Merupakan mikrokontroler RISC, sehingga memiliki 43 single-word instruksi dasar.
3.        8-bit Real Time Clock/Counter (RTCC) dengan 8-bit prescaler terprogram.
4.        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.3.      Mekanik
Struktur robot sebagian besar dibangun berdasarkan konstruksi mekanik. Robot yang memiliki kemampuan navigasi dan manipulasi secara relatif memiliki konstruksi mekanik yang lebih rumit dibanding dengan yang berkemampuan navigasi saja, seperti mobile robot yang hanya memiliki roda penggerak.
Hal mendasar yang perlu diperhatikan dalam disain mekanik robot adalah perhitungan kebutuhan torsi untuk menggerakkan sendi atau roda. Motor, sebagai penggerak utama (prime-mover) yang paling sering dipakai umumnya akan bekerja optimal pada putaran yang relatif tinggi. Hal ini tidak sesuai bila porosnya dihubungkan langsung ke sendi gerak atau roda. Sebab kebanyakan gerakan yang diperlukan pada sisi anggota badan robot adalah relatif pelan namun bertenaga. Untuk itu diperlukan cara-cara transmisi daya motor (atau aktuator secara umum) secara tepat. Salah satu metoda yang paling umum adalah menggunakan sistem gear.

Arah putaran poros pada transmisi gir hubungan langsung seperti pada Gambar 2.2 adalah selalu berlawanan untuk tiap Sambungan serial. Untuk mendapatkan arah putaran yang sama seperti pada poros motor maka gir harus disusun dengan jumlah ganjil.
Pada Robot Cerdas Pemadam Api yang dirancang menggunakan transmisi gir hubungan langsung dengan perbandingan 1:100. Hal ini disebabkan karena sistem ini cukup mudah instalasinya dan untuk mendapatkan rasio gir yang besar dicapai dengan memperbanyak susunan gir yang arsitekturnya dapat dibuat ringkas dalam “satu rumah”.
Sistem roda yang digunakan pada Robot Cerdas Pemadam Api berbasis rantai seperti tank. Roda yang dihubungkan menggunakan rantai digerakkan menggunakan dua buah motor yang dipasang di roda paling belakang sebelah kiri dan kanan. Hal ini didasarkan atas bentuk dan kondisi medan tempat robot bergerak.

2.4.      Sensor
Sensor pada robot merupakan perangkat atau komponen pengumpul informasi lingkungan tempat robot berada. Berdasarkan masukan sensor-sensor yang terpasang, unit mikrokontroler dapat menganalisanya dan menentukan keputusan yang tepat sesuai dengan algoritma yang telah dirancang.
Sensor yang digunakan dapat berupa sensor yang dibuat dari sistem yang paling sederhana seperti sensor ON/OFF menggunakan limit switch, sistem analog, sistem bus parallel, sistem bus serial, hingga sistem mata kamera yang masing-masing cara pengukuran dan cara interfacing ke kontrolernya berbeda-beda.
Dalam pemilihan jenis sensor yang akan digunakan pada sebuah sistem robot, bergantung pada aplikasi dari robot yang akan dirancang. Robot yang dirancang dengan tujuan ikut serta dalam Kontes Robot Cerdas Indonesia dengan tema Robot Cerdas Pemadam Api menggunakan beberapa sensor, diantaranya :
a.          Sensor Dinding
b.      Sensor Kipas
c.          Sensor Api
d.      Sensor Suara

2.4.1  Sensor Dinding
Sensor dinding merupakan sensor yang digunakan untuk keperluan navigasi robot agar robot tidak menabrak dinding pada saat menyusuri arena kontes. Sensor yang dapat digunakan adalah :
v  Ping))) Ultrasonic Distance Sensor
Ping))) Ultrasonic Distance Sensor ini adalah jenis sensor sonar (sistem pemancar dan penerima sinyal sonar) buatan parallax dengan sistem TX-RX ultrasonic yang didesain dengan tingkat kepresisian tinggi dan menyatu dengan rangkaian signal conditioning-nya. Sensor ini bekerja berdasarkan sinyal pantul (echo) yang ditangkap oleh penerima dengan output berupa lebar pulsa (TTL). Pada sistem ultrasonic data jarak yang terukur adalah sebanding dengan lama waktu antara sinyal dikirim dan sinyal echo diterima. Bentuk sensor ultrasonic ditunjukkan pada gambar 2.3 berikut.

Untuk jangkauan yang relatif jauh dapat digunakan sensor sonar jenis ultrasonic ini. Namun, sensor ultrasonic memiliki kelemahan mendasar, yaitu mudahnya terjadi interferensi antara sensor-sensor yang berdekatan dan waktu akses yang terbatas (maksimum sekitar 20 kali scanning tiap detik).  Untuk keperluan manuver kecepatan tinggi, sensor ultrasonic ini kurang sesuai.

2.4.2  Sensor Kipas
Sensor Kipas digunakan untuk mendeteksi posisi kipas agar tetap pada tempatnya sehingga tidak menghalangi sensor lain. Sensor yang digunakan berupa sensor rancangan sendiri yang berbasiskan transmitter-receiver (TX-RX) infra merah– PhotoIC  yang disusun secara berdampingan, sensor ini menggunakan prinsip pemantulan sinar infra merah terhadap sayap kipas yang berada di depan sensor tersebut. Sinar infra merah yang di-transmit-kan memiliki kode-kode tertentu yang dimodulasikan pada frekuensi yang tertentu pula.
PhotoIC merupakan suatu modul penerima yang didalamnya telah terintegrasi   oscillator, timing generator, led driver, photodiode, preamplifier, comparator, signal processing circuit dan  output circuit. PhotoIC dapat memodulasi cahaya yang dipancarkan oleh pemancar (LED) dan menahan cahaya yang dihasilkan oleh pemancar yang lain. Berikut adalah gambar dari PhotoIC.



Intensitas sinar infra merah yang dipancarkan unit IR transmitter diatur cukup rendah sehingga pada jarak yang telah ditentukan, hanya warna putih saja yang pantulan sinar infra merahnya akan  terdeteksi oleh unit PhotoIC receiver. Apabila ada pantulan sinar infra merah dengan frekuensi modulasi dan data yang benar terdeteksi oleh unit PhotoIC receiver, maka dapat dipastikan kipas berada pada posisi yang benar, sehingga modul pengendali dapat menentukan keputusan yang sesuai dengan kondisi tersebut.

2.4.3  Sensor Api
Pada robot terdapat dua jenis sensor api, yaitu pendeteksi keberadaan api lilin yang menyala dan pendeteksi posisi/arah titik api relatif terhadap arah hadap robot. Sensor-sensor tersebut diantaranya :
a.      UVTron Flame Sensor
b.      Phototransistor

a.         UVTron Flame Sensor
Yang bertugas mendeteksi keberadaan nyala api lilin adalah sensor api UVtron buatan Hamamatsu. Sensor ini dipilih karena dalam mendeteksi keberadaan nyala api tidak terpengaruh oleh cahaya lain selain cahaya dari api. Sensor ini mendeteksi pancaran sinar ultraviolet dengan rentang spektrum panjang gelombang antara 185nm hingga 260nm yang merupakan panjang gelombang ultraviolet emisi nyala api. Sensor ini juga mampu mendeteksi keberadaan nyala api dalam ruang 3 dimensi hampir dari semua arah dan dengan jarak sampai 5 meter. Gambar 2.5 merupakan gambar sensor UVtron dan modul interface-nya:

Tempat tabung UVtron
 
Sensor UVtron dan rangkaian interface-nya memiliki filter yang mampu mengurangi noise atau derau sehingga mengurangi kemungkinan kesalahan pembacaan keberadaan nyala api.  Sensor ini mempunyai output berupa open collector dan lebar pulsa. Sensor ini dipilih sebagai sensor yang bertugas mendeteksi keberadaan nyala api lilin karena terbukti handal dalam mendeteksi api dengan jarak maksimum 5 meter dengan output sensor berupa lebar pulsa.
Kelemahan dari sensor UVtron adalah tidak dapat digunakan untuk mencari letak titik api berada sehingga dibutuhkan sensor lain yang dapat mendeteksi posisi titik api lilin.

b.        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).
             
2.4.4  Sensor Suara
Berdasarkan peraturan lomba Kontes Robot Cerdas Indonesia, 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 bandpass filter sehingga menghasilkan sinyal digital. Sinyal tersebut diterima oleh mikrokontroler yang menandakan bahwa awal dari pergerakan robot.

2.5.      Beeper
Sebagai penentu bahwa bayi telah ditemukan, digunakan modul penanda bayi disebut dengan beeper yang mengeluarkan suara dengan frekuensi 1 KHz dan menghasilkan dua beep per detik-nya sesuai dengan peraturan lomba. Modul menggunakan satu buah IC Atmel yaitu AT89C2051 dan penghasil suara digunakan sebuah buzzer.

2.6.      Aktuator
Aktuator merupakan perangkat elektromekanik yang menghasilkan daya gerakan. Dapat dibuat dari sistem motor listrik, sistem pneumatic, atau perangkat hidrolik. Untuk meningkatkan tenaga mekanik aktuator atau torsi gerakan dapat dipasang sistem gearbox, baik sistem direct-gear (sistem lurus, sistem ohmic/worm-gear, planetary gear, dsb) maupun sprochet-chain (gir-rantai, gir-belt, ataupun sistem wire-roller, dsb).
Aktuator dasar yang sering digunakan pada sistem robot sebagai penghasil gerakan yaitu motor DC Magnet Permanen. Motor DC (direct current) adalah peralatan elektromekanik dasar yang berfungsi untuk mengubah tenaga listrik menjadi tenaga mekanik. Secara umum, kecepatan putaran poros motor DC akan meningkat seiring dengan meningkatnya tegangan yang diberikan. Dengan demikian, putaran motor DC akan berbalik arah jika polaritas tegangan yang diberikan juga dirubah. Berikut ini adalah sebuah contoh motor DC-MP tanpa gearbox.
Penggunaan motor gear DC sebagai komponen penggerak didasarkan selain atas putaran dan torsi yang lebih besar dibandingkan stepper motor maupun servo motor, juga  didasarkan atas ketersediaannya di pasaran dengan variasi yang banyak dan harga yang murah, walaupun tidak dilengkapi dengan data-data spesifikasi/parameter motor secara lengkap.

2.6.1  IC Motor Driver
Untuk men-drive motor DC digunakan Dual Full-Bridge Driver tipe L298N Multiwatt 15 keluaran STMicroelectronics  yang berisi dua buah H-Bridge yang mampu mengendalikan motor DC bertegangan kerja sampai 46 VDC dan arus total sampai 4A. Pengaturan kecepatan dan singkronisasi antara kedua motor dilakukan dengan cara pengontrolan lama pulsa aktif (metode PWM - Pulse Width Modulation) yang dikirimkan ke rangkaian driver motor oleh modul pengendali (mikrokontroler). Lebar pulsa PWM yang dinyatakan dalam Duty Cycle menentukan kecepatan putar motor DC. Gambar 2.10 mengilustrasikan sinyal PWM versus tegangan ekivalen liniernya.

Dari Gambar 2.10 menunjukkan bahwa makin sempit pulsa PWM, tegangan ekivalen liniernya makin kecil. Jika duty cycle 100% maka tegangan ekivalen linier sama dengan tegangan maksimum pada motor.

2.6.2  Kendali Motor
MMBe (Motor Mind B enhanced) adalah suatu komponen kontrol motor dc yang memiliki kemampuan untuk mengontrol satu buah motor dc. Dimana didalam nya sudah terintegrasi sistem kontrol PI (Proportional Integral).
Fitur-fitur dari MMBe, diantaranya :
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.4 KBPS atau 9.6 KBPS
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.
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.6.3  Speed Encoder

Optocoupler terdiri dari pemancar dan penerima, pada bagian pemancar terdiri atas sebuah led dengan intensitas pancaran dapat diatur dengan merubah-rubah besaran resistor (220Ω-470Ω) yang terhubung ke anodanya. Bagian penerima optocoupler adalah sebuah trasnsistor, ketika pemancar tidak terhalangi maka output pada transistor akan berlogika 1 dan ketika pemancar terhalangi output pada transistor akan berlogika 0.
Pada shaft tersebut dipasangkan suatu kertas dengan diameter tertentu yang memiliki pola hitam dan transparan. Ketika pemancar mengenai hitam (terhalang) output transistor akan berlogika 0, ketika pemancar mengenai transparan (tidak terhalang) output transistor akan berlogika 1. Bila motor diberikan catu daya dengan tegangan tertentu yang akan memutarkan motor, bacaan dari optocoupler akan mengasilkan pulsa kotak persatuan waktu. Kerapatan dari pulsa yang dihasilkan bergantung kepada kecepatan putaran motor, semakin cepat putaran motor semakin rapat pulsa yang dihasilkan.

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

Selain komponen-komponen perangkat keras sebagai penunjang untuk membentuk sebuah robot cerdas pemadam api, juga harus didukung dengan software-nya. Karena 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.8.      Basic Stamp
Instruksi yang dapat digunakan pada editor Basic Stamp relatif cukup banyak dan bergantung dari type dan jenis Basic Stamp yang digunakan. Tabel 2.1 dan Tabel 2.2 merupakan beberapa instruksi-instruksi dasar yang dapat digunakan pada mikrokontroler Basic Stamp dengan type BS2SX.

Tabel 2.1. Beberapa Instruksi Dasar
Instruksi
Keterangan
DO…LOOP
Perulangan
GOSUB
Memanggil prosedur
IF…THEN
Percabangan
SELECT…CASE
Pencabangan
FOR..NEXT
Perulangan
HIGH
Menset pin I/O menjadi 1
LOW
Menset pin I/O menjadi 0
PAUSE
Delay atau waktu tunda
PWM
Konversi suatu nilai digital ke keluaran analog lewat pulse-width modulasi
COUNT
Menghitung jumlah pulsa (0-1-0 atau 1-0-1)
PULSOUT
Membangkitkan pulsa
PULSIN
Menerima/membaca pulsa yang diterima
GOTO
Menuju/loncat ke alamat memori tertentu

2.8.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. Gambar 2.14 berikut ini tampilan jendela program editor Basic Stamp yang berjalan pada sistem operasi windows.

Gambar 2.14.  Tampilan Editor Basic Stamp
Dari jendela editor Basic Stamp Gambar 2.14 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 2.15 merupakan bagian menu dan toolbar pada editor Basic Stamp

Setiap file yang dibuka pada program editor Basic Stamp akan dibuatkan tab editor seperti yang terlihat pada Gambar 2.16 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.17. 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.8.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 digunakan pada toolbar, seperti yang terlihat pada Gambar 2.18.


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.20 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, diantaranya :
1.      Perulangan
Ada beberapa cara perulangan yang dapat digunakan pada mikrokontroler Basic Stamp, diantaranya :
Ø         FOR…NEXT (perulangan yang dibatasi)
Contoh :
FOR i = 1 to 10                                                                                      Awal Perulangan
  SEROUT motorkananout,BAUD,[$55,SETDC,220]
  SEROUT motorkiriout,BAUD,[$55,SETDC,190]                     Isi Perulangan        
Pause 20
NEXT                                                                                         Akhir Perulangan
                                                              
Ø         DO…LOOP (perulangan secara terus menerus)
Contoh :
DO                                                                                             Awal Perulangan
  SEROUT motorkananout,BAUD,[$55,SETDC,220]
  SEROUT motorkiriout,BAUD,[$55,SETDC,190]                     Isi Perulangan        
Pause 20                                                                                    
LOOP                                                                                        Akhir Perulangan
                                          
Perulangan DO…LOOP ini selain dapat digunakan untuk perulangan tanpa batas dapat juga digunakan pada perulangan yang dibatasi. Untuk jumlah perulangan yang dibatasi tinggal menambahkan UNTIL dengan syarat perulangan pada instruksi DO…LOOP
2.      Percabangan
Instruksi percabangan yang dapat digunakan pada mikrokontroler Basic Stamp ada beberapa jenis, diantaranya :
Ø         IF…THEN
Syntax :     IF Condition THEN
    Statement(s)
           ELSEIF Condition(s) THEN
   Statement(s)
ELSE
       Statement(s)
ENDIF

Contoh :   
IF cmkiridepan < 14 THEN
        SEROUT motorkiriout,baud,[$55,3,145]
        SEROUT motorkananout,baud,[$55,3,120]
ELSEIF cmkiridepan > 17 THEN
        SEROUT motorkananout,baud,[$55,3,147]
        SEROUT motorkiriout,baud,[$55,3,120]  
ENDIF
Ø         SELECT…CASE
Syntax :     SELECT Expression
 CASE Condition(s)
      Statement(s)
CASE Condition(s)
      Statement(s)
CASE ELSE
     Statement(s)
ENDSELECT

Contoh :    SELECT ruang
    CASE 1
         derajat=15
         derajatmax=35
    CASE 2
         derajat=15
         derajatmax=38
   CASE ELSE
         derajat=12
         derajatmax=33
ENDSELECT
Dalam pemilihan instruksi percabangan yang akan digunakan disesuaikan dengan kebutuhan dan bentuk percabangan yang akan di buat.
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.
Contoh :

Prosedur :
rem:                                                                                              Nama Prosedur
  SEROUT motorkananout,baud,[$55,0]
  SEROUT motorkiriout,baud,[$55,0] ]                Isi Prosedur
  PAUSE 50
  RETURN                  keluar dari prosedur dan kembali ke baris instruksi selanjutnya
Pemanggilan prosedur
………………..                      baris instruksi lainnya
………………..
GOSUB maju                         baris instruksi pemanggilan prosedur
………………..
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.
Contoh :
HIGH 4                                  mengeset port 4 menjadi high
LOW  5                                  mengeset port 5 menjadi low
IF 6 = 1 THEN                       membaca port 6 apakah high
IF 7 = 0 THEN                       membaca port 7 apakah low

2.9        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, 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.

Tidak ada komentar:

Posting Komentar