V tomto výučbe sa chystáme prepojiť rotačný kódovač s mikrokontrolérom ATmega8. ATmega8 je séria mikrokontrolérov atmel určená pre zabudované aplikácie. Rotačný kódovač slúži na poznanie polohy pohybu a uhlového pohybu motora alebo osi. Je to zvyčajne trojkoncové zariadenie, ktorého počet napájacích a uzemňovacích pinov je päť. Ďalej je uvedený modul rotačného kódovacieho zariadenia.
Kolíky rotačného kódovacieho zariadenia sú:
- Uzemnenie.
- Pozitívne pripojené k + 5V
- Výstupný signál Pin
- Výstupný signál B pin
- Pin hodín alebo bežný pin.
ENCODER poskytuje impulzy predstavujúce zmenu polohy hriadeľa, aby systémy porozumeli. Zvážte, že je OTOČNÝ KODÉR zapnutý a hriadeľ je posunutý.
Ako je uvedené v predchádzajúcej tabuľke, zvážte, či sa hriadeľ pohybuje v smere hodinových ručičiek. Vďaka tomu bude mať Falling Edge v termináli A a potom v termináli B.
Zvážte, či sa hriadeľ pohybuje proti smeru hodinových ručičiek. S týmto bude Falling Edge v termináli B a potom v termináli A.
Táto hrana sa vyskytne raz pre 360/20 = 18 stupňov (Toto je pre kódovač s 20 polohami, mení sa to od typu k typu, čím vyšší je počet, tým vyššia je presnosť).
Pri obidvoch vyššie uvedených podmienkach môžeme získať smer a stupeň rotácie. Získame tak požadované parametre na získanie polohy hriadeľa.
Komponenty
Hardvér: ATMEGA8, spojovacie piny, AVR-ISP PROGRAMÁTOR, odpor 220Ω, LED (osem kusov), odpor 1KΩ, odpor 220Ω (2 kusy), kondenzátor 100nF (2 kusy), chlebová doska.
Softvér: Atmel studio 6.1, progisp alebo flash magic.
Schéma zapojenia a pracovné vysvetlenie
Kondenzátory tu slúžia na neutralizáciu efektu odskakovania kontaktov v ENCODERE. Bez týchto kondenzátorov budú nejaké vážne problémy s čítaním polohy.
Keď sa hriadeľ pohne, dôjde k časovému rozdielu medzi výstupom dvoch výstupných kolíkov. ATMEGA8 rozpozná tento časový rozdiel pre otáčanie proti smeru hodinových ručičiek.
Ak je rotácia v smere hodinových ručičiek, binárny počet sa zvýši o jednu a tento počet sa zobrazí na porte LED, ako je to znázornené na obrázku.
Ak je rotácia proti smeru hodinových ručičiek, binárny počet sa zníži o jednu a binárny počet sa zobrazí na bajte LED.
Pamätajte, že tu nenastavujeme žiadne poistkové bity atmega8, takže radič bude pracovať na predvolenom vnútornom kryštáli 1 MHz.
Fungovanie prepojenia rotačného kódovacieho zariadenia s mikrokontrolérom ATmega8 je vysvetlené v nasledujúcom kóde.