12F1822 Pwm Sorunu

Başlatan oguztkn, 17 Aralık 2023, 17:12:42

ete

İnternette her gördüğüne inanma kendi bilginide kat. Mosfet o gate direnci kesik kesik çalışır. Mosfet gate ucu kondansatör gibi davranır. Yani sürmek için çoğu mofetde 12v gerekir sinyalin low kısmında ise bir şekilde o şarjı boşaltman gerekir. Kullandığın mosfetin data sheetine bak bakalım gate-on voltajı kaçmış.
Ete

mehmet

Bu şekilde sürmek daha uygun gibi...

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

oguztkn

Alıntı yapılan: ete - 18 Aralık 2023, 16:32:39İnternette her gördüğüne inanma kendi bilginide kat. Mosfet o gate direnci kesik kesik çalışır. Mosfet gate ucu kondansatör gibi davranır. Yani sürmek için çoğu mofetde 12v gerekir sinyalin low kısmında ise bir şekilde o şarjı boşaltman gerekir. Kullandığın mosfetin data sheetine bak bakalım gate-on voltajı kaçmış.
Ete


Hocam internette görme durumu değil resimdeki devre base direnci 1K , 10k pull down ile fiziken önümde çalışmakta. Tek fark işlemci onda 12F510 takili ve pwm komutu ile lede çıkış veriyor.12f1822 de ayni islem tek fark hardware pwm kullanıyorum. Ama onda normal olarak çalışıyor parlaklık kontrolu yapabiliyorum. İkisinde de mosfet olarak AO3400 takılı olarak deniyorum. Pwm komutu normal hardware pwm den farkli davraniyor olabilir mi ? ?




ete

Bu mosfet data sheet'ini iyice incelersen şunu görebilirsin.
Mosfet yaklaşık 0,7V - 1,4V aralığında bir voltaj ile iletime geçmeye başlar.(Gate Treshold Voltage) Ancak bu voltaj mosfetin tam iletime geçmesi için hiç bir zaman yeterli olmayacaktır.
Tam iletim için Gate_Source voltajı ile +- 12V verilmesi gerekmektedir.
Şimdi sen diyorsunki direk işlemciye bağlı gate ile (+5V gate voltajı diyebiliriz) bu mosfet çalışıyor. Çalışıyorda nasıl çalışıyor. O mosfet den şayet 5,8A den daha az bir akım çekiliyor ise iletime geçtiği kadarı ile sana çalışıyormuş gibi görünür. Ama gerçekte sürekli akım verimi 5,8A olan bu mosfet belkide yalnızca 500ma akım verebiliyordur mevcut sürme tekniği ile.
Kısaca bir eleman için çalışıyor diyebilmemiz için data sheet deki tüm verileri karşılayan bir çalışmadan bahsetmek isteriz. Ama sen farklı açıdan bakıyorsun.

Her neyse sürekli soruyorum şu PWM frekansını bir türlü bize vermedin gitti her nedense. Yine gözden kaçırdığını düşünerek tekrar soruyorum PWM frekansın nedir.??????


Ete

ete

#19
Programından PWM çıkış alamadım. Sorun nedir onuda bulamadım.
İnsan bir bakışta göremiyor. Bu nedenle bende aynı işlemci için daha önce yaptığım uygulamadan register yerleştirerek çalıştırdım. Görünüşe göre frekansın 4 Khz ve bunu %50 duty ile açıyorsun.

Programı ilişikte veriyorum. Bunu dene bakalım en azından PWM çıkışı garantı bu programda.
#CONFIG  
 __config _CONFIG1, _FOSC_INTOSC & _MCLRE_OFF & _PWRTE_ON & _WDTE_ON & _CPD_OFF & _IESO_OFF & _FCMEN_ON
 __config _CONFIG2, _PLLEN_OFF & _LVP_OFF & _WRT_OFF
#ENDCONFIG
     
     
DEFINE OSC 16
OSCCON=%01111000     

CM1CON0=0   'KOMPARATÖRLER İPTAL EDİLDİ
CM1CON1=0 
ANSELA =%00000000  'ANALOG GİRİŞLER 
PORTA=0 :LATA=0
TRISA=%00000000
WPUA =%00000000
CPSCON0.7=0
FVRCON=0

T2CON=%00000101 'İLK İKİ BİT %00=1/1  %01=1/4   %10=1/16
PR2=249  
     
     
    duty var WORD
    X    VAR WORD
     
    OPTION_REG=%10000000

    pause 300
                
    dUtY=500

    GOSUB pwm_ver  
     
Basla:
@   NOP
    goto basla

PWM_VER:    
        IF CCP1CON=0 THEN CCP1CON=%00001100
        X=DUTY
        CCP1CON.4=X.0
        CCP1CON.5=X.1
        CCPR1L=(X>>2)
        RETURN     
     
    end

Bu arada çok önemli bir hatanı fark ettim diye düşünürken bunun bir hata olmadığınıda farkttim. Zira APFCON registeri sıfır nolu biti CCP1 çıkışını PORTA.2 denmi yoksa PORTA.5 denmi yapılacağına karar veriyor ve sende PORTA.5 olarak seçmişsin. Burada hata yokmuş.
Demekki senin programda 4Khz çıkış veriyormuş zaten. Ama bir sürü kalabalığı kaldırmak sadeleştirmek açısından iyi oldu bana kalırsa.
Benim programda APFCON.0=1 komutunu yerleştirirsen oda çıkışı PortA.5 den verecektir.

Ete

Powered by EzPortal