pıc programlama konusunda yardıma ihtiyacım var

Katılım
19 Eyl 2007
Mesajlar
13
Puanları
1
Yaş
40
Uğraştığım bir projem var. Bu projeyi C dilinde arkadaşıma yazdırdım. Ancak takıldığımız bir husus var. Devrede bir fan motoru var bu fan motoru mosfet üzerinden sürülmekte. Bizim yapmak istediğimiz bu fan motoru sıfır devirden başlayacak her saniye artarak max devrine 60 sn de ulaşacak.Yani fan devri kademeli olarak hızlanacak. Bunun için pic çıkışı 0,1V la başlayacak her saniye 0,1V artarak 60 sn de 5V ta ulaşması gerekiyor. Biliyorum pic çıkışı normalde 5V direk çıkış veriyor.Bunun için nasıl bir program yapmalıyım.
 
Size detay verecek kadar bilgiye sahip değilim.
Sanırım şöyle olacak.Pic ,çıkışını yine 5 volt verecek ama,bunu pulsler şeklinde verecek.Ve bu pulsün frekansı her saniye değişecek.
Çıkıştan sonra bir DAC( dijital analog çevirici) devresi kuracaksınız ve bu DAC mosfetinizi sürecek.
 
fanın hızını kademe kademe arttırmak istiyosan Dijital-Analog çevirici kullanabilirsin..
örneğin..

PIC programını uygun bir şekilde 0-60 arası ikili kodda değer üretecek şekilde yaz. Bu 0-60 değerleri dijital-analog çeviricide gerilime dönüşecektir.. bu gerilim ile fanı sürersen fan kademe kademe hızlanır..örneğin her saniye birazdaha hızlı
 
Sn.elektronik.
bunun için 2 yöntem kullanabilirsiniz. Sn.m-usta-fa arkadaşımızın basettiği gibi;

1. pic çıkışınında PWM oluşturarak. (Frekansı sabit, etkin olduğu ve pasif olduğu süreler değiştirilen kare dalga) bu şekilde çıkışta efektif değeri değişen bir kare dalga elde edip, bunu uygun flitre devrelerinden geçirip bir transistörü sürebilirsiniz. ya da doğrudan filitre etmeden bir mosfeti uygun şekilde tetikleyebilirsiniz.

2. farklı çözünürlüklerde (8 bit en yaygınıdır) DAC kullanarak bunun girişine bilgi göndererek çıkışta gene bir transistör ya da mosfeti sürebilirsiniz.

İyi çalışmalar.
 
Teşekkür ederim Sn Mustafa . Bende programlama konusunda yetersizim. Projemi tamamlayabilmem için program konusunda yardımlarınızı bekliyorum.
 
Arkadaşlar gerçekten ilginize teşekkür ederim. Program konusunda yardım edebilirmisiniz.
 
programlama konusunda iki isim tanırım.
1-bill gates
2- ism@il
ama şunu da diyeyim bill gatese ulaşmak daha kolaydır :)
 
bu mesajı daha şimdi gördüm :D
Sn.m-usta-fa kardeşim şaka yapmış sanırım, programlamanın p sinden bile anlamam :D
Bu arada 22 saati forumda geçen birine ulaşmak neden bu kadar zor onuda anlamadım. :D
 
hangi pici kullanacaksın picin hangi bacağından nasıl bir çkış alamk istiorsun bunu psuedo code şeklinde yazabilrisen sana mikroC kullanarak pic programını yazabilirm...
 
Sn kayimguney, kullandığımız pic 16f876A pic in 15 nolu (RC4) ayağından çıkış alacağız. Fanı da mosfet üzerinden sürdüreceğiz. Elimdeki yazılımda fan direk devreye giriyor.Bizim istediğimiz ise fanı yavaş 60 sn de devrine ulaşacak şekle dönüştürmek. Aşağıda programın bir kısmı görünüyor. İlginiz için teşekkür ederim.

if(test_system()!=SUCCSESS){
while(input(PIN_THERMOST)==KONTAK_KAPALI){ //termostat kapalı olduğu sürece alarm ver
toggle =!toggle;
output_bit(PIN_LED_RED,toggle);
delay_ms(500);
}
output_low(PIN_LED_RED);
continue; //
}
status=preparation;
enable_interrupts(int_rtcc);
plugCountVal=PLUGDELAY;

system_time=5;
while(system_time!=0 && input(PIN_THERMOST)==KONTAK_KAPALI)restart_wdt();
output_high(PIN_PLUG);
output_high(PIN_LED_GREEN);

system_time=15;
while(system_time!=0 && input(PIN_THERMOST)==KONTAK_KAPALI)restart_wdt();
output_low(PIN_LED_GREEN);
output_low(PIN_LED_RED);


pompFlag=TRUE;

ledBlinkGreen=TRUE;
system_time=5;
while(system_time!=0 && input(PIN_THERMOST)==KONTAK_KAPALI)restart_wdt();
ledBlinkRed=TRUE;
output_high(PIN_FAN);
system_time=60;
while(system_time!=0 && input(PIN_THERMOST)==KONTAK_KAPALI){
restart_wdt(); //fanı 60 sn bekle

}
 

Forum istatistikleri

Konular
130,069
Mesajlar
932,770
Kullanıcılar
453,065
Son üye
jros

Yeni konular

Geri
Üst