avatar_Burak

12F683 PWM

Başlatan Burak, 10 Şubat 2013, 22:33:07

Burak

Merhaba ;

Ben 38KHZ üretmek için PIC12f683 kullanmak istiyorum (16F628A kullanarak daha önce ürettim fakat bu sefer değişik bir mikrokontrolör ile yapmak istediğim için) fakat datasheet'te verilen bilgiye göre , sayfa 1'de

*Capture, Compare, PWM module:
- 16-bit Capture, max resolution 12.5 ns
- Compare, max resolution 200 ns
- 10-bit PWM, max frequency 20 kHz

şeklinde bir ifade var .. Maksimum 20KHZ'mi üretebiliyoruz şimdi yani biz PIC12F683 ile ... Valla kafam karıştı ... ?
Ω Gens Una Sumus Ω

Mucit23

Datasheette öyle söylemesi ilginç, Normalde CCP Donanımı bir modüldür, Yani 16F628 de neyse ondada öyle olması gerekir. Anlam veremedim doğrusu

Tam 38Khz olmasada  38,462 KHz alman gerekir. Hesabı yapmak için picmulticalc programını kullanabilirsin.

Zamanında ete hocayla birlikte 12F683ile birlikte bir pwm uygulaması yapmıştım.
http://arectron.com/microchip/pic12f683-ile-10-amper-pwm-motor-kontrol-devresi.html

PWM registeri değerlerini yeniden ayarlaman gerekecek.

Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Burak

Senin yaptığın devrede ki pwm frekansı nedir ?
Ω Gens Una Sumus Ω

Mucit23

yanlış hatırlamıyorsam 500Hz di
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Burak

#4
Birde bi başka bir soru soracağım ... Ben bu pic için kristal osilatör olarak 6.40 MHZ kullanacağım .. çünkü pic multi calculatör'e hesaplattığım zaman "38,095 KHz" gibi bir PWM oluşturabileceğimi söylüyor yani 4MHZ kullandığım zamankinden çok daha yakın bir 38KHZ elde edebiliyorum ...

Fakat definition ayarlamalarında DEFINE OSC bölümüne geldiğimizde değer olarak 6 mı diyeceğim 7 mi ? Sonuçta virgüllü bir osilatör değeri yazamıyoruz ... Bu değerleri neye göre yuvarlıyoruz ? Bide sigorta ayarlarını yaparken ;

__config _HS_OSC

olarak mı yoksa ;

__config _XT_OSC olarak mı ayarlamamız gerekiyor ? Bunları datasheet'tan nereye bakarak belirliyoruz , ben göz gezdirdim ama bulamamıştım ... Yani XT için ve HS için frekans aralığı 16F628A'nın datasheet'inde yazılmış fakat 6.40 hangi aralığı denk geliyo onuda belirtmemişler ... Ayrıca 12F683'ün datasheet'inde hiçbişey bulamadım bununla ilgili ..

şimdiden teşekkürler ..
Ω Gens Una Sumus Ω

ete

#5
Data sheet'i yanlış değerlendiriyorsunuz.
Bu alet 4 Mhz de de 38Khz PWM sinyali üretebilir. Ancak o frekansta çözünürlük 10 bit olamaz.
8 bit olabilir. 10 bitlik çözünürlük maksimum 20 Khz'e kadar öalışır üzerinde otomatikman (formül gereği) çözünürlük düşer.
Bunu demeye çalışıyor adamlar. Zaten hesapladığınız değerlere bakın anlayacaksınız.

Bu pic'in dahili OSC si var. 8 Mhz e kadar da çalışabilir. Bana kalırsa dahili OSC kullan ve 8 MHz'e ayarla
Sonra  Bölme oranını 1/1 yapıp PR2=106 ver. Ve çıkıştan 38Khz'e yakın sinyalini al. Sinyal değerine kafayı takmayın.
IR gözlerin tamamı artı-eksi 1,5 Khz sinyali hatta 2 Khz sinyali kabul eder.

Ete

Burak

Alıntı yapılan: ete - 11 Şubat 2013, 07:53:38
Data sheet'i yanlış değerlendiriyorsunuz.
Bu alet 4 Mhz de de 38Khz PWM sinyali üretebilir. Ancak o frekansta çözünürlük 10 bit olamaz.
8 bit olabilir. 10 bitlik çözünürlük maksimum 20 Khz'e kadar öalışır üzerinde otomatikman (formül gereği) çözünürlük düşer.
Bunu demeye çalışıyor adamlar. Zaten hesapladığınız değerlere bakın anlayacaksınız.

Bu pic'in dahili OSC si var. 8 Mhz e kadar da çalışabilir. Bana kalırsa dahili OSC kullan ve 8 MHz'e ayarla
Sonra  Bölme oranını 1/1 yapıp PR2=106 ver. Ve çıkıştan 38Khz'e yakın sinyalini al. Sinyal değerine kafayı takmayın.
IR gözlerin tamamı artı-eksi 1,5 Khz sinyali hatta 2 Khz sinyali kabul eder.

Ete

Peki neden dahili osilatoru tercih ettiniz ?? Arastirdigim kaynaklarda surekli olarak harici osilatorleri kullanin bu tarz uygulamalarda diyor ...cunku kontroloroun isinmsi ,dahili siganin surekli calsimanin etkisiyle , ufak degisimlere ugramasindan dolayi , ureilen pwm sapmalara ugrayabiliyormus ..

İkinci sorum ise : pbp neden 6 diye bir osc tanimlamasini kabul etmiyor ??

Ve bu tanimlamalrdaki osc degerleri kusuratli ise nye gore yuvarliyoruz ?? Ayrica xt ve hs sigorta secimleri araligi nereye gore belirleniyor ?
Ω Gens Una Sumus Ω

Mucit23

#7
PBP de öyle kafana göre OSC tanımalaması yapamazsın.

PBP Manual'ini incelersen sadece 3, 4, 8, 10, 12, 16, 20, 24, 25, 32, 33, 40 değerleri için tanımlamalar yapıldığını görürsün Dolayısıyla sadece bu değerleri yazabilirsin.

12F683 zaten 8 pinli bir işlemci, 2 tanesi beslemeye ayırsak geriye 6 tane kullanılabilir pin kalıyor. Bu 6 pinin iki tanesinede kendi içerisinde 8Mhz (Bölücü ile ayarlanabilir) dahili osilatör varken harici osilatör takmak mantıksız birşey.

RC osilatör XT ye göre ısıl kararlılığının biraz düşük olduğu doğru ama zaten çok çok çok hassas uygulamalar yapmayacaksan eğer, osilatörde oluşan bu ufak değişikliklerin bir önemi yoktur.

IR iletişimde kullanılan 38Khz taşıyıcı sinyalin +-1-2Khz toleransının olduğunu ETE hoca söyledi zaten. Bu yüzden bu konuya fazla takılma..




Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Burak

Peki Bu tanimlamalrdaki osc degerleri kusuratli ise neye gore yuvarliyoruz ?? Harici kullanmak istersem ; Ayrica xt ve hs sigorta secimleri araligi neye gore belirleniyor ? Bu belirttigim mikrokontrolor icin bir tablo var mi ? atiyorum 4 ve ustu Hs , alti xt'dir seklinde ? Ve ayrica kullanmak istedigimiz xt icin kondansator secim tablosu 'da mevcutmu ?
Ω Gens Una Sumus Ω

Mucit23

Yuvarlama diye birşey yok. Normalde belirtilen değerlerin dışında kristaller pek kullanılmaz. (Gerek yok çünkü) 

Sen eğer 4.32 mhz takıp osc tanımlamasını 4mhz yaparsan işlemcin 4.32 mhz de çalışır, ama pause gibi komutların delayları 4mhz ye göre hesaplandığı için 1ms bekleyeceğin yerde daha kısa süre beklersin.

Diğer soruların için datasheete bak. Orada açıklanmış.

Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

#10
Dahili osc tercih edilmez diye bir kanun yok. Oda epeyce stabil çalışmaktadır.
38 khz için dışarıdan kristal kullanmaya gerek bile yok. Bu benim düşüncem.
Tersini düşünüyorsan kristal kullanabilirsin elbet.
6 mhz (dahil) harici kristale kadar XT üzeri için HS sigorta ayarı kullanılır.
Ete

Burak

Peki 6mhz 'de XT grubuna dahil mi ? Yoksa HS olarak mı kabul etmeliyiz ?
Ω Gens Una Sumus Ω

ete

Mesajları dikkatli oku. Ne demişim yukarıdaki mesajımda ?
Ete

sinancnc

#13
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

Burak

Alıntı yapılan: sinancnc - 11 Şubat 2013, 23:39:59


Kusura bakmayın özür dilerim .. Yorgunluk vs , dikkat dağınıklığı , dikkat etmemişim ...

Teşekkürler ..
Ω Gens Una Sumus Ω

Powered by EzPortal