irfz44n ve pwm ile gerilim düşürme

Başlatan satilla, 14 Kasım 2010, 15:33:07

satilla

pwm ile mosfetten geçen geriliimi düşürmeye çalışıyorum ancak belli bir degerin altına düşüremedim


Device = 16F628     

PORTB=0
PORTA=0
TRISA=0
TRISB=%11100000

CCP1_PIN PORTB.3 


Dim deg As Byte
Clear

DelayMS 100
High PORTB.4
DelayMS 500
Low PORTB.4

DelayMS  500
start:

High PORTB.4

HPWM PORTB.3,127,deg
DelayMS 100
If PORTB.5=1 Then deg=deg+1
If PORTB.6=1 Then deg=deg-1 


DelayMS 1
GoTo start

End


yazdıgım kod butona bastıgımda sanki iki seviye varmıs gibi çalışıyor sürekli azalma veya artma gözlemleyemiyorum

pwm.c

benim pbp ile yazdığım bir test yazılımı. umarım işine yarayabilir
dosyaları buradan indir:
http://hotfile.com/dl/82771683/c8b099a/pwm16f628.zip.html

@ DEVICE pic16F628  
@ DEVICE pic16F628, WDT_OFF  
@ DEVICE pic16F628, PWRT_OFF  
@ DEVICE pic16F628, PROTECT_OFF  
@ DEVICE pic16F628, MCLR_ON  
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT

TRISB=0
TRISA=%11111111
PORTB = 0
PORTA = 0 
PR2 = 255     
CCPR1L = 128  
CCP1CON = %00001100 
T2CON = %00000100    
CMCON=7


ANA:
pause 100
IF PORTA.0=1 THEN ARTIR
IF PORTA.1=1 THEN AZALT
IF PORTA.2=1 THEN NORMALLE
GOTO ANA

ARTIR:
IF CCPR1L=255 THEN ANA
CCPR1L=CCPR1L+1
GOTO ANA

AZALT:
IF CCPR1L=0 THEN ANA
CCPR1L=CCPR1L-1
GOTO ANA

NORMALLE:
CCPR1L=128
GOTO ANA

END
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

OG

If PORTB.5=1 Then deg=deg+1
If PORTB.6=1 Then deg=deg-1

HPWM 8 bit işlem yapar, bu da 0~255 arası demektir.

Sen artma butonuna bastığında 0 dan 255 e kadar çıkar, burada butonu bırakmadı isen 255 den 1 sonrası tekrar 0 dır. Aniden sıfıra düşer.
Aynı durum azaltma butonu için de geçerlidir. 255 den 0 a doğru azalır. 0 da durmazsan aniden 255 e fırlar.

(İkili sayı sistemlerini incelemelisin)

O sebeple şart koyman gerekir.

If PORTB.5=1 and deg<255  Then deg=deg+1
If PORTB.6=1 and deg>0 Then deg=deg-1

gibi
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

satilla

Alıntı yapılan: OG - 15 Kasım 2010, 21:17:02
If PORTB.5=1 Then deg=deg+1
If PORTB.6=1 Then deg=deg-1

HPWM 8 bit işlem yapar, bu da 0~255 arası demektir.

Sen artma butonuna bastığında 0 dan 255 e kadar çıkar, burada butonu bırakmadı isen 255 den 1 sonrası tekrar 0 dır. Aniden sıfıra düşer.
Aynı durum azaltma butonu için de geçerlidir. 255 den 0 a doğru azalır. 0 da durmazsan aniden 255 e fırlar.

(İkili sayı sistemlerini incelemelisin)

O sebeple şart koyman gerekir.

If PORTB.5=1 and deg<255  Then deg=deg+1
If PORTB.6=1 and deg>0 Then deg=deg-1

gibi



0 ile 255 arası degerde oldugunu biliyorum ve buna göre yazdm kodları ancak
0 dan 255 e kadar pwm nin yavas yavas artması gerekmiyormu?
mosun çıkışına led bagladıgımda bir artıyor bir azalıyor tuşa basınca bunu anlamış değilim?

justice_for_all

arkadasim butona bastiktan sonra bi sure bekleme koymalisin yoksa butona biraz uzun sure basinca cok hizli saydigi icin duzensiz calisiyo yani sen basinca 255i asip tekrar sifirdan saymaya basliyo..

eger biraz bekleme koyarsan sorun duzelecektir...


Kolay Gelsin....
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

OG

Sonradan dikkatimi çekti,

HPWM PORTB.3,127,deg

şeklinde olmaz.

Orada deg yazan yer frekanstır. deg değerini 127 yerine yazacaksın.

HPWM PORTB.3,deg,1500
gibi
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

satilla

peki neden frekans değiştikce gerilim seviyesinde değişme oluyor frekans değişimide iş görmezmi OG hocam

satilla

Alıntı yapılan: justice_for_all - 15 Kasım 2010, 23:56:43
arkadasim butona bastiktan sonra bi sure bekleme koymalisin yoksa butona biraz uzun sure basinca cok hizli saydigi icin duzensiz calisiyo yani sen basinca 255i asip tekrar sifirdan saymaya basliyo..

eger biraz bekleme koyarsan sorun duzelecektir...


Kolay Gelsin....

dikkat etmediniz sanırım döngü içieirnde zaten 200 ms gecike bu iş için

justice_for_all

pwmin frekansinda degisiklik olunca degil duty cycle in frekansinda degisiklik gerilimde dusme yada yukseltme yapar...(duty cycle lin degerinin azalip artmasi da sonucta dutynin frekansinin degistigi anlamina gelir...)
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

satilla

Alıntı yapılan: justice_for_all - 16 Kasım 2010, 22:01:33
pwmin frekansinda degisiklik olunca değil duty cycle in frekansinda degisiklik gerilimde dusme yada yukseltme yapar...(duty cycle lin degerinin azalip artmasi da sonucta dutynin frekansinin degistigi anlamina gelir...)

hocam picin cıkcısına bir direncle led bağlasam duty değeriyle oynadıgımda gerilimde düşme olacagı tamam doğrudur, ancak ben mosfetle süreceğim için mosun girişine kaç v uygularsam uygulayayım çıkışı yine sabit almazmıyım??

justice_for_all

hayır arkadasım mosun gate pinine pwm siyali verirsen ordada gerilim kontrolü yapabilirsin ben pwmle fan hız kontolü yapmıştım mosfet ile...


Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

satilla

Alıntı yapılan: justice_for_all - 17 Kasım 2010, 16:45:09
hayır arkadasım mosun gate pinine pwm siyali verirsen ordada gerilim kontrolü yapabilirsin ben pwmle fan hız kontolü yapmıştım mosfet ile...




gate uygulanan gerilim pwm ile değiştirildiginde mos cıkısında değişim oluyorsa bunu pot ile yapmakta mümkündür diyebilirmiyz?

justice_for_all

potla yaptıgın zaman duz bi dc sinyal vermiş olursun mosfette gerilim dusmesi için anahtarlamalı yani clock darbesi seklinde olması gerekir arkadasım ...
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

OG

PWM de gerilim değiştirme ile uğraşılmaz, darbe boşluk oranı değiştirilerek ortalama gerilim değişmiş olur. Bu da ortalama güç değişimi olarak yansır.

Yani pot ile pwm gerilimi oynanmaz. PWM değeri mosfetin istediği sınırlar içinde max seviyede sürülür ki mos rahat çalışsın.

Gerilim değiştirme işlemi linear çalışmalarda uygulanır. Bu çalışmalarda kullanılacak mosfet de farklıdır.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.