fan kontrol sorunu

Başlatan wonder, 03 Ocak 2007, 16:21:04

wonder

2 tane fanı kontrol etmem gerekiyo. 16f628 kullanıyodum pwm den duty cycle ayarlayarak fanı yavaşlatıp hızlandıracam fakat bikaç sorum var

1. hpwm 1,127,200 komutunda  "1" portb.3 ü mü gösteriyo yani ccp1 mi demek ve bunun için define kısmına herhangi bişey yazmam gerekiyo mu
2. ben iki tane fan kontrol edeceğim için 2 tane pwm sinyali veren pic mi kullanmam lazım, cevabı evetse hangisini, gerek yok şu şekilde yaparak ta fan devrini ayarlarsın diyosanız nasıl yapabilirm?
3. hpwm sadece program akışını bozmadan pwm sinyalini göndermek kullanılan bi komut mu ve bunu sadece portb.3 için mi kullanabilirim

pwm çıkışını bi tane transistörle sürüp fana bağlamayı düşünüyorum.
pic kullanmayı yeni öğreniyorum daha öncede pwm sinyalini hiç kullanmadım sorularım çok basit gelebilir kusura bakmayın

wonder

arkadaşlar yukardaki sorularımın cevabını buldum lakin programı çalıştıramıyorum. kodlar aşağıda, butonlar iş yapmıyo hpwm deki duty cycle ye değişken verdim butonlarla fan hızını artırıp azaltmak için ama o kendi kafasına göre çaılışıyo. ne yaptıysam kontrol edemedim. bu pwm i nasıl kontrol edebilirim.
(pwm çıkışını 4k7 direnç üzerinden bd139 un beyzine bağladım. fanın + ucunu 12v a, - ucunu collector e, emiteri şaseye bağladım)

DUTY    VAR BYTE
K       VAR BYTE
L       VAR BYTE

input   PortA.1
input   PortA.0

PORTA=0
K=0
L=0

DUTY=135

BASLA:
hpwm 1,DUTY,2000

BAK:
BUTTON  PORTA.1,0,100,50,K,1,AZALT
BUTTON  PORTA.0,0,100,50,L,1,ARTIR
GOTO BAK

AZALT:
IF DUTY=5  THEN    BAK
DUTY=DUTY-40
GOTO    BASLA

ARTIR:
IF DUTY=255  THEN    BAK
DUTY=DUTY+40  
GOTO    BASLA

OG

Fan motoru nasıl bir tür motor? Eğer PC de kullanılan minik fanlardan ise onlarpwm ile kontrol edilemez. Sabit DC vermen gerekir.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

wonder

Alıntı yapılan: "OG"Fan motoru nasıl bir tür motor? Eğer PC de kullanılan minik fanlardan ise onlarpwm ile kontrol edilemez. Sabit DC vermen gerekir.
evet bilgisayarın kasasında bulunan 12 cm lik fan.12 v ile çalışıyo ve düşük gerilim verince yavaş dönüyo. pwm sinyali ile çalışıyo fan fakat butonla pwm i değiştiremiyorum.
tşk ederim cevabınız için ama neden edemeyiz biraz açıklayabilirmisiniz.

wonder

arkadaşlar sorunu çözdüm cmcon u unutmuşum butonlar ondan sorun çıkarıyomuş, bi arkadaşım hatırlattı sağolsun kodlar aşağıda sorunsuz çalışıyor. sayın ete ye tşk ü borç bilirim. onun yazıları sayesinde oldu.
DUTY    VAR BYTE
K       VAR byte
L       VAR BYTE

TRISA=%00010011
TRISB=%00000000
CMCON=07
PORTA=0
K=0
L=0

DUTY=100
   
BAK:
Hpwm 1,DUTY,30000
if PORTA.1=0 then GOSUB AZALT
if PORTA.0=0 then gosub ARTIR

GOTO BAK

AZALT:
A:
pause 100
if PORTA.1=0 then goto A
IF DUTY=10  THEN    BAK
DUTY=DUTY-10
return

ARTIR:
B:
pause 100
if PORTA.0=0 then goto B
IF DUTY=250  THEN    BAK
DUTY=DUTY+10  
return
end

z

Bu pbp mi oluyor anlamiyorum ancak bir altprogramdan cagrildigi yere geri giderken goto kullanmak sorun yaratmiyormu?

Asagidaki kod satirinin IF DUTY=10 THEN RETURN olmasi gerekir diye dusunurum.

AZALT:
A:
pause 100
if PORTA.1=0 then goto A
IF DUTY=10 THEN BAK
DUTY=DUTY-10
return
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Alıntı yapılan: "OG"Fan motoru nasıl bir tür motor? Eğer PC de kullanılan minik fanlardan ise onlarpwm ile kontrol edilemez. Sabit DC vermen gerekir.

PWM frekansini dusuk tutarsa mekanik pwm yapmis olur gene hiz kontrolu olmasi lazim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

wonder

Alıntı yapılan: "bunalmis"Bu pbp mi oluyor anlamiyorum ancak bir altprogramdan cagrildigi yere geri giderken goto kullanmak sorun yaratmiyormu?

Asagidaki kod satirinin IF DUTY=10 THEN RETURN olmasi gerekir diye dusunurum.
evet dediğinizde haklısınız. sorun olmuyo mu demişiniz, program ve devre sorunsuz çalışıyor. yalnız düşük frekansta fanın içindeki mıknatıs ve bobinden kaynaklanıyor sanırım bi ses çıkıyordu (mesela 1khz de) 30khz denedim bu ses kayboldu.

aslan_korhan

30KHz'de ses kaybolmaz, sadece sen duymazsın. FAN'ın beslemesine bir tane  
kondensatör bağlarsan bu ses büyük bir ihtimal ile kesilir. Çok büyük olmasın ama. En fazla 470uF olur bence...
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

tagan

biraz geç olcak ama :)) benzer bir projede ben yapmıştım sıcaklıkla fan kontrolü. sesin sebebi motorlar üzerine sen gerilimin sıfır olmasını istediğindede bir gerilim düşmesidir. 1.5 V kadar bişe olabilir ölçersen görürsün. hpwm komutunu kullandığında transistörlü yükseltmede bazı sorunlarla karşılaşman doğal. aynı ses bendede olmuştu . ben çözememiştim kodu değiştirip hpwm komutunu kullanmadım. sende kendin ayarlıyacağın gecikmelerle programın çalışmasınıda hesaba katarak birazda uğraşarak:)) kendi pwm ni yapmanı öneririm. birde asıl bomba hpwm ile pwm işaretini bir gönderince tekrar hpwm den çıkıp mesela porta.1 işe yaramıyor. pwm nin değerini değiştirerek x,0,x şeklinde yapabilirsin. buda yükseltme devrene göre çeşitli sorunlar verebilir.  sana kolay gelsin bence kullanma o hazır komutu kendin yaparsın.