pwm metodunda doluluk ayarlarını nasıl yapabilirim

nanit

Üye
Katılım
21 Ocak 2011
Mesajlar
159
Puanları
1
Yaş
33
arkadaşlar potumu %50 ye getirdiğimde pwm sinyalinden %10 doluluk oranı alabiliyorum
potumu %90dan %99a getirdinmi pwm doluluk oranım %45 den %95 çıkıyor bu sorunla daha önce karşılaşanınız varmı yardımlarınız için şimdiden teşekürler
HTML:
#include <12f683.h>
#device adc=8
#use delay(clock=20000000)
#fuses NOWDT, INTRC_IO, NOMCLR, PUT
#use fast_io(a)
void main(void)
{    
   int16 bilgi,periyot;
    int16 pasif;
    periyot=256;
    set_tris_a(8);
    setup_adc(ADC_CLOCK_DIV_16);
    setup_adc_ports(ALL_ANALOG);
    set_adc_channel(0);
    delay_us(10);
    while(1) 
 {     
    bilgi=read_adc();
    pasif=periyot-bilgi;
    output_high(PIN_A2);
    delay_us(bilgi);
        output_low(PIN_A2);
    delay_us(pasif);
    }
}
 
Potla alakalı olabilir mi? Pot un çıkışındaki voltu incelesen? Bence sorun potta..

Bi de asm biliyorsan ve mümkünse döngü kısmını asm de yaz bence.. 1 çıkışı süresi sadece output_high ve delay_uS(bilgi)'ye bağlıyken.. 0 çıkışı süresi ise delay_us(pasif) e, while'da başa dönmek için harcanan goto komutuna, 4Mhz için harcanan 44uS lik adc ölçümüne, pasif hesaplama işlemine bağlı.. Yani yeterince sağlıklı pwm alır mısın bilemiyorum..
 

Yeni mesajlar

Forum istatistikleri

Konular
130,451
Mesajlar
937,548
Kullanıcılar
453,827
Son üye
habip aydınbeyli

Yeni konular

Geri
Üst