Basit 60`a bölücü nasıl yapabilirim?

Başlatan Maxim, 22 Haziran 2016, 12:20:21

bigbey

Bu olurmu?:)
http://s5.dosya.tc/server2/06gjdi/bolucu.rar.html
2 bölücü 4040 tam kare dalga olsun diye kullanıldı.
istersen sen direk 60'a bölüp kullanabilirsin
TA6R

fahri-

Software olarak da 33-300 Hz elde edilebilir pic ile. Timer ve interruptını kullanılarak istediğiniz frekansta çıkış olabilirsiniz.

z

PWM sinyali bölücüye girerseniz ortada pwm kalmaz. Kare dalgaya dönüşür.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

görkem

Donanımsal pwm yerine yazılımsal pwm kullanarak rahatlıkla yapabilirsiniz

Maxim

#19
teşekkürler, çok yardımcı oldunuz
cd4040 ve cd4518 sipariş ettim yarın elimde olacak.

öte yandan özellikle yazdığınız için timer ile bu frekansları çıkarmaya uğraştım, yaptımda.
TIMER0 1/2 prescaler ayarladım ve 16bit yaptım
33hz almak için ön yükleme değeri 4933
300hz için 58873
çıkışta mis gibi kare dalga geliyor tam istediğim gibi ama sorun başka

şimdi şöyle bir algoritma kurmam gerekiyor
bir byte değerimiz olsun, linear inip çıkan bir değişken bu.
0 iken çıkış 33hz olacak 100 iken 300hz olacak.

klasik eğri uydurma yöntemini yapayım dedim
0 >33hz (4933)
100 >300hz (58873)
ama timerın yükleme değeri linear çıkmıyor, bir eğri şeklinde yada logaritmik gibi diyelim.
bu noktada bir eksik var benim bilmediğim onu bulamadım :(

galiba bu ön yükleme değerlerini birşeylerle çarpmam-bölmem mi gerekiyor??

EDIT:
PIC18F2525, int osc 4mhz x4 pll =16mhz

OG

@z 'nin uyarısı önemli, bölücüye giren pulsler pwm değerini mahveder, oran moran kalmaz.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

görkem

 33hz ile 300hz arasını 0-100 arası hesaplayıp dizi oluştursanız     ordan çekseniz timer değerlerini çokmu uğraştırır böyle bir fikir geldi aklıma

Maxim

pwm şekli çok öemli değil, duty kaysada olur
frekans doğru olsun yeterli benim için

ferdem

33 Hz ile 300 Hz arasını  [0,100] arasındaki bir x ile seçmek için frekans=33+x*(300-33)/100 formülü kullanılır. Örneğin x 50 geldi, ~167 Hz çıkar. Sonrasında bu frekans için timer taşma değerini hesaplayıp yükleyeceksiniz.

fahri-

Hocam her frekans için preload değerleri hesaplanıp bir tablodan çağırılabilir. Hesaplama için bir formül uyduramadım.

timer1 preload değerleri ( Prescaler 1/8)
50383  33Hz
50828  34Hz
51249  35Hz
51646  36Hz
52021  37Hz
52377  38Hz
52714  39Hz
53035  40Hz

Maxim

yardımlarınız için teşekkürler arkadaşlar

sonucu yazayım
işi timer kullanarak zor bela hallettim
zaten gelen bölücü entegreleri denediğimde çıkışların kullanılamayacak kadar kötü olduğunu da gördüm
en azından tek entegre değilde 2-3 tane bölücü-kapı entegresi kullanmak lazım sanırım çıkışın düzgün pwm dalga olabilmesi için.