Pertama seting Chip AVR kalian dengan clock 16Mhz seperti dibawah
Kemudian ambil fitur Timer1, usahakan semua setingan sama.
Untuk penjelasan secara program saya akan jelaskan beberapa register yang kalian seting diatas
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 2000,000 kHz
// Mode: Ph. correct PWM top=ICR1
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0xA2; // ini kita memakai Ph. correct PWM top=ICR1
TCCR1B=0x12; // frekuensi yang saya pakai 2000.000Khz
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x4E; // gabungan timer High dan low ini menghasilkan nilai adalah 20Ms cacahan
ICR1L=0x20; //
OCR1AH=0x03; // kemudian batas bawah saya set 1000us
OCR1AL=0xE8; // gabungan dari 03E8
OCR1BH=0x03;
OCR1BL=0xE8;
Lengkap sudah bukan servo bekerja pada frekuensi 50Hz dan bekerja dari 1-2ms
.
Untuk lebih jelasnya lagi kalian bisa download program langsung di bawah ini
Download simulasi proteus servo
0 komentar:
Post a Comment