BAB II LANDASAN TEORI
II.1.
Sejarah Ilmu Robot
Teknologi modern dewasa ini, khususnya dalam dunia teknologi robot mengalami perkembangan yang sangat pesat. Banyak negara maju (Amerika, Jerman, Inggris, Jepang, Prancis) berlomba-lomba menciptakan robot-robot mutakhir dengan keistimewaan-keistimewaan khusus. Istilah robot pertama kali muncul pada tahun 1920, berasal dari kata 'robota' yang dalam bahasa Ceko (negeri Eropa Timur) berarti kerja paksa. Kata itu muncul dalam drama pentas Rossum's Universal Robots karya Karel Capek, seorang penulis dari negara Ceko. Kemudian pada tahun 1950, Isaac Asimov mengemukakan dalam novelnya 'Robot', tiga aturan perobotan yaitu: 1.
Sebuah robot tidak boleh mencederai manusia
2.
Robot harus mematuhi perintah yang diberikan manusia,
kecuali bila itu melanggar aturan pertama 3.
Robot harus melindungi eksistensinya sendiri sebagai mesin
yang harus mematuhi manusia. [15] Seiring berkembangnya teknologi, berbagai robot dibuat dengan spesialisasi atau keistimewaan. Robot dengan keistimewaan khusus sangat erat kaitannya dengan kebutuhan dalam dunia industri modern. Dewasa ini mereka semakin menuntut adanya suatu alat dengan kemampuan tinggi yang dapat
7
membantu menyelesaikan pekerjaan manusia ataupun menyelesaikan pekerjaan yang tidak mampu diselesaikan manusia. Pemanfaatan teknologi robot mempunyai sisi lain yang merupakan ancaman bagi sebagian orang, karena menghilangkan kesempatan kerja. Dari survei yang dilakukan terhadap pemakai robot di Inggris, penghematan tenaga kerja ditulis sebagai faktor terpenting dalam mengambil keputusan untuk mengadopsi robot. Meskipun demikian, walau beberapa pekerjaan dan tugas dihasilkan dengan campur tangan robot, tetapi tedapat kecenderungan untuk tidak menggantikan tenaga manusia seluruhnya. Secara teoritis robot dimasukkan bukan pada faktor produksi yang berupa masukan buruh, melainkan pada masukan modal. [7] Negara yang paling getol mengadakan penelitian mengenai berbagai macam robot ini adalah Jepang. Hal ini tak lain karena Jepang juga gigih dalam melakukan penelitian teknologi infrastruktur seperti komponen dan piranti mikro (microdevices) yang akhirnya bidang ini terbukti sebagai inti dari pengembangan robot modern. Sebenarnya, robot bukanlah 'barang baru' bagi masyarakat Jepang. Robot pertama Jepang sudah diciptakan berabad-abad yang lalu. Tentunya tidak dengan bentuk yang ada saat ini. Mulai dari robot yang bisa menyirami sawah buatan Kaya-no-Miko seperti yang diceritakan dalam koleksi cerita abad ke-12, Konjaku
Monogatari Shu,
hingga boneka robot karakuri-ningyo yang
dikembangkan dengan tingkat teknologi yang cukup tinggi dan ditampilkan dalam bentuk boneka sebagai hiburan di teater dan dalam festival (hingga sekarang tetap ditampilkan dalam Festival Takayama di Prefektur Gifu).
8
Pada tahun 1927 muncul robot Jepang yang pertama yang dikembangkan dengan mempergunakan teknologi Barat, diberi nama Gakutensoku. Robot ini bisa tersenyum, mengedip-ngedipkan mata dan bahkan bisa menulis. Dengan adanya pengembangan robot ini, robot kini bisa menjadi teman, mempunyai kecerdasan, dan perasaan manusia, seperti dalam cerita kartun Astro Boy. [14] Keunggulan dalam teknologi robot tak dapat dipungkiri, telah lama dijadikan icon kebanggaan negara-negara maju di dunia. Kecanggihan teknologi yang dimiliki, gedung-gedung tinggi yang mencakar langit, tingkat kesejahteraan rakyatnya yang tinggi, kota-kotanya yang modern, belumlah terasa lengkap tanpa popularitas kepiawaian dalam dunia robot. Pada awalnya, aplikasi robot hampir tak dapat dipisahkan dengan industri sehingga muncul istilah industrial robot dan robot manipulator. Definisi yang populer ketika itu, robot industri adalah suatu robot tangan (arm robot) yang diciptakan untuk berbagai keperluan dalam meningkatkan produksi, memiliki bentuk lengan-lengan kaku yang terhubung secara seri dan memiliki sendi yang dapat bergerak berputar (rotasi) atau memanjang/memendek (translasi atau prismatik). Satu sisi lengan yang disebut sebagai pangkal ditanam pada bidang atau meja yang statis (tidak bergerak), sedangkan sisi yang lain yang disebut sebagai ujung (end of effector) dapat dimuati dengan tool tertentu sesuai dengan tugas robot. Dalam dunia mekanikal, manipulator ini memiliki dua bagian, yaitu tangan atau lengan (arm) dan pergelangan (wrist). Pada pergelangan ini dapat diinstall berbagai tool. Begitu diminatinya penggunaan manipulator dalam industri ini, menyebabkan banyak perusahaan besar di dunia menjadikan robot
9
industri sebagai unggulan. Bahkan beberapa perusahaan di Jepang masih menjadikan manipulator sebagai produk utamanya, seperti Fanuc Inc. yang memiliki pabrik utamanya di lereng gunung Fuji itu. Dewasa ini mungkin definisi robot industri itu sudah tidak sesuai lagi karena teknologi mobile robot juga sudah dipakai meluas sejak awal 80-an. Seiring itu pula kemudian muncul istilah robot humanoid (konstruksi mirip manusia), animaloid (mirip binatang), dan sebagainya. Bahkan kini dalam industri spesifik seperti industri perfilman, industri angkasa luar dan industri pertahanan atau mesin perang, robot arm atau manipulator bisa jadi hanya menjadi bagian saja sistem robot secara keseluruhan. Lain lagi bagi insan film. Kini dunia robotik bagi mereka dapat direkayasa secara virtual saja. Robot dalam imajinasi mereka berkembang menjadi tokoh animasi yang tidak lagi perlu dibuat secara riil. Dari sinilah nampaknya kemudian muncul cabang disiplin baru yang dikenal sebagai virtual reality. Sebelum suatu robot betul-betul diputuskan untuk dibuat, pakar robot cukup mencobanya dahulu secara virtual, secara imajinasi. Baik dalam hal fisik maupun dalam hal pergerakan yang sesungguhnya. Bahkan apakah program kemudi yang dikembangkan dapat berfungsi dengan baik dalam mengendalikan robot itu, cukup diujicoba secara virtual dulu. Hal ini erat kaitannya dengan kecanggihan komputer-komputer era baru dan teknologi pemrograman yang terus menerus dikembangkan. [8]
10
II.2.
Struktur Robot Pada dasarnya dilihat dari struktur dan fungsi fisiknya (pendekatan visual)
robot terdiri dari dua bagian, yaitu: 1.
Mobile Robot Robot mobil atau mobile robot adalah konstruksi robot yang ciri khasnya adalah mempunyai aktuator berupa roda untuk menggerakkan keseluruhan badan robot tersebut, sehingga robot tersebut dapat melakukan perpindahan posisi dari satu titik ke titik lain. [10] Mobile robot adalah tipe robot yang paling populer dalam dunia penelitian robot. Sebutan ini biasa digunakan sebagai kata kunci utama untuk mencari rujukan atau referensi yang berkaitan dengan robotik di internet. Publikasi dengan judul yang berkaitan mobile robot sering menjadi daya tarik, tidak hanya bagi kalangan peneliti, tapi juga bagi kalangan awam. Dari segi manfaat, penelitian tentang berbagai tipe mobile robot diharapkan dapat membantu manusia dalam melakukan otomasi dalam transportasi, platform bergerak untuk robot industri, eksplorasi tanpa awak, dan masih banyak lagi. [12]
2.
Non Mobile Robot Dari kelompok non mobile robot, merupakan robot yang hanya berdiri pada satu titik tempat secara terus menerus dalam menjalankan fungsinya. Robot jenis ini biasa disebut robot manipulator atau arm robot, atau robot industri. Karena pada penerapannya, robot ini lebih berperan seperti layaknya tangan manusia. Salah satu contoh robot industri adalah robot yang terdapat di
11
pabrik-pabrik perakitan mobil yang biasa berperan sebagai penyambung (las) pada bagian-bagian kendaraan. [15] Pada jenis robot ini sistem mekanik dari robot terdiri dari dua susunan rangka (link) dan engsel (joint) yang mampu menghasilkan gerakan terkontrol. Terdapat dua tipe dasar dari jenis yang digunakan dalam industri, yaitu: a.
Revolute Joint (R), perputaran pada sumbu
tertentu b.
Prismatic Joint (P), pergeseran sepanjang
sumbu tertentu [13]
Pada akhirnya kombinasi antara mobile robot dengan non mobile robot dapat menghasilkan kelompok kombinasi konvensional (mobile dengan nonmobile) serta kelompok non-konvensional. Untuk kelompok pertama sengaja diberi nama konvensional, karena nama yang dipakai dalam konteks penelitian adalah nama-nama yang dianggap umum, seperti mobile manipulator, robot pemanjat (climbing robot), dan walking robot. Sedangkan kelompok non-konvensional dapat berupa robot humanoid, animaloid, extra-ordinary, atau segala bentuk inovasi penyerupaan yang bisa dilakukan. Kelompok ini banyak dimanfaatkan sebagai ikon keunggulan dalam penelitian robotik, seperti robot Advanced Step in Innovative Mobility (ASIMO) buatan Jepang. Sementara robot bawah air dan robot terbang lebih banyak dikembangkan sebagai peralatan untuk membantu penelitian yang berkaitan dan untuk proyek pertahanan atau mesin perang. [12]
12
Dibawah ini adalah blok diagram dari klasifikasi robot dan objek penelitiannya.
ROBOT
Klasifikasi Non Mobile Robot
Kombinasi Mobile Robot dan Non Mobile
Mobile Robot
Humanoid, Animaloid
Objek penelitian
Robot Arm (manipulator) Revolute joint Prismatic joint
Mobile manipulator
Mobile robot beroda
Underwater robot Gambar 2.1. Blok diagram klasifikasi Walking robot
Mobile robot berkaki
dengan manipulator Flying robot robot dan objek penelitiannya ???
II.3.
Kendali Robot Masalah pengendalian berkaitan erat dengan strategi yang memungkinkan
sebuah mikrokontroler mengarahkan gerakan-gerakan dari sebuah robot melalui sensor, dan penyampaian respon robot tersebut ke mikrokontroler. Berikut adalah suatu prinsip kendali yang berhubungan dengan kontrol robot. [6]
II.3.1. Kendali loop terbuka (open loop control)
13
Kendali loop terbuka merupakan suatu prinsip kendali dimana aliran informasinya dari input ke output didalamnya tidak terdapat feedback control sehingga dalam pelaksanaan suatu proses kendali akan bekerja secara “membuta” dan ruang lingkup kerja dari kendali jenis ini tidak terbatas[6]. Gambaran prinsip kendali loop terbuka diperlihatkan pada gambar 2.2 dibawah ini Input
Control System
Control
Output
Gambar 2.2. Diagram blok open loop control
II.3.2. Kendali loop tertutup (close loop control) Kendali loop tertutup merupakan kebalikan dari prinsip kendali loop terbuka. Pengertiannya adalah suatu prinsip kendali dimana loop tersebut memiliki lintasan yang tetutup untuk proses aliran informasinya dari input ke output dan kembali ke input lagi karena adanya feedback control. Pada pembuatan alat ini, penulis menggunakan prinsip close loop control. Beikut adalah blok diagram dari close loop control : r
e
m
Control
Control System
c
b Feedback element
Gambar 2.3. Diagram blok close loop control.
14
Huruf r merupakan suatu masukan yang menentukan suatu nilai yang diharapkan bagi sistem yang dikendalikan tersebut. Sedangkan lingkaran tanda silang menandakan sutu titik penjumlahan antara r dan b (umpan balik dari keluaran). Keluaran dari penjumlahan adalah sinyal kesalahan (e) yang nilainya adalah selisih dari r dan b. Dengan kata lain, sinyal kesalahan e adalah perbedaan antara apa yang diinginkan dengan apa yg dihasilkan. [6]
II.4.
Artificial Intelegence II.4.1. Definisi kecerdasan buatan Berbicara tentang robot tidak lepas dengan yang disebut AI atau Artificial Intelegence. Dalam bahasa Indonesia, AI adalah kecerdasan buatan. Sesuai dengan namanya, AI adalah salah satu cabang sains komputer yang mempelajari otomatisasi tingkah laku cerdas (intelligent) yang didasarkan pada prinsip-prinsip teoritikal dan terapan yang menyangkut struktur data yang digunakan dalam representasi pengetahuan (knowledge representation), algoritma yang diperlukan dalam penerapan pengetahuan itu, serta teknik-teknik bahasa dan pemrograman yang dipakai dalam implementasinya. Yang paling banyak menerapkan AI adalah dunia robotika. [6] Dalam tubuh manusia terdapat ribuan urat saraf yang terhubung dalam pusat otak. Sehingga manusia tidak hanya memiliki kemampuan mengindera, mengingat, dan mengambil keputusan. Namun, kemampuan hidup manusia juga dapat berkembang pesat dengan adanya ribuan saraf
15
dalam otak ini. Salah satu contoh AI dalam dunia komputer, yaitu ketika Deep Blue bertanding catur melawan seorang juara dunia asal Rusia, yaitu Gary Kasparov yang terjadi pada tanggal 10 Februari 1996. [15] Banyak cara untuk mendefinisikan kecerdasan buatan, diantaranya adalah : 1. Suatu studi yang mengupayakan bagaimana agar komputer berlaku cerdas. 2. Studi yang membuat komputer dapat menyelesaikan persoalan yang sulit. 3. Teknologi yang mensimulasikan kecerdasan manusia, yaitu bagaimana mendefinisikan dan mencoba menyelesaikan persoalan menggunakan
komputer
dengan
meniru
bagaimana
manusia
menyelesaikan dengan cepat.
II.4.2. Ruang lingkup kecerdasan buatan Makin pesatnya perkembangan teknologi menyebabkan adanya perkembangan dan perluasan lingkup yang membutuhkan kehadiran kecerdasan buatan. Karakteristik cerdas sudah mulai dibutuhkan di berbagai disiplin ilmu dan teknologi Dewasa ini, kecerdasan buatan juga memberikan kontribusi yang cukup besar di bidang manajemen. Adanya sistem pendukung keputusan, dan sistem informasi manajemen juga tidak lepas dari andil kecerdasan
16
buatan. Untuk memudahkan hal tersebut, maka pengklasifikasian lingkup kecerdasan buatan didasarkan pada output yang diberikan. Lingkup utama dalam kecerdasan buatan adalah: 1.
Sistem
pakar
(expert
system).
Disini
komputer
digunakan sebagai sarana untuk menyimpan pengetahuan para pakar. Dengan
demikian
komputer
akan
memiliki
keahlian
untuk
menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar. 2.
Pengolahan
bahasa
alami
(natural
language
processing). Dengan pengolahan bahasa alami ini diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari. 3.
Pengenalan ucapan (speech recognition). Melalui
pengenalan ucapan diharapkan manusia dapat berkomunikasi dengan komputer menggunakan suara. 4.
Robotika & sistem sensor (robotics & sensory systems).
5.
Computer
vision,
mencoba
untuk
dapat
menginterpretasikan gambar atau obyek-obyek tampak melalui komputer. 6.
Intelligent computer-aided instruction. Komputer dapat
digunakan sebagai tutor yang dapat melatih dan mengajar. 7. dengan
Game playing. Kebanyakan permainan dilakukan menggunakan
sekumpulan
17
aturan.
Dalam
permainan
digunakan apa yang disebut dengan pencarian ruang keadaan (state space search). Permainan dapat menghasilkan sejumlah besar pencarian ruang. Teknik untuk menentukan alternatif dalam menyimak problema ruang disebut dengan heuristik. [6]
Sejalan dengan berkembangnya permasalahan manusia, maka manusia harus menggunakan sumber daya secara eficien. Untuk melakukan hal tersebut, maka kita membutuhkan bantuan dengan kualitas yang tinggi dari komputer. Dalam kehidupan manusia, komputer dapat membantu dalam bidang :
Pertanian, komputer dapat mengkontrol robot yang melakukan
kontrol terhadap hama, pemangkasan pohon, pemilihan hasil panen.
Pabrik, komputer dapat menkontrol robot yang harus
mengerjakan pekerjaan berbahaya dan membosankan, inspeksi dan melakukan maintenance pekerjaan.
Kesehatan, komputer dapat membantu untuk mendiagnosis
penyakit,
melakukan
monitoring
kondisi
pasien,
memberikan
treatment yang cocok.
Pekerjaan rumah tangga, komputer dapat memberikan nasihat
dalam memasak dan berbelanja, membantu membersihkan lantai, memotong rumput, mencuci pakaian, dan melakukan maintenance terhadap pekerjaan.
18
II.4.3. Kecerdasan buatan dan kecerdasan alami Jika dibanding kecerdasan alami, kecerdasan buatan memiliki keuntungan komersial, antara lain: 1.
Kecerdasan buatan lebih bersifat permanen. Kecerdasan
alami akan cepat mengalami perubahan. 2.
Kecerdasan buatan lebih mudah diduplikasi dan
disebarkan. 3.
Kecerdasan buatan bersifat konsisten.
4.
Kecerdasan buatan dapat didokumentasi.
5.
Kecerdasan buatan dapat mengerjakan pekerjaan lebih
cepat dibanding dengan kecerdasan alami. 6.
Kecerdasan buatan dapat mengerjakan pekerjaan lebih
baik dibanding dengan kecerdasan alami. Keuntungan kecerdasan alami: 1.
Kreatif.
2.
Kecerdasan
alami
memungkinkan
orang
untuk
menggunakan pengalaman secara langsung. Sedang pada kecerdasan buatan harus bekerja dengan input-input simbolik. 3.
Pemikiran manusia dapat digunakan secara luas,
sedangkan kecerdasan buatan sangat terbatas.
19
II.5.
Sensor Robot juga membutuhkan masukan (input) yang akan menentukan apa
yang harus dilakukan oleh robot. Input ini umumnya masuk ke dalam otak robot dengan berbagai macam cara. Ada yang menggunakan remote, atau diberikan sebelum robot diaktifkan. Dan ada juga yang langsung diberikan pada robot melalui programnya. Pada jenis yang ketiga ini, begitu robot dinyalankan ia akan menjalankan apa yang sudah ditentukan baginya. Hal ini sangat berlaku bagi robot-robot industri pada umumnya. Sedangkan, untuk tipe yang pertama dan kedua agak berbeda. Perintah datang dari luar. Tentu saja perintah-perintah ini harus sesuai dengan kemampuan si robot itu sendiri, sebab bila tidak, tentu si robot tidak akan menjalankannya. Robot juga dapat menerima masukan dari robot itu sendiri tanpa adanya campur tangan manusia secara langsung, yaitu melalui sensor. [15] Secara umum berdasarkan fungsi dan penggunaannya sensor dapat dikelompokan menjadi 3 bagian yaitu: a. Thermal sensor (sensor panas) Sensor thermal adalah sensor yang digunakan untuk mendeteksi gejala perubahan panas/temperature/suhu pada suatu dimensi benda atau dimensi ruang tertentu. Contohnya; bimetal, termistor, termokopel, RTD, photo
20
transistor, photo dioda, photo multiplier, photovoltaik, infrared pyrometer, hygrometer, dsb.
b.
Optic sensor (sensor cahaya)
Optic sensor atau cahaya adalah sensor yang mendeteksi perubahan cahaya dari sumber cahaya, pantulan cahaya ataupun bias cahaya yang mengernai benda atau ruangan. Contoh;
photocell, phototransistor, photodiode,
photovoltaic, phot multiplier, pyrometer optic, dsb. c.
Mechanic sensor (sensor mekanis)
Sensor mekanis adalah sensor yang mendeteksi perubahan gerak mekanis, seperti perpindahan atau pergeseran atau posisi, gerak lurus dan melingkar, tekanan, aliran, level dsb. Semua gerak mekanis tersebut pada intinya hanya terdiri dari tiga macam, yaitu gerak lurus, gerak melingkar dan gerak memuntir. Gerak mekanis disebabkan oleh adanya gaya aksi yang dapat menimbulkan gaya reaksi. Banyak cara dilakukan untuk mengetahui atau mengukur gerak mekanis misalnya mengukur jarak atau posisi dengan meter, mengukur kecepatan dengan tachometer, mengukur debit air dengan rotameter dsb. Tetapi jika ditemui gerakan mekanis yang berada dalam suatu sistem yang kompleks maka diperlukan sebuah sensor untuk mendeteksi atau menginformasikan nilai yang akan diukur. Berikut akan dijabarkan beberapa jenis sensor mekanis yang salah satu dari jenis sensornya satunya penulis gunakan dalam perancangan tugas akhir ini
21
II.5.1. Sensor Ultrasonic Ultrasonic secara khas menggambarkan suatu sensor yang mengirimkan sinyal berfrekuensi tinggi melalui jarak yang dapat diatur, dan bereaksi terhadap perubahan dalam gelombang tekanan suara yang disebabkan oleh gerakan. Aplikasi dan studi gelombang yang memiliki frekuensi diatas batas pendengaran manusia (kira-kira 16 KHz). Penggunaan paling luas dari ultrasonic adalah pada bidang kedokteran yang berguna sebagai diagnosa medis.
Gambar 2.4 Sensor ultrasonic
Gelombang suara berisi mengenai suatu rangkaian tekanan yang merambat melalui suatu medium dengan beberapa percepatan yang terbatas. Gelombang ini bergerak menjauh dari sumber bunyi, yang mana rumus untuk suatu gas ideal adalah: C = √γRT Dimana :
c = kecepatan suara γ = perbandingan dari spesifikasi panas (1,4 untuk udara)
22
R = konstanta gas (287 ft2 K/s2) T = suhu (K) 273 + oC Dengan menggunakan sensor ultrasonic, robot dapat berbelok bila didepannya ada benda penghalang. Dengan menghitung selisih waktu antara masuknya sinyal hasil pantulan benda didepannya, maka robot dapat mengetahui jarak benda yang ada di depannya d = c x t of Dimana :
d = jarak c = kecepatan suara t of = pengukuran waktu antara transmitter dan receiver [3]
II.5.2. Sensor Jarak (Proximity Sensor) Tidak seperti sensor mekanik yang lain, Proximity Sensor dapat mendeteksi objek tanpa bersentuhan secara fisik. Oleh karena itu proximity sensor ini memiliki kelebihan, diantaranya :
Respon yang cepat
Tahan lama
Memiliki kehandalan yang tinggi
Power supply 4,5 - 5,5 Volt.
Output berupa tegangan analog yang berkisar antara 0,4 –
2,5 Volt.
Pembacaan jarak tidak begitu dipengaruhi oleh warna
objek yang diukur
23
Dapat mendeteksi objek dengan jarak berkisar antara 8
cm – 80 cm
Tidak membutuhkan rangkain kontrol eksternal
Tidak begitu dipengaruhi oleh kondisi pencahayaan
ruangan Sekalipun dengan kelebihan diatas, proximity sensor tidak sepenuhnya dapat diandalkan. [2] Jadi pemilihan sensor dipilih menurut aplikasi tertentu, banyak jenis dari proximity sensor yang tersedia dan seringkali disesuaikan dengan prinsip kerjanya, diantaranya : pembangkit frekuensi yang tinggi, magnetic, ultrasonic, dan gelombang radio.
(a)
(b)
Gambar 2.5 Jenis proximity sensor type (a) Hamamatsu 6986 (b) Sharp GP2D12
II.6.
Motor II.6.1. Motor Stepper Motor stepper banyak digunakan untuk aplikasi-aplikasi yang menggunakan torsi yang kecil, seperti penggerak pada piringan disket atau
24
piringan CD. Pada dasarnya motor stepper merupakan motor dc yang tidak memiliki komutator. Umumnya motor stepper hanya mempunyai kumparan pada statornya, sedangkan bagian rotornya merupakan magnet permanen. Pada pengoperasian motor stepper ini berdasarkan pulsa-pulsa listrik. Setiap kali mengirim pulsa ke pengontrol elektronik, maka motor akan bergerak “selangkah”, yaitu satu putaran sudut kecil. Ukuran langkah tersebut bergantung pada perancangan motor, dapat sekecil 1,5 derajat sampai paling besar 30 derajat. Motor akan berputar lebih cepat atau lebih lambat dengan mengirim lebih banyak atau lebih sedikit pulsa dalam tiap detiknya. [7]
Gambar 2.6. Bentuk fisik motor stepper
Dengan model seperti ini, motor stepper dapat diatur posisinya untuk berada pada posisi tertentu dan/atau berputar ke arah yang diinginkan (searah jarum jam atau sebaliknya). Kecepatan motor stepper pada dasarnya
ditentukan
oleh kecepatan
pemberian
data pada
komutatornya. Semakin besar data yang diberikan maka semakin cepat pula putaran pada motor. [1]
25
II.6.2. Motor DC Motor DC merupakan suatu motor yang mempunyai dua bagian pokok, yaitu: 1.
Rotor atau armature, yaitu bagian yang berputar (rotating
part). Rotor ini berupa sebuah koil di mana arus listrik mengalir. 2.
Stator, yaitu bagian yang tetap (stationery part), Stator ini
menghasilkan medan magnet , baik yang dibangkitkan dari sebuah koil (elektromagnet) ataupun magnet permanen.
Gambar 2.7. Bentuk fisik motor DC
II.7.
Mikrokontroler Adalah
sangat
penting
untuk
mengetahui
perbedaan
antara
mikrokomputer, mikroprosesor dan mikrokontroler. Suatu mikroprosesor adalah bagian dari Central Processing Unit (CPU) dari sebuah komputer, tanpa memori, I/O, dan periferal yang dibutuhkan oleh suatu sistem lengkap. Sebagai contoh, mikroprosesor 8086 dan 8088. Untuk dapat bekerja, mikroprosesor membutuhkan
26
perangkat pendukung yang dapat berupa Random Access Memory (RAM), Read Only Memory (ROM), dan Input/Output (I/O). Bila sebuah mikroprosesor dikombinasikan dengan I/O dan memori (RAM/ROM), maka akan dihasilkan sebuah mikrokomputer. Pada kenyataannya mengkombinasikan CPU dengan memori dan I/O dapat juga dilakukan dalam level chip, yang menghasilkan Single Chip Microcomputer SCM) untuk membedakannya dengan mikrokomputer. Untuk selanjutnya SCM ini dapat disebut dengan mikrokontroler [5]. Perbedaan yang paling menonjol antara mikrokomputer seperti IBM PC dibandingkan dengan SCM adalah pada penggunaan perangkat masukan/keluaran dan juga media penyimpanan program. Pada IBM PC menggunakan disket atau hard disk sebagai media penyimpanan program, sementara pada mikrokontroler menggunakan Errassable Programmable Read Only Memory (EPROM) sebagai media penyimpan programnya. Pada mikrokontroler sudah terdapat komponen–komponen mikroprosesor dengan bus–bus internal yang saling berhubungan. Komponen-komponen tersebut adalah RAM, ROM, timer, komponen I/O paralel dan serial, dan interrupt controller.
II.8.
Interupsi (Interrupt) Seperti namanya, interupsi adalah suatu kejadian yang akan menghentikan
sementara jalan program saat itu. Dengan interupsi, suatu alur program dapat dihentikan sementara untuk menjalankan suatu subroutine, dan kemudian
27
melanjutkan aliran program secara normal seperti tidak pernah ada interupsi. Subroutine ini yang disebut dengan interrupt handler, dan hanya dijalankan jika terjadi suatu kejadian khusus (event). Mikrokontroler MCS-51 bisa dikonfigurasi untuk menangani interupsi yang disebabkan oleh salah satu dari kejadian.
Dengan interupsi ini, dapat dengan mudah dimonitor kejadian-kejadian yang diinginkan. Tanpa interupsi maka proses monitor ini dilakukan manual dengan pengecekan berulang. Proses pengecekan manual ini akan membuat program menjadi panjang dan lebih rumit. Program yang dijalankan dengan cara interupsi, dinamakan sebagai program layanan interupsi (ISR – Interrupt Servive Routine). Saat prosesor menjalankan ISR, pekerjaan yang sedang dikerjakan pada program utama sementara ditinggalkan, kemudian setelah selesai menjalankan ISR prosesor menjalankan kembali program utama, seperti yang digambarkan pada gambar 2.7
ISR
Program Utama
Waktu
ISR
Program Utama
Program Utama
= Permintaan Interupsi
= Intruksi kembali dari Interupsi (RETI)
Gambar 2.8 Bagan kerja prosesor melayani interupsi
Pada mikrokontroler keluarga MCS-51 terdapat 2 jenis interupsi, yaitu:
28
1.
Interupsi yang tidak dapat dihalangi oleh perangkat lunak
(non maskable interrupt), misalnya Reset. 2.
Interupsi yang dapat dihalangi perangkat lunak (maskable
interrupt). Contohnya adalah INT0 dan INT1(eksternal) serta Timer/Counter 0, Timer/Counter1, dan interupsi dari port serial (internal).
Instruksi Return From Interrupt Routine (RETI) harus digunakan untuk kembali dari layanan rutin interupsi. Instruksi ini dipakai agar saluran interupsi kembali dapat dipakai. Alamat awal layanan rutin interupsi dari setiap sumber interupsi terdapat pada tabel di bawah ini.
Tabel 2.1. Alamat layanan rutin interupsi
Nama Reset Int 0 Timer 0 Int 1 Timer 1 Sint
Lokasi 00H 03H 0BH 13H 1BH 23H
Alat Interupsi Power on Reset INT0 Timer 0 INT1 Timer 1 Port I/O serial
II.8.1. Prioritas Interupsi Setiap sumber interupsi dapat diprogram secara individual menjadi satu atau dua tingkat prioritas dengan mengatur bit pada Special Function Register (SFR) yang bernama Interrupt Priority (IP). Bit-bit pada IP adalah sebagai berikut : MSB -
LSB -
-
PS
29
PT1
PX1
PT0
PX0
Priority bit = 1 menandakan prioritas tinggi Priority bit = 0 menandakan prioritas rendah
Tabel 2.2. Konfigurasi bit-bit SFR IP
Bit IP.0 IP.1 IP.2 IP.3 IP.4 IP.5 IP.6 IP.7
Nama PX0 PT0 PX1 PT1 PS -
Alamat B8H B9H BAH BBH BCH -
Fungsi Prioritas interupsi INT 0 Prioritas interupsi timer 0 Prioritas interupsi INT 1 Prioritas interupsi timer 1 Prioritas interupsi port serial Kosong Kosong Kosong
Pemakaian prioritas interupsi di atas memiliki beberapa peraturan yang tercantum di bawah ini: a.
Tidak ada interupsi yang menginterupsi interupsi prioritas
teringgi. b.
Interupsi prioritas tinggi boleh menginterupsi interupsi
prioritas rendah. c.
Interupsi prioritas rendah boleh terjadi jika tidak ada
interupsi lain yang sedang dijalankan. d.
Jika dua interupsi terjadi secara bersamaan, interupsi yang
memiliki prioritas tinggi akan dikerjakan terlebih dahulu. Jika
30
keduanya memiliki prioritas sama, maka interupsi yang berada pada urutan polling akan dikerjakan terlebih dahulu. Mikrokontroler MCS-51 secara otomatis akan menguji apakah sebuah interupsi bisa terjadi setelah setiap instruksi dikerjakan. Pengecekan ini mengikuti suatu alur yang disebut dengan Polling Sequence dengan urutan:
1.
Interupsi eksternal 0
2.
Interupsi timer 1
3.
Interupsi eksternal 1
4.
Interupsi timer 1
5.
Interupsi serial Ini berarti jika sebuah interupsi serial terjadi pada waktu
bersamaan dengan interupsi eksternal 0, maka interupsi eksternal 0 akan dikerjakan terlebih dahulu dan interupsi serial baru akan dikerjakan setelah pengerjaan rutin interupsi eksternal 0 selesai dilakukan.
II.8.2. Interrupt Enable Setiap sumber interupsi dapat diaktifkan maupun dilumpuhkan secara indvidual dengan mengatur satu bit di SFR yang bernama interrupt enable (IE). Bit-bit dari IE didefinisikan sebagai berikut: MSB EA
LSB -
-
ES
31
ET1
EX1
ET0
EX0
Tabel 2.3. Konfigurasi bit-bit SFR IE
Bit IE.0 IE.1 IE.2 IE.3 IE.4 IE.5 IE.6 IE.7
Nama EX0 ET0 EX1 ET1 ES EA
Alamat A8H A9H AAH ABH ACH AFH
Fungsi Enable INT 0 Enable timer 0 Enable INT 1 Enable timer 1 Enable port serial Kosong Kosong Enable All
32