PWM Duty Cycle ı %0 ile %100 arasında 1000 e bölme

Başlatan oyaz, 05 Nisan 2011, 02:20:44

oyaz

Merhabar.
PWM ile ilgili bir proje aldım hocadan.Projede Duty Cycle ı %0 ile %100 arasında 1000 adıma bölmem gerekiyor.Hoca bana 0 ile 5V arası analog sinyal vericek.Bu sinyalin durumuna göre Duty Cycle 1000 adım hassasiyetinde ayarlanıcak.PIC C dilinde yapmam gerekiyor.Bu konuda biraz araştırma yaptım da 1000 e bölme biraz zor olucak gibi duruyor.Bu konuda bana yardımcı olursanız cok memnun olurum...
Become a learning machine...

94220039

pic'te pwm çözünürlüğü 10 bit, bu da  1023'e karşılık gelir. bu yüzden bir sıkıntı olmaz.


oyaz

bilgi için teşekkürler ama burda c ile yapmamış sanırım sanrm PIC C de bunu yapmak için kesmeleri kullanmak gerekiyomuş.Bir de bana verilen 0 ile 5V arasındaki gerilimin değerine göre duty ayarlamam gerekiyor.Bana yardım edersnz sevnrm biraz zor bi konu dersten kalıcam yoksa :(
Become a learning machine...

t2

Basic C den daha kolay olsa gerek . Yani C ile yapılacaksa basici anlayıp yapabilirsin. Zoru biliyorsan, kolayı da anlarsın.

muhittin_kaplan

analog bir değeri okumak için önce ADC yi öğrenmen gerek. sonrasında PWM gelir.
ADC ile ilgili bilgilerin mevcut mu ?

mufitsozen

#6
Alıntı yapılan: oguz5 - 05 Nisan 2011, 02:20:44
Merhabar.
PWM ile ilgili bir proje aldım hocadan.Projede Duty Cycle ı %0 ile %100 arasında 1000 adıma bölmem gerekiyor.Hoca bana 0 ile 5V arası analog sinyal vericek.Bu sinyalin durumuna göre Duty Cycle 1000 adım hassasiyetinde ayarlanıcak.PIC C dilinde yapmam gerekiyor.Bu konuda biraz araştırma yaptım da 1000 e bölme biraz zor olucak gibi duruyor.Bu konuda bana yardımcı olursanız cok memnun olurum...

PIC PWM Calculator & Code Generator : http://www.micro-examples.com/public/microex-navig/doc/097-pwm-calculator.html

yukaridaki web sitesindeki form'a istedigin bilgileri gir, (frekansi bos birakirsan bir tablo cikacak) register degerleri ve bir ornek C programi cikacak PWM yapan.

10bit deki frekanslara bak, kendi PIC turunu sec, programi derle ve dene.

Kolay gelsin.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

picmanya

Alıntı yapılan: oguz5 - 05 Nisan 2011, 02:20:44
Merhabar.
PWM ile ilgili bir proje aldım hocadan.Projede Duty Cycle ı %0 ile %100 arasında 1000 adıma bölmem gerekiyor.Hoca bana 0 ile 5V arası analog sinyal vericek.Bu sinyalin durumuna göre Duty Cycle 1000 adım hassasiyetinde ayarlanıcak.PIC C dilinde yapmam gerekiyor.Bu konuda biraz araştırma yaptım da 1000 e bölme biraz zor olucak gibi duruyor.Bu konuda bana yardımcı olursanız cok memnun olurum...

burda işlemci nedir?
tek kanal üzerinden, pwm çıkışını 1000 değerine bölme bu türden bir iş için çok küçük bir rakam aslında
burda sinyalin frekansı da önemli olmakla birlikde
örnek olması açısından şöyle söyleyeyim elimdeki işlemcide 1kHz. pwm çıkış frekansı için 0...5 volt aralığını 30000 (otuz bin)  rahat bölebiliyorum.

yalnız duty %1 altına ve %99 üstüne çıkarmayı gerekmediği için hiç denemedim.
bahsedilen 10 bit pwm çıkış çözünürlüğü zannediyorum MCPWM (motor kontrol pwm) modül için geçerli olmalı.

bu tür iş için CCP veya OC modülü tavsiye ederim.
işi iyi kıvırabilen biri timer kesmesi ve normal port pini ilede işi kotarabilir gibime geliyor.


oyaz

proje de 16F877 kullanılıcak. bildiğim kadarıyla bu pic in kendi içinde adc si var harici olarak adc kullanmaya gerek var mı? pwm in frekansını 500 Hz ile 2 KHz arasında bir değerde düşünüyorum. Verdiğiniz bilgileri için tekrar teşekkür ederim saygılar...
Become a learning machine...

picmanya

siz 12 günde bir mi projenizle ilgileniyorsunuz?

oyaz

vizelerimiz vardı bu yüzden ilgilenemedim vizeler biter bitmez projeye döndüm zaten
Become a learning machine...

oyaz

hocamla görüştükten sonra pwm i analog yapmaya karar verdim bu sayede Duty Cycle ı daha rahat bölebilirmişim biraz araştırdım da bunu için bi 555 entegresi ve bi adet karşılaştırıcı gerekiyomuş.Elinde buna benzer devresi olan var mı en azından nasıl olduğu hakkında bi fikir edinebilirim
Become a learning machine...

Tagli

Bu sitede temel mantığını açıklamış. Üçgen sinyal jeneratörü için gerekli devrenin bağlantısı da yine sitede mevcut. Öte yandan, eğer bunu dijital olarak 1000'e bölmek istiyorsan bu sefer de DAC çözünürlüğü işin içine girer.
Gökçe Tağlıoğlu