B

PWM Sohbetleri

Başlatan Bülent, 09 Mayıs 2013, 11:22:53

Bülent

Yaklaşık 1,5-2 Amperlik bir DC Motor kullanarak, 30 saniye aralıklarla bir kolu ileri geri haraket ettirecek küçük bir proje  yapıyorum. 16F628A' ya kod yazdım, Port B.0 veya Port B.2 "HIGH" olduğunda,  H tipi bir sürücü (2xBD243-BD244) yardımıyla, ileri veya geri  bu işi sorunsuz yaptırıyorum. 11. Ders' te Ete Hoca, her ne kadar PWM komutu için pek kullanışlı değil demiş olsa da burada benim işime pek güzel yaradı gibi duruyor.

DONGU:
IF LR="L" THEN
LOW YESILLED
PAUSE 50
GOSUB yak1
ELSE
LOW KIRMIZILED
GOSUB yak2
ENDIF
GOTO DONGU
yak1:
PWM PortB.0,240,400
PAUSE 30000         
RETURN
yak2:
PWM PortB.2,240,400
PAUSE 30000       
RETURN     

Şimdi aklıma takılanlar;
1-Bu komutta % Duty belirleniyor ama "T" periyodu belirlemek bizim elimizde değil, sadece periyot sayısını komut ile verebiliyoruz.
2-Yukarıda yazdığım kod ile yaklaşık 2 saniye motoru çalıştıran T=0,3 ms. lik bir PWM sinyali elde ediyorum. Bu da kafamı karıştırdı  ???

Bu komutu uygulamada kullanmış olan var mı ?

Powered by EzPortal