Ebben a projektben egy ROTARY ENCODER-t fogunk összekapcsolni az ARDUINO-val. Az ARDUINO UNO egy ATMEGA vezérlőalapú fejlesztőtábla, amelyet elektronikus mérnököknek és hobbistáknak terveztek. Az ARDUINO-ban 20 I / O érintkezõvel rendelkezünk, így beprogramozhatunk 20 UNO csapot bemenetként vagy kimenetként.
A ROTARY ENCODER segítségével megismerhető a motor vagy a tengely mozgási helyzete és szögmozgása. Ez egy három terminálos eszköz, tápellátással és földelő csapokkal összesen 5 terminál van. Az alábbiakban egy ROTARY ENCODER modul látható.
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 figyelembe, hogy egy ROTARY ENCODER van bekapcsolva, é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.
Szükséges alkatrészek
Hardver: Arduino uno kártya, csatlakozó csapok, 220Ω ellenállás, LED (nyolc darab), 1KΩ ellenállás, 220Ω ellenállás (2db), 100nF kondenzátor (2 db), kenyérlap.
Szoftver: Arduino éjszakánként
Á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 Arduino UNO fel fogja ismerni 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.
Az Arduino rotációs kódolóval történő működését lépésről lépésre magyarázzák az alább megadott C kódban.