18f452 pwm tersleme

Başlatan kahraman34, 25 Ocak 2016, 17:57:06

kahraman34

Merhaba
18 f452 den pwm çıkışını alıyorum, 2.pwm modulunden 1. modulden aldığımın tersini almak istiyorum. Mümkünmüdür ?
Teşekkürler.

Burak

Tersini derken ? negatif alternansını anlamında mı demiştin ?

Burak
Ω Gens Una Sumus Ω

kahraman34

evet high lar low lowlar high olacak şekilde.

Elzemefe

değil kapısı  kullan  :D

kahraman34

pwm2 duty= pwm1 max duty - mevcut duty deseme olur mu acaba ?

ete

Not kapısı kullanmaktan başka çaresi yok. Tek transistörle bile yapılabilir.
Gelen sinyali ters çevireceksin hepsi bu. Yazılımla yapılmaz.

Ete

kahraman34

Hocam 2. pwm çıkışını 10 yada 1 k ile pullup yapsak 2 pwm ile 1. pwm ye de aynı değerde pwm ürettirsek,  pullu olan terslemez mi acaba ?

ete

Dene istersen. Deneyip görmek daha ikna edici olur sanırım.
Her iki PWM çıkışı aynı osilatörü kullanır. Bu iki PWM çıkışı aynı fazda çıkar frekansları aynı olur yalnızca Duty değerleri farklı olabilir. Bağlayacağın Pullup sinyal HIGH iken yine HIGH LOW iken yine LOW olacak ve çıkan sinyale hiç bir etkisi olmayacaktır. Ben böyle düşünüyorum.

Ete

kahraman34

Haklısınız olmaz böyle..
Biliginize saygım tartışılmaz ama yazılımda config de biryerlerde bu ayar vardı.. Ama bulamıyorum bir türlü.. Acaba başka işlemcidemiydi bilemedim.. Pwm puls rise mı fall seçebiliyo gibi bişiler vardı..Gördüm okudum işe yarar demiştim. Sonra kaybettim işte..

ete

Bu derleyici ile alakalı bir şey değil. Pic donanım özellikleri ile alakalı. Dolayısıyla derleyiciye göre fark etmez. Donanım diyorki sinyal aynı fazda çıkar. Bu kuralı aşmak zor. Kolayı birisinin çıkışına tek bir transistör ilave etmek hepsi bu.

Ete

kahraman34

#10
Hocam tavsiyeniz ile transistör ilavesi yaptım olayı o şekilde çözdüm ,

Şimdi karıştırdım eskileri, 16 f690 da varmış bu özellik. Ordan takılmış bana...
Söylediğiniz gibi donanımda bu özellik..

Hattuşa

ete hocam;
pwm komutu ile işlemciden pwm çıkarttığımızda değişken olan pwm i ölçümlüyorum nedense verdiğim frekans ile ölçtüğüm frekans arasında farklılık var, örneğin 700 hz e ayarladığım frekans (ekranda öyle yazıyor zira hpwm 1,128,700 komutu ile) 710-veya 690 arasında çıkıyor ayarlı olduğu için her seferinde farklı çıkıyor tam değerinde çıkmıyor. işlemcim 628A ve 4 mhz dahili kristal ile
sizce hassas bir hale getirilebilir mi?

ete

Hpwm kullanırken hiç bir zaman hpwm komutunu kullanmam. Zira bu komut verdiğiniz frekansı yaklaşık tutturur. Frekans değerlerinin kesin olarak tutturulacağına dair bir kanunda yok elbette. Hesap değerine bağlımolarak yaklaşık olarak tutturulur. Frekansı ayarlayan iki parametre var. Birincisi PR2 registerine vereceğiniz değer, ikincisi ise T2CON registerinin alacağı değerdir. Bu register timer2 sayacının bölme oranını ayarlayarak istenilen frekansın tutturulmasını sağlar.
Bu registerlere göre hangi değerleri vereceğimi de PicMultiCalc isimli küçük programla tespit ediyorum.
Programda PWM seçeneğini seçip  açılan pencereye işlemci frekansını ve istediğim pwm frekansını girince bana uygun pr2 değerini bölme oranını ve max duty değerini veriyor. Bölme oranını T2CON registerine veriyorum PR2 yede çıkan değeri verip CCP1CON registerinden Pwm modu aktif ederek o frekanstaki sinyali aktif ediyorum.
Zaten maksimum duty değerini öğrenmiştim sıfır ile o değer arasında (mesela yarısını verirseniz %50) bir değer vererek frekansın duty değerinide ayarlayıp işimi görüyorum. Bu sistem pwm duty değerini 10 bit çözünürlükte kullanma imkanı sağlar Hpwm komutu bildiğim kadarı ile 8 bit çözünürlükle çalışır.

Ete

Powered by EzPortal