12f675'de PWM ile cebelleşiyorum....

Başlatan mustafa_cmbz, 01 Mart 2009, 19:00:36

z

Mosfetlerin gate ucuna seri direnc baglanmasinin bir kac nedenir var.

1 Elektromagnetik yayilimi azaltmak.

Gate kapasitesi ve gate devresi uzerindeki hatlarin olsuturdugu kacak enduktans LC rezonans devresi olusturur.

Gate kare dalga gibi bir sinyalle surulurse bu LC devresi cinlar. Bu drain akiminda da etkisini gosterir ve devre cok yuksek frekansda elektromagnetik yayilima neden olur.

Bu nedenle gate'e seri direnc baglanarak LC devresinin sonumlu calismasi saglanir.

2. Mos surucuden cekilecek akimi sinirlamak.

Her ne kadar suruculerin kendi akim sinirlama mekanizmalari olsa da bu sinirin daha altinda akim siniri gerekirse seri dirence basvurulur.

3. Mosun iletim ve yalitim surelerini uzatmak.

Bazi durumlarda mosun hizli anahtarlama yapmasi istenmez. Bu durumda gate devresine seri direnc eklemek mosu dizginler.

Bu yontem mos uzerindeki harcanan gucu artirir ancak getirisi yuksek drain source voltaj olusumlarini engellemektir.

Devreniz stresli değilse gate ucuna direnc baglamak yada baglamamak hayati onem tasimaz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mustafa_cmbz

bunları okulda göstermedikleri için çok şansızım..

ama bunları sizlerden öğrenmek benim için gerçekten de benim için büyük bir şans ve bu şansı iyi değerlendireceğim....

1-2 gün içerisinde devreyi tamamlayacağım...

gevv hocam da hiç karşılıksız sadece kendimi geliştirmem için bir sürü sürücü trafo ve fet yollamış....onada ayrıca teşekkür ediyorum....iyi çalışmalar...


EDİT:

hocam isiste devreyi kurdum.yanlız 16f628 için donanımsal pwm ile ilgili sorun yaşıyorum..

programın başına:

Device = 16F628
XTAL=4 
Declare ADIN_RES 8 ' 8-bit result required 
Declare ADIN_TAD FRC ' RC OSC chosen 
Declare ADIN_STIME 250 ' Allow 250us sample time 
Declare CCP1_PIN PORTB.3 ' Select HPWM port and bit for CCP1 module. i.e. channel 1 

ALL_DIGITAL = TRUE
CMCON=7


bu configler 18f452 için yazılmış bir programdan kopy ettim ama bir türlü istediğim şeyi yaptıramıyorum..

ilk sorunum devreye start'ı verince butonlardan seviye etiketlerinden birine gidip set tuşuna basılmasını bekleyip ondan sonra set edilirse de pwm aktif etmesi lazım...ama öyle olmuyor...direkt olarak startı verince pwm üretmeye başlıyor...

2. olarak ta pwm üretirken set tuşuna bastığımda pwm üretmeyi kesip tekrar ayar etiketlerinde gezmek ve set tuşuna basıldığında tekrar pwm üretmek istiyorum ama set tuşuna bastığımda set_led tuşu yanıp sönüyor ne alaksı var anlayamadım....

pwm donanımsal olduğu için pwm üretmeyi sonlandırmak ve ilk açılışta direkt olarak pwm üretmeye başlamaması için aşağıdaki programa nasıl bir ekleme yapmalıyım ki sorunsuz bir çözüm elde edeyim_?

programın tamamı...

Device = 16F628
XTAL=4 
Declare ADIN_RES 8 ' 8-bit result required 
Declare ADIN_TAD FRC ' RC OSC chosen 
Declare ADIN_STIME 250 ' Allow 250us sample time 
Declare CCP1_PIN PORTB.3 ' Select HPWM port and bit for CCP1 module. i.e. channel 1 

ALL_DIGITAL = TRUE
CMCON=7


Symbol CIKIS=PORTB.3
Symbol SET_BUTON=PORTB.6
Symbol AYAR_BUTON=PORTB.7
Symbol SET_LED=PORTB.0
Symbol AYAR_LED=PORTB.5

A VAR Byte
DUTYCYLE VAR Byte



BASLA:
High SET_LED
High AYAR_LED
DelayMS 1000
Low AYAR_LED
Low SET_LED
DelayMS 1000

GoTo SEVIYE_4
'******************************
'******/ AYAR / ***************
'******************************


SEVIYE_4:

Low SET_LED
High AYAR_LED
If SET_BUTON=0 Then High SET_LED : GoTo PWM_SEVIYE_4
If AYAR_BUTON=0 Then Low AYAR_LED : DelayMS 500 : High AYAR_LED : GoTo SEVIYE_3
If SET_BUTON=0 Then High SET_LED : GoTo PWM_SEVIYE_4
GoTo SEVIYE_4

SEVIYE_3:

Low SET_LED
High AYAR_LED
If SET_BUTON=0 Then High SET_LED : GoTo PWM_SEVIYE_3
If AYAR_BUTON=0 Then Low AYAR_LED : DelayMS 500 : High AYAR_LED : GoTo SEVIYE_2
If SET_BUTON=0 Then High SET_LED : GoTo PWM_SEVIYE_3
GoTo SEVIYE_3

SEVIYE_2:

Low SET_LED
High AYAR_LED
If SET_BUTON=0 Then High SET_LED : GoTo PWM_SEVIYE_2
If AYAR_BUTON=0 Then Low AYAR_LED : DelayMS 500 : High AYAR_LED : GoTo SEVIYE_1
If SET_BUTON=0 Then High SET_LED : GoTo PWM_SEVIYE_2
GoTo SEVIYE_2

SEVIYE_1:

Low SET_LED
High AYAR_LED
If SET_BUTON=0 Then High SET_LED : GoTo PWM_SEVIYE_1
If AYAR_BUTON=0 Then DelayMS 2000 : Low AYAR_LED : DelayMS 500 : High AYAR_LED : GoTo SEVIYE_4
If SET_BUTON=0 Then High SET_LED : GoTo PWM_SEVIYE_1
GoTo SEVIYE_1


'******************************
'******/ pwm / ************
'******************************
 
PWM_SEVIYE_4:
If SET_BUTON=0 Then SEVIYE_4

HPWM 1,127,150 
If SET_BUTON=0 Then SEVIYE_4
GoTo  PWM_SEVIYE_4

PWM_SEVIYE_3:
 
If SET_BUTON=0 Then SEVIYE_3
 HPWM CIKIS,110,150
If SET_BUTON=0 Then SEVIYE_3
GoTo  PWM_SEVIYE_3

PWM_SEVIYE_2:

If SET_BUTON=0 Then SEVIYE_2
 HPWM 1,100,150
If SET_BUTON=0 Then SEVIYE_2
GoTo  PWM_SEVIYE_2

PWM_SEVIYE_1:

HPWM 1,50,150
If SET_BUTON=0 Then SEVIYE_1
GoTo  PWM_SEVIYE_1

End


iyi çalışmalar...