D

16F628A Donanımsal ve yazılımsal PWM Motor kontrolü

Başlatan darken, 30 Temmuz 2014, 19:12:08

darken

Merhabalar
16F628A ile hem yazılımsal hemde donanımsal PWM aynı anda kullanılabilirmi ?
Pic ile yazılımsal PWM üretip servoyu sürebiliyorum fakat aynı anda birde dc motor sürmem gerekıyor . DC motoru sürmek icin L298N kullanıcam.
Birkaç buton yardımı ile Hız kademeleri ayarlanıcak(%25 %50 %75), mesela sadece %50 lik bir pwm olustursam yeter. Tek sorun 2 sini birden nasıl olusturacagım.
Eger 16F628A da 2 si birden olusmuyorsa 16F877A ile oluşturabilirmiyim ?

Mesela bu kodda b3 den nasıl %50 lik PWM alabılırım ?Suan motoru sadece %100 ve %0 olarak ayarlıyabılıyorum. Program gelen veriye göre kendını sureklı tekrar eden bir while dongusu ıcınde.
Suan elimdeki koddan bir parça ;

if(z=='I'){      output_high(pin_b3);                int orta;            // servo orta        for(orta=0;orta<=20;orta++){      output_high(pin_a2);      delay_us(1500);      output_low(pin_a2);      delay_us(18500);            output_low(pin_b3);}}

darken

Evet sanırım bi anlık beynim göçmüş :D direkt olarak donanımsal pwm kodlarını araya koyarak kolayca hallettim :D yeni kod bu sekilde ve işimi görüyor :
if(z=='I'){      set_pwm1_duty(127);                int orta;            //orta        for(orta=0;orta<=20;orta++){      output_high(pin_a2);      delay_us(1500);      output_low(pin_a2);      delay_us(18500);            set_pwm1_duty(0);

Powered by EzPortal