Perancangan Sistem Pengendalian Motor Servo Pada Robot Berkaki Memakai Mikrokontroler Pic 16F84
Setiap tahunnya Kontes Robot Indonesia dan Kontes Robot Cerdas Indonesia (KRI/KRCI) diadakan dan dalam ajang KRCI ada beberapa divisi yang dilombakan ibarat robot beroda, robot berkaki, dan expert. Yang menarik dalam hal ini ialah robot berkaki dimana robot-robot yang bertanding untuk sistem pengendalian kaki robotnya banyak yang memakai motor servo, jumlahnya pun tidak sedikit bahkan ada yang memakai duabelas motor servo untuk robot berkaki enam.
Untuk sistem pengendalian motor servo yang jumlahnya banyak umumnya diharapkan servo controller dimana modul ini yang akan mengatur pengiriman alamat dan dukungan data/lebar pulsa pada masing-masing motor servo. Akan tetapi permasalahan yang muncul ketika ini ialah sulitnya mendapat modul servo controller yang harus memesan dari luar negeri dan tentunya harus dibayar dengan biaya yang tinggi dan membutuhkan waktu yang cukup usang untuk mempelajari cara pemasangan dan pemrogramannya.
Untuk mengatasi dilema tersebut kita sanggup menciptakan sendiri modul servo controller dengan memakai mikrokontroler PIC 16F84. Mikrokontroler buatan Microchip ini mempunyai akomodasi yang cukup lengkap untuk mengendalikan banyak motor servo disamping pemrogramannya yang gampang yaitu dengan memakai bahasa pemrograman basic.
Dalam pembuatan modul servo controller ini dibutuhkan dua buah mikrokontroler PIC 16F84 yang terdiri dari mikrokontroler utama yang sanggup mengontrol duabelas motor servo sekaligus dan mikrokontroler bantu yang dipakai untuk mengirimkan alamat dan data/lebar pulsa secara serial (RS232) ke mikrokontroler utama, juga sebagai masukan perintah pengendalian gerakan robot dari mikrokontroler lain yang dilakukan secara pararel (8 bit).
Dalam pembuatan robot berkaki yang memakai banyak motor sevo dibutuhkan suatu modul servo controller untuk mengatur pergerakan robot, akan tetapi modul ini sulit di dapatkan serta harganya yang cukup mahal di pasaran. Dengan keadaan yang ibarat ini sebagai alternatif kita sanggup menciptakan sendiri modul servo controller hanya dengan memakai dua buah mikrokontroller PIC 16F84 ditambah dengan sedikit komponen lainya.
Masalah-masalah yang muncul dalam mengontrol motor servo untuk pengendalian robot berkaki adalah:Sulitnya mendapat modul servo controller, Harga servo controller yang cukup mahal alasannya harus memesan dari luar negeri, Tidak semua mikrokontroler sanggup dipakai sebagai servo controller karena tidak mempunyai akomodasi yang mendukung, Sulitnya penerapan dan pemrograman jikalau memakai mikrokontroler lain serta waktu pembelajaran yang cukup lama.
Tujuan dari pembuatan sistem pengendalian motor servo dengan mikrokontroler PIC 16F84 ini ialah : Sebagai salah satu alternatif untuk sistem pengendalian robot berkaki, Menurunkan biaya pembuatan robot, Memudahkan dalam perancangan dan pemrograman, Memudahkan pencarian komponen dan mengefisiennkan waktu pembuatan.
Pemilihan motor servo standar 180 derajat yang menggerakan persendian kaki pada robot secara vertikal dan horizontal ialah sangat penting untuk memilih kombinasi pergerakan robot, motor harus mempunyai torsi yang cukup besar untuk sanggup menggerakan persendian kaki dan mengimbangi berat keseluruhan robot. Pada rancangan ini kami memakai motor servo Hitec Standart Servo HS-322HD.
Hal paling utama dalam sistem pengontrolan robot berkaki yang sistem pergerakannya memakai motor servo ialah waktu dukungan data/lebar pulsa sinyal PWM pada motor servo dimana robot akan bergerak sesuai dengan posisi perputaran motor servo.
Motor servo yang dipakai yaitu motor servo standar 1800, motor servo jenis ini hanya bisa bergerak dua arah (CW dan CCW) dengan defleksi masing-masing sudut mencapai 900sehingga total defleksi sudut dari kanan – tengah – kiri ialah 1800. Operasional motor servo dikendalikan oleh sebuah pulsa selebar ± 20 ms, dimana lebar pulsa antara 0.5 ms dan 2 ms menyatakan final dari range sudut maksimum. Apabila motor servo diberikan pulsa dengan besar 1.5 ms mencapai gerakan 900, maka bila kita berikan pulsa kurang dari 1.5 ms maka posisi mendekati 00 dan bila kita berikan pulsa lebih dari 1.5 ms maka posisi mendekati 1800.
Motor Servo akan bekerja secara baik jikalau pada bab pin kontrolnya diberikan sinyal PWM dengan frekuensi 50 Hz. Dimana pada ketika sinyal dengan frekuensi 50 Hz tersebut dicapai pada kondisi Ton duty cycle 1.5 ms, maka rotor dari motor akan berhenti sempurna di tengah-tengah (sudut 00/ netral).
Pada saat Ton duty cycledari sinyal yang diberikan kurang dari 1.5 ms, maka rotor akan berputar ke arah kiri dengan membentuk sudut yang besarnya linier terhadap besarnya Ton duty cycle, dan akan bertahan diposisi tersebut. Dan sebaliknya, jika Ton duty cycle dari sinyal yang diberikan lebih dari 1.5 ms, maka rotor akan berputar ke arah kanan dengan membentuk sudut yang linier pula terhadap besarnya Ton duty cycle, dan bertahan diposisi tersebut.
Pengontrolan Motor Servo Vertikal
Sistem ini dipakai untuk mengontrol empat motor servo standar 1800 yang dipasang pada masing-masing kaki robot secara vertikal. Motor servo ini dipakai untuk menarik persendian pada kaki supaya kaki-kaki robot sanggup bergerak/terangkat dari bawah ke atas atau sebaliknya.
Untuk pengontrolan motor servo yang bergerak vertikal 1800, prosesor utama (U1) mengirimkan data/sinyal pulsa (kontinyu) yang lebarnya 1.25 ms selama interval waktu tertentu sehingga sudut yang dicapai motor servo sebesar 00, pada posisi ini keadaan kaki robot masih belum bergerak/terangkat. Setelah itu prosesor utama (U1) akan mengirimkan pulsa yang lebarnya 1.75 ms selama interval waktu tertentu sehingga sudut yang yang dicapai motor servo sebesar 1800, pada posisi ini keadaan kaki robot akan bergerak/terangkat. Dan untuk bergerak menurunkan kaki motor servo harus diberikan pulsa yang lebarnya 1.25 ms.Proses ini akan terus berlangsung sesuai dengan kebutuhan pergerakan robot.
Waktu dukungan pulsa dan posisi motor servo vertikal
Pengontrolan Motor Servo Horizontal
Sistem ini dipakai untuk mengontrol empat motor servo standar 1800 yang dipasang pada masing-masing kaki robot secara horizontal. Motor servo ini dipakai untuk menggerakan kaki robot ke posisi depan 450 dari keadaan 0 dan menggerakan kaki robot ke posisi belakang 450. Dengan pengaturan posisi motor servo ibarat ini maka robot sanggup bergerak sesuai dengan yang diinginkan dengan kombinasi pergerakan motor servo vertikal ibarat berjalan maju, berjalan mundur, berbelok kekiri atau kekanan dan gerakan lainya dengan memperlihatkan sistem pewaktuan sesuai pergerakan keempat kaki robot.
Untuk posisi/keadaan 0 motor servo mendapat data/sinyal pulsa (kontinyu) yang lebarnya 1.5 ms selama interval waktu tertentu sehingga sudut yang yang dicapai motor servo sebesar 900.
Untuk pengontrolan motor servo yang bergerak horizontal 450 ke posisi depan prosesor utama (U1) mengirimkan data/sinyal pulsa yang lebarnya 1.375 ms selama interval waktu tertentu sehingga sudut yang yang dicapai motor servo sebesar 450, pada posisi ini keadaan kaki robot bergerak kedepan. Setelah itu prosesor utama (U1) akan mengirimkan pulsa yang lebarnya 1.625 ms selama interval waktu tertentu sehingga sudut yang yang dicapai motor servo sebesar 450, pada posisi ini keadaan kaki robot akan bergerak ke posisi belakang. Dengan demikian jumlah defleksi sudut yang ditimbulkan dari posisi depan ke posisi belakang ialah 900. Proses pergerakan ini akan terus berlangsung sesuai dengan kebutuhan pergerakan robot.
Waktu dukungan pulsa dan posisi motor servo horizontal
PERANCANGAN SISTEM
Dalam menciptakan modul servo controller ini dibutuhkan komponen-komponen sebagai berikut : 2 buah mikrokontroler PIC 16F84, 2 buah soket IC 18 pin, 2 buah kristal 20 MHz, 4 buah kapasitor 22 pf, 2 buah resistor 10 kΩ, PCB polos, 1 buah konektor 2 pin (supply tegangan), 12 buah konektor 3 pin (ke motor servo), 1 buah konektor 8 pin (input 8 bit), Kabel dan timah secukupnya.
Gambar Rangkaian pengendali motor servo memakai mikrokontroller PIC 16F84 download di BOX File saya.
Untuk menciptakan rancangan ini, hal pertama yang harus dilakukan ialah menciptakan lay out PCB-nya dengan memakai jadwal aplikasi PCB desain contohnya Protel, Diptrace, atau pun jadwal lain lalu cetak balasannya dengan printer selanjutnya transferlah hasil print tadi kedalam PCB polos yang telah dipotong sesuai ukuran lalu larutkan dengan pelarut PCB. Apabila telah selesai pasang komponen-komponennya dengan benar lalu solderlah kaki-kaki komponen dengan memakai timah. Untuk rekan2 yang membutuhkan file lengkapnya http://journal.uii.ac.id/index.php/Snati/article/view/1770. Terimakasih.