servo untuk mengontrol pergerakan motor digunakan metoda PWM Pulse Width Modulation. PWM adalah merupakan suatu metoda untuk mengatur pergerakan
motor dengan cara mengatur prosentase lebar pulsa high terhadap perioda dari suatu sinyal persegi dalam bentuk tegangan periodik yang diberikan ke motor.
Motor servo akan dapat menerima pulsa setiap 20 ms. Panjang dari pulsa akan berpengaruh terhadap perputaran dari motor, sebagai contoh jika panjang
pulsa 1,5 ms, akan membuat motor berputar sebanyak 900, jika lebar pulsa lebih besar dari 1.5 ms, motor akan berputar mendekati 1800 sedangkan jika lebih kecil
dari 1,5 ms motor akan berputar mendekati 00. Motor servo dapat berputar sebanyak 900 sampai 1800, selain itu ada juga yang dapat berputar 3600.
Mikrokontroler ATmega 8535 diprogram sebagai controlled PWM generator. Didalam mikrokontroler ATmega 8535 akan dilakukan pemrosesan data yang
diterima dari prosesor menjadi sinyal persegi yang telah termodulasi lebar pulsanya. PWM_01, PWM_02, PWM_.., dan PWM_12 adalah jalur keluaran
gelombang pulsa, karena arah perputaran motor servo bergantung pada nilai pulsa yang diberikan hanya bergantung pada dua belas output pin ini.
Karena motor servo sudah mempunyai rangkaian driver maka mikrokontroler ATmega 8535 dapat langsung memberikan arus output maksimal
ke motor servo sehingga sinyal PWM yang dihasilkan dapat langsung digunakan untuk mengoperasikan motor agar dapat beroperasi.
2.12.2.1. Menghasilkan sinyal PWM menggunakan Timer di chip ATMega
Ini adalah panduan untuk mengendalikan unhacked servos menggunakan Timer1 pada ATMega8 chip. Penggunaan Timers ATMega128 atau berbeda, teknik-
teknik dan ide-ide dapat dengan mudah diterapkan. Pertama sedikit informasi mengenai pengendalian servo. Servos memiliki tiga input kabel: Merah = Vcc
antara 4.8V dan 6V merupakan standar, Black = Ground, White = PWM. Masukan Servo kontrol dilakukan dengan mengirimkan modulator lebar pulsa
PWM sinyal ke input pin. Servo membandingkan sinyal ke posisi yang sebenarnya dan menyesuaikan servo sesuai. Sirkuit internal diharapkan servo
Universitas Sumatera Utara
PWM 50Hz sinyal konstan a 50 Hz sinyal adalah salah satu yang berulang setiap 20 ms.
1 50 Hz = 20 ms Sinyal akan memberikan servo salah satu yang tinggi 5V untuk 1-2ms dan
rendah 0V untuk remainer dari periode 20ms. Durasi sinyal tinggi menentukan posisi servo upaya untuk mempertahankan. Servo harus terus-menerus menerima
sinyal ini untuk mempertahankan posisinya. 1.0ms = penuh kiri
1.5ms = tengah 2.0ms = penuh kanan
Dengan asumsi menggunakan servo yang memiliki 90 derajat rotasi: penuh kiri = 0 derajat
tengah = 45 derajat penuh kanan = 90 derajat
Berbeda servo memiliki rentang yang berbeda putaran penuh sendiri kiri, tengah, dan hak penuh mungkin sesuai dengan sudut yang berbeda. Mungkin juga
menemukan bahwa dalam rangka untuk mencapai kisaran penuh gerak harus mengirim servo pulsa tinggi lagi yang 2.0ms atau lebih singkat dari 1.0ms.
Fase dan Frekuensi modus Benar: Untuk menghasilkan sinyal 50Hz dengan sinyal yang tinggi yang
bervariasi antara 1-2ms, menggunakan Frekuensi Fase dan modus dari Timer pada ATMega Atmel chip.
Dalam Fase dan Frekuensi modus Benar timer akan dimulai dari nol, menghitung sampai dengan nilai yang ditetapkan pengguna yang disebut ICRn n
adalah nomor timer. Dalam contoh ini, akan menggunakan Timer1 dan dengan demikian ICR1, dan kemudian menghitung kembali ke nol.
Dalam rangka untuk menentukan nilai ICR1, harus mengetahui dua hal: a. Sistem clock speed
b. Timer clock speed Menggunakan papan MDMicro Maveric, itu kemungkinan besar akan 16MHz.
Kecepatan timer ditentukan oleh sistem clock speed dibagi dengan prescaler.
Universitas Sumatera Utara
Prescaler diatur oleh CSn2: 0 bit yang berlokasi di TCCRn register di mana n adalah nomor timer. Sebagai contoh, kecepatan Timer1 diatur oleh bit CS1 yang
berlokasi di TCCR1B. Untuk menghitung bagaimana untuk menghasilkan frekuensi yang
dikehendaki, lembar data yang ATMega menyediakan persamaan ini:
Persamaan ini memberitahu jam sistem berhubungan dengan frekuensi fclk_I O, prescaler N = 1, 8, 64, 256, atau 1024, ICR1 TOP dan output PWM
frekuensi fOCnxPFCPWM. Untuk mendapatkan 50 Hz dengan jam sistem frekuensi 16 MHz, akan perlu menggunakan TOP berikut ICR1 nilai untuk
prescalers berikut: Prescaler N = 1 maka TOP ICR1 = 160.000
Prescaler N = 8 maka TOP ICR1 = 20.000 Prescaler N = 64 maka TOP ICR1 = 2500
Prescaler N = 256 maka TOP ICR1 = 625 Prescaler N = 1024 maka TOP ICR1 = 156,25
Catatan: tidak dapat menggunakan prescaler 1 atau 1024 untuk menghasilkan 50 Hz PWM dengan 16 MHz: Prescaler 1 tidak dapat digunakan sejak 160.000
terlalu besar untuk muat di TCR1. TCR1 adalah sebuah 16 bit register dengan kisaran 0-65.535.
Prescaler 1024 tidak boleh digunakan karena tidak dapat menambahkan desimal ke ICR1. Untuk prescaler 8 dan mengatur ICR1 sampai 20000 ini akan
memungkinkan untuk mengubah OCR1A antara 1000 dan 2000 untuk mendapatkan 1-2 ms pulsa tinggi.
Perbedaan antara ICRn dan OCRxn adalah ICRn menciptakan sinyal PWM 50 Hz untuk servo dan OCRxn mengontrol gerakan servo.
Universitas Sumatera Utara
Gambar 2.24. Fase dan Frekuensi yang Benar Mode PWM, Waktu Diagram
Setelah menetapkan ICRn ICR1 untuk Timer1, dan tidak akan berubah lagi. Namun akan terus berubah OCRxn OCR1A untuk Timer1 servo A untuk
mengontrol posisi servo.
Gambar 2.25. Diagram dari ATMega8535
Universitas Sumatera Utara
BAB III PERANCANGAN ALAT
3.1 Diagram Block Rangkaian
Benda
Konveyor Utama Sensor
Mikrokontroller
Motor
Universitas Sumatera Utara