Analyzer
Üye
- Katılım
- 15 May 2007
- Mesajlar
- 192
- Puanları
- 1
Selam,
Arkadaşlar, makinede 500 palslik bir enkoder var. 500 palse geldiğinde ben bu enkoderin registerini sıfırlıyorum. Yani bu register saat yönünde döndüğünde 0-500 arası değer alıyor. Registerin değerine göre örn. 250 ye geldiğinde 1. pistonu, 350 ye geldiğinde 2. pistonu hareket ettiriyorum.
Yeni yapılan makinede motor yok, dolayısı ile enkoder de yok.
Ben 10 ms interrupt ile 0-500 arasını saydırıyorum ve bu registerin durumuna göre pistonları çalıştırıyorum. Ancak enkoder gibi olmadı. Pistonların hareketinden anladığım kadarıyla pals kaçırıyor. Bir cycle da yaptığı yoğun işler nedeniyle aralık 10 ms yi bazen aşıyor bazen de normal gibi çalışıyor.
Nasıl çözebilirim, ne önerirsiniz?
Analyzer
Arkadaşlar, makinede 500 palslik bir enkoder var. 500 palse geldiğinde ben bu enkoderin registerini sıfırlıyorum. Yani bu register saat yönünde döndüğünde 0-500 arası değer alıyor. Registerin değerine göre örn. 250 ye geldiğinde 1. pistonu, 350 ye geldiğinde 2. pistonu hareket ettiriyorum.
Yeni yapılan makinede motor yok, dolayısı ile enkoder de yok.
Ben 10 ms interrupt ile 0-500 arasını saydırıyorum ve bu registerin durumuna göre pistonları çalıştırıyorum. Ancak enkoder gibi olmadı. Pistonların hareketinden anladığım kadarıyla pals kaçırıyor. Bir cycle da yaptığı yoğun işler nedeniyle aralık 10 ms yi bazen aşıyor bazen de normal gibi çalışıyor.
Nasıl çözebilirim, ne önerirsiniz?
Analyzer