Ebben az oktatóanyagban egy rotációs kódolót fogunk összekapcsolni az ATmega8 mikrovezérlővel. Az ATmega8 az atmel mikrovezérlő-sorozata, amelyet beágyazott alkalmazásokhoz terveztek. A forgókódoló segítségével megismerhető a motor vagy a tengely mozgásának helyzete és szögmozgása. Ez általában egy három terminálos eszköz, amelynek teljesítménye és a földcsapja ötig számít. Az alábbiakban látható egy forgó kódoló modul.
A forgókódoló csapjai a következők:
- Talaj.
- Pozitív + 5V-ra csatlakoztatva
- Kimeneti jel A tű
- Kimeneti jel B tű
- Óra csap vagy közös csap.
Az ENCODER impulzusokat ad, amelyek a tengely helyzetének változását jelentik a rendszerek számára. Vegyük fontolóra, hogy a forgó kódoló be van kapcsolva, és a tengely elmozdul.
Amint a fenti táblázat mutatja, vegye figyelembe, hogy a tengely óramutatón mozog. Ezzel lesz egy Falling Edge az A terminálon, majd a B terminálon.
Tekintsük a tengelyt az óramutató járásával ellentétesen. Ezzel lesz a Falling Edge a B terminálon, majd az A terminálon.
Ez az él egyszer bekövetkezik 360/20 = 18 fok esetén (Ez egy 20 pozíciós kódoló esetében van, ez típusonként változik, annál nagyobb a pontosság).
Mindkét fenti feltétel mellett meg tudjuk kapni az irányt és a forgás mértékét. Így megkapjuk a tengely helyzetének megadásához szükséges paramétereket.
Alkatrészek
Hardver: ATMEGA8, csatlakozó csapok, AVR-ISP PROGRAMMER, 220Ω ellenállás, LED (nyolc darab), 1KΩ ellenállás, 220Ω ellenállás (2db), 100nF kondenzátor (2 db), kenyérlap.
Szoftver: Atmel studio 6.1, progisp vagy flash magic.
Áramköri ábra és működési magyarázat
Az itt szereplő kondenzátorok az ENCODER-ben az érintkező visszapattanó hatás semlegesítésére szolgálnak. Ezen kondenzátorok nélkül komoly problémák merülnek fel a helyzetolvasásban.
A tengely mozgatásakor időbeli különbség lesz két kimeneti csap kimenete között. Az ATMEGA8 felismeri ezt az időeltolódást az óramutató járásával megegyező irányban, az óramutató járásával ellentétes irányban.
Ha az elforgatás az óramutató járásával megegyező irányban halad, akkor a bináris számlálást eggyel növeljük, és ez a szám a LED-porton látható, ahogy az ábra mutatja.
Ha az óramutató járásával ellentétes a forgatás, akkor a bináris számlálást eggyel csökkentjük, és a bináris számot a LED bájtja mutatja.
Ne feledje, hogy itt nem állítunk be semmilyen atmega8 biztosítékot, ezért a vezérlő 1Mhz alapértelmezett belső kristályon fog dolgozni.
A rotációs kódoló és az ATmega8 mikrovezérlő összekapcsolásának működését az alábbi kód ismerteti.