avatar_ete

PIC Basic Ders-11 (PWM Kullanımı)

Başlatan ete, 28 Ağustos 2011, 16:21:42

ete

Herkesin isyediğinin dışında bir istekte bulunmuşsun. Doğru anlamış isem tabiiki.
Bir kare dalganın high olduğunda ulaştığı tepe nokta onun voltaj seviyesini gösterir. Şayet kare dalgayı 5v ile oluşturmuş isen skopla bakınca tepe noktayı 5v seviyesinde görürsün. Aynı dalgayı 10v ile oluşturursan skop görüntüsünde tepe nokta yükselecektir. Alt nokta ise yine beslemeye bağlı olarak daima sıfır noktasında görülecektir. Kare dalga bir simetrik besleme ile oluşturulur ise dalganın alt ucuda sıfır noktasından daha aşağıya çekilebilir ama işinbu kısmı artık analog elktroniği ilgilendiriyor ve çok daha profesyonel devreler gerektirir. Ben işin teorisini biliyorum. Gerçekte böyle bir uygulamam olmadı ve nasıl yapılır açıkçası şu anda bilemiyorum. Yalnıca tepe noktasını indip çıkarmak kolay. Bir ayarlı güç kaynağı yaparsın çıkan sinyali bir mosfet transistör gurubuna verip push pull sürersin. Yani low kısmını bir tamsistör high kısmını diğer bir transistör çıkartır   Bu gurubu bahsi geçen besleme ile beslersen sonuçta sinyalin tepe noktasını değiştirebilirsin.

Bu arada herkes sinyalin genliğini değiştirmeyi isterki buna pwm deniliyor. Sinyalin high + low süresi toplamına peryot denir. Peryot sabit kalmak sureti ile high süresini kısaltıp low süresini attırarak peryodu eşit tutarsın. Ama senin işinde sinyal sabit kalıp seviyeler deiğiştiriliyor.
Ete

ooben

hocam verdiğiniz bilgiye çok teşekkür ederim aslında bi sinus dalga yapmıştım
şöyleki ; bi kare dalga oluşturmak için bir bölüm, birde belli sıralamayla değerleri değiştirmek için case içinde $ff veya $a0 gibi belirli bir düzen de bunu yapınca kare dalgayı sinüse çevirmiştim ama çok sağlıklı olmadı şu anda aynı şeyi yapsam ( aslında siz olmaz dediniz ama yapmıştım ) bu sefer kare dalga alabilirim sanıyorum denemenizi rica ederim "lütfen ukalalık olarak almayın" amacım bu değil efendim tam hatırlayamamıştım.ama yaptığım devresi buldum ordan biliyorum kodunu bulunca göndericem. saygılar bülent

Hattuşa

#17
slm arkadaşlar;
bir sorum olacaktı, 18f4520 ile 10 mhz kristal bağlayıp PLL yi aktif ederek 40 mhz de çalışıyorum (yada çalıştığımı sanıyorum :D)
sorunum şu datasheette 40 MHz hızda 10mhz lik frekansa kadar pwm üretilebiliyor diye anladım, bana max. 5 mhz frekans lazım ve
hpwm 1, 127,5000000
dediğim halde neden bu frekansı alamıyorum, yada almak için ne yapmam lazım, kesin bişeyleri farkedemedim, yardımcı olursanız memnun olurum

NoT: bu hpwm komutunun üst sınırı varmıdır?

ete

Multicalc programına göre;
5Mhz lık PWM sinyali ancak ve ancak 4 bitlik bir çözünürlükle üretilebilir.
Maksimum Duty değeri 8 olabilmektedir. Sinyali aktif edebilmek için;
T2CON =%00000100
PR2=1
değerlerini vermen yeterli.
Ayrıca ;
        CCP1CON.2=1
        CCP1CON.3=1
komutlarını vererek sinyali aktif etmen de gerekir. Gerçi HPWM komutu bunu otomatik yapması gerekir.
Sen yinede sonuç alamıyor isen son çare olarak aşağıdakini dene.
      X=4
      CCP1CON.4=X.0
      CCP1CON.5=X.1
      CCPR1L=x>>2
Bunları yaptıktan sonra %50 duty değerine sahip bir sinyal görmen gerekir.

Ete

Hattuşa

ete hocam hızlı cevap ve ilginiz için tşk ederim. sanırım işin kolayına kaçmakla olmuyor bazı şeyler, aslında sizin söylediklerinizi 11 dersinizde adc değerine göre değişen şekilde (1 khz -10 khz arası) yapmıştınız, hatim etmiştik ama dediğim gibi bazen kolayına kaçmakla kurtulamıyor insan  ;D

Hattuşa

slm ETE hocam
sizin 11. dersteki 1 khz ile 10 khz arası adc ayarlı frekansmetre örneğini geliştirmek istesek ve lcd bağlamış olsak üretilen frekansı nasıl hesaplatıp lcd ye print edebiliriz?

ete

#21
Hpwm sinyali geri planda tmr2 sayacı kullanılarak işlemci tarafından üretilir. Üç önemli  parametresi vardır. Biricisi frekans ki 2 parametre kullanır. Bunlar PR2 registeri ve tmr2 bölme oranı. Üçüncü parametre ise duty oranıdır. Çözünürlük 10 bit dir tabiiki frekansa göre çözünürlük de değişir.
Hesap sistemi karmaşık gelebilir. Ben genelde PICMULTICALC isimli programı kullanıyorum. Program hemen her şeyi hesaplayıp parametrelerini sana verir.
İlla kendim hesaplayayım diyorsan data sheet de açoklama ve formülü mevcut.
Ete

https://disk.yandex.com.tr/public/?hash=RqBpF0y/yApano/OQRfD1zUY1lebaEZZqBwrZubohNk%3D

Hattuşa

slm hocam aslında benim yapmak istediğim tuş takımı +lcd ile bir frekansmetre, bunun için olabilirliğini sormak istedim.

ete

Frekansmetre tabirini yanlış kullanıyorsun gibime geliyor. Frekansmetre frekans ölçen alete deniliyor. Sen ise bir rekans üretmeyi planlıyorsun anladığım kadarı ile. Ona sinyal Jenaratörü deniyor.

Pic ile sınırlı ölçüde sinyal jenaratörü yapılabilir. Pek tavsiye etmem.

Ete

Hattuşa

hocam evet sinyal jeneratorü diyecektim, 10 hz ile 2 mhz arası çalışan bir sinyal generatorü yapılamazmı? ekte epe dergisinin yayınladığı 16F877 ile yapılmışı var ama sinyali oluşturan max038 ve maalesef bunu türkiyede bulmak zor, xr2206 veya ıcl8308 var fakat onuda işlemci ile nasıl kontrol edebiliriz bimliyorum. sizin bir öneriniz varmıdır?

http://www.dosya.tc/server4/viLh31/freqgen.pdf.html

ete

Gerçek anlamda bir sinyal jeneratörü için pic uygun değil. 038 entegresi Türkiyede bulunuyor. Ben alıp yapmıştım kendime.
Ete

Hattuşa

slm ETE hocam dediğiniz gibi HPWM ile sinyal generatorunden vazgeçtim ve ebaydan aşağıdaki gibi hazır kit aldım, şimdi bu kiti 18F serisi bir işlemci ile kontrol etmek istiyorum,
sizin bununla ilgili bir çalışmanız oldumu? bunun kontrolü için nasıl bir işlem yapmalıyım

ete

İlk defa görüyorum ve hiç bilemiyorum maalesef.
Ete

Hattuşa

#28
hocam sitede bilen arkadaşlar vardır belki ayrıca burada 16f84 +16x2 LCD ile yapılmışı var açık kaynak kodu ASM ve ben asm den hiç anlamıyorum
http://www.qsl.net/yo5ofh/projects/dds%20synthesizer%20kit%20.htm

bu konu ile ilgili bilgisi olan arkadaşların yardımlarını bekliyorum

ETE hocam bu projeyi gerçekleştirebilirsek 1 hz 125 MHZ arası SİNÜS ve KARE DALGA sinyal generatorü yapmış oluruz ki sitemiz için güzel bir proje olurdu

F®T

Alıntı yapılan: pro-TR - 11 Nisan 2013, 12:48:30
slm ETE hocam dediğiniz gibi HPWM ile sinyal generatorunden vazgeçtim ve ebaydan aşağıdaki gibi hazır kit aldım, şimdi bu kiti 18F serisi bir işlemci ile kontrol etmek istiyorum,
sizin bununla ilgili bir çalışmanız oldumu? bunun kontrolü için nasıl bir işlem yapmalıyım


hocam link verirmisiniz.incelemek istiyorum.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Powered by EzPortal