fpganedir.com'da ara

fpganedir mail

           
 YAZAR HAKKINDA

 
  Ersen  elik

  niversite 2. S覺n覺f
  rencisi

    ersen.celik94@gmail.com

 
Yazar覺n Yay覺nlanm覺 Makaleleri

 

     

PIC PWM UYGULAMASI

Bu projemde sizlerle PIC18452 mikrodenetleyicisi 羹zerinde PWM uygulas覺n覺n nas覺l yap覺ld覺覺n覺 paylaaca覺m. PWM (Pulse Width Modulation) frekans覺 sabit fakat pulse genilii deien sinyallerdir. PWM'de pulse genilii Duty Cycle ile g繹sterilir.

Pulse geniliinin deimesi sinyal 羹zerindeki enerjininde deimesi anlam覺na gelir. Bu 繹zellii ile PWM LED ayd覺nlatmal覺 sistemlerde LED'lerin 覺覺k deerini ayarlamak i癟in kullan覺l覺r.

                            

Ben projemde her hangi bir pot 羹zerinden ald覺覺m bir deer ile Servo motor s羹receim. Servomotorlar hakk覺nda detayl覺 bilgiye buradan ulaabilirsiniz.

PICC program覺n覺n yeni proje sihirbaz覺nda PWM se癟eneini se癟elim. Bu bize program i癟in gerekli PWM ayarlar覺n覺 yapacak.

PIC mikrodenetleyicisinde PWM oluturmak i癟in timer 2 kullan覺l覺r. PWM periyodu i癟in aa覺daki form羹l kullan覺l覺r.

PWM period = (PR2) + 1] 4 TOSC (TMR2 prescale value)

PICC program覺nda timer 2 ayarlar覺 i癟in aa覺daki form羹l kullan覺l覺r.

setup_timer_2(T2_DIV_BY_TMR2 prescale value,PR2,1);

Projenin C kodu aa覺daki gibi olacak.

#include <18F452.h>
#device adc=10
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

#use delay(clock=4000000)

int16 deger;
void main() {
    setup_timer_2(T2_DIV_BY_16,255,1); //PWM periodunu ayarla
    setup_timer_3(T3_DISABLED | T3_DIV_BY_1);
    /*ADC Ayalar覺*/
    setup_adc(ADC_CLOCK_INTERNAL );
    setup_adc_ports(AN0);
    set_adc_channel(0);
    setup_ccp1(CCP_PWM);//ccp1 PWM olarak ayarla
    while(TRUE){
       deger=read_adc();//ADC deer oku
       delay_ms(10);
       set_pwm1_duty(deger);//Duty Cycle ayarla
       delay_ms(10);
}
}

rnein ISIS'de sim羹lasyonunu yapt覺覺m覺zda aa覺daki tablo ile kar覺la覺r覺z.

iyi elenceler.                            

 

Anasayfa | Fpga | VHDL | VHDL Sözlüğü | Embedded Sistem | Android | Sayısal Tasarım | Simulasyon | PCB | Örnekler | Forum | İletişim
Copyright © 2010-2013 FPGAnedir. All Rights Reserved.