brontoseno electric

5:32 AM
0
Kali ini saya akan membagi bagaimana cara menggerakkan servo menggunakan timer PWM . Diantara kalian pasti merasa jengkel dengan library cara menggunakan servo yang biasa di pakai di arduino atau apalah itu.Nah kali ini saya akan membagi ilmu bagaimana cara menyalakan PWM dengan akurasi yang lumayan bagus lah yaitu resolusi 1us.Pertama saya akan mengajak kalian untuk menseting codevision yang akan kalian gunakan.

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