## PEMANFAATAN PULSE WIDTH MODULATION UNTUK MENGONTROL MOTOR
(STUDI KASUS ROBOT OTOMATIS DUA DEVIANA)

## Samsul Arifin, Akhmad Fathoni
STMIK Asia Malang

## ABSTRAK
Perkembangan  teknologi  robotika  yang  sangat  pesat  dan  erat  sekali  dengan  kemajuan  teknologi komputer sebagai teknologi penunjang utama. Dalam Tugas Akhir ini, mikrokontroler digunakan sebagai pengendali  dan  pengontrol  simulasi  operasional  motor  penggerak  maju  mundur  pada  robot  otomatis sehingga  nantinya  dapat  berjalan  sesuai  dengan  instruksi  yang  telah  dibuat  untuk  kontes  KRI  (Kontes Robot Indonesia) 2011 dengan tema “ bersama merangkai bunga persahabatan”. Mikrokontroler  yang digunakan  dalam  Tugas  Akhir  ini  adalah  ATTiny2313  dan  ATmega  128  dari  keluarga  mikrokontroler produksi ATMEL Technology . Pemrograman mikrokontroler dalam Tugas Akhir ini menggunakan bahasa C  berbasis  software  Avr  Code  Vision  memanfaatkan  fasilitas  PWM  (pulse  width  modulation)  pada mikrokontroller dengan resolusi timer 8 bit sehingga diperoleh angka 0 – 255 dari angka konversinya. PWM masih dianggap ampuh untuk mengontrol pergerakan robot karena mudah pengimplementasiannya yaitu dengan cara mengatur timer pada mikrokontroller, seberapa lama timer di onkan dan sisanya adalah off, semakin tinggi nilai pwm yang diberikan semakin besar pula tegangan output yang dihasilkan. Dengan frequensi clock pwm 10.800KHz akan diperoleh Ttotal =93µs sehingga ketika pwm penuh 255 lama waktu Ton sama dengan Ttotal sedangkan pengimplementasian pada robot deviana, duty cycle yang digunakan ketika robot berada ditrack datar adalah 78 % sedangkan ketika naik keatas sala adalah 41%.
Kata-kata  kunci  :  Robot  Otomatis  Deviana,  KRI  2011,  Perancangan  dan  Pembuatan,  PWM,  ATmega128, ATTiny 2313

## ABSTRACT
Green  Technology  Robotics  development  very  rapidly  and  Closely  Once  WITH  Progress  Computer technology as a support for the Main Technology. In this Final Project Label, the microcontroller is used as the  controller  and  motor  controller  Movers  advanced  operational  simulation  backwards  ON  Automatic robot so that the future will be implemented as instructions have been made to contest KRI (Indonesian Robot  Contest)  2011  BY  theme  "Together  flower  arranging  friendship".  The  microcontroller  used  Final hearts  husband  is  ATtiny2313  And  ATmega  128  microcontroller  ATMEL  Of  Family  Production Technology. Final hearts microcontroller programming language C USING husband avr Code-Based Vision software has been used utilize PWM (pulse width modulation) microcontroller ON WITH 8-bit resolution so TIN Figures 0-255 From Figures conversions.
Still  considered  a  powerful  PWM  control  the  movement  of  the  robot  DUE  TO  EASILY  implementation Namely WITH THE microcontroller How to manage time, how much time in onkan And the rest is off, The High-Value  PWM  The  given  The  output  voltage  is  also  generated  big  thing.  Search  Google  Articles frequency PWM clock will 10.800KHz TIN Ttotal = 93μs so that when the PWM Full Time Ton same old 255 WITH THE Ttotal while implementing Deviana robot, the cycle is used when the robot is ditrack Flat is 78% whereas when climbing upstairs sala is 41%.
Keywords: Deviana otomatic robotic, KRI 2011, planning, PVM, ATmega128, ATTiny 2313

## PENDAHULUAN
Teknologi robot sudah berkembang dengan pesat  pada  saat  ini  mulai  dari  robot  sederhana untuk  aplikasi  yang  mudah  sampai  dengan  robot canggih  dan  kompleks  yang  digunakan  dalam pabrik  industri,  maupun  dalam  bidang-bidang
yang  lainnya.Mikrokontroler  sebagai  sebuah teknologi  pengontrol  dan  pengendali  peralatan secara otomatis memberikan solusi praktis dalam teknologi kontrol otomatis secara independent.Dengan  mengadopsi  sistem  kerja komputer, mikrokontroler perlahan-lahan mampu menggantikan  fungsi  komputer  dalam  teknik
kontrol  dan  kendali  peralatan  terutama  pada sebuah robot.
Pada  Kontes  Robot  Indonesia  yang  bertemakan Loy  Krathong  (bersama  merangkai  bunga persahabatan)  teknik  dan  metode  pemetaan jelajah  sebagai  aspek  kemampuan  dasar  dari sebuah produk robot yang bersifat mobile (mobile robot)  kebanyakan  masih  menggunakan  PWM (pulse  width  modulation)  sebagai  kontrol gerakannya  karena  cukup  ampuh  dan  mudah dalam pengaplikasiannya.
Bersamaan  dengan  itu  melalui  penelitian  ini penulis  selaku  anggota  Tim  Deviana  akan membahas  mengenai  Pemanfaatan  Pulse  Width Modulation  Untuk  Mengontrol  Motor  (Pada  Studi Kasus Robot Otomatis Dua Deviana)
Dari  identifikasi  masalah  yang  telah diuraikan  diperoleh  suatu  rumusan  masalah dalam  penyusunan  tugas  akhir  ini  yaitu Bagaimana  memanfaatkan  dan  mengaplikasikan Pulse  Width  Modulation  pada  motor  sehingga robot mampu bergerak mengikuti garis putih pada track.

## DASAR TEORI

## Robot Berorientasi Fungsi
Robot berorientasi fungsi mempunyai komponen utama, antara lain: Mekanik robot, sensor, aktuator dan sistem kontroler. Gambar 2.1 mengilustrasikan tentang sebuah diagram sistem robotik yang berhubungan dengan dunia nyata (Pitowarno, 2006:43).
Gambar 2.1  Sistem Robot dan Orientasi Fungsi Sistem kontroler adalah rangkaian elektronik yang setidak-tidaknya terdiri dari rangkaian prosesor (CPU, Memori, komponen interface Input/Output), signal conditioning  untuk sensor (analog dan digital), dan driver untuk aktuator. (Pitowarno, 2006:43). Sensor adalah perangkat atau komponen yang bertugas mendeteksi (hasil) gerakan atau fenomena lingkungan yang diperlukan oleh sistem kontrol. Bisa dibuat dari sistem yang paling sederhana seperti sensor ON/OFF menggunakan limit switch, sistem analog, sistem bus pararel, sistem bus serial, hingga sistem mata kamera(Pitowarno, 2006:44).
Aktuator adalah perangkat elektromekanik yang menghasilkan daya gerakan. Dapat dibuat dari sistem motor listrik (Motor DC (permanent magnet, brushless, shunt dan series), Motor DC Servo, Motor DC Stepper, ultrasonic motor, linear motor, torque motor, solenoid, dsb.), sistem pneumatic (perangkat kompresi berbasis udara atau gas nitrogen), dan perangkat hidrolik (berbasis bahan cair seperti oli). 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.), sprochet-chain (gir-rantai, gir-belt, ataupun sistem wire-roller, dsb.) (Pitowarno, 2006:44). Pada robot ini menggunakan actuator berbasis motor listrik, yaitu motor DC magnet permanent masing-masing untuk menggerakkan roda robot, lengan robot, dan juga lengan pengambil bunga. Motor DC sendiri adalah suatu mesin yang berfungsi mengubah tenaga listrik arus searah menjadi tenaga mekanik yang berupa putaran rotor.Putaran rotor ini ditimbulkan karena adanya arus listrik yang mengalir pada lilitan. Bila arus listrik mengalir dalam lilitan arahnya menjauhi (maju), maka medan magnet yang terbentuk disekitar lilitan arahnya searah putaran jarum jam. Sebaliknya  bila arus listrik yang mengalir dalam lilitan arahnya mundur maka medan magnet yang terbentuk disekitar lilitan arahnya berlawanan dengan arah putaran jarum jam (Petruzella, 1996:331). Mikrokontroller AVR ATTiny 2313 AVR merupakan chip mikrokontroler keluaran ATMEL yang memiliki kemampuan handal dan cepat (hingga 16 Mega Instruction per Second –MIPS-). Chip ini dapat digunakan untuk aneka macam aplikasi mulai dari perancangan elektronik device hingga aplikasi robotika karena cara penggunaannya yang relatif mudah dan ekonomis. AVR sendiri dirancang berdasarkan Harvard architecture sehingga isi data dan isi program memori disimpan melalui bus yang berbeda. Hal ini berarti pengalamatan data dan program memori terpisah sehingga keduanya dapat diakses secara bersamaan. Sistem keduanya dihubungkan dengan komunikasi serial. Berdasarkan Datasheet (2003) karakteristik mikrokontroler AVR seri ATTiny2313 sebagai berikut:
1. Utilizes the AVR RISC Architecture
2. AVR-High-performance and Low-power RISC Architecture a.  120 Powerful Instructions – Most Single Clock Cycle Execution
Sistem Kontroler Mekanik Robot Sensor Aktuator
Sistem Aktuator Sistem Roda Sistem Tangan Untuk Navigasi (gerak berpindah) Untuk Manipulasi (gerak penanganan) Kamera Sistem Robot Mengikuti jalur Berdasarkan obyek statik atau bergerak (menuju obyek, menghindari obyek/halangan) berbasis vision, proximity, dll.
Berdasarkan urutan perintah (referensi trajektori)
Ujung tangan (posisi TIP): Mewngikuti referensi trajektori Mengikuti obyek (berbasis vision, proximity, dll.) Memegang, mengambil, mengangkat, memindah atau mengolah obyek Real world
b.  32 x 8 General Purpose Working Registers c.  Fully Static Operation
3. Data and Non-Volatile Program and Data
Memories
a.  2K Bytes of In-System Self Progammable Flash
Endurance: 10.000 Write/Erase Cycle b.  128 Bytes In-System Prigammable EEPROM Endurance: 100.000 Write/Erase Cycle c.  128 Bytes Internal SRAM d.  Progamming Lock For Flash Program and EEPROM Data Security
4. Peripheral Features
a.  One 8-bit Timer/Counter with Separate Prescaler and Compare Mode b.  One 16-bit Timer/Counter with Separate Prescaler, Compare and Capture Modes c.  Four PWM Channels d.  On-chip Analog Comparator e.  Progammable Watchdog Timer with On-chip Oscillator f.  USI – Universal Serial Interface g.  Full Duplex USART
5. Special Microcontroller Features
a.  debug WIRE On-chip Debugging b.  In-System Progammable via SPI Port c.  External and Internal Interrupt Sources d.  Low-power Idle, Power-down, and Standby Modes e.  Enhanced Power-on Reset Circuit f.  Internal Calibrated Oscillator
6. I/O and Packages
a.  16 Progammable I/O Lines b.  20-pin PDIP, 20-pin SOIC, and 32-pin MLF 7. Operating Voltages - 1.8 – 5.5 V (ATTiny2313)
8. Speed Grades a.  ATTiny2313 V: 0 – 2MHz @ 1.8 – 5.5 V, 0 – 8MHz @ 2.4 – 5.5V b.  ATTiny2313: 0 – 8MHz @ 2.7 – 5.5 V, 0 – 16MHz @ 4.5 – 5.5V 9. Power Consumption Estimates a.  Active Mode 1 MHz, 1.8 V: 300Aμ b.  32 kHz, 1.8 V: 20Aμ (including oscillator) Power-down Mode < 0.2Aμ at 1.8 V Adapun untuk konfigurasi pin ATTiny2313 dapat dilihat pada Gambar 2.2 sedangkan arsistektur ATTiny2313 secara diagram dapat dilihat pada Gambar 2.3
Gambar 2.2  Pin-pin ATTiny kemasan 20-pin
Gambar 2.3 Diagram Blok Arsitektur ATTiny2313
Gambar 2.4 Memory Map ATTiny2313

## Mikrokontroller AVR ATmega128
AVR merupakan seri mikrokontroler CMOS 8- bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer). Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general- purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving. Mempunyai ADC dan PWM internal. AVR juga mempunyai In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. Atmega128 adalah mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan.
Kebanyakan instruksi dikerjakan pada satu siklus clock, Atmega128 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi komsumsi daya versus kecepatan proses. Beberapa keistimewaan dari AVR ATmega128 antara lain:
1.   Advanced RISC Architecture
a.  133 Powerful Instructions – Most Single Clock Cycle Execution
b.  32 x 8 General Purpose Fully Static Operation c.  Up to 16 MIPS Throughput at 16 MHz d.  On-chip 2-cycle Multiplier
2.   Nonvolatile Program and Data Memories a.  128K Bytes of In-System Self-Programmable Flash b.  Optional Boot Code Section with Independent
Lock Bits
c.  4K Bytes EEPROM d.  4K Bytes Internal SRAM
e.  Up to 64K Bytes Optional External Memory Space f.  Programming Lock for Software Security
3.  Peripheral Features a.  Two 8-bit Timer/Counters with Separate Prescalers and Compare Mode b.  Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes c.  Two 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode d.  Real Time Counter with Separate Oscillator e.  Two 8-bit PWM Channels f.  6 PWM Channels with Programmable Resolution from 2 to 16 Bits 8-channel, 10-bit ADC 8 Single-ended Channels 7 Differential Channels 2 Differential Channels with Programmable Gain at 1x, 10x, or 200x g.  Byte-oriented Two-wire Serial Interface h.  Programmable Serial USART i.  On-chip Analog Comparator
4. Special Microcontroller Features
a.  Power-on Reset and Programmable Brown- out Detection
b.  Internal Calibrated RC Oscillator
c.  External and Internal Interrupt Sources
d.  Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby e.  ATmega103 Compatibility Mode Selected by a Fuse f.  Global Pull-up Disable 5. I/O and Package a.  53 Programmable I/O Lines b.  64-pin PDIP, 64-lead TQFP and 64-pad QFN/MLF 6.  Operating Voltages a.  2.7 - 5.5V for Atmega128L b.  4.5 - 5.5V for Atmega128 Pin-pin pada ATmega128 dengan kemasan 64- pin DIP (four in-line package) ditunjukkan oleh gambar 2.5.
Gambar 2.5  Pin-pin ATmega128 kemasan 64-pin Pemrograman yang digunakan untuk mengisi program pada mikrokontroller AVR ini digunakan  CodeVision  AVR  dan  bahasa pemrograman  yang  digunakan  adalah  bahasa  C. Pada  CodeVision  AVR  ini  bisa  ditentukan  port- port  dari  mikrokontroller  AVR  yang  berfungsi sebagai  input  maupun  output,  serta  bisa  juga
ditentukan  tentang  penggunaan  fungsi-fungsi internal  dari  AVR.  Sebelum  menentukan  port- port  dan  fungsi-fungsi  internal  yang  akan digunakan,  harus  ditentukan  terlebih  dahulu mikrokontroller  yang  akan  dipakai.  Masing- masing  mikrokontroller  mempunyai  perbedaan dalam fungsi-fungsi internal.
Setelah  jenis  chip  mikrokontroller  dan  port  dari AVR  ditentukan  sebagai  input  atau  output  maka program  ditulis  dalam  bahasa  C,  kemudian program dapat didownload ke dalam mikrokontroller
AVR, namun sebelum didownload  kedalam  mikrokontroller  program harus dicompile terlebih dahulu untuk mengetahui  apakah  ada  error  atau  tidak,  jika tidak  ada  error  maka  program  siap  didownload dengan  alur  seperti  yang  ditunjukkan  oleh gambar 2.6.
Gambar  2.6  Alur  Pemrograman  dan  Proses Download
Gambar 2.7 Arsitektur ATmega 128
Bit  7  –  FOCO  :  perbandingan  kemampuan output
FOCO hanya akan aktif ketika spesifik-spesifik bit  WGM00  tanpa  PWM  mode.  Adapun  untuk meyakinkan terhadap kesesuaian dengan device- device  yang  akan  digunakan,bit  ini  harus  diset nol  ketika  TCCRO  ditulisi  saat  mengoperasikan mode  PWM.  Ketika  menulisi  logika  satu  ke  bit FOCO,  dengan  segera  di  paksakan  untuk disesuaikanpada
unit pembangkit
bentukgelombang.
Output OCO diubah
disesuaikan  pda  COM01:  bit  0  menentukan pengaruh daya pembanding.
Bit  6,3  –  WGM01:0:  Waveform  Generation Mode
Bit ini mengontrol penghitungan yang teratur pada  counter,  sumber  untuk  harga  counter maksimal ( TOP )., dan tipe apa dari pembangkit bentuk  gelombang  yang  digunakan.  Mode-mode operasi  didukung  oleh  unit  timer/counter sebagai berikut  : mode normal, pembersih  timer pada  mode  penyesuaian  dengan  pembanding  ( CTC ), dan dua tipe mode Pulse Width Modulation (PWM).  Tabel  2.2  menjelaskan  mengenai deskripsi bit mode pembangkit bentuk gelombang.
Tabel    2.2      Deskripsi  Bit  Mode  Pembangkit Bentuk Gelombang
catatan : definisi nama-nama bit CTC0 dan PWM0 sekarang tidak digunakan lagi. Gunakan WGM 01: 0  definisi.  Bagaimanapun  lokasi  dan  fungsional dan lokasi dari masing-masing bit sesuai dengan versi timer sebelumnya.
Bit  5:4  –  COMO1:0  Penyesuaian  Pembanding Mode Output
Bit ini mengontrol pin output compare (OCO), jika  satu  atau  kedua  bit  COM01:0  diset,output OC0  melebihi  fungsional  port  normal  I/O  dan keduanya  terhubung  juga.  Bagaimanapun, catatan  bahwa    bit  Direksi  Data  Register  (DDR) mencocokan  ke  pin  OC0  yang  mana  harus  diset dengan tujuan mengaktifkan.Ketika OC0 dihubungkan  ke  pin,  fungsi  dari  bit  COM01:0 tergantung dari pengesetan bit WGM01:0. Tabel  2.3  menunjukan  COM  fungsionality  ketika bit-bt  WGM01:0  diset  ke  normal  atau  mode  CTC (non PWM ).
Tabel 2.3   Mode Output Pembanding, tanpa PWM
Tabel 2.4 menunjukan  bit COM01:0 fungsionality ketika bit WGM01:0 diset ke mode fast PWM.
Tabel  2.4 Mode  Output  Pembanding,  Mode fast PWM
Tabel 2.5 menunjukan bit COM01:0 fungsionality ketika bit WGM01:0 diset ke mode phase correct PWM. Tabel  2.5      Mode  Output  Pembanding,  Mode phase correct PWM
Bit 2:0 – CS02:0 : Clock Select Tiga  bit  clock  select  sumber  clock  digunakan dengan  timer/counter.  Jika  mode  pin  eksternal digunakan  untuk  timer  counter0,  perpindahan dari pin T0 akan memberi clock counter, dimana dijelaskan pada table 2.6 berikut.
Tabel 2.6  Deskripsi bit clock select
Sesuai dengan tabel 2.6 maka sumber clock dapat dibagi  sehingga  data  dapat  timer/counter  dapat disesuaikan dengan banyak data yang di hitung.

## Register Timer/Counter TCNT0
Register  timer/counter    memberikan  akses secara  langsung,  keduanya  dugunakan  untuk membaca dan menulis operasi, untuk penghitung unit  8-bit  timer/counter.  Menulis  ke  blok-blok register  TCNT0  (removes)  disesuaikan  dengan clock  timer  berikutnya.  Memodifikasi  counter (TCNT0) ketika perhitungan
berjalan, memperkenalkan
resiko kehilangan
perbandingan  antara  TCNC0  dengan  register OCR0. Gambar 2.14  menjelaskan bentuk register timer TCNT0.

## Gambar 2.14   Register timer TCNT0
Register Timer/Counter OCR0 Register  output  pembanding    berisi  sebuah haraga  8  bit  yang  mana  secara  terus-menerus dibandingkan  dengan  harga  counter  (  TCNT0  ). Sebuah  penyesuaian  dapat  digunakan  untuk membangkitkan  output  intrrupt  pembanding, atau  untuk  membangkitakan  sebuah  output bentuk  gelombang  pada  pin  OC0.  Gambar  2.15 menjelaskan bentuk register timer OCR0.
Gambar 2.15 Register timer OCR0
Register Timer/Counter Interrupt Mask Bit 1-OCIE0:
output
timer/counter menyesuaikan  dengan  kesesuaian  interrupt yang aktif.
Ketika  bit  OCIE0  ditulis  satu,  dan  I-bit  pada register  status  dalam  kondisi  set  (satu), membandingkan  timer/counter  pada  interrupt yang  sesuai  diaktifkan.  Mencocokkan  interrupt yang  dijalankan  kesesuaian  pembanding  pada timer/counter0  terjadi,  ketika  bit  OCF0  diset pada register penanda timer/counter-TIFR. Bit  0  –  TOIE0:  Timer/Counter  0  Overflow Interrupt Enable
Ketika  bit  TOIE0  ditulis  satu,  dan  I-bit  pada register  status  dalam  kondisi  set  (  satu  ), timer/counter  melebihi  interrupt  diaktifkan. Mencocokkan interrupt dijalankan jika kelebihan pada  timer/counter0  terjadi,  ketika  bit  TOV0 diset pada register penanda timer/counter-TIFR.

## Register Timer/Counter - TIFR
Register  timer  TIFR  yang  terdapat  pada mikrokontroller
AVR
Atmega128
dapat dijelaskan pada gambar 2.16 berikut.

## Gambar 2.16  Register timer TIFR
Bit 1 – OCF0: Output Compare Flag0 OCF0  dalam  kondisi  set  (  satu  )  kesesuaian pembanding  terjadi  antara  timer/counter  dan data  pada  OCRO  –  Register  0  keluaran pembanding.  OCF0  diclear  oleh  hardware  ketika eksekusi  pencocokan  penangan  vector  interrupt. Dengan  alternatif  mengclearkan  OCF0  dengan menuliskan  logika  satu  pada  flag.  Ketika  I-bit pada SREG, OCIE0 (Timer/Counter0 penyesuaian pembanding  interrupt  enable),  dan  OCF0  diset (satu  ),  timer/counter  pembanding  kesesuaian interrupt dijalankan.
Bit 0 – TOV0: Timer/Counter Overflow Flag Bit  TOV0  di  ser  (  satu  )  ketika  kelebihan terjadi  pada  timer/counter0.  TOV0  diclearkan dengan  hardware  ketika  penjalanan  pencocokan penanganan  vector  interrupt.  Dengan  alternatif, TOV0 diclearkan dengan jalan memberikan logika satu  pada  flag.  Ketika  I-bit  pada  SREG,  TOIE0  ( Timer/Counter0  overflow  interrupt  enable),  dan TOV0  diset  (  satu  ),  timer/counter  overflow interrupt dijalankan. Pada tahap mode PWM yang tepat, bit ini di set ketika timer/counter merubah bagian perhitungan pada $00.
Sensor Limit Switch
Switch  digunakan  dengan  hal-hal  yang berhubungan  dengan  jarak,  kepekaan,  deteksi ada  tidaknya  barang,  maupun  kontak  pembatas. Sensor  limit  switch  disini  dipakai  untuk pengaturan posisi yang diharapkan dari mekanik yang  telah  dirancang.  Bentuk  fisik  dari  limit switch dapat dilihat pada gambar 2.17 berikut.

## Gambar 2.17 Bentuk Fisik Limit Switch

## PWM (Pulse width Modulation)
Pengaturan  lebar  pulsa  modulasi  atau  PWM merupakan salah satu teknik yang “ampuh” yang digunakan dalam sistem kendali (control system) saat ini. Pengaturan lebar modulasi dipergunakan di  berbagai  bidang  yang  sangat  luas,  salah  satu diantaranya  adalah:  speed  control  (kendali kecepatan),  power  control  (kendali  sistem tenaga),  measurement  and  communication (pengukuran atau instrumentasi dan telekomunikasi)  .
Modulasi  lebar  pulsa  (PWM)  dicapai/diperoleh dengan  bantuan  sebuah  gelombang  kotak  yang mana siklus kerja (duty cycle). Prabowo,  Brilliant  Adhi, Pemodelan  Sistem Kontrol  Motor  DC  dengan  Temperatur  Udara sebagai  Pemicu ,  Pusat  Penelitian  Informatika, LIPI, 2009. hal 2
Gelombang dapat diubah-ubah untuk mendapatkan  sebuah  tegangan  keluaran  yang bervariasi  yang  merupakan  nilai  rata-rata  dari gelombang tersebut. PWM pada dasarnya adalah menyalakan  (ON)  dan  mematikan  (OFF)  motor DC  dengan  cepat.  Kuncinya  adalah  mengatur berapa lama waktu ON dan OFF.

## Gambar 2.24 Gelombang kotak (pulsa)
Ton  adalah  waktu  dimana  tegangan  keluaran berada pada posisi tinggi (baca: high atau 1) dan, Toff  adalah  waktu  dimana  tegangan  keluaran berada pada posisi rendah (baca: low atau 0). Anggap  Ttotal  adalah  waktu  satu  siklus  atau penjumlahan  antara  Ton  dengan  Toff  ,
biasadikenal  dengan  istilah  “periode  satu gelombang”.
Tegangan  keluaran  dapat  bervariasi  dengan duty-cycle dan dapat dirumusan sebagai berikut,
sehingga:
Dari  rumus  diatas  dapat  ditarik  kesimpulan bahwa  tegangan  keluaran  dapat  diubah-ubah secara langsung dengan mengubah nilai T on . Apabila T on adalah  0, V out juga  akan  0. Apabila T on adalah T total maka V out sama dengan V in .

## Sensor Ultrasonik
Sensor  ultrasonik  yang  digunakan  adalah Devantech  SRF04.  Modul  ultrasonic  Devantech SRF04 mempunyai kemampuan mendeteksi jarak antara  3  cm  sampai  3  m  dengan  frekuensi  kerja 40  KHz,  mengkonsumsi  daya  sebesar  30  mA dengan  tegangan  kerja  +5  Volt, input  trigger berupa pulsa dengan lebar minimal 10 μs, output pulsa echo berupa  sinyal  TTL  positif  yang lebarnya proporsional terhadap jarak.
Gambar 2.25 Koneksi pin srf 04
Gambar 2.26 Daerah Kerja srf 04
Gambar 2.27 Timing Diagram srf 04
Gambar 2.28 Schematic srf 04

## Perancangan Perangkat keluaran Robot
Bagian  keluaran  robot  terdiri  dari  beberapa rangkaian driver motor DC. Masing-masing driver motor  menggerakkan  motor  DC  pada  mekanik robot,  yang  meliputi  motor  DC  pada  penggerak roda  dan  motor  DC  pada  mekanik  maju  mundur lengan dan naik turun lengan.

## Driver Motor DC Brushless
Driver Motor DC Brushless merupakan driver motor jadi, sehingga untuk mengaktifkannya hanya perlu dihubungkan dengan sumber tegangan.Untuk input driver menggunakan aktif low sehingga rangkaian pin output akan aktif jika pin tersebut terhubung dengan ground. Untuk output driver akan aktif maka akan bernilai 0 jadi jika output aktif maka di pin μC juga akan bernilai 0 (low). Untuk pengaturan kecepatan menggunkan rangkaian low pass filter untuk mengubah PWM ke tegangan analag (0-5 volt).
Gambar 3.12 PWM to analog 3.4.3.2 Driver Motor DC Pada robot tersebut terdapat 2 motor DC, jadi outputnya berupa driver motor DC dengan sistem driver maju mundur dan berhenti. Pada perencanaan pembuatan penggerak motor DC ini dipilih beberapa komponen yang mempunyai tegangan yang besar agar motor dapat bergerak secara maksimal sesuai dengan spesifikasi motor yaitu 24V, mempunyai arus yang besar, mempunyai kecepatan switching yang tinggi. Maka dari itu dibuatlah penggerak motor dengan komponen yang dapat tahan dengan tegangan pada Vcc yaitu 24V dan arus 4.5A. Gambar 3.13 adalah gambar rangkaian driver motor DC.
Gambar 3.13 Rangkaian Driver Motor DC Pemilihan driver jenis ini karena sudah dilengkapi PWM sebagai pengendali kecepatannya serta cukup dengan memutus bagian negative atau ground pada driver yang langsung menyuply motor dan menggantikannya dengan sejenis transistor yang berfungsi sebagai switching (menghubungkan dan memutuskan ground), tentunya dengan spesifikasi tertentu yaitu mampu menahan arus beban balik motor dan memiliki kecepatan switching yang sangat cepat untuk mengimbangi frekuensi gelombang PWM yang akan dikirimkan.
Jika FET yang digunakan belum kuat menahan arus balik dari motor, maka bisa diganti dengan MOSFET. Disini dipergunakan tip 41 sebagai driver relay dan IRF 540 sebagai swiching pada rangkaian driver. Untuk driver roda kanan dan kiri sudah include ketika pembelian motor DC brushless (vexta) adapun model rangkaiannya sendiri menggunakan IC   sebagai pegontrolnya LCD Pada robot ini yang digunakan adalah LCD 16x4. Untuk mengaktifkannya pin 1 pada LCD dihubungkan ke Ground dan pin nomor 2 dihubungkan ke sumber tegangan 5volt. Pin nomor 3 LCD dihubungkan dengan potensio untuk mengatur tegangan referensi pada LCD agar data bisa tampil di layar LCD.

## Gambar 3.14 Konfigurasi Pin LCD
Rangkaian Keseluruhan Robot Deviana Rangkaian  yang  dimaksud  di  sini  adalah  satu kesatuan  dari  bagian-bagian  hardware  robot yang  dijadikan  dalam  satu  hardware  sehingga tidak terlalu banyak memakan space pada bagian robot,  adapun  bagian  hardware  yang  dijadikan menjadi  satu  adalah  rangkain  minimum  sistem
ATMega128 dan ATTinny2313, komparator serta inverters, sedangkan untuk rangkaian sensor dan limit  terpisah  sehingga  diberikan  white  house sebagai  connectornya.  Adapun  rangkaiannya adalah sebagai berikut :
Gambar 3.15 Rangkaian keseluruhan Prosedur Pembuatan Program Mikrokontroller Setelah desain mekanik dan hardware selesai, langkah selanjutnya adalah memprogram Mikrokontroller  agar  dapat  mengontrol  robot sesuai  dengan  kebutuhan  user,  pada  dasarnya robot  otomatis  akan  bekerja  sesuai  dengan instruksi  yang  kita  berikan  tinggal  bagaimana dari  semua  hardware  dan  mekanik  merespon semua  instruksi-instuksi  tersebut  sehingga  ada beberapa  langkah  yang  harus  dilakukan  dalam pembuatan software.
Flowchart Untuk membuat program pada Mikrokontroller ada langkah-langkah yang harus kita  lakukan.  Langkah-langkah  tersebut  adalah dengan membuat flowchat atau alur pemrograman  yang  akan  di  terapakan  pada robot.
Konsepnya  adalah  bagaimana  membuat  laju robot  bervariasi  menggunakan  PWM  sesuai dengan  inputan  berdasarkan  sensor  garis. Sebelum  tombol  start  dijalankan  maka  robot akan melakukan set plan yang mana ini berfungsi sebagai  pemilihan  strategi  berdasarkan  mode pengambilan obyek.
Set  plan  sendiri  akan  ditampilkan  pada  lcd  di robot.  Pertama  menekan  tombol  plan  untuk melakukan  set  plan  sesuai  dengan  mode pengambilan  obyek  sedangkan  Set  plan  sendiri terdiri  dari  5  plan  yang  bervariasi  untuk  mode pengambilan obyek berdasarkan rute pengambilan  obyek  setelah  itu  tekan  tombol team dan start untuk menjalankan.
Gambar 3.15 berikut ini adalah gambar flowchart sistem Robot Otomatis Dua Deviana.
START APAKAH TEAM MERAH ? SET PLAN MERAH SET PLAN BIRU APAKAH ROBOT DI START ? JALANKAN ROBOT SESUAI DENGAN PLAN YANG DIPILIH END YA TIDAK INISIALISASI MIKROKONTROLLER INPUTKAN PLAN INPUTKAN TEAM APAKAH PLAN SUDAH DI SET? SIMPAN SET PLAN TIDAK YA TAMPILKAN DATA KE LCD YA TIDAK Gambar 3.16 Flowchart Program Utama Sedangkan sub flowchart untuk tiap-tiap plan : START Inisialisasi data Data Pada LCD If plan=A Robot berjalan ke surface Apakah Sensor mendeteksi adanya obyek? Ambil obyek +menyusun
+meletakkan ke river If plan=B
Robot
Mengambil Flame If plan=C
Menaruh Flame Ke Krathong Di river surface If plan=AC If plan=BC Robot mengambil krathong yang tersusun ya ya ya ya ya tidak END tidak tidak tidak tidak ya tidak Tampilkan Data LCD Tampilkan
Data LCD Tampilkan Data LCD Tampilkan Data LCD
Tampilkan Data LCD Delay Robot berjalan ke surface
Apakah Sensor mendeteksi adanya obyek ke 2? Ambil obyek +menyusun +meletakkan ke river ya Delay Menaruh Krathong Ke river tidak
Gambar 3.17 Flowchart sub program Dari flowchart diatas menjelaskan bahwa tiap plan  mempunyai  instruksi  sendiri-sendiri  sesuai dengan strategi yang dikehendaki.

## List Program PWM Pada Robot Otomatis Dua
Pengendalian  motor  DC  bertujuan  untuk menentukan seberapa cepat robot akan berjalan, bagaimana  teknik  pengaturan  agar  robot  tidak keluar dari jalur garis yang telah ditentukan dan sebagainya.
Konsep robot otomatis sendiri semunya berjalan otomatis.  Disini  robot  diprogram  untuk menentukan  kecepatan  motor  utama  yang bervariasi  dengan  menggunakan  PWM  yang mana  inputannya  berdasarkan  pada  sensor cahaya,  rotary  encoder,  limit  switch  dan ultrasonic.
Kondisi  ideal  pada  robot  adalah  bergerak  maju lurus  mengikuti  garis,  dengan  kata  lain  berapa nilai  PWM  yang  tepat  agar  robot  tidak  bergerak zig  -  zag  ketika  berjalan  mengikuti  garis,  untuk konfigurasinya  sendiri  pada  timer  0  akan
diaktifkan  untuk  putaran  motor  sebelah  kiri sedangkan pada timer 1 diaktifkan untuk putaran motor kanan.
.  Adapun  cara  membangkitkan  sinyal  PWM adalah dengan mengeset timer pada mikrokontroller.  Adapun  flowchart  dalam pengaktifan pwm adalah sebagai berikut :
SETTING CLOCK TIMER 10.800KHz MODE FAST PWM TOP=00Fh INPUTKAN DATA PADA REGISTER 0CR APAKAH DATA TCNT < DATA 0CR SIMPAN PADA REGISTER TCNT TCNT=TCNT+1 REGISTER 0C1A=1 APAKAH DATA TCNT >255 REGISTER 0C1A=0 END START YA TIDAK TIDAK YA
Gambar 3.18 Flowchart pemrogaman PWM Pada  dasarnya  Timer  0  dan  Timer  1 mempunyai 4 buah mode untuk membangkitkan sinyal  PWM  seperti  penjelasan  pada  bab sebelumnya. Disini penulis menggunakan software  avr  Code  Vision  dalam  pemrograman robot otomatis dua.karena user friendly dan pola pengenalan ke hardware lebih mudah.
Gambar 3.19 Konfigurasi program pada avr code vision int putaranka,putaranki; // External Interrupt 0 service routine interrupt [EXT_INT0] void ext_int0_isr(void) {
// Place your code here putaranki++; } // External Interrupt 1 service routine interrupt [EXT_INT1] void ext_int1_isr(void) { // Place your code here putaranka++; } void clearrot(char init) { if (init==1) putaranka=0;
if (init==2) putaranki=0;
if (init==3) {putaranka=0;putaranki=0;} }
unsigned
char naikturun,muter,ambil,jepit,xcount,geser,pwmka,
pwmki,servox; interrupt [TIM0_OVF] void timer0_ovf_isr(void) {
xcount++; if (xcount>=naikturun)  m_naikturun=1; else                    m_naikturun=0; if (xcount>=muter)      m_muter=1; else                    m_muter=0; if (xcount>=ambil)      m_tangan=1; else                    m_tangan=0; if (xcount>=geser)      m_geser=1; else                    m_geser=0; if (xcount>=geser)      m_geser=1; else                    m_geser=0; if (xcount>=pwmka)      pwmkan=0; else                    pwmkan=1; if (xcount>=pwmki)      pwmkir=0; else                    pwmkir=1; if (xcount>=servox)     servo=0; else                    servo=1; }
Pada  external  interrupt  0  dan  1  digunakan untuk  mengontrol  dan  mengacces  rotary  pada motor vexta sehingga ketika robot berjalan maka rotary  akan  mencounter  dan  menyimpannya dalam  variable  putaranka  dan  putaranki, sedangkan  sub  rutine  clearrot  digunakan    untuk mengosongkan  nilai  yang  telah  tercounter  pada variable putaranki dan putaranka.
Untuk  internal  interrupt  timer  0  digunakan untuk  mengcounter  nilai  pwm  yang  kita inputkan.

## Rute Perjalanan Robot Berdasarkan Strategi
Adapun  rute  yang  ditempuh  oleh  robot otomatis  dua  deviana  berdasarkan  strategi  yang dipilih  dalam  menyelesaikan  misinya  yaitu mengambil  Flowers  dan  Krathong  Petals  serta menyusunnya  menjadi  Complete  Krathong  dan meletakkannya  ke  River  Surface.  Adapun  5 strategi  yang  digunakan  oleh  robot  berdasarkan gambar flowchart 3.17 adalah sebagai berikut : Strategi 1
Pada  strategi  pertama,  robot  berjalan mengikuti garis hingga percabangan 5, kemudian robot bergerak kearah Surface untuk mendeteksi adanya  Flowers  dan  Krathong  Petals  yang nantinya akan disusun dan diletakkan pada River Surface, adapun gambar dan flowchartnya adalah sebagai berikut :
Gambar 3.20 Strategi 1
START
MAJUV (210,200)
APAKAH SCANCAB <=5
BELOK_KIRI MAJUV (115,100) APAKAH ROTARI <=1400 MAJUV (70,70) APAKAH ROTARI <30 REM(30) APAKAH ULTRASONIK MENDETEKSI ADANYA OBYEK AMBIL_BUNGA DAN SUSUN_BUNGA APAKAH ROTARI <100 BELOK_KANAN APAKAH SCANCAB <=3 PUT_SURFACE END MAJUV(70,70) MAJUV(50,50) TIDAK YA TIDAK YA TIDAK YA TIDAK YA TIDAK YA TIDAK YA

## Gambar 3.21 Flowchart Strategi 1
Keterangan :
1.  Ketika  robot  di  start,  robot  akan  bergerak maju  dengan  diberikan  pwm  sebesar  210  untuk sebelah kanan dan motor kiri 200.
2.  Pada  decision  robot  akan  berjalan  dan  akan mencounter percabangan sampai 5 percabangan. 3.  Robot  akan  belok  kekiri  ketika  percabangan sudah terpenuhi sebanyak 5.
4.  Robot    akan  bergerak  menuju  sala  dengan diberikan  pwm sebesar 115,100 sampai putaran rotari pada motor sebesar 1400.
5.  Robot akan bergerak maju dengan pwm 70,70 sampai putaran rotari < 30, kemudian berhenti. 6.  Sensor ultrasonik pada robot akan mendektsi adanya obyek atau tidak.
7.  Dilanjutkan  dengan  proses  mengambil  dan menyusun bunga jika sensor mendeteksi adanya bunga,  tetapi  jika  tidak  terdeteksi  adanya  obyek maka  robot  akan  tetap  berhenti  sampai mendeteksi adanya obyek.
8.  Proses selanjutnya robot akan bergerak maju dengan pwm 50,50 sampai putaran rotari motor sebesar <100 untuk mengambil obyek.
9.  Kemudian robot akan berbelok kearah  kanan dengan membawa complate krathong.
10. Robot  akan  maju  sampai  percabangan sebanyak 3 dengan pwm 70,70. 11. Kemudian  robot  akan  meletakkan  complate krathong ke river surface.

## Strategi 2
Pada strategi ke dua, robot berjalan mengikuti garis  hingga  percabangan  1,  kemudian  robot bergerak  kearah  Candle  Light  Flame  dan mengambilnya, setelah itu robot di Retry. Seperti pada gambar 3.22 berikut ini :
Gambar 3.22 Strategi 2
START APAKAH SCANCAB <=2 BELOK_KIRI BELOK_KIRI APAKAH ROTARI <200 MUNDURV(80,80) APAKAH LIMIT==0 NAIKTAGAN END APAKAH SCANCAB <=3 MAJUV(130,130) MAJUV(130,130) MAJUV(130,130) MAJUTANGAN TAKE_FLAME TIDAK YA TIDAK YA TIDAK YA TIDAK YA
Gambar 3.23 Flowchart Strategi 2 Keterangan : 1.  Ketika  robot  di  start  maka  robot  akan bergerak  maju  dengan  pwm  sebesar  130  untuk motor  kanan  dan  130  motor  kiri  sampai percabangan  sebanyak  2,  setelah  itu  robot  akan belok kiri.
2.  Kemudian  robot  akan  bergerak  maju  lagi dengan pwm sebesar 130 untuk motor kanan dan 130 motor kiri sampai percabangan sebanyak 3. 3.  Proses  berikutnya  robot  akan  belok  ke  kiri, dilanjutkan  dengan  robot  bergerak  maju  sampai putaran  rotari  motor  sebesar  <  200  dengan memberikan pwm sebesar 130,130.
4.  Kemudian  robot  akan  bergerak  maju  sampai kondisi  sensor  limit  switch  berlogika  0 (mendeteksi adanya obyek).
5.  Proses berikutnya tangan akan bergerak naik dan maju untuk mengambil flame.

## Strategi 3
Strategi  ke  tiga  ini  adalah  kelanjutan  dari strategi  kedua  yang  mana  ketika  robot  di  Retry pada posisi telah  mengambil Candle Light Flame dilanjutkan  dengan  menaruh  Flame  tersebut  ke Complate  Krathong  yang  telah  diletakkan  pada River Surface dengan cara menjatuhkannya.
START
MAJUV (210,200)
APAKAH SCANCAB <=5 BELOK_KIRI MAJUV (115,100) APAKAH ROTARI <=1400 MAJUV (70,70) APAKAH ROTARI <30 REM(30) APAKAH ROTARI <100 BELOK_KANAN APAKAH SCANCAB <=3 PUT_FLAME END MAJUV(70,70) MAJUV(50,50) TIDAK YA TIDAK YA TIDAK YA TIDAK YA TIDAK YA

## Gambar 3.24 Flowchart Strategi 3
Keterangan :
1.  Ketika  robot  di  start,  robot  akan  bergerak maju  dengan  diberikan  pwm  sebesar  210  untuk sebelah kanan dan motor kiri 200.
2.  Pada  decision  robot  akan  berjalan  dan  akan mencounter percabangan sampai 5 percabangan. 3.  Robot  akan  belok  kekiri  ketika  percabangan sudah terpenuhi sebanyak 5.
4.  Robot    akan  bergerak  menuju  sala  dengan diberikan  pwm sebesar 115,100 sampai putaran rotari pada motor sebesar 1400. 5.  Robot akan bergerak maju dengan pwm 70,70 sampai putaran rotari < 30, kemudian berhenti. 6.  Proses selanjutnya robot akan bergerak maju dengan pwm 50,50 sampai putaran rotari motor sebesar <100 untuk mengambil obyek. 7.  Kemudian robot akan berbelok kearah  kanan dengan membawa flame.
8.  Robot  akan  maju  sampai  percabangan sebanyak 3 dengan pwm 70,70.
9.  Kemudian robot akan meletakkan flame pada complate krathong yang berada di river surface.

## Strategi 4
Pada  strategi  ke  empat,  rute  yang  diambil  robot adalah  sama  dengan  rute  robot  pada  strategi kedua, hanya saja pada posisi peletakan Complate Krathong  yang  lebih  dekat.  Adapun    rute  yang diambil  seperti pada gambar 3.25 berikut ini :
Gambar 3.25 Strategi 4

## START
MAJUV (210,200)
APAKAH SCANCAB <=5
BELOK_KIRI
MAJUV (115,100)
APAKAH ROTARI <=1400 MAJUV (70,70) APAKAH ROTARI <30 REM(30) APAKAH ULTRASONIK MENDETEKSI ADANYA OBYEK AMBIL_BUNGA DAN SUSUN_BUNGA APAKAH ROTARI <100 BELOK_KANAN APAKAH SCANCAB <=2 PUT_SURFACE END MAJUV(70,70) MAJUV(50,50) TIDAK YA TIDAK YA TIDAK YA TIDAK YA TIDAK YA TIDAK YA
Gambar 3.26 Flowchart Strategi 4 Keterangan : 1.  Ketika  robot  di  start,  robot  akan  bergerak maju  dengan  diberikan  pwm  sebesar  210  untuk sebelah kanan dan motor kiri 200.
2.  Pada  decision  robot  akan  berjalan  dan  akan mencounter percabangan sampai 5 percabangan. 3.  Robot  akan  belok  kekiri  ketika  percabangan sudah terpenuhi sebanyak 5.
4.  Robot    akan  bergerak  menuju  sala  dengan diberikan  pwm sebesar 115,100 sampai putaran rotari pada motor sebesar 1400.
5.  Robot akan bergerak maju dengan pwm 70,70 sampai putaran rotari < 30, kemudian berhenti. 6.  Sensor ultrasonik pada robot akan mendektsi adanya obyek atau tidak.
7.  Dilanjutkan  dengan  proses  mengambil  dan menyusun bunga jika sensor mendeteksi adanya bunga,  tetapi  jika  tidak  terdeteksi  adanya  obyek maka  robot  akan  tetap  berhenti  sampai mendeteksi adanya obyek.
8.  Proses selanjutnya robot akan bergerak maju dengan pwm 50,50 sampai putaran rotari motor sebesar <100 untuk mengambil obyek. 9.  Kemudian robot akan berbelok kearah  kanan dengan membawa complate krathong. 10. Robot  akan  maju  sampai  percabangan sebanyak 2 dengan pwm 70,70. 11. Kemudian  robot  akan  meletakkan  complate krathong ke river surface.

## Strategi 5
Pada  strategi  ini  difungsikan  ketika  robot  gagal menaruh  Complate  Krathong  ke  River  Surface, sehingga ketika strategi ini digunakan robot tidak perlu menyusun Flowers dan Krathong Petals lagi tetapi  langsung  mengambilnya  dan  menaruhnya ke  River  Surface.  Adapaun  gambar  rutenya  yang diambil adalah sebagai berikut :
Gambar 3.27 Strategi 5 START MAJUV (210,200) APAKAH SCANCAB <=5
BELOK_KIRI
MAJUV (115,100)
APAKAH ROTARI <=1400 MAJUV (70,70) APAKAH
ROTARI <30
REM(30) AMBIL_KRATHONG APAKAH ROTARI <100
BELOK_KANAN
APAKAH SCANCAB <=3 PUT_SURFACE END MAJUV(70,70) MUNDURV(50,50) TIDAK YA TIDAK YA TIDAK YA TIDAK YA TIDAK YA
Gambar 3.28 Flowchart Strategi 5 Keterangan :
1.  Ketika  robot  di  start,  robot  akan  bergerak maju  dengan  diberikan  pwm  sebesar  210  untuk sebelah kanan dan motor kiri 200.
2.  Pada  decision  robot  akan  berjalan  dan  akan mencounter percabangan sampai 5 percabangan. 3.  Robot  akan  belok  kekiri  ketika  percabangan sudah terpenuhi sebanyak 5.
4.  Robot    akan  bergerak  menuju  sala  dengan diberikan  pwm sebesar 115,100 sampai putaran rotari pada motor sebesar 1400.
5.  Robot akan bergerak maju dengan pwm 70,70 sampai putaran rotari < 30, setelah itu robot akan mengambil complate krathong.
6.  Proses  selanjutnya  robot  akan  bergerak mundur  dengan  pwm  50,50  sampai  putaran rotari  motor  sebesar  <100  untuk  mengambil obyek.
7.  Kemudian robot akan berbelok kearah  kanan dengan membawa complate krathong.
8.  Robot  akan  maju  sampai  percabangan sebanyak 3 dengan pwm 70,70.
9.  Kemudian  robot  akan  meletakkan  complate krathong ke river surface.

## Pengujian Driver Motor DC
Tujuan :
1.  Untuk  mengetahui  apakah  driver  motor berfungsi  dengan  baik  baik  sebagai  penggerak dan pembalik arah putaran 2.  Untuk  mengetahui  kecepatan  respon  dari driver  motor  DC  terhadap  kecepatan  perubahan arah putaran Peralatan :
1.  Rangkaian driver motor
2.  Multimeter
3.  DC Power Supply +24 Volt
Persiapan :
Gambar  4.2    Blok  Diagram  pengujian  Driver Motor Dc
1.  Buat  rangkaian  driver  motor  sesuai  dengan rancangan 2.  Beri  tegangan  24  Volt  pada  konektor rangkaian  penggerak  yang  terhubung  dengan relay 3.  Pasangkan  motor  pada  rangkaian  driver  dan beri  tegangan  5Volt  pada  kaki  anoda  optokopler baik  pada  kaki  yang  akan  dikoneksikan  ke mikrokontroler  sebagai  pembalik  arah  putaran maupun sebagai PWM 4.  Hubungkan  ground  sebagai  logika  ‘0’  ke  kaki katoda optocoupler dan +5Volt sebagai logika  ‘1’
Tabel 4.2 Pengujian Driver Motor Motor Triger Respon Mosfet TIP 41 Motor Kanan 0 0 Mundur Minimum sistem Driver motor dc
LCD
0 1 Maju 1 0 Berhenti 1 1 Berhenti Motor kiri 0 0 Mundur 0 1 Maju 1 0 Berhenti 1 1 Berhenti

## Hasil dan Analisa:
Dari tabel diatas dapat diketahui bahwa untuk membalik polaritas gerakan motor adalah dengan memberikan  logika  ‘0’  untuk  arah  cw  dan  ‘1’ untuk  arah  sebaliknya  pada  input  A.  Rangkaian yang  mempunyai  input  A  dimana  diswitch  oleh transistor TIP41, adalah kunci pergerakan motor. Bila  rangkaian  tersebut  diberi  logika  ‘0’  maka motor  akan  bergerak  dan  bila  diberi  logika  ‘1’ akan berhenti.
Selain memperhatikan hal pada tabel diatas , hal lain yang perlu diperhatikan  adalah  posisi  motor  pada  roda apakah seimbang antara kanan dan kiri, gearbox motor  apakah  stabil  saat  maju  dan  mundur  dan apakak  seimbang  antara  kanan  dan  kiri. Meskipun  driver  motor  sudah  berjalan  dengan baik  tapi  bila  kondisi  motor  dan  gearbox  yang tidak  mendukung  maka  roda  dan  lengan  robot tidak akan berjalan dengan baik.

## Pengujian PWM Motor
Tujuan : 1.  Untuk  mengetahui  putaran    masing-masing motor.
2.  Untuk  mengetahui  berapa  nilai  pwm  yang tepat  agar  robot  mampu  bergerak  lurus  dengan bentuk mekanik robot.
Peralatan :
1.  Minimum sistem
mikrokontroller
ATmega128L
2.  Rangkaian driver motor dc brussless
3.  Motor yang sudah terpasang pada robot 4.  Seperangkat  downloader  ATmega128L  dan program  code  vision  avr  dengan  konfigurasi sistem yang terdapat pada bab 3. 5.  Flashkan Program berikut ke Atmega 128L void majuv_r(unsigned int kapwm) { r_rem = on; r_start = on; r_arah_putar = r_maju; pwmka=kapwm; pwmka=pwmka+256; }
void majuv_l(unsigned int kipwm) { l_rem = on; l_start = on; l_arah_putar = l_maju; pwmki=kipwm; pwmka=pwmki+256; } void  majuv(unsigned  int  kapwm,  unsigned  int kipwm) { r_rem = on; l_rem = on; r_start = on; l_start = on; r_arah_putar = r_maju; l_arah_putar = l_maju; pwmka=kapwm; pwmki=kipwm; } void mundurv_r(unsigned char kapwm) { r_start = on; r_arah_putar = r_mundur; r_rem = on; pwmka=kapwm; } void mundurv_l(unsigned char kipwm) { l_start = on; l_arah_putar = l_mundur; l_rem = on; pwmki=kipwm; } void  mundurv(unsigned  char  kapwm,  unsigned char kipwm) { r_start = on; l_start = on; r_arah_putar = r_mundur; l_arah_putar = l_mundur; r_rem = on; l_rem = on; pwmka=kapwm; pwmki=kipwm; } while (putaranka<1350) { majuv(200,200); }; remv(50);
Persiapan :
Minimum sistem Low Pass Filter Motor Vexta Driver Motor
Vexta
Gambar 4.3  Blok Diagram Pengujian PWM Motor 1.  Merangkai sistem sesuai dengan blok diagram 2.  Mensetting dan mengetik program 3.  Mendownload program
4.  Mengubah  nilai  PWM  untuk  masing-masing motor sesuai table.
5.  Jalankan robot dan amati arah gerak robot
Tabel 4.3 Pengujian PWM Driver Motor PWM Motor Kiri PWM Motor Kanan r/min Arah Gerak Robot 200 (72.9 µs) 200(72.9 µs) 145.7785 Serong Kiri 195(71.1 µs) 142.1785 Serong Kiri 190(69.3µs)  138.5785 Lurus 185(67.5 µs) 134.9785 Serong Kanan 180(65.6 µs) 131.1785 Serong Kanan 175(63.8 µs) 127.5785 Serong Kanan 170(62 µs) 123.9785 Serong Kanan 165(60.1 µs) 120.1785 Belok Kanan 160(58.3 µs) 116.5785 Belok Kanan 155(56.5 µs) 112.9785 Belok Kanan 150(54.7 µs) 109.3785 Belok Kanan
Hasil dan Analisa:
Dari  tabel  di  atas  dapat  diketahui  berapakah perbandingan  PWM  antara  motor  kanan  dan motor kiri untuk mendapatkan arah  gerak robot yang  lurus,  yaitu  190  untuk  PWM  motor  kanan dan  200  untuk  PWM  motor  kiri  sehingga perbandingan PWM antara motor kanan dan kiri adalah  20:19.  Dengan  mengubah  nilai  angka desimal  pada  source  code  bagian  majuv  (kanan, kiri),yang  mana  setting  clock  pwm  10.800  khz sehingga dapat diketahui berapa lama Ton pulsa yang  diberikan  kepada  motor  dengan  cara menkonversi  nilai  pwm  ke  Ton  yaitu Ton=(pwm/255)*Ttotal,  yang  mana  Ttotal sendiri diperoleh dari rumus Ttot=1/f, sedangkan untuk  rpm(radian  per-menit)  diperoleh  dengan rumus pada motor vexta yang terdapat pada bab dua yang mana Motor speed = (speed output/30) *  60  .  Maka  hasil  pengujian  didapatkan kesimpulan  bahwa  motor  kanan  lebih  cepat putarannya  banding  motor  kiri  sehingga  untuk mendapatkan arah gerak motor yang lurus maka nilai PWM motor kanan dikurangi.
Perlu  diperhatikan  bahwa  perbedaan  berat  dari sisi  kanan  dan  sisi  kiri  robot  sangat mempengaruhi putaran masing-masing motor.

## Pengujian Sistem Keseluruhan
Pengujian  sistem  merupakan  pengujian dengan  menggabungakan  seluruh  sistem,  baik hardware,  mekanik  maupun  program  di  PC  dan dilakukan  beberapa  kali  dengan  cahaya  yang normal  tidak  terlalu  terang  dan  tidak  terlalu gelap.  Diambil  cahaya  normal  karena,  ketika dilakukan pengujian posisi dan jarak pada cahaya biasa  memiliki  tingkat  keberhasilan  yang  lebih tinggi.  Robot  dijalankan  dari  posisi  start  apakah robot  dapat  melakukan  tugas-tugasnya.  Dalam hal  ini  robot  dapat  tepat  mengambil  bunga  dan meletakan  bunga  pada  tiang  bunga  secara otomatis  dengan  mengikuti  garis  warna  putih pada  lapangan  dan  pembacaan  percabangan. Adapun  rute  yang  diambil  oleh  robot  adalah sebagai berikut :

## Gambar  4.4    Arena  Pengujian  tingkat keberhasilan Proses Robot
Arah  gerak  robot  sendiri  dalam  pengambilan bunga  dan  peletakannya  adalah  sesuai  dengan strategi  yang  digunakan  seperti  pembahasan pada flowchart bab 3.
Pada  pengujian  sistem  secara  keseluruhan  ini, diketahui  kemampuan  robot  dalam  menjalankan tugas yaitu mengambil bunga dan memindahkan bunga ke tiang bunga. Dimana pengambilan data dilakukan  dengan  tracking  garis  putih  dan percabangan  pada  lapangan  yang  mana  jarak antara  tiang  dan  letak  bunga  tidak  lebih  dari  50 centi meter, semua itu dilakukan untuk berhenti pada  setiap  percabangan  yang  tepat  pada  tiang objek. Hasil dari pengambilan data dari garis dan percabangan  pada  tiap-tiap  track  akan  diterima robot  kemudian  robot  akan  bergerak  sesuai dengan  perintah  dari  data  sensor,  Dalam  hal  ini terdapat  dua  inputan  yaitu  inputan  dari  sensor photodioda  dan  rotary  encoder  dari  motor. sensor memberikan inputan pada mikrokontroler dan  mikrokontroler  memberikan  inputan  pada driver untuk mengerakan robot. Robot akan terus bergerak  ke  arah  yang  diintruksikan  sampai
robot  mendapat  data  input  yang  baru  jika  tidak mendapat data input baru maka robot akan terus bergerak sesuai dengan perintah pada saat itu.
Tabel  4.4  Data  Pengujian  Tingkat  Keberhasilan Robot target pengujia n Strat egi 1 Strat egi 2 Strat egi 3 Strate gi4 Strat egi 5 1 √ √ √ √ √ 2 X √ X √ √ 3 √ X √ X √ 4 X X √ √ √ 5 √ √ X X √ 6 √ √ √ √ √ 7 √ √ √ √ X 8 √ √ √ X √ 9 √ √ √ √ √ 10 √ X X √ √ Error 20% 30% 30% 30% 10% Rata- rata Error Rata-rata Error Robot = 24 % Rata- rata Keberha
silan
Rata-rata Keberhasilan Robot = 76 % Keterangan : √  (tepat sasaran)
X  (tidak tepat sasaran)
Hasil dan Analisa:
Pada pengujian kali ini didapatkan data- data  seperti  pada    Tabel  4.4,  dimana  dalam pengujian  sebanyak  10  kali  robot  memiliki  rata- rata  error  sebesar  24%  atau  tingkat  rata-rata keberhasilan  sebesar  76%  Dari  tabel  masih terdapat  beberapa  kegagalan  robot  dalam menjalankan tugas. Hal tersebut dipengaruhi oleh beberapa faktor antara lain:
1.  Kecepatan  respon  sensor  dalam  mengambil data  pada  garis,  dimana  semakin  dekat  sensor dengan  garis  maka  proses  pengambilan  datapun cepat, akan tetapi Hal itu membuat setiap proses pengolahan data menjadi lambat dan robot sering sedikit terlambat dalam merespon dan perubahan posisi robot terhadap target sehingga gerak  robot  menjadi  tidak  real  time,  serta berpengaruh pada tingkat keakuratan robot saat tracking  lapangan  serta  mendeteksi  adanya obyek. Akibatnya terkadang limit tidak merespond  serta  sensor  ultrasonic  tidak  tepat mendeteksi  adanya  obyek  sehingga  proses pengambilan bunga menjadi gagal.
2.  Bentuk mekanik robot yang kurang sempurna sehingga mengakibatkan beban motor kanan dan kiri  tidak  sama  sehingga  berakibat  pada pergerakan  robot  menggunakan  pwm  kurang proposional.
3.  Delay yang dibutuhkan oleh  sensor ultrasonic robot  untuk  mendeteksi  adanya  obyek  juga sangat  berpengaruh,  jadi  ketika  robot  otomatis satu  bergerak  cepat  menaruh  obyek  ketiang flower  maka robot otomatis dua pun akan cepat merespon  untuk  mengambil  obyek  tersebut sehingga waktu delay akan sedikit.
4.  Bentuk  mekanik  dari  penampang  pengambil bunga  yang  kurang  presisi.  Sehingga  apabila bunga  tidak  berada  tepat  pada  penampang,  dari titik tengah penopang tiang dan limit maka robot sering  mengalami  kegagalan  dalam  menyusun bunga  bunga,  karena  lebar  penampang  adalah

## PENUTUP Kesimpulan
1.  Konfigurasi  PWM  didapat  dengan  mengatur timer  pada  mikrokontroller  dengan  melakukan konversi  8  bit  Mode  Fast  PWM  kedesimal sehingga diperoleh angka 0 – 255.
2.  Dengan  frequensi  pwm  10.800KHz  diperoleh Ttotal  =93µs  sehingga  ketika  pwm  penuh  255 lama waktu Ton = Ttotal.
3.  Berat  mekanik  sebelah  kanan  dan  kiri  tidak sama  sehinga  mengakibatkan  robot  tidak  dapat bergerak  lurus  ketika  diset  untuk  kecepatan tinggi.
4.  Pembacaan sensor photodiode terhadap garis pada  track  degan  menggunakan  fasilitas  analog digital  converter  pada  mikro  sangat  bagus apabila  diimbangi  dengan  bentuk  track  yang tidak  bergelombang  sehingga  data  antar  sensor sama. 5.  Pemilihan mikrokontroller disesuaikan dengan  port  yang  dibutuhkan  agar  pemrosesan eksekusi intruksi bisa terpusat dan lebih cepat. 6.  Model  kontrol  motor  menggunakan  pwm sangat  bagus  untuk  mobile  robot  karena kecepatannya  bisa  di  kontrol  dengan  baik sehingga  robot  dapat  bergerak  sesuai  dengan instruksi kita.

## Saran
Saran untuk pengembangan lebih lanjut pada sistem robot ini adalah :
1.  Untuk  pergerakan,  tidak  lagi  menggunakan roda  tapi  menggunakan  kaki  dan  untuk  lengan menggunakan  arm  robot  sehingga  robot  bisa bergerak  lebih  leluasa  dalam  menjalankan tugasnya.
2.  Setiap motor yang ada pada robot hendaknya menggunakan  motor  yang  sama  dan  baru sehingga kesamaan putaran motor lebih terjamin serta  akurasi  sensor  yang  digunakan  lebih terjamin.
3.  Keseimbangan mekanik harus diperhitungkan secara  sistematis,  sehingga  robot  mampu bergerak  lurus  ketika  robot  diset  dengan kecepatan tinggi.
4.  Sebaiknya  mikrokontroller  yang  digunakan versi  terbaru  seperti  atmega  1280,  yang  mana sesuai dengan banyaknya port yang dibutuhkan. 5.  Kerjasama  antar  robot  baik  robot  otomatis maupun  robot  manual  kurang  bagus  sehingga delay yang dibutuhkan untuk mendeteksi adanya obyek  dan  penaruhan  joss  stick  oleh  robot manual cukup lama.

## DAFTAR PUSTAKA
1. Petruzella,  Frank  D.  Elektronik  Industri,  PT Andi Offset, Yogyakarta, 1996.
2. Pitowarno.  Endra,  Robotika  Desain  Kontrol dan  Kecerdasan  Buatan,  Andi  Offset, Yogyakarta, 2006.
3. Saputro, Rejeki Agung, Robot Sumo, Politeknik Elektronika Negeri Surabaya – ITS, Surabaya, 2006
4. Nurcholis, Muhammad Nur, Strategi Pemilihan  Jalur  Perjalanan  Terdekat  Robot
Slave  Pada  Robot  Pemadam  Api  Krci  2007, Politeknik Elektronika Negeri Surabaya – ITS, Surabaya, 2007
5. Prabowo,  Brilliant  Adhi,  Pemodelan  Sistem Kontrol Motor DC dengan Temperatur Udara sebagai Pemicu, Pusat Penelitian Informatika, LIPI, 2009.
6. Aprilianto,  Tria,  Rancang  Bangun  Robot Garuda  5  Untuk  Kontes  Robot  Cerdas Indonesia (Krci) Expert Battle 2010, Sekolah
Tinggi Manajemen Informatika dan
Komputer, Malang, 2010
7. Atmel Corperation, 8 bit AVR Mikrokontroller With  2K  bytes  in  system  Programble  AT tiny2313, ATMEL, 2010.
8. Atmel Corporation, 8 bit AVR Mikrokontroller With 128K bytes in system Programble flash ATMega 128L, ATMEL, 2011
9. Paralax, Davantec SRF04, 2003