(http://s23.postimg.cc/55ghe4ejr/DFSDFAS.jpg) (http://postimg.cc/image/55ghe4ejr/)
arkadaşlar şemadaki bir sistem var
12v'luk bir motoru pwm ile birlikte sağa ve sola çeviren bir sistem var ve bu sistemde bir encoder takılı...
ben şemadaki gibi bir devre kurdum ve motorun ne tarafa döndüğünü tespit etmeye çalışıyorum.
Şu halde tespit edebiliyorum ancak işin içine karışık bir durum giriyor buda PWM
optoları okuyorum 0 olan taraf o yönde enerjinin varlığını gösteriyor ve o yöne döndüğünü tespit ediyorum, ancak motor pwm ile döndüğü için tabiki optolarda high low durumunu yakalayıp pwmi pice yansıtıyor. Ozamanda yazılımda aksaklık oluyor. yazılımda while portb.0=0 ....... wend döngüsü kullandığımda portb.0=1 durumları görünüyor...
Çünkü sanal bir encoder oluşturdum.
encoderi söktüm pic'den a ve b sinyalleri üreten bir yazılım ekledim...böylelikle motoru kendim istediğim devirde çalıştırabileceğim ancak pwm'i göz ardı edemiyorum....
Ayrıca; puls hızlarında deneme yaptım 4mhz kristal ile (sanırım her komut 1us)
pauseus 0 için motor yavaş dönüyor, (gecikme 1us)
pauseus 10 yaparsam çok hızlı dönüyor, (gecikme 11us)
daha yavaş döndürmem için 1us altına mı düşmeliyim?
20mhz kristal mi takmalıyım?
bu mantıkla 1us altına düşersem bu duruma göre daha mı yavaş dönecek sistem?
trisb=%00001100
portb=0
a var portb.0
b var portb.1
sag var portb.2
sol var portb.3
ledsag var portb.4
ledsol var portb.5
bekle var word
pause 1000
bekle=0
basla:
while sag=0
ledsag=1
pauseus bekle
a=0
pauseus bekle
b=1
pauseus bekle
a=0
pauseus bekle
b=0
pauseus bekle
a=1
pauseus bekle
b=0
pauseus bekle
a=1
pauseus bekle
b=1
wend
while sol=0
ledsol=1
pauseus bekle
a=1
pauseus bekle
b=0
pauseus bekle
a=0
pauseus bekle
b=0
pauseus bekle
a=0
pauseus bekle
b=1
pauseus bekle
a=1
pauseus bekle
b=1
wend
ledsag=0
ledsol=0
goto basla
Proteus'da encoder'li motor var,
onu kullanabilirsin.
MOTOR-ENCODER isimli.
Yok bu devrenin çizilmiş hali gerçeği ile denemeler yapıyorum... Ama öğrenmiş oldum teşekkürler.
10mhZ hıza çıktım sorunum çözüldü, arayan arkadaşların dikkatine..