Y

Metal sensörü ile devir saydırma

Başlatan YasarGunaydin, 06 Mart 2014, 12:53:42

YasarGunaydin

 Arkadaşlar merhaba;

1400 d/d dönen bir motorun bağlı olduğu kasnağın (çapı yaklaşık 5 cm) çevresinde 2cm lik kabartma ek metal taktık ve karşısına metal sensörü taktık.Kasnağı yavaş döndürünce pic16f877 kaç tur döndüğünü sayıyor.Aşağıdaki komutlarla

IF SW2=0 THEN
PAUSE 3
While PORTC.1=0 : Wend
SAY=SAY+1
ENDIF


Problem tam devrini alınca atlama yapıyor.Enkoder takma şansım şu aşamada yok.Bu yolla halletmem mümkünse bu yolla yapmalıyım.Pause yerine pauseus denedim,4mhz yerine 20mhz taktım yapamadım.
Ne yapmalıyım.Yardımlarınızı bekliyorum arkadaşlar.
100 tur atıyorsa ekranda 100 görmeliyim.komut dizisindeki SAY  100 olmalı yani


ete

1400 dev/dak lık motor kasnağı tur başına bir puls üretiyor ise bu 1 sn 23-24 puls sayacak demektir.
Bunu mutlaka sayması gerekir ama oradaki pause neden var anlamadım.
Kod dan anladığım kadarı ile Puls gelince port pini HIGH oluyor. O halde normalde pin LOW da bekliyor demektir.
Bu durumda şöyle bir kod işinizi mutlaka görmesi gerekir.
BASLA:
WHILE PORTC.1=0:WEND
SAY=SAY+1
'Normalde buraya sayac değerini ekrana verecek komut yazmak lazım ama bu komut aynı zamanda gecikmeye sebep olur.
Goto BASLA
Bu kodların aarasında pause kullanmanız sakıncalı. O nedenle LCD komutu koyabilirsiniz ancak pause koyamazsınız.

Aynı işi PORTB.0 kesmesi ilede kolaylıkla yapabilirsiniz. Daha sağlıklı olur.
PortB.0 kesmesini aktive edin.   INTCON=%10010000 :
ON INTERRUPT GOTO KESME

Ana program kısmında yalnızca ;
BASLA:
LCDOUT $FE,$C0,"TUR=",dec say
Goto basla

Yazarsınız

KESME Kısmında ise
DISABLE
KESME:
            SAY=SAY+1
            INTCON.0=0
            RESUME
            ENABLE
şeklinde işi halledebilirsiniz.

Ete




YasarGunaydin

Hocam Öncelikle teşekkür ederim.
Pause neden kullandım bende anlamadım,kaldırınca birnebze düzeldi deneme yapıyoruz.Fakat ben kesmeyide denemekl istiyorum ama kartı yapmıştım ve  port b ye ekran takılı ve sensörde portc.1 e bağlı. ya yeni kart yapıcam yada başka kesme kullanabilirmiyim ona bakıyorum.

Saygılar

Powered by EzPortal