Bu projede bir ROTARY ENCODER ile ARDUINO arasında arayüz oluşturacağız. ARDUINO UNO, elektronik mühendisleri ve hobileri için tasarlanmış ATMEGA denetleyicisi tabanlı bir geliştirme kartıdır. ARDUINO'da 20 I / O pinimiz var, böylece 20 pin UNO'yu giriş veya çıkış olarak kullanılmak üzere programlayabiliriz.
Bir döner kodlayıcı, bir motor ya da bir eksen hareketi ve açısal hareket konumunu bilmek için kullanılır. Genellikle üç terminalli bir cihazdır, güç ve toprak pimleri ile toplam 5 terminal vardır. ROTARY ENCODER modülü aşağıda gösterilmiştir.
Döner kodlayıcının pimleri şunlardır:
- Zemin
- + 5V ile bağlantılı pozitif
- Çıkış sinyali A pin
- Çıkış sinyali B pini
- Saat pimi veya ortak pim
ENCODER, sistemlerin anlaması için şaft konumundaki değişikliği temsil eden darbeler sağlar. ROTARY ENCODER'ın çalıştırıldığını ve şaftın hareket ettirildiğini düşünün.
Yukarıdaki tabloda gösterildiği gibi, şaftın saat yönünde hareket ettirildiğini düşünün. Bununla, A terminalinde ve ardından B terminalinde Falling Edge olacaktır.
Şaftın saat yönünün tersine hareket ettiğini düşünün. Bununla, B terminalinde ve ardından A terminalinde Falling Edge olacaktır.
Bu kenar, 360/20 = 18 derece için bir kez meydana gelecektir (Bu, 20 konumlu bir Kodlayıcı içindir, bu türden türe değişir, sayı ne kadar yüksek olursa doğruluk artar).
Yukarıdaki koşulların her ikisinde de yön ve dönme derecesi elde edebiliriz. Böylece bir şaftın konumunu elde etmek için gerekli parametreleri elde ederiz.
Gerekli Bileşenler
Donanım: Arduino uno kartı, bağlantı pimleri, 220Ω direnç, LED (sekiz adet), 1KΩ direnç, 220Ω direnç (2 adet), 100nF kondansatör (2 adet), ekmek tahtası.
Yazılım: Arduino nightly
Devre Şeması ve Çalışma Açıklaması
Buradaki kapasitörler, ENCODER'daki temas zıplama etkisini nötralize etmek içindir. Bu kapasitörler olmadan pozisyon okumada bazı ciddi problemler olacaktır.
Mil hareket ettirildiğinde, iki çıkış pini çıkışı arasında zaman farkı olacaktır. Arduino UNO, saat yönünün tersine dönüşün saat yönünde bu zaman farkını tanıyacaktır.
Dönüş saat yönünde ise ikili sayı bir artırılır ve bu sayı şekilde gösterildiği gibi LED portunda gösterilir.
Dönüş saatin tersi yönde ise, ikili sayı bir azaltılır ve ikili sayı LED baytında gösterilir.
Çalışma Döner Encoder ile Arduino aşağıda verilen C kodunda adım adım açıklanmıştır.