--> Skip to main content

Hitungan Timer Interrupt Microcontroller Sebagai Pembangkit Pulsa Pada Pengontrolan Motor Servo

Atas beberapa permintaan dan pertanyaan, maka artikle ini saya tulis untuk melengkapi tutorial motor servo pada posting sebelumnya. disini akan dibahas cara menghitung interrupt timer yang dimanfaatkan sebagai pembangkit pulsa pada pengontrollan Motor Servo. perhatikan angka pada program interrupt dibawah ini terlebih dahulu.
pada bagian angka 867 didapat dai perhitungan rumus berikut ini:

Rumus
A = (1/Crystall) * 255
B = (1/Frequency Motor DC)
Hasilnya = B/A

Jika di hitung menjadi seperti berikut ini alurnya. disini frekuensi motor DC biasanya 50 Hz dengan tegangan yang cukup sehingga memenuhi kebutuhan arus dari motor itusendiri. berikut ini adalah perhitungannya.

A = (1/11059200)* 255
    = (9,04224537037037e-8)*255
    = 2,305772569444444e-5

B = (1/50)
    = 0,02

Hasilnya = B/A
              = 0,02 / 2,305772569444444e-5
              = 867,3882352941176

gimana? udah jelas kan?
sedangkan pada bagian angka dibawahnya adalah sebagai pembatas saja. dikarenakan motor servo hanya membutuhkan pulsa selebar 1ms sampai 2ms maka dibatasi mulai range 22 - 109 (sesuai percobaan).
untuk mendapatkan angka ini cukup dengan memberikan nilai yaitu dengan langkah sebagai berikut

Langkah Pengujian
  1. ganti angka 22 dengan 0 dan 109 dengan 867(maksimum)
  2. lakukan pengontrolan 1 servo saya yang ingin diketahui batasannya
  3. berikan angka pada servo tersebut dan amati pergerakannya.
  4. jika sudah mencapai 180 derajat atau 0 derajat(putaran habis).
  5. lakukan pengurangan atau penambahan untuk mengetahui pergerakan servo apakah jika dikurangi malah berbalik atau sebaliknya.
  6. jika sudah maka lakukan pengurangan atau penambahan sedikit demi sedikit untuk mendapatkan nilai pasti dari posisi itu (180 atau 0 derajat) samapai menurut kita posisi itu adalah sudah cocok. 
  7. catar angkanya dan buat pembatasnya.
Pembatas ini di buat agar saat servo dijalankan tidak terjadi delay dari interrup itu sendiri. jika banyak sekali angka yang tersisa seperti halnya yang digunakan hanya range 22 - 109 maka sisanya akan menjadi delay. sehingga respon robot berkurang alias kurang cepat.
sekian dulu ni. capek banget ngetik dadakan gini tapi tetep baca blog ini ya........!!!! kalian gak bakal tau apa yang akan aq bagi disini so.........lirik sini aklo perlu ikutin terus updatenya di www.digitdude.com.
salam anak pulau.....:-)  

Related Post
  1. Pemrograman-banyak-motor-servo menggunakan interrupt timer ATtiny2313
  2. Pemrograman-satu-motor-servo menggunakan interrupt timer ATtiny2313
  3. Rangkain servo motor controller ATmega8
  4. Smooting Servo motor (menggerakkan motor servo secara smoot)
  5. Motor-servo-mg90-tower-pro-menggunakan ATtiny2313
  6. Blue Arrow 4.3 Gram Micro Servo For Futaba, Hitec, JR, GWS Receivers
  7. 322HD Standard Servo
Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar