Anda di halaman 1dari 6

Kendali Motor Servo (Hobby Servo) menggunakan AVR

Motor servo disebut sistem “umpan-balik tertutup”. Ini berarti motor sudah mempunyai rangkaian kendali, yang meraba bila mekanisma motor dalam lokasi yang diinginkan dan bila tidak dalam lokasi yang diinginkan kesalahan akan dikoreksi secara terus menerus sampai motor mencapai titik yang benar.

Motor servo banyak digunakan dalam robotika, pesawat remote controlled, mobil-mobilan RC. Sehingga bentuk dan ukurannya berbeda-beda, tetpi cara kerjanya hampir sama. Biasanya motor servo dikendalikan oleh komputer, mikrokontroller atau bahkan rangkaian timer yang sederhana. Tentunya Anda dapat mencari servo R/C (Radio Controlled) yang lebih maju. Namun, sama saja hanya servo mengambil signal dari penerima.

Bagaimana cara kerja motor servo

Biasanya motor servo diletakkan dalam kotak plastik, tetapi didalamnya semua sigtem sudah ada: motornya sendiri, roda gigi dan penggerak motor dan unit kendali.

sendiri, roda gigi dan penggerak motor dan unit kendali. Roda gigi mengurangi kecepatan motor tetapi menaikkan

Roda gigi mengurangi kecepatan motor tetapi menaikkan torsi. Seperti dijelaskan diawal bahwa servo bekerja dengan upan bali tertutup. Ini sesungguhnya adalah potensio meter yang dihubungakn ke sumbu mekanik dan meraba sudut putaran. Potensiometer secara langsung menunjukkan sudut putar. Sinyal potentiometer yang menjalankan motor sampai potensiomter sampai motor samapi pada sudut yang diinginkan, lalu logik akan mematikan motor. Servo biasanya dicatu dengan tegangan DC dari 4,8 sampai 7,2 V. Biasanya servo dirancang dengan putara yang terbatas seperti 90 o atau 180 o dan sebagainya. Tentunya motor dapat dimodifikasi untuk

putaran kontinyu. Putaran yang tepat dan gaya yang kuat karena sistem roda gigi membuat sistem servo ideal untuk robotika.

Sinyal kendali Servo Sumbu motor servo diatur posisinya dengan sinyal PWM (pulse width modulated). Sehingga semua motor servo mempunyai tiga kabel (Power, Ground dan Kendali). Pulsa-pulsa dikirim melalui kabel kendali. Biasanya motor servo untuk hobi mempunyai sudut rotasi 90 o diberi sinyal bervariasi antara 1 dan 2ms. Bila pulsa lebih lebar maka putaran akan terus berjalan sampai mencapai batas rotasi mekaniknya.

akan terus berjalan sampai mencapai batas rotasi mekaniknya. Frekuensi dari PWM biasanya dalam daerah 30 sampai

Frekuensi dari PWM biasanya dalam daerah 30 sampai 60Hz (15 – 30 ms) – ini disebut refresh rate. Bila refresh rate terlalu kecil maka ketelitian servo akan berkurang karena akan kehilangan posisinya secara periodik, bila referesh rate terlalu besar, maka servo akan akan bergetar. Penting untuk memilih rate yang optimal sehingga motor servo bisa terkunci diposisinya.

Rangkaian daya dari motor tergantung pada perbedaan antara posisi sekarang dan posisi motor yang diharapkan. Bila perbedaannya kecil maka energi yang diberikan ke motor kecil, sehingga motor tidak overhoot – motor dalam hal ini dijalankan dengan lambat. Tetapi bila perbedaaanya besar, maka motor di putar pada kecepatan penuh yang

membuat posisi baru dapat dicapai dengan secepat mungkin. Bila motor mendekati posisi baru, motor akan melambat agar dapat berhenti pada posisi yang tepat. Proses yang runit ini akan berakhir dalam setengah detik bila berputar sebesar 60 o .

Kendali Servo menggunakan Atmega8

Mari kita lihat contoh kendali motor servo menggunakan Atmega8 dan Timer1 fast PWM. Rangkaianya hanya bagian utama.

Atmega8 dan Timer1 fast PWM. Rangkaianya hanya bagian utama. Bit7 - 6 (COM1A1:0) = Compare Output
Atmega8 dan Timer1 fast PWM. Rangkaianya hanya bagian utama. Bit7 - 6 (COM1A1:0) = Compare Output

Bit7 - 6 (COM1A1:0) = Compare Output untuk channel A

Bit5 - 4 (COM1B1:0) = Compare Output untuk channel B

Bit3 (FOC1A) = Force Output Compare A Bit2 (FOC1B) = Force Output Compare B Bit1-0

Bit3 (FOC1A) = Force Output Compare A

Bit2 (FOC1B) = Force Output Compare B

Bit1-0 (WGM11:0) = Waveform Generation Mode

Bit3 (FOC1A) = Force Output Compare A Bit2 (FOC1B) = Force Output Compare B Bit1-0 (WGM11:0)
Bit 7 – ICNC1: Input Capture Noise Canceler Bit 6 – ICES1: Input Capture Edge

Bit 7 – ICNC1: Input Capture Noise Canceler

Bit 6 – ICES1: Input Capture Edge Select

Bit 5 – Reserved Bit

Bit 4:3 – WGM13:2: Waveform Generation Mode

Bit 2:0 – CS12:0: Clock Select

Waveform Generation Mode Bit 2:0 – CS12:0: Clock Select Pada program ini disetting: TCCR1A = 0b10000010

Pada program ini disetting:

TCCR1A = 0b10000010

COM1A1:0 = 10 -> Clear OC1A on COMPARE MATC, Set OC1A at TOP COM1B1:0 = 00 -> Normal port operation, OC1B not connected

FOC1A

= 0

FOC1B

= 0

WGM11

= 1

WGM10

= 0

TCCR1B = 0b00x11000 ICNC1 = 0 ICES1 = 0 Reserved bit = x WGM13 = 1 WGM12 = 1 CS12 = 0

CS11 = 1 CS10 = 0

Jadi:

WGM13:0 = 1110 -> Mode 14 = Fast PWM, TOP = OCR1, Update OCR1A on TOP, TOV1 Set on TOP

CS2:0 = 010 -> Prescaler = 8 -> Clk / 8

Frekuensi dari Fast PWM adalah:

Prescaler = 8 -> Clk / 8 Frekuensi dari Fast PWM adalah: Bila f c l

Bila f clk = 1000000 Hz, N = 1, ICR1 = 20000, maka f = 50 Hz