Rotary enkoder sinyallerini osiloskopla incelediğimde bazı palslerin tam düzgün olmadığını gördüm. Kesme kullanarak yaptığım denemede de pals kaçırma söz konusu. Pals okuma işi yazılımsal kontrollerle yapıldığında kaçırma olasılığı daha da artacaktır.

Bu sorunu çözmek bile başlı başına bir proje olabilir.

Neden direnç kullanıldı veya kullanmadan nasıl çalıştı sorusuna cevap verebilecek olan şey datasheettir. Malzeme bozulduktan sonra datasheet'e bakıldığında iş işten geçmiş oluyor.
 
Gökhan 0.1 mikrofaradlık 2 kapasitör kesinlikle durması kaydıyla 10K lık dirençleri 1K (Yada ona yakın dirençlerle) değiştirirmisin düzelebilir.
Yani devrenin eski hali aşağıdaki gibi olacaktı 10 K ları 1K yapacaksın

rotary.png
 
Rotary enkoder sinyallerini osiloskopla incelediğimde bazı palslerin tam düzgün olmadığını gördüm. Kesme kullanarak yaptığım denemede de pals kaçırma söz konusu. Pals okuma işi yazılımsal kontrollerle yapıldığında kaçırma olasılığı daha da artacaktır.

Elektronik tamir yaptığım zamanlarda bazı müzik setlerinin ses açmasında kontrolünde bu encoderler oluyordu ve temazsızlık arızası yapıyorlardı. Encoderi çevirince ses açılmıyor. çevir çevir sonra bir ara açılıyordu. Kontak spreyi ile sorun çözülüyordu...

Demem o ki yeni ürün ama yinede hafif sorunlu olabilir...


Yazılımsal kaçırma için interrupt kullanmak gerekli ancak şu duruma dikkat etmek lazım. 1,2,3,4,5 şeklinde kaçırmadan saydığını düşünelim. İnterrupt döngüsünde sağlıklı bir şekilde sayarken main loop içerisinde serial.print ile 1,3,5 verileri gönderilebilir. iki veri gönderme arasında encoder değeri dahada artmış olabilir. Burda şöyle bir kısır döngü var.. Örn. gözlemleme hızın 1 sn ise, encoderin pulsleri 1snden hızlı olmamalı olduğu sürece 1,3,5 gibi veriler gelir...
 
Son düzenleme:
data ve clk girişine birer tane 100nf bağlayıp kontansatörlerin diğer uçlarını da şaseye bağlayarak deneyebilirsiniz.

Gökhan 0.1 mikrofaradlık 2 kapasitör kesinlikle durması kaydıyla 10K lık dirençleri 1K (Yada ona yakın dirençlerle) değiştirirmisin düzelebilir.
Yani devrenin eski hali aşağıdaki gibi olacaktı 10 K ları 1K yapacaksın

4111 eklentisine bak

Öncelikle şunu belirteyim. Encoderi kendi yaptığım ayarlı güç kaynağından besleyince hiç durmadan sayı atlıyor. Mutemelen benim güç kaynağında dalgalanma var. Zaten ekrandaki volt göstergesini de ayarlayana kadar canım çıkıyor. Sürekli zıplıyor.

Gelelim Asıl Konumuza
Bu gün deneme yaptım. 100nf ları dediğiniz şekilde bağladım. Encoderi Arduino üzerindeki 5v dan besledim.
Çok iyi sonuç verdi. Encoderin atlama yapması için çeşitli hızlarda çevirdim. Elimden geleni yaptım. Hatta bir ara çok ileri gidip pals atlamayınca sinirlendim :katil1:

enco_ok.png


Sanırım şu şemanın burada durması daha sonra sorun yaşayanlara yardımcı olabilir.

encoder kararlı şema.png
 

Çevrimiçi personel

Forum istatistikleri

Konular
5,653
Mesajlar
97,264
Üyeler
2,438
Son üye
İbrahimSönmez

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top