Tässä opetusohjelmassa aiomme liittää kiertokooderin ATmega8-mikrokontrolleriin. ATmega8 on atmelin mikrokontrollerisarja, joka on suunniteltu sulautettuihin sovelluksiin. Pyörivää kooderia käytetään moottorin tai akselin liikkeen ja kulmaliikkeen tuntemiseen. Se on yleensä kolmen päätelaitteen laite, jonka teho ja maadoitusnasta laskevat viiteen. Pyörivä anturimoduuli on esitetty alla.
Pyörivän kooderin nastat ovat:
- Maa.
- Positiivinen kytketty + 5V: iin
- Lähtösignaali A tappi
- Lähtösignaali B-tappi
- Kellotappi tai tavallinen tappi.
ENCODER tarjoaa pulsseja, jotka edustavat akselin asennon muutosta, jotta järjestelmät ymmärtäisivät sen. Harkitse, että pyörivään kooderiin kytketään virta ja akselia liikutetaan.
Kuten yllä olevassa taulukossa on esitetty, ota huomioon, että akselia liikutetaan myötäpäivään. Tämän ansiosta A-terminaalissa on Falling Edge ja sitten B-terminaalissa.
Harkitse, että akselia siirretään vastapäivään. Tämän seurauksena B-terminaalissa on Falling Edge ja sitten A-terminaalissa.
Tämä reuna esiintyy kerran 360/20 = 18 astetta (Tämä on enkooderille, jossa on 20 asentoa, tämä muuttuu tyypistä toiseen, suurempi lukema lisää tarkkuutta).
Molemmilla yllä olevilla ehdoilla voimme saada suunnan ja pyörimisasteen. Siten saamme tarvittavat parametrit akselin asennon saamiseksi.
Komponentit
Laitteisto: ATMEGA8, liitintapit, AVR-ISP-OHJELMOINTI, 220Ω-vastus, LED (kahdeksan kappaletta), 1KΩ -vastus, 220Ω-vastus (2kpl), 100nF-kondensaattori (2kpl), leipälauta.
Ohjelmisto: Atmel studio 6.1, progisp tai flash magic.
Piirikaavio ja selitys työstä
Tässä olevat kondensaattorit on tarkoitettu neutraloimaan kontaktin palautumisvaikutus ENCODERissa. Ilman näitä kondensaattoreita on vakavia ongelmia asennon lukemisessa.
Kun akselia liikutetaan, kahden lähtöpistokkeen ulostulon välillä on aikaero. ATMEGA8 tunnistaa tämän aikaeron myötäpäivään vastapäivään kiertämällä.
Jos kierto on myötäpäivään, binäärilukua lisätään yhdellä, ja tämä määrä näkyy LED-portissa kuvan osoittamalla tavalla.
Jos kierto on vastapäivään, binäärilukua vähennetään yhdellä ja binäärilukema näkyy LED-tavussa.
Muista tässä, ettemme aseta mitään atmega8: n sulakebittejä, joten ohjain toimii 1MHz: n sisäisellä oletuskiteellä.
Kiinnitysanturin ja ATmega8-mikrokontrollerin käyttö selitetään alla olevassa koodissa.