V tej vadnici bomo povezali rotacijski dajalnik z mikrokrmilnikom ATmega8. ATmega8 je serija mikrokrmilnikov podjetja Atmel, zasnovana za vdelane aplikacije. Rotacijski dajalnik se uporablja za poznavanje položaja gibanja in kotnega gibanja motorja ali osi. Običajno gre za tri priključne naprave, katerih moč in ozemljitev šteje do pet. Spodaj je prikazan rotacijski dajalnik.
Zatiči vrtljivega dajalnika so:
- Tla.
- Pozitivno priključeno na + 5V
- Izhodni signal A pin
- Izhodni signal B pin
- Zatič ure ali skupni zatič.
ENCODER zagotavlja impulze, ki predstavljajo spremembo položaja gredi, da jih lahko sistem razume. Predpostavimo, da je ROTATORSKI KODER vklopljen in gred premaknjena.
Kot je prikazano v zgornji tabeli, upoštevajte, da je gred premaknjena v smeri urnega kazalca. S tem bo Falling Edge na terminalu A in nato na terminalu B.
Upoštevajte, da je gred premaknjena v levo. S tem bo Falling Edge na terminalu B in nato na terminalu A.
Ta rob se bo pojavil enkrat za 360/20 = 18 stopinj (to je za dajalnik z 20 položaji, to se spreminja od vrste do vrste, večje število je večja natančnost).
Z obema zgornjima pogojema lahko dobimo smer in stopnjo vrtenja. Tako dobimo potrebne parametre za določanje položaja gredi.
Komponente
Strojna oprema: ATMEGA8, povezovalni zatiči, AVR-ISP PROGRAMMER, upor 220Ω, LED (osem kosov), upor 1KΩ, upor 220Ω (2 kosa), kondenzator 100nF (2 kosa), plošča za kruh.
Programska oprema: Atmel studio 6.1, progisp ali flash magic.
Shema vezja in delovna razlaga
Tukaj kondenzatorji nevtralizirajo učinek odbijanja kontaktov v ENCODER. Brez teh kondenzatorjev bo pri odčitavanju položaja prišlo do resnih težav.
Ko se gred premakne, bo prišlo do časovne razlike med dvema izhodnima zatičema. ATMEGA8 bo to časovno razliko prepoznal v smeri urnega kazalca za vrtenje v levo.
Če je vrtenje v smeri urnega kazalca, se binarno število poveča za eno in to število se prikaže v vratih LED, kot je prikazano na sliki.
Če je vrtenje v nasprotni smeri ure, se binarno število zmanjša za eno in binarno štetje se prikaže v bajtu LED.
Ne pozabite, da tukaj ne nastavljamo bitov varovalk atmega8, zato bo krmilnik delal na privzetem notranjem kristalu 1 MHz.
Delovanje rotacijskega dajalnika povezave z mikrokrmilnikom ATmega8 je razloženo v spodnji kodi.