pwm de sinyal oranı

Başlatan bulutay, 30 Kasım 2014, 08:29:07

bulutay

arkadaşlar timer 2 de 250 ye kadar izinveriyor. set_pwm de 1023 acaba bu ayarlama tam olarak nasıl açıklıyabilirmisiniz.

Salih

PWM setup ayarlarını değiştirdikçe çözünürlük değişir. Çözünürlük değişince %100 duty değeri değeri değişir.
Aşağıdaki yardımcı program çok kullanışlıdır. İndirip incele.

https://www.dropbox.com/s/ab7qngs99ba70ul/PicMultiCalc.exe?dl=0

bulutay

tc4427 kullanıyorum. pic den bir türlü 2.5 voltun üzerine çıkış alamadım. ccp1 den 16f819 pic kodlar da

#include <16F819.h>
#device adc=8

#FUSES nowdt,xt,noput,mclr,nolvp,nocpd,nowrt                   //No Watch Dog Timer
                //Code not protected from reading

#use delay(clock=4000000)

int das;
void main()
{

   setup_adc_ports(ALL_ANALOG);
   setup_adc(ADC_CLOCK_DIV_16);
 
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DIV_BY_16,250,1);
   setup_ccp1(CCP_PWM);

   set_adc_channel(1);
    delay_us(10);
output_a(0x00);
   output_b(0x00);   

   set_pwm1_duty(0);
   while(1)
   { das=read_adc();
   delay_us(20);
  if (das<80)das=0;
  else if (das>200) das=90;
    set_pwm1_duty(das);
    }
}

Salih

Şöyle yaparsan 1000 değerinde %100 Duty elde edersin. PWM Frekansı 1 Khz.

setup_timer_2(T2_DIV_BY_4,249,1);

bulutay

teşekkürler. yarın iş yerinde deneme yapacagım