Bu eğitimde, bir döner kodlayıcı ile ATmega8 mikrodenetleyici arasında arayüz oluşturacağız. ATmega8, atmel'in gömülü uygulamalar için tasarlanmış mikro denetleyici serisidir. Döner kodlayıcı, bir motorun veya eksenin hareket konumunu ve açısal hareketini bilmek için kullanılır. Genellikle güç ve toprak pimi beşe kadar olan üç terminalli bir cihazdır. Aşağıda bir döner kodlayıcı modülü gösterilmektedir.
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. DÖNER KODLAYICIya güç verildiğini 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.
Bileşenler
Donanım: ATMEGA8, bağlantı pimleri, AVR-ISP PROGRAMMER, 220Ω direnç, LED (sekiz adet), 1KΩ direnç, 220Ω direnç (2 adet), 100nF kapasitör (2 adet), breadboard.
Yazılım: Atmel studio 6.1, progisp veya flash magic.
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. ATMEGA8, 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.
Unutmayın, burada herhangi bir atmega8 sigorta biti ayarlamıyoruz, yani kontrolör 1Mhz varsayılan dahili kristal üzerinde çalışacak.
Döner kodlayıcının ATmega8 mikrodenetleyici ile arayüzlenmesi çalışması aşağıdaki kodda açıklanmıştır.