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..
 

Forum istatistikleri

Konular
129,773
Mesajlar
929,957
Kullanıcılar
452,533
Son üye
basocak

Yeni konular

Çevrimiçi üyeler

Geri
Üst