İyi akşamlar arkadaşlar.PWM yi C ile kullanacağım.Ama nasıl bir kütüphane kullanmalıyım.Komutları nedir?Hatta mümkünse ufak bir örnek program bloüu verebilirmisiniz açıklamalı olarak.
kütüp hane kullanman gerekmiyor.öncelikle clcok frekansımı elde etmek istiyorsun(high süresi sabit frekans değişir) yoksa (frekans sabit pwm duty cycle yani high süresimi değişecek...
ayarları şöyle
setup_ccp2(CCP_PWM);
set_pwm2_duty(xxx);
setup_timer_2(T2_DIV_BY_16,PR2,1);
burda pwm2 çıkışı kullanılmıştır.
Tpwm=(1/fosc)*16*(pr2+1)
pr2 enfazla 255 en az 1 olur.0 kapalıdır.
xxx en fazla 255 olur.255 olursa high süren %100 dür 125 olursa%50 high %50 low olur.pwm yapman için frekans sabitken bu xxx değerini değiştirebilirsin.
clock için ise bu xxx sabit pr2 değerini değiştiirirsin.bölme oranı 1 -4-ve16 dır...
Ben frekansı sabit tutarak duty cylcle değiştirmek istiyorum.Bunun için frekansı nerden gireceğim komut olarak mesela frekansı 4Hz ,görev oranı %80 olan bir sinyal elde etmek istiyorum.Hangi değişkenlere ne gireceğim komutta.Kafam karışıyor bu konuda.Sizide yoruyorum...
Fosc kaç onu bilmek lazım.kristal frekansın
Tpwm=(1/4M)*4.16.(255+1)
burdan Tpwm=4096.10m^-6=4ms T.f=1 den F=250 hz olur.en az 250hz elde edersin.
en fazla ise 16 yerine 1 pr2 de 1 yaparak oluşur.tabi daha düşük frekans lar için osc frekansını düşürmen lazım.
%80 duty cycle için ise %100 255 ise %80 kaçtır=204 yazman lazım...
setup_ccp2(CCP_PWM);
set_pwm2_duty(204);
setup_timer_2(T2_DIV_BY_16,PR2,1;
yazdığında %80 doluluk oranında 250 hz elde edersin.
Teşekkür ederim 16f877 ile bunu gerçekleiştirebilirim sanırım dimi?
evet cok rahatlıkla.
setup_ccp2(CCP_PWM);
set_pwm2_duty(204);
setup_timer_2(T2_DIV_BY_16,PR2,1);
Burda aynı bu şekilde yazdığımda derlemede hata veriyor.Aynen bu şekildemi yazacağım acaba?
yazdığınız kodlar Hi-tech PICC ile derlenmez.
Chan86 size daha önce ADC ile ilgili bir yöntem anlattım.
Şimdi de datasheette PWM ile ilgili olan bölümü açın,
Ve ilgili registerin anlamını bit bit okuyarak
kendi kodunuzu yazın.
Yarın COMPARATOR için kod sorunca cevap yine aynı olacak. :)
Teşekkür ederim.Herşey datasheetten çıkıyor bundan sonra en iyi soru sormadan önce data sheeti güzelce incelemek lazım.Tekrar teşekkür ederim.
aşağıdaki site PIC ile PWM olayını güzelce anlatiyor. Ama dili Almanca.
http://www.sprut.de/electronic/pic/grund/pwm.htm
Selamlar