I det här projektet ska vi ansluta en ROTARY ENCODER med ARDUINO. ARDUINO UNO är ett ATMEGA-styrbaserat utvecklingsbräde utformat för elektroniska ingenjörer och hobbyister. I ARDUINO har vi 20 I / O-stift, så vi kan programmera 20 stift av UNO som ska användas antingen som ingång eller utgång.
En roterande kodare används för att känna till motorns eller axelns rörelse- och vinkelrörelse. Det är vanligtvis en tre terminalenhet, med ström och jordstift finns det totalt 5 terminaler. En ROTARY ENCODER-modul visas nedan.
Stiften på en roterande kodare är:
- Jord
- Positiv ansluten till + 5V
- Utgångssignal A stift
- Utgångssignal B-stift
- Klockstift eller vanlig stift
ENCODER tillhandahåller pulser som representerar förändringen i axelpositionen för systemen att förstå. Tänk på att en roterande kodare är igång och axeln flyttas.
Som visas i tabellen ovan, tänk på att axeln flyttas medurs. Med detta kommer Falling Edge att vara på A-terminalen och sedan på B-terminalen.
Tänk på att axeln flyttas moturs. Med detta kommer Falling Edge att vara på B-terminalen och sedan på A-terminalen.
Denna kant kommer att inträffa en gång i 360/20 = 18 grader (detta är för en kodare med 20 position, detta ändras från typ till typ, desto högre är antalet större noggrannheten).
Med båda ovanstående förhållanden kan vi få riktning och rotationsgrad. Således får vi erforderliga parametrar för att få positionen på en axel.
Komponenter krävs
Hårdvara: Arduino uno-kort, anslutningsstift, 220Ω motstånd, LED (åtta stycken), 1KΩ motstånd, 220Ω motstånd (2stycken), 100nF kondensator (2 stycken), brödbräda.
Programvara: Arduino nattligt
Kretsschema och arbetsförklaring
Kondensatorerna här är för att neutralisera kontaktsprångeffekten i ENCODER. Utan dessa kondensatorer kommer det att finnas några allvarliga problem i läsläsning.
När axeln flyttas kommer det att finnas tidsskillnad mellan två utgångsstifters utgång. Arduino UNO kommer att känna igen denna tidsskillnad moturs för rotation moturs.
Om rotationen är medurs ökas det binära antalet med en, och detta antal visas i LED-porten som visas i figuren.
Om rotationen är motsols minskas binärräkningen med en och binärantalet visas med LED-byte.
Arduino- arbete med Rotary Encoder förklaras steg för steg i C-koden nedan.