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
6,822
Mesajlar
116,234
Üyeler
2,776
Son üye
banu111

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Back
Top