Acilen yardım !!!!!!!!.

Başlatan yusuftr80, 21 Nisan 2006, 09:07:39

yusuftr80

Arkadaşlar sizden acil bir sorun için yardım bekliyorum ?
Sorunum  3 buton la iki role kontrol etmek  ama program aşagıga yazdım gibi  her şey normal  sadece  role çıkışların dan  motora verdim zaman  roleler sıra takib etmeden  düzensiz çalışıyor  buna bir çare similasyon da ise bir sorun yok  12 wolt araba silecek motoru  bagladım da bu sorun ortaya çıkıyor



Butonların kontrolü  şu şekilde :
1 . Butona bastım da  rolenin biri çekecek  bıraktım an  diyer roleye gececek  

2.   stoba bastım an duracak .
3.    buton ise  1 rincinin tam teri ni yapacak  stopba bastım an yine  duracak  şekilde olması lazım .

NOT: Yaptım devrenin açık  şeması ve yazılımını da  gönderdim aşağıda   kolay gelsin .










































TRISB=%00000000
TRISA=%00000111
PORTB=0
BASLA:
IF PORTA.0=0 THEN
 
 PORTB=%00000001
 PAUSE 500
 PORTB=%00000010
 ENDIF
 
 
 
IF PORTA.1=0 THEN

PORTB=%0000010
PAUSE 500
PORTB=%00000001
ENDIF


IF PORTA.2=0 THEN
 PORTB=%0000000
 ENDIF
 
 GOTO BASLA
 END

ete

Öncelikle resim çıkmamış onu belirteyim.
İkinci nokta ise tarifinle program uyuşmuyor.
1. Şartın, ilk butona basınca 1. röle çeksin bu butonu bırakınca ikinci röle çeksin (öyle anladım) demişsin. Halbuki programda; 1. butona basılınca 1. röleyi çektiriyorsun ve 500 ms bekletip 1. röleyi bıraktırıyor ve ikinci röleyi çektiriyorsun. Kısaca 1. röle çekiliyor, senin butonu bırakıp bırakmadığına bakılmaksızın 500 ms. sonra 1. röle bırakılıyor ve 2. röle çekiliyor. Bu durumda hangisi doğru. Programmı yoksa açıklamanmı?.

Tabiiki aynı durum diğer buton içinde geçerli.
Açıklamanı doğru kabul eder isek,
1. butona basıldığı sürece 1. röle çekili kalacak 1. buton bırakılır bırakılmaz hemen 2. röle çekecek.

2. Butona basılı tutulduğu sürece 2. röle çekecek bu buton bırakılır bırakılmaz 2. röle bırakacak ve hemen 1. röle çekecek.
Tabiiki stop butonu her iki konumuda reset edip çekili olan röleleri bıraktıracak.
Olay bu mudur.? Şayet bu ise işte program

TRISB=%00000000
TRISA=%00000111
PORTB=0
BASLA:

IF PORTA.0=0 THEN POZA
IF PORTA.1=0 THEN POZB
IF PORTA.2=0 THEN PORTB=%0000000
GOTO BASLA

POZA:
WHILE PORTA.0=0
PORTB=%00000001
WEND
PAUSE 500
PORTB=%00000010
GOTO BASLA

POZB:
WHILE PORTA.1=0 THEN
PORTB=%0000010
WEND
PAUSE 500
PORTB=%00000001
GOTO BASLA
END


Umarım Doğrudur.
ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com