Header Navigation

Thursday, July 25, 2013

Servo Motor Bagian-2: Formulasi Pengaturan Motor Servo Menggunakan Mode Fast PWM Mikrokontroller ATmega8535

Pada tulisan sebelumnya sudah dibahas tentang karakteristik dan konstruksi dari sebuah motor servo. Pada tulisan ini akan dibahas bagaimana menentukan formulasi untuk mengatur posisi rotor (sudut putar) dengan memanfaatkan karakteristik dari motor servo tersebut. Pada tahap ini hanya dilakukan sampai tahap pencarian formulasi. Dan akan dijelsakan parameter-parameter penting yang digunakan

Motor servo yang digunakan dalam tutorial ini adalah jenis motor servo hitec type HS-422. Adapun proses dalam mengatur sebuah putaran motor servo ada dua tahap yang perlu dilakukan adalah: 1. Mengetahui pulsa minimum untuk sudut -90 derajat, dan mencari besar lebar pulsa minimum untuk sudut +90 derajat. 2. Mencari nilai regresi yaitu berupa persamaan linear bertujuan meng-generate sebuah formulasi nilai sudut yang dibentuk sehingga menghasilkan lebar pulsa tertentu sesuai dengan nilai sudut yang dibutuhkan.




1. Pencarian Lebar Pulsa
Pencarian lebar pulsa ini bertujuan untuk mengetahui kondisi pulsa yang mengatur kondisi putaran rotor. Dalam mencari lebar pulsa, ada dua teknik yang biasanya saya lakukan yaitu teknik secara ilmiah dan teknologi dan teknik secara trial and error. Dalam tulisan ini yang lebih ditonjolkan adalah cara teoritis dimana menggunakan alat ukur untuk mencari lebar pulsa tersebut..


Gambar 1. Konfigurasi Alat untuk Mencari Lebar Pulsa yang Mengontrol Sudut Rotor Motor Servo

sebuah signal generator diset untuk menghasilkan sinyal pulsa dengan periode pulsa sebesar 20 milidetik. Untuk mendapatkan pulsa 20 mildetik  maka frekuensi pada signal generator harus di-set sebesar f = 1/(20*10^-3) Hz. Dan lebar pulsa ditentukan memanfaatkan duty cycle yang di-set pada perangkat signal generator. Berdasarkan tulisan sebelumnya, bahwa posisi netral untuk semua type motor servo adalah 1,5 milidetik. Maka duty cycle di-set hingga terbaca pada alat ukur oscilloscope lebar pulsa sebesar 1,5 milidetik.

Untuk lebih Jelasnya akan dilihat pada video berikut ini.

Video 1. Video Pencarian Pulsa untuk Mengontrol Motor Servo

Setelah didapat nilai lebar pulsa maksimum untuk sudut +90 dan nilai lebar pulsa minimum untuk sudut -90. Maka dicarilah rumus persamaan T(B). Hal ini bertujuan untuk mencari besar nilai counter yang dibutuhkan dalam membentuk sudut B motor servo. Dalam perumusan T(B) ini memanfaatkan formulasi persamaan garis lurus, hal ini dikarenakan nilai lebar pulsa T(B) linear terhadap nilai sudut B derajat. Adapun rumus persamaan linear

.................................................................(1)
Apabila penggunaan rumus persamaan linear ini disesuaikan dengan permasalahan mencari lebar pulsa untuk mendapat sudut B, maka akan didapat sebuah persamaan 2 :

..............................................(2)

2. Membuat Formulasi.
Setelah menemukan parameter nilai lebar pulsa minimum untuk sudut -90 derajat dan nilai lebar pulsa maksimum untuk membentuk sudut +90. Kita membuatkan formulasi sesuai dengan spesifikasi motor servo dan metode membuat PWM yang digunakan pada Mokrokontroller ATmega. Motor servo adalah sebuah motor dengan sistem closed feedback di mana posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo [1].

Perlu diketahui yaitu:
  1. Pulsa cycle suatu motor servo adalah 50 Hz. Sehingga dalam satu putaran dia membutuhkan lebar pulsa sebesar 20 milidetik. [2]
  2. Karena arsitektur yang sudah bersifat RSIC (Reduce Instruction Set Computing), untuk mengeksekusi satu perintah dalam sebuah mikrokotroller sebesar satu siklus clock. [3]
  3. Ada nilai prescale, nilai prescale ini adalah faktor yang mempengaruhi pencacahan counter pulsa. Nilai prescale factor: 1, 8, 64, 256, or 1024 [3]
  4. Pada mode Fast PWM counter akan terus dicacah sampai nilai max kemudian di-clear ketika sudah mencapai nilai maksimum.[3]
Gambar 2. Fast PWM (FPWM) Timing Diagram [3]

Perhitungan nilai counter FPWM terdiri dari beberapa parameter penting yang perlu diketahui. Parameter-parameter itu antara lain:
  • Nilai TOP FPWM, nilai ini bertujuan untuk mengetahui pencacahan maksimal dari PWM yang dibuat. (Nilai TOP ini akan dimasukkan pada saat meng-generate source code program sinyal PWM pada mikrokontroller ATmega yang akan dibahas pada tulisan selanjutnya)
 .......................................................................... (3)
    • fosc adalah besar Frekuensi Clock External [Pada penelitian ini digunakan 11.0592 MHz]
    • fpwm adalah frekuensi PWM [Lebar Periode Pulsa PWM sebesar 20 milidetik sehingga frekuensinya adalah 50 Hz]
    • N adalah nilai prescale factor [Pada penelitian ini digunakan nilai prescale 8, karena menurut saya makin kecil nilai prescalenya maka makin presisi dalam membuat pulsa PWM untuk membentuk sudut rotor servo yang diinginkan]
Setelah beberapa parameter diketahui maka nilai TOP bisa ditentukan dengan rumus:

.......................................................................... (4)
  • Nilai Tclock, Setelah menentukan nilai TOP, parameter yang penting lainnya adalah Tclock, Tclock ini adalah waktu satu siklus untuk membentuk periode pulsa PWM, menentukan Tclock ini dengan men-normalisasikan frekuensi clock external mikrokontroller terhadap nilai prescale factor (N) yang digunakan. 
...................................................................................... (5)

Untuk mencari Tclock dengan memanfaat teori bahwa "Frekuensi berbanding terbalik dengan Perioda". Dengan formulasi rumus:

.................................................................................... (6)

Dari persamaan 5 dan 6 maka rumus Tclock dapat diturunkan menjadi formula 7, formula 7 ini dapat digunakan dengan ketentuan bahwa frekuensi crystal external mikrokontroller diketahui nilai besarannya.

 ........................................................................................ (7)
  • Nilai C(B), adalah nilai counter dari sudut B. Maksudnya adalah nilai perulangan yang dibutuhkan sehingga  tercipta sebuah lebar pulsa, dimana lebar pulsa ini dapat membentuk sudut rotor servo sebesar B derajat [4]. Dalam perumusan C(B) ini ada parameter T(B). (Parameter T(B) Ini adalah sebuah persamaan linear yang didapatkan dari pencarian lebar pulsa minimum untuk sudut -90 dan pencarian pulsa maksimum untuk sudut +90, yang memanfaatkan rumus persamaan garis lurus.). Adapun persamaan rumus C(B), adalah:
................................................................................(8)

Dengan demikian, rumus untuk menghitung besar nilai counter C(B) untuk membuat Pulsa PWM dengan lebar pulsa sebesar T(B) dan diharapkan mampu menggerakkan rotor motor servo sebesar B derajat yaitu:

..........................................(9)

Dan perlu diingat bahwa rumus ini berlaku pada beberapa kondisi diantaranya: 1. Menggunakan FPWM, 2. Menggunakan mikrokontroller jenis ATmega.

Untuk tulisan selanjutnya, akan dibahas bagaimana membuat sebuah program untuk menggerakkan posisi rotor motor servo pada mikrokontroller ATmega8535 sesuai sudut yang diinginkan.

Sumber:
[1] wangready.wordpress.com/2012/12/30/kendali-motor-servomenggunakan-pwm-dari-timer/ [tanggal akses 13 Februari 2013]
[2] www.servodatabase.com/servo/hitec/hs-422 [Tanggal Akses : 19 Juli 2013]
[3] ATMEL .2011, AVR ATmega8 datasheet. Atmel Corporation
[4] Achyar Nur Andi.2013. Implementasi dan Analisis Sistem kontrol Tracking Polarisasi DVB-S/C-Band Frek 3,4-4,2 GHz. Tugas Akhir IT Telkom

No comments:

Post a Comment