V tomto projekte prepojíme ROTARY ENCODER s ARDUINO. ARDUINO UNO je vývojová doska založená na radiči ATMEGA určená pre elektronických inžinierov a fandov. V ARDUINO máme 20 I / O pinov, takže môžeme naprogramovať 20 pinov UNO na použitie ako vstup alebo výstup.
Rotačný snímač slúži poznať polohu pohybu a uhlového pohybu motora alebo osi. Je to zvyčajne trojpólové zariadenie, s napájacími a uzemňovacími kolíkmi je celkom 5 vývodov. Nižšie je zobrazený modul ROTARY ENCODER.
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.
Súčasti sú povinné
Hardvér: doska Arduino uno, pripájacie kolíky, odpor 220Ω, LED (osem kusov), odpor 1KΩ, odpor 220Ω (2 kusy), kondenzátor 100nF (2 kusy), chlebová doska.
Softvér: Arduino každú noc
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. Arduino UNO 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.
Práca Arduina s Rotary Encoderom je vysvetlená krok za krokom v C kóde uvedenom nižšie.