## PERANCANGAN    ROBOT  HUMANOID  BERBASIS MIKROKONTROLER ATMEGA 32
Sopian Soim, Bahri Joni, Junaidi, Faisal Damsi Staf Pengajar Jurusan Teknik Elektro Politeknik Negeri Sriwijaya Jl. Srijaya Negara Bukit Besar Palembang 30139 e-mail : sopiansoim140371@gmail.com

## ABSTRAK
Robot  adalah  sebuah  alat  mekanik  yang  dapat  melakukan  tugas  fisik,  baik  menggunakan pengawasan  dan  kontrol  manusia,  ataupun  menggunakan  program  yang  telah  didefinisikan  terlebih dulu. Robot humanoid adalah robot yang mempunyai karakteristik menyerupai manusia. Perancangan suatu  robot  humanoid  yang  memiliki  kemampuan  bergerak  seperti  manusia  dan  menjaga keseimbangan. Pada perancangan robot ini manggunakan  mikrokontroler ATmega 32 sebagai sistem kontrol pergerakan robot,  motor servo yang terletak disetiap persendian kaki untuk pergerakan robot dan untuk posisi robot berdiri ketika jatuh menggunakan sensor gyro. Robot ini memiliki kemampuan berjalan kedepan, belok kesamping kiri dan juga kekanan yang dikontrol oleh mikrokontroler ATmega 32.  Pada  prinsipnya,  robot  humanoid  yang  dirancang    hanya  robot  dapat  berjalan  dan  menjaga keseimbangannya namun dalam penelitian ini robot dapat berjalan dengan pengontrol masing-masing sudut dari motor servo dan robot berdiri ketika jatuh parameternya posisi kemiringan dari badan robot terhadap referensi sumbu X dan sumbu Y.
Kata kunci : Robot  Hummanoid, Mikrokontroler, motor servo,

## PENDAHULUAN
Kemajuan teknologi  semakin  berkembang  sangat  pesat  pada  kehidupan  manusia pada  saat  ini, khususnya  pada  bidang  elektronika.  Hal  ini  ditandai  dengan  adanya  berbagai  peralatan  yang diciptakan  dan  dapat  dioperasikan  secara  manual  maupun  otomatis.  Karena  kemajuan  teknologi  ini maka  berkembanglah  suatu  ilmu  yang  merupakan  suatu  pecahan  dari  ilmu  elektronika  yaitu  bidang robotika. Robot dapat diartikan suatu peralatan yang dioperasikan dengan atau tanpa bantuan manusia atau  dengan  kata  lain  bahwa  robot  merupakan  suatu  perangkat  otomatis.  Saat  ini  robot  banyak digunakan dalam  bidang industri otomotif dan penyolderan  alat  elektronik,  bahkan dalam beberapa tahun  belakang  ini  diadakan  suatu  kontes  atau  perlombaan  robot  yang  bertujuan  untuk  mengenal maupun  memperluas  ilmu  pengetahuan  khususnya  dalam  bidang  ilmu  robotika  seperti  kontes  robot yang diadakan di Indonesia yang berhubungan dengan robot sepak bola yang dimainkan oleh 3 robot yang masing-masing sebagai penjaga gawang, back dam penyerang.
Robot  sepak  bola  adalah  sebuah  robot  yang  mirip  menyerupai  manusia  di  mana  robot  dapat berjalan mengetahui lingkungannya dengan sebuah kamera sebagai matanya.   Robot sepak bola selalu dilengkapi dengan sebuah kamera, akselerator dan kompas untuk melakukan navigasi.
Permasalahan  pada  penelitian  ini  bagaimana  merancang  suatu  robot  humanoid    dengan mengatur  sudut  masing-masing  motor  servo,  torsi  dari  motor  servo  sesuai  dengan  berat  robot, pengendalian  motor  servo    masing-masing  sudut  dan  posisi  kemiringan  sudut  robot  dengan mikrokontroler. Kemudian tujuan penelitian ini adalah pengembangan robot humanoid menjadi  robot sepak bola, membuat perubahan pergerakan  robot  sepak bola untuk berdiri, menjaga keseimbangan robot humanoid  dalam  pegerakan  (navigasi)  serta  pengendalian  menggunakan  mikrokontroler ATMega 128. Dari penelitian ini diharapkan dapat digunakan sebagai dasar dalam  pembuatan   robot humanoid.

## TINJAUAN PUSTAKA
Motor Direct Current Servo
Motor Direct Current Servo adalah sebuah motor dengan sistem umpan balik tertutup di mana posisi  dari  motor  akan  diinformasikan  kembali  ke  rangkaian  kontrol  yang  ada  di  dalam  motor DC servo . Karena motor DC servo merupakan alat untuk mengubah energi listrik menjadi energi mekanik, maka magnit permanent motor servo yang mengubah energi listrik ke dalam energi mekanik melalui interaksi  dari  dua  medan  magnit.  Salah  satu  medan  dihasilkan  oleh  magnit  permanent  dan  yang satunya dihasilkan oleh arus yang mengalir dalam kumparan motor. Resultan dari dua medan magnit tersebut  menghasilkan  torsi  yang  membangkitkan  putaran  motor  tersebut.  Saat  motor  berputar,  arus pada kumparan motor menghasilkan torsi yang nilainya konstan .
Gambar 1. Motor DC  Servo
Gambar 2. Konstruksi motor DC  servo
Pulsa Width Modulation (PWM)
Pulsa  Width  Modulation (PWM)  adalah  bekerja  sebagai switching power  supply untuk mengontrol on dan off motor.  Tegangan DC dikonversikan menjadi sinyal kotak bolak-balik, saat on mendekati tegangan puncak dan saat off menjadi nol (0). Jika frekwensi switching cukup tinggi maka motor  yang  dikendalikan  akan  jalan  sebagaimana  mestinya.  Dengan  mengatur duty  cycle dari  sinyal (modulasi  lebar  pulsa  dari  sinyal  yang  disebabkan  oleh  PWM).    Analogi  dari  PWM  tersebut  makin besar logic 1 dibandingkan logic 0 maka tegangan tersebut mendekati tegangan sumbernya atau catu daya.  Terlihat  pada  gambar  2  dibawah  ini  sinyal  ref  (tegangan  referensi)  adalah  sinyal  tegagan  DC yang dikonversikan oleh sinyal gergaji yang menghasilkan kotak (Lingga, 2006:25).
Gambar 3. Output Pulsa Width Modulation (Lingga, 2006:25)
Gambar 4. Output Pulsa Width Modulation d engan Tegangan Referensi dan Pembangkit Tegangan Segitiga  (Lingga, 2006:26)
Pengendalian  motor DC  servo menggunakan Pulsa  Width  Modulation yaitu  dengan  pin input motor DC  servo memberikan logic 0 selama  1 ms selanjutnya  perubahan logic 1-0  selama  18  ms dengan sudut putar 90 0 ke kanan seperti gambar 5.
Gambar 5. Pengendalian Motor Servo DC ke arah Kanan (Lingga, 2006:22)
Pengendalian  motor DC  servo menggunakan Pulsa  Width  Modulation yaitu  dengan  pin input motor DC  servo memberikan logic 0 selama  2 ms selanjutnya  perubahan logic 1-0  selama  18  ms dengan sudut putar 90 0 kekiri seperti  gambar.
Gambar 5. Pengendalian Motor Servo DC ke arah Kiri (Lingga, 2006:22)
Pengendalian motor DC servo menggunakan Pulsa Width Modulation yaitu dengan pin input motor DC servo memberikan logic 0 selama 1,5 ms selanjutnya perubahan logic 1-0 selama 18 ms dengan sudut putar 0 0 seperti  gambar 6.
Gambar 6. Pengendalian Motor Servo DC Ke arah Tengah (Lingga, 2006:22)

## Modul SD21
Modul  SD21  adalah  kontrol  motor servo dengan  21  saluran  (21  motor servo ).  Modul  SD21 dapat  mempertahankan  laju  arus  20  ms    hingga  21  RC  servo,    terlepas  dari  jumlah servo yang digunakan  atau  posisi    lebar  pulsa.  Modul  SD21  akan  mengontrol    posisi  dan  kecepatan servo ini menggunakan komunikasi  bus I2C ( Inter Integrated Circuit ).
Ada tiga register internal terkait dengan masing-masing 21 servo itu. Kecepatan dan byte rendah / byte tinggi dari posisi.

## Gambar 7. Modul SD 21 (Muliady, 2012:30)

## Mikrokontroler ATMega 32
Mikrokontroler merupakan keseluruhan sistem komputer yang dikemas menjadi sebuah chip di mana  di  dalamnya  sudah  terdapat  mikroprosesor,  I/O  pendukung,  memori  bahkan  ADC  yang mempunyai  satu  atau  beberapa  tugas  yang  spesifik,  berbeda  dengan  mikroprosesor  yang  berfungsi sebagai pemproses data. Mikrokontroler dapat disebut sebagai “one chip solution” karena terdiri   dari (Heryanto, 2008) :
- CPU (Central Processing Unit)
- RAM (Random Acces Memory)
- EPROM/PROM/ROM (Erasable Programmable Read Only Memory)
- I/O (Input/Output) – serial dan parallel
- Timer
- Interupt Controller
- Pulse Width Modulation
Mikrokontroler  AVR (Alf  and  Vegard’s  Risc  processor) memiliki  arsitektur  8  bit,  di  mana semua  instruksi  dikemas  dalam  kode  16-bit  (16-bit word) dan  sebagian  besar  instruksi  dieksekusi dalam 1 (satu) siklus clock atau dikemas dengan teknologi Reduced Instruction Set Computing (RISC) , berbeda  dengan  instruksi  MCS51  yang  membutuhkan  12  siklus clock atau  dikenal  dengan  teknologi CISC (Complex  Instruction  Set  Computing). Secara  umum,  AVR  dapat  dikelompokkan  ke  dalam  4 kelas,  yaitu  keluarga  ATtiny,  keluarga  AT90Sxx,  keluarga  ATMega  dan  AT86RFxx.  (Lingga, 2006:35).

## Sensor MPU6050
Sensor    MPU6050  adalah    sensor  mampu  membaca    kemiringan  sudut  ber-dasarkan  data  dari sensor accelerometer dan   sensor gyroscope. Sensor  ini  juga dilengkapi oleh  sensor  suhu yang dapat digunakan  untuk  mengukur  suhu.  Jalur data   yang digunakan pada sensor ini adalah jalur data I2C.
Gambar 9.  Sensor  MPU6050 (Agfianto, 2010:45)

## METODE PENELITIAN
Pada perancangan robot humanoid telah dilakukan pengujian rangkaian.
Gambar 10.  Perancangan Koneksi Mikrokontroler dengan Modul Sensor Gyro dan Modul SD21
Gambar 11.  Robot Sepak Bola  yang  sudah di Implementasikan
Tabel 1. Mikrokontroler  Pengatur Sudut Motor Servo  pada Modul SD21 Berdiri Posisi Servo dan Sudut Langkah Kaki Kiri Posisi Servo dan Sudut Langkah Kaki Kanan Posisi Servo dan Sudut - Posisi 1 dan 1500 - Posisi 2 dan 1800 - Posisi 2 dan 2000 - Posisi 3 dan 800 - Posisi 4 dan 1150 - Posisi 7 dan 1000 - Posisi 8 dan 2200 - Posisi 9 dan 1850 - Posisi 3 dan 1000 - Posisi 4 dan 1350 - Posisi 2 dan 1800 - Posisi 3 dan 1000 - Posisi 4 dan 1350 - Posisi 7 dan 1400 - Posisi 8 dan 1800 - Posisi 9 dan 1450 - Posisi 5 dan 1500 - Posisi 6 dan 1500 - Posisi 2 dan 2000 - Posisi 3  dan 800 - Posisi 4 dan 1150 - Posisi 7 dan 1200 - Posisi 8 dan 2000 - Posisi 9 dan 1650 - Posisi 7 dan 1200 - Posisi 8 dan 2000 - Posisi 2 dan 1800 - Posisi 3 dan 1000 - Posisi 4 dan  1350 - Posisi 7 dan 1400 - Posisi 8 dan 1800 - Posisi 9 dan 1450 - Posisi 9 dan 1650 - Posisi 10 dan 1500 - Posisi 2 dan  2000 - Posisi 3 dan  800 - Posisi 4 dan  1150 - Posisi 7 dan 1200 - Posisi 8 dan 2000 - Posisi 9 dan 1650
Tabel 2. Kemiringan Robot pada Sumbu X
Menggunakan Sensor MPU6050 Kimiringan Robot pada Sumbu X Kondisi Robot 5 ° Robot tidak jatuh 10 ° Robot  jatuh 15 ° Robot jatuh 20 ° Robot jatuh

## HASIL DAN PEMBAHASAN
Pada tabel 1, mikrokontroler  pengatur sudut  motor servo pada modul SD21  untuk pengaturan motor servo agar robot dapat berdiri  dengan mengatur pulsa pada posisi 1 dengan  10  sesuai dengan kolom 1.
Untuk  melangkah  didahulukan  kaki  kiri  pada  robot    dengan    mengatur  pulsa  pada  posisi  1 dengan    10    sesuai  dengan  kolom  2.  Untuk  melangkah  didahulukan  kaki  kanan  pada  robot    dengan mengatur pulsa pada posisi 1 dengan  10  sesuai dengan kolom 3.
Pada  tabel  2,  kemiringan  robot    pada  sumbu  x,  pada  kondisi      robot    kemiringan  ≤  5 ° pada sumbu x robot tidak jatuh sedang bila robot  kemiringan > 5 ° pada sumbu x  robot akan jatuh. Dengan sensor MPU6050 dapat terlihat sudut kemiringan dari robot terhadap sumbu.

## KESIMPULAN
1. Telah  berhasil  dibuat  suatu  sistem  yang  mampu  untuk  mengatur    dan  mempertahankan keseimbangan dari robot humanoid .
2. Sensor  sensor  MPU6050  dapat  digunakan  untuk  memonitor  kemiringan  robot  pada  sumbu  X namun bila mengatur keseimbang bila kimiringan diatas 5 0 dan sumbu Y yang selanjutnya diolah dengan PID Controller untuk mempertahankan keseimbangan robot humanoid .

## DAFTAR PUSTAKA
1. Agfianto, E.P.2010, Mikrokontroler AT89 dan AVR , Gava Media Komputindo, Yogyakarta
2. Heryanto,  A,M.2008,  Pemrograman  Bahasa  C  Untuk  Mikokontroler  ATMEGA  8535,  Andi, Yogyakarta.
3. Lingga,  Wardhana,  2006,  Mikrokontroler  AVR  Seri  ATMega  8535  Simulasi  dan  Aplikasi, Penerbit Andi, Yogyakarta
4. Muliady,  2012,    Robot  Humaoind  Pemain  Bola,  Laporan  Penelitian,  Universitas  Kristen Maranatha Bandung.