Selasa, 15 Mei 2012

SENSOR ROBOTIKA

SENSOR ROBOTIKA
1. Sensor dan Persepsi Pada Robot
2. Interfacing Sensor
3. Sensor cahaya
4. Sensor tekan (force sensor)
5. Sensor sentuh
6. Sensor suara
7. Sensor jarak
8. Sensor Posisi dan orientasi
9. Level Visi robot : rendah dan tinggi
Sensor
• Kategori :
1. Internal
􀂃 Contoh : deteksi variabel posisi join lengan
2. Eksternal
􀂃 Contoh : Variabel luar seperti area(range), proximity, sentuhan (touch), lebih berfungsi sebagai penuntun (identifikasi & penganganan)
􀂃 Jenis :
1. Kontak : respon pada kontak fisik seperti sentuhan, slip dan torsi.
2. Non kontak : respon terhadap detektor variasi akustik atau radiasi elektromanetik (pengukuran jarak, proximity dan properti visual dari obyek).
• Tujuan :
1. Mengamati posisi
2. Mengamati kecepatan
3. Mengamati akselerasi sambungan mekanik
4. Merupakan bagian dari mekanisme servo
5. Sebagai keamanan
6. Sebagai penuntun
• Ketentuan umum sensor :
1. Ukuran fisik
2. Akurasi
3. Jangkauan yang sesuai
4. Efeknya terhadap kuantitas yang sedang diukur
5. Ketahanan terhadap lingkungan
6. Biaya
• Sifat sensor :
1. Linearitas
2. Sensitivitas
3. Tanggapan frekuensi
1
• Dasar-dasar Sensor :
1. Sensor Area (range) :
􀂃 Penginderaan 3sudut
􀂃 Pendekatan struktur pencahayaan
2
􀂃 Pengenal area Time-of-flight
2. Sensor proximity :
􀂃 Sensor induktif
3
􀂃 Sensor efek hall
􀂃 Sensor kapasitas
􀂃 Sensor ultrasonik
􀂃
4
􀂃 Sensor optik proximity
3. Sensor sentuh :
􀂃 Sensor biner
􀂃 Sensor analog
5
1. Penempatan
2. Pendekatan untuk konstruksi skin buatan
6
3. Magnitudo dan slip arah
4. Sensor tekan (force) dan torsi (tenaga putaran) : elemen sensor wrist
7
5. Kalibrasi sensor
• Jenis-jenis sensor :
1. Sensor optik :
􀂃 Jenis optical transducer :
• LDR
• Photo diode/photo transistor
􀂃 Metode :
• Point sensor
• Linier sensor
2. Sensor panas :
􀂃 Lempengan timetal
􀂃 Termometer resistansi listrik
􀂃 Termistor
􀂃 Termokopel
3. Sensor peraba :
􀂃 Sensor biner kontak titik
􀂃 Sensor analog kontak titik
􀂃 Sensor piezoresistive
􀂃 Sensor matriks
􀂃 Sensor pneumatik
4. Sensor akustik :
􀂃 Speech recognition
􀂃 Speech understanding
5. Sensor gas
6. Sensor pendekatan
• Visi (Penglihatan) Robot :
1. Sifat yang perlu dimiliki :
1. Deteksi
2. Orientasi
3. Pengenalan
4. Identifikasi
2. Metode untuk komponen yang bertumpuk dan bersentuhan : Pemisahan sebelum dicitrakan (Robot melakukan pemisahan terhadap benda-benda yang belum dikenalnya)
3. Waktu pengenalan
4. Jangkauan
5. Sistem visi praktis
1. Kamera :
• Tabung vidicon
• CCD
2. Penyimpanan citra :
• Skala grey
• Resolusi
3. Analisis citra :
8
• Penelusuran batas
• Konektivitas
4. Interpretasi citra :
• Sepadankan pola
• Deskriminasi pola
• Visi (Penglihatan) Robot level rendah :
1. Akuisisi citra :
1. Prinsip teknik pencitraan untuk visi robot
2. Efek sampling pada resolusi spatial
3. Efek kuantisasi amplitudo pada intensitas resolusi
2. Kamera televisi :
1. Tube atau solid state sensor citra
2. Sekumpulan alat elektronika
3. Skema kamera tube vidicon
9
4. Skema CCD :
• Line scan
• Area sensor
5. Penampilan koordinat untuk representasi gambar.
10
6. Efek pengurangan ukuran grid
11
3. Teknik iluminasi
4. Geometri citra :
1. Transformasi dasar :
• Gambar contoh cahaya back
12
• Gambar struktur lighting
• Gambar Camera line scan
13
2. Transformasi perspektif : Model dasar
3. Model kamera :
• Geometri imaging
14
• Scene 3d camera viewing
4. Kalibrasi kamera : Scene 2d camera viewing
15
5. Stereo Imaging
16

Jumat, 02 Maret 2012

CONTROL MOTOR SERVO


Control Motor Servo Standart Dengan Mikrocontroller Atmega 8535

I. TEORI PENUNJANG
a. Robotik
Robotik memiliki unsur yang sedikit berbeda dengan ilmu dasar atau terapan yang lain dalam berkembang. Ilmu dasar biasanya berkembang dari suatu asas atau hipotesis yang kemudian diteliti secara metodis. Ilmu terapan dikembangkan setelah ilmu-ilmu yang mendasarinya berkembang dengan baik. Sedangkan ilmu robotik lebih sering berkembang melalui pendekatan praktis pada awalnya. Kemudian melaui suatu pengamatan perilaku mahluk hidup atau benda / mesin / peralatan bergerak lainnya dikembangkanlah penelitian secara teoritis. Dari teori kembali kepada praktis, dan dari sini robot berkembang menjadi lebih canggih.
Untuk mengetahui dalam tema apa saja robotik dapat diteliti, Gambar 2.1 mengilustrasikannya. Di dalam Gambar 2.1 dijelaskan tentang keterkaitan seluruh komponen atau sub-domain dalam ruang lingkup penelitian dibidang robotik. Secara garis besar penelitian di bidang robotik dapat dilakukan dengan memilih tema berdasarkan alur dalam 4 tahapan, yaitu klasifikasi, obyek penelitian, fokus penelitian dan target penelitian, dan blok klarifikasi, struktur robot dapat diketahui berada dalam kelompok mana.
Pada dasarnya dilihat dari struktur dan fungsi fisiknya (pendekatan visual) robot terdiri dari dua bagian, yaitu non-mobile robot dan mobile robot. Kombinasi keduanya dapat menghasilkan kelompok kombinasi konvensional (mobile dan non-mobile) dan kelompok non-konvensional. Kelompok pertama sengaja diberi nama konvensional karena nama yang dipakai dalam konteks penelitian adalah nama-nama yang dianggap sudah umum, seperti mobile manipulator, climbingrobot, walking robot dan nama-nama lain yang sudah popular. Sedangkan non-konvensional dapat berupa robot humanoid, animaloid, extra-ordinary, atau segala bentuk inovasi penyerupaan yang biasa dilakukan.
Dari kelompok non-mobile yang sering disebut sebagai “keluarga robot: adalah robot arm atau manipulator saja. Sementara yang lebih mudah dikenali sebagai mesin cerdas (intelligent machine) yang tidak selalu tampak memiliki bagian tangan, kaki atau roda untuk bergerak lebih lazim disebut dengan nama khusus sesuai dengan fungsinya. Mereka biasanya memiliki nama-nama yang tersendiri. Misalnya mesin-mesin otomatis Lathe (bubut), Milling (giling), Drilling Machine(mesin bor), CNC (Computer Numerical Control), EDM (Electric Discharge Machine), dan berbagai peralatan otomatis yang biasa dijumpai di pabrik-pabrik modern.
Mobile Robot adalah tipe robot yang paling popular dalam dunia penelitian robotik. Dari segi manfaat, penelitian tentang berbagai tipe mobile robot diharapkan dapat membantu manusia dalam melakukan otomatisasi dalam transportasi, platform bergerak untuk robot industri ekplorasi tanpa awak, dan masih banyak lagi (Pitowarno, 2006).
Robot berdasarkan mobilitasnya terbagi dalam dua kelompok. Kelompok pertama merupakan robot yang dioperasikan pada lingkungan yang tetap dengan pergerakan yang cenderung tetap dan tertentu (sebagai robot industri/stationary robot). Pada kelompok yang kedua, robot dapat bergerak secara otonomi, memiliki navigasi, dan gerakan yang tidak tetap tergantung dari medan jelajah (dikenal dengan mobile robot). Desain mobile robot dapat bergerak menggunakan kaki (leg robot), roda (wheel robot), dan tank (Halim, 2007).
b. Mikrocontroller Atmega 8535
ATMega8535 merupakan salah satu mikrokontroler keluarga ATMEL dari perkembangan terakhir, yaitu generasi AVR (Alf and Vegard’s Risc Processor).  Mikrokontroler  AVR memilikia RISC (Reduced Instruction Set Computing) 8 bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bit Word) dan sebagian besar instruksi di eksekusi dalam 1 (satu) siklus clock, serta mempunyai kecepatan maksimal 16MHZ. Selain itu, ATMega8535 mempunyai 6 pilihan modesleep untuk menghemat daya listrik.
Fitur-fitur yang diberikan oleh mikrokontroler ATMega8535 adalah sebagai berikut:
1.       Saluran I/O sebanyak 32 buah, yaitu Port A sampai Port D (port A, B, C, D)
2.       ADC (Analog to Digital Converter) 10 bit sebanyak 8 chanel.
3.       Tiga buah Timer/Counter dengan kemampuan pembandingan, yaitu 2 buah timer/counter 8 bit, dan 1 buah timer/counter 16 bit.
4.       CPU yang memiliki 32 buah register
5.       131 Instruksi yang hanya membutuhkan 1 siklus clock
6.       Watchdog Timer dengan osilator internal
7.       Tegangan operasi 2,7 V – 5,5 V
8.       Internal SRAM sebesar 512 byte
9.       Memori Flash sebesar 8 KB dengan kemampuan Read While Write.
10.   Unit interupsi internal dan eksternal
11.   Port antarmuka SPI (Serial Pheripheral Interface).
12.   Kecepatan hampir mencapai 16 MPIS pada Kristal 16 Mhz
13.   Internal downloader USB AVR (In-system Programming dilengkapi LED programming indicator)
14.   Tidak membutuhkan power tambahan saat melakukan download program
15.   EEPROM (Electrically Erasble Programmable Read Only Memory). sebesar 512 byte yang dapat diprogram saat operasi.
16.   Antarmuka komparator analog.
17.   Port USART untuk komunikasi serial.
Beberapa karakteristik ADC Internal Yang terdapat pada mikrokontroller ATMega8535 adalah:
a.       Mudah dalam pengoperasian.
b.      Resolusi 10 bit.
c.       Memiliki 8 masukan analog.
d.      Konversi pada saat CPU sleep.
e.      Interrupt waktu konversi selesai
Berikut diagram blok ATmega8535 ditunjukkan pada Gambar 2.2
Berikut sekema minimum system ATmega 8535  seperti ditunjukkan pada Gambar 2.3.
Konfigurasi pin ATmega8535, pada Gambar2.4 berikut ini merupakan susunan kaki standar 40 pin Mikrokontroler AVR ATmega 8535.
Berikut ini adalah penjelasan umum susunan kaki dari ATmega8535 (Heryanto, 2008) :
1.       VCC merupakan pin masukan positif catu daya. Setiap piranti elektronika digital membutuhkan sumber daya yang umumnya sebesar 5V. Oleh karena itu, biasanya di PCB kit mikrokontroler selalu ada IC regulator 7805
2.       GND sebagai pin ground
3.       Port A (PA0..PA7) merupakan pin I/O dua arah dan dapat diprogram sebagai pin masukan ADC
4.       Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, komparator analog, dan SPI
5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog dan Timer Osilator
6.       Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analaog, interupsi eksternal, dan komunikasi serial
7.       Reset merupakan pin yang digunakan untuk me-reset mikrokontroler
8.       XTAL1 dan XTAL2 sebagai pin masukan clock eksternal. Suatu mikrokontroler membutuhkan sumber detak (clock) agar dapat mengeksekusi instruksi yang ada di memeori. Semakin tinggi nilai kristalnya, semakin cepat mikrokontroler tersebut
9.       AVCC sebagai pin masukan tegangan untuk ADC
10.   AREF sebagai pin masukan tegangan referensi
c. Memori mikrokontroler ATMega8535
Organisasi memori mikrokontroler ATMega8535 dapat dibagi atas dua bagian berbeda berdasarkan fungsinya dalam menyimpan data program, yaitu memori program dan memori data. Memori program digunakan untuk  instruksi yang akan dijalankan oleh mikrokontroler. Memori jenis ini biasanya bertipe ROM (Read Only Memory), yang digunakan untuk menyimpan program. Sedangkan memori data digunakan sebagai tempat penyimpanan data-data yang sedang diakses oleh mikrokontroler.
Memori Data
Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM Internal. Register keperluan umum menempati space data pada lamat terbawah, yaitu $00 sampai $1f. Sementara itu, register khusus untuk menangani I/O dan control terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 sampai $5f. Register tersebut merupakan register khusus yang dipergunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti control register, timer/counter, fungsi-fungsi I/O, dan sebagainya. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F. Selain itu, AVR ATMega8535 juga memiliki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai dengan $1FF.
Memori Program
Memori program yang terletak dalam flash PEROM (Programmable Erasble Read Only Memory) tersusun dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit. Flash PEROM adalah PROM yang dapat ditulis ulang beberapa kali, dan dapat dihapus secara elektrik atau dengan tegangan listrik. AVR ATMega8535 memiliki 4Kbyte X 16-bit Flash PEROM dengan alamat mulai dari $000 sampai dengan $FFF. AVR tersebut memiliki 12-bit Program Counter(PC) sehingga mampu mengalamati isi Flash.
d. Status Register (SREG)
Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu intruksi dieksekusi SREG merupakan bagian dari inti CPU mikrokontroler.
1.       Bit 7-1: Global Interrupt Enable.
Bit harus diset untuk meng-enable interupsi. Hal ini dilakukan dengan cara mengaktifkan interupsi yang akan digunakan, melalui meng-enable bit control register yang bersangkutan secar individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh RET1.
2.       Bit 6-T: Bit Copy Storage.
Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalinke bit T menggunakan instruksi BST, dan sebaliknya bit T dapat disalin kembali ke suatu bit dalam register GPR menggunakan intruksi BLD.
3.       Bit 5-h: Half carry flag.
4.       Bit 4-s: Sign Bit.
Bit S merupakan hasil operasi EOR antara flag-N (negative) dan Flag V (complement dua overflow).
5.       Bit 3-V: Two’s Complement Overflow Flag.
Bit berguna untuk mendukung operasi aritmatika.
6.       Bit 2-N: Negative Flag.
Apabila suatu operasi menghasilkanbilangan negative, maka flag-N akan diset.
7.       Bit 1-Z: Zero Flag.
Bit akan diset bila hasil operasi yang diperoleh adalah nol.
8.       Bit 0-C: Carry Flag.
Apabila suatu operasi menghasilkan carry, maka bit akan diset.
e. I/O Port
Port I/O pada mikrokontroler ATMega8535 dapat difungsikan sebagai input ataupun output dengan keluaran high atau low. Untuk mengatur fungsi port I/O sebagai input ataupun output, perlu dilakuan setting pada DDR dan Port. Tabel 2.1 merupakan table konfigurasi setting untuk Port I/0.
Tabel Konfigurasi setting untuk Port I/O
 DDR bit = 1DDR bit = 0
Port bit = 1Output HighInput pull-up
Port bit = 0Output LowInput Floating
Logika Port I/O dapat diubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat menggunakan perintah cbi (clear bit I/O) untuk menhasilkan output low atau perintah sbi (set bit I/O) untuk menghasilkanoutput high. Pengubahan secara byte dengan perintah in atau out yang menggunakan register bantu. Port I/O sebagai output hanya memberikan arus sourching sebesar 20mA sehingga untuk menggerakan motor servo perlu diberikan penguat tambahan atau dengan konfigurasi port sebagai sinking current, seperti port untuk menyalakan LED yang kan menyala saat port diberikan logika low, dan mati saat port diberikan logika  high.  Berikut ini instruksi yang terdapat pada I/O:
1. In
Membaca data I/O Pot atau internal peripheral register (Timers, UART) ke dalam register.
2. Out
Menulis data sebuah register ke I/O port atau internal peripheral register.
3. Idi (load immediate)
Untuk menulis konstanta ke register sebelum konstanta itu dituliskan ke I/O Port.
4. Sbi (set bit in I/O)
Untuk membuat Logika high satu bit I/O register.
5. Cbi (clear bit in I/O)
Untuk membuat Logika low satu bit I/O register.
6. Sbic (skip if bit in I/O I cleared)
Untuk mengecek apakah bit I/O register clear. Jika clear, skip satu perintah dibawahnya.
7. Sbis (skip if bit in I/O is set)
Untuk mengecek apakah bit I/O register set. Jika set, skip satu perintah dibawahnya (Heryanto, Ary dan Adi, Wisnu, 2008).
f. Sistem Gerak Tank
Sistem gerak Tank merupakan kombinasi dari tiga bagian, yaitu drive sprocket, idler sprocket, dan trackDrive sprocket adalah sprocket yang berhubungan langsung dengan motor, idler sprocket adalah sprocket yang membantu pergerakan trackTrack merupkan bagian yang menghubungkan idler sprocket dan drive sprocket serta mempunyai kontak langsung terhadap permukaan lantai yang dilaluinya. Berikut drive sprocket, idler sprocket, dan track ditunjukkan pada Gambar 2.5 (Halim, 2007).
g. Sensor UltraSonic and Infrared Ranger (USIRR)
DT-SENSE UltraSonic and InfraRed Ranger merupakan modul sensor pengukur jarak dengan media gelombang ultrasonik dan dapat dihubungkan dengan maksimum 2 buah infrared ranger (Sharp GP2D12). Modul ini dapat dengan mudah dihubungkan ke berbagai sistem berbasis mikrokontroler dan hanya membutuhkan 1 pin I/O saja. Modul ini dapat digunakan dalam aplikasi pengukur jarak, pintu otomatis, sekuriti, robot cerdas, dan lain-lain. DT-SENSE UltraSonic and InfraRed ditunjukan pada Gambar 2.6.
DT- Sense Ultrasonic and Infrared Ranger merupakan modul pengukur jarak non-kontak yang sangat mudah dihubungkan dengan berbagai sistem berbasis mikrokontroler. Untuk memicu dan membaca data pengukuran dengan DT-SENSE ULTRASONIC AND INFRARED RANGER hanya memerlukan 1 buah pin mikrokontroler.  Selain itu disediakan antarmuka komunikasi I2C sehingga beberapa modul DT-SENSE ULTRASONIC AND INFRARED RANGER serta peralatan lain yang mendukung protokol komunikasi I2C dapat digunakan bersama cukup dengan 2 buah pin mikrokontroler.
Sebuah modul DT-SENSE ULTRASONIC AND INFRARED RANGER  terdiri dari sebuah  Ultrasonic Ranger dan dapat dihubungkan dengan 2 buah sensor Infrared Ranger (GP2D12). Ultrasonic Ranger berkerja dengan cara memancarkan sinyal ultrasonic (yang memiliki frekuensi jauh di atas jangkauan pendengaran manusia) dan menghasilkan pulsa atau data keluaran yang menyatakan jarak yang ditempuh oleh sinyal tersebut sebelum menyentuh sebuah obyek dan memantul kembali. Sensor infrared ranger terdiri dari sebuah LED infrared dan sebuah Position Sensing Device (PSD). Sensor mengukur jarak obyek yang memantulkan cahaya infra merah melalui proses triangulasi. Keluaran analog dari sensor Infrared Ranger diubah oleh modul DT-SENSE ULTRASONIC AND INFRARED RANGER menjadi berbentuk pulsa atau data keluaran yang menyatakan jarak obyek yang memantulkan cahaya infra merah tersebut (Datasheet 2007).
Spesifikasi DT-SENSE ULTRASONIC AND INFRARED RANGER sebagai  berikut:
1.       Terdiri dari sebuah Ultrasonic Ranger dan dapat dihubungkan dengan 2 buah sensor Infrared Ranger GP2D12 (opsional).
2.       Memiliki 2 buah antarmuka yang dapat aktif bersama yaitu:
  • Pulse Width / Lebar Pulsa (10 µs/mm)
  • – I2C-bus
3.       Dapat di-cascade hingga 8 modul dengan hanya 2 pin I/O (menggunakan antarmuka I2C-bus).
4.       Single supply 5 VDC.
5.        Supply Current (jika tanpa sensor infrared ranger):
  • Aktif: 17 mA typ.
  • Reduced Operation: 13 mA typ.
  • Power Down: 7 mA typ.
  • Power Down + Reduced Operation: 2 mA typ.
6.       Siklus pengukuran yang cepat.
7.       Pembacaan dapat dilakukan tiap 25 ms (40 Hz rate).
8.       Spesifikasi Ultrasonic Ranger:
  • Jangkauan:  2 cm hingga 3 m
  • Obyek 0 – 2 cm diukur berjarak 2 cm   5
  • Burst Frequency: 40 kHz – 16 VPP sinyal kotak
  • Tidak ada dead zone (tidak ada blank spot antara 2 cm hingga 3 m)
9.       Pin Busy/Ready menunjukkan aktifitas sensor.
10.   Tidak perlu delay sebelum pengukuran berikutnya.
11.   Output langsung berupa jarak (dalam milimeter) sehingga mengurangi beban mikrokontroler.
12.   Kompensasi kesalahan pengukuran akibat perubahan temperatur sekitar dan reflektifitas obyek dapat diatur.
h. Sensor UVTRON Flame Detector
Hamamatsu UVTron Flame Detector dan rangkaian driver dapat mendeteksi api dari lilin atau punting rokok dalam jarak 5 meter. Biasanya di gunakan sebagaia alat untuk mendeteksi sumber api.Tabung UVTron bekerja ketika katoda diberikan sinyal ultraviolet. Fotoelektron akan dipancarkan dari katoda oleh efek fotoelektron dan dipercepat ke anoda menggunakan medan listrik. Ketika tegangan diberikan, medan magnet meningkat, medan listrik semakin besar, dan energi kinetik elektron juga menjadi besar untuk mengionisasi molekul gas tabung untuk bertubrukan. Elektron yang dibangkitkan oleh ionisasi dipercepat yang membuat elektron mengionisasi molekul lainnya sebelum mencapai anoda. Berikut bentuk fisik sensor UVTron terlihat pada Gambar 2.7  (http://gedex.web.id/archives/2008/05/26/hamamatsu-uv-tron-dan-avr/).
i. Motor Servo
Motor servo merupakan  sebuah motor  DC  kecil yang diberi sistem gear dan potensio meter sehingga dia dapat menempatkan “horn” servo pada posisi yang dikehendaki. Motor servo ini menggunakan sistem closed control loop sehingga posisi “horn” yang dikehendaki bisa dipertahankan. Motor tersebut harus dapat menangani perubahan yang cepat pada posisi, kecepatan, ketepatan, serta mampu menangani intermitten torque.
Motor servo ialah DC motor dengan tambahan elektronika untuk kontrol Pulse width (PW). Servo mempunyai 3 buah kabel (Vcc, ground, dan PW input), 2 kabel untuk power supply dengan besar tegangan berkisar 5 sampai 7 volt, dan kabel ketiga merupakan kabel pengendali yang dapat langsung dihubungkan ke mikrokontroller. Tidak seperti PWM (Pulsa Width Modulation)  / modulasi lebar pulsa (PWM). Pada DC motor, input sinyal untuk servo tidak digunakan untuk mengatur kecepatan tetapi digunakan untuk mengatur posisi dan putaran servo. Metode PWM merupakan suatu metode untuk mengatur pergerakan motor dengan cara mengatur prosentase lebar pulsa high terhadap periode dari suatu sinyal persegi dalam bentuk tegangan periodik yang diberikan ke motor. Bentuk “Horn” pada servo ada dua jenis, yaitu Horn bentuk “X” dan Horn berbentuk bulat. Gambar motor servo dengan bentuk Horn “X” akan ditunjukkan pada gambar di bawah.
Motor servo biasanya digunakan untuk robot berkaki, berlengan atau sebagai aktuator pada mobile robot. Motor servo terdiri dari sebuah motor DC, beberapa gear, sebuah potensiometer, sebuah output shaft dan sebuah rangkaian kontrol elektronik. Motor servo dikemas dalam berbentuk segi empat dengan sebuah output shatf motor dan konektor dengan 3 kabel yaitu powers, control, dan ground. Gear motor servo ada yang terbuat dari plastik, metal atau titanium. Di dalam motor servo terdapat potensiometer yang digunakan sebagai sensor posisi. Potensiometer tersebut dihubungkan dengan output shatf untuk mengetahui posisi aktual shaft. Ketika motor dc berputar, maka output shaftjuga berputar dan sekaligus memutar potensiometer. Rangakaian kontrol kemudian dapat membaca kondisi potensiometer tersebut untuk mengetahui posisi aktual sahft. Jika posisinya dengan yang diinginkan, maka motor dc akan berhenti. Sudut operasi motor servo (operating angle) bervariasi tergantung jenis motor servo. Ada 2 jenis motor servo yaitu:
a.       Motor Servo Standart
Yaitu motor servo dilengkapi dengan motor DC untuk mengendalikan posisi sebuah robot yang mampu bergerak CW dan CCW dengan sudut operasi tertentu, misal 600, 900, atau 1800. Rotor robot dapat diputar 180 derajat. Servo motor standar sering dipakai pada sistem robotika misalnya untuk membuat “Robot Arm” (robot lengan).
b.      Motor Servo Continuous
Yaitu motor servo yang mampu bergerak CW dan CCW tanpa batasan sudut operasi (berputar secara kontinyu). Sering dipakai untuk mobile robot Rotor robot dapat diputar 360 derajat. (Andrianto, Heri. 2008).
Motor servo biasanya menggunakan tegangan supply 4.8 hingga 7.2 volt.
Berikut bentuk fisik motor servo terlihat pada Gambar 2.8.
Alasan penggunaan motor servo untuk bidang robotika adalah pertama, motor servo memiliki putaran yang lambat dan torsi yang kuat (berkat adanya sistim gear).  Hal ini cocok dengan bidang robotika, bandingkan misalnya dengan motor DC biasa yang memiliki putaran cepat namun torsi rendah. Poros motor DC yang dihubungkan langsung dengan roda, tidak Akan kuat untuk menggerakkan mobile robot tersebut, demikian juga dengan motor stepper. Kedua jenis motor ini harus dihubungkan terlebih dahulu dengan sistim gear agar dapat dipergunakan. Namun poros servo dapat dihubungkan langsung dengan roda. Kedua, sistim kontrol untuk motor servo relatif sedikit (dipergunakan hanya 1 jalur data saja). Hal ini tentu berbeda misalnya jika kita menggunakan motor stepper yang memerlukan jalur kontrol lebih dari 1 jalur. Oleh karena itu tantangannya adalah bagaimana mengontrol motor servo yang hanya menggunakan 1 jalur tersebut. Oleh karena hanya digunakan 1 jalur data untuk mengontrol motor servo, maka digunakan teknik PWM (Andrianto, Heri 2008).
j. Software Compiler dan Software Downloader
Software pemrograman adalah suatu program yang digunakan untuk menulis program. Salah satu software-nya yaitu CodeVisionAVR program ini mendukung berbagai macam jenis mikrokontroler diantaranya mikrokontroler ATmega8535. Program ini juga mendukung berbagai macam bahasa pemrograman diantaranya adalah bahasa assembler dan bahasa C.
Sofware compiler adalah perangkat lunak yang digunakan untuk mengcompile listing program yang telah ditulis dan menjadikan program ke dalam format yang dapat dibaca oleh mikrokontroler. Perangkat lunak yang digunakan adalah code vision Avr evaluation.
Software Downloader adalah perangkat lunak yang digunakan untuk mendownload program yang telah di compiles dengan Software Compiler kedalam microkontroller. Perangkat lunak yang digunakan adalah code vision Avr evaluation.
k. Cara men-download progam ke mikrokontroler
Rangkaian Minimum System ATmega8535 sudah terdapat rangkaian downloadernya yaitu tinggal menghubungkan minimum sytem dengan port DB25. Langkah pertama yang dilakukan adalah membuat listing program yang dibuat menggunakan software CodeVisionAVR Evaluation yang menggunakan bahasa C, seperti tampak pada Gambar 2.9.
Dilakukan proses kompile listing untuk mengecek error program yang telah ditulis. Jika tidak terjadi error maka akan nampak seperti Gambar 2.10. Setelah itu dilakukan proses penyimpanan program. Program tersebut akan berekstensi “.c”, agar file dapat didownload ke mikrokontroler ATmega8535 file tersebut harus berekstensi “.hex”, untuk mengubahnya menjadi file yang berekstensi “.hex”, yaitu dengan cara “build” atau dengan menekan tombol “Shift+ f9”, maka akan tampak seperti pada Gambar 2.11.
Pada langkah selanjutnya, untuk proses pengisian program (flash programing) ke mikrokontroler ATmega8535 yaitu dengan cara menekan tombol “program the chip”, maka akan tampil seperti yang ditunjukkan pada Gambar 2.12 (a) dan (b).