Pengenalan Motor Servo
Senin, 15 Februari 2010
Bismillahirrahmanirrahim...
Dalam dunia robotika, tentu kita tidak asing mendengar istilah motor servo, Motor servo atau lebih singkat di sebut Servo adalah Sebuah alat yang terdiri dari Motor DC, Gear Box dan Driver control yang terpadu menjadi satu. Itu sebabnya banyak yang menggunakan tipe motor ini untuk pembuatan robot berkaki atau sejenisnya.
Di pasaran ada berbagai macam tipe servo, namun yang umum di jumpai adalah tipe servo 1800 dan 3600 (Continues rotation) Berdasarkan Dari Putaran Sudutnya, Sedangkan berdasarkan Dari tipe signal yang di gunakan, terdapat servo analog dan servo digital.
Well, pada pembahasan kali ini kita hanya akan membahas servo tipe Analog dengan putaran sudut 1800. Tidak susah mengendalikan Servo tipe ini, yang perlu di perhatikan pada bagian Output terdapat 3 Kabel, yang masing-masing berfungsi sebagai:
1. Tegangan 5-6V
2. Ground
3. Signal Input
Sedangkan warna dari masing-masing kabel bergantung pada merek servo tersebut, Beberapa di antaranya terlihat pada gambar di bawah ini:
Cara yang paling mudah untuk menentukan posisi kabel signal adalah dengang mengingat Kabel Merah adalah (+), Kabel Hitam adalah (-), Warna lain selain Merah dan hitam adalah kabel signal.
Untuk dapat melakukan controling pada servo, kabel signal di sambung langsung pada Salah satu port Mikrocontroller, dan di set sebagai Output. kemudian servo di beri suplay 5-6V. Sedangkan nilai sinyal yang di kirm dan sudut yang di hasilkan terlihat seperti berikut:
Berikut contoh program sederhana untuk mengontrol sebuah motor servo Menggunakan CodeVisonAVR:
Silahkan Klik gambar untuk Memperbesar, Pada program menggunakan Mikrokontroller atmega8535, dengan Kristal 11,059200Mhz dan PortD.0 sebagai Output signal ke Servo yang ingin di kontrol. Terdapat 2 buah fungsi yaitu putar_90(); Dan putar_180();
pada fungsi putar_90() fungsi terjadi perulangan dan di dalam perulangan terjadi:
servo = 1;
delay_us (1500);
Berarti PortD.0 Berlogika 1 selama 1500 uS. Lalu kemudian,
servo = 0;
delay_us (8100);
PortD.0 Berlogika 0 selama 8100 uS Hal ini terjadi sebanyak 50X Sehingga, membuat Gelombang signal yang selanjutnya di kirim ke Servo. Ilustrasi gelombang yang di kirim ke servo seperti ini:
Begitu juga yang terjadi pada fungsi putar_180(), hanya lebar gelombangnya yang berubah. bila anda meggunakan program di atas, kemudian posisi sudut servo berubah dari 90 ke 180 bergantian tiap 3 detik, maka anda sudah berhasil mengontrol servo. Semoga bermanfaat.
No comments:
Post a Comment