HPWM

Başlatan zeus48, 07 Mart 2022, 00:10:39

zeus48

Ardaşlar mrb.
12F683  ile 10 khz de dc motor sürmek istiyorum.
Ete hocanın hpwm ile ilgili bütün notlarını okudum ve anladığım kadarı

4 mhz dahili osc
HIZ 0-254 Arası
HPWM 1,HIZ,10000 : Bu şekilde yazıldığında frekans 10khz oluyor. Doğrumudur ?

Eğer doğruysa 10 mhz kristalle çalışırsak bu 10000 frekans değeri kaç olacak hesaplayamadım
20 mhz kristal kulanırsak bunuda hesaplayamadım. Kapasite bu kadar.
Yardımcı olursanız sevinirim. Tşk iyi çalışmalar


ete

Aslında hiç bir hesaplama yapmanız gerekmiyor.
HPWM komutu 8 bit çözünürlükte PWM sinyali üretir ve parametreleri Basic kendisi ayarlar.
Dikkat ederseniz komutun OSC frekansı ile bağlantılı bir yanı yoktur. Osilatör frekansı aslında minimum elde edilebilecek frekansı belirler ki oda 4 Mhz de 245 Hz dir.
Ama 10 bit çözünürlükte Duty değeri kullanmak isterseniz o zaman OSC frekansı hesaplamada etkili olacaktır.

Aynı komutları 10 Mhz OSC frekansında uygula.

Ete

zeus48

Ete hocam Tşk . Yazdığım doğrumu ?
HPWM 1,HIZ,10000 : Bu şekilde frekans 10 khz'mi ?

ete

HIz parametresi 1-255 arasında değişmek kaydı ile doğru yazdıkların.


Ete

mehmet

10MHz osilatör ile;
10-bit pwm, ~9771Hz elde ediliyor.

http://eng-serve.com/pic/pic_pwm.html

Ayrıca 12F683 8MHz dahili osiatör ile
çalışabilmekte. Bu durumda da;
10-bit pwm için en fazla ~7817Hz
oluşturulabilmekte.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

ete

#6

Multicalc 10 bit için tam 10KHz frekansı veriyor.
8 bit için ise 9.921 Hz diyhorki buda 10Khz e çok yakın. Zaten motor sürülecek o kadar da kritik değil o frekans.

Ete

zeus48

Hocalar tşk ederim. Harka çalıştı. Ete hocanın söylediği dc motora ters diyot "olmazsa olmaz" evet diyotsuz
olmuyor hem motor inleyerek ses çıkartıyor hemde mosfet aşırı ısınıyor. Diyot bağlanınca  motor 6v da 5am
çekiyor mosfet buz gibi. Tşk

Bir surum daha var. 12F683 dahili 8mhz delıştırmak için altaki satırı yazdım hata verdi datasına baktım zeten oradaki yazılanlardan çok birşey anlmıyorum.

@ __config _INT_HS_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF & _CP_ON
DEFINE OSC 8

Bilen arkadaşlardan yardım bekliyorum. Tşk
 

ete

@ __CONFIG _FCMEN_OFF & _IESO_OFF & _BOD_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
DEFINE OSC 8
OSCCON=%01110001

Temel mantık şu, Sigorta ayarlarından dahili OSC yi seçeceksin. OSCCON registerinden de 8 Mhz ayarlayacaksın. Ayrıca Define OSC komutuna da 8 vereceksin.
Hepsi bu.
Ete

zeus48

Yağcılık gibi görünecek ,ama gerçekten sen olmasan biz neyapacaktık bilemem. Tşk üstad

Powered by EzPortal