Fórum témák

» Több friss téma
Cikkek » Inkrementális szögadó illesztése mikrokontrollerhez
Inkrementális szögadó illesztése mikrokontrollerhez
Szerző: ATtiny, idő: Feb 1, 2010, Olvasva: 22027, Oldal olvasási idő: kb. 3 perc
Lapozás: OK   3 / 4

Normál egyszeres dekódolás

Tehát a szögadó A és B csatorna kimenetein impulzus sorozat jelenik meg, ha a szögadó tengelye elfordul. Ebből kell kiszámolni az elfordulás szögét vagy távolságát. Az első ami mindenkinek eszébe jut, hogy egyszerűen megszámoljuk az impulzusokat az A vagy B csatornán és az így kapott szám alapján tudjuk, hogy mennyi az elfordulás. Ez igaz is, de csak abban az esetben ha szigorúan csak egyik irányban forog a tengely. Amint a másik irányban is elmozdítjuk a tengelyt máris borul az elmélet, mivel a másik irányban is pontosan ugyanolyan impulzusok jelennek meg a szögadó kimenetein és ha csak az egyik csatornát vizsgáljuk akkor nem tudjuk eldönteni, hogy most jobbra vagy balra forog a tengely. A forgás irány meghatározásához vizsgálni kell a másik csatorna jelét is.

A, B, Z csatorna kimeneti jelei

A rajzon nyomon követhetjük az A, B, Z (index) csatorna jeleinek alakulását. A fontosabb állapot váltásokat megszámoztam 1. 2. 3. 4. és 5. jelzi ezeket. Tételezzük fel, hogy a tárcsa balról jobbra mozog tehát az események az időben úgy követik egymást, hogy 1. után jön a 2. utána a 3. 4. 5. Az egyszeres dekódoláshoz elegendő figyelni az A csatorna felfutó vagy lefutó élét. Ha a felfutó élet figyeli a dekódoló akkor az 1. 3. 5. időpillanatban fog lépést számolni. Az ábrán jól látható, hogy ilyenkor a B csatorna mindig alacsony szintű. Ha a tárcsa ellenkező irányban forog, akkor az események fordított sorrendben következnek be. Tehát először az 5. utána jön a 4. 3. 2. 1. Ha a felfutó élet figyeljük az A csatornán, akkor a dekódoló áramkör a 4. és 2. időpillanatban reagál. Ilyenkor a B csatorna mindig magas szintű.

Egyszeres dekódolás összefoglalva:

Ha az A csatornán felfutó élet érzékeltünk és B csatorna alacsony akkor egyet lépet a szögjeladó balról jobbra. Ha a B csatornán magas szintet érzékelünk, mikor az A csatornán felfutó él érkezik, akkor a szögjeladó jobbról balra lépett egyet. A Z csatornát mindenképpen teljesen külön kell vizsgálni. Nem tehetjük, meg azt, hogy az A csatornán beérkező felfutó élre vizsgáljuk meg. Ez egyértelműen látszik is a rajzon, hogy van olyan irány, amikor észre sem vennénk. Mikronkontrolleres dekódolásra lefordítva ez azt jelenti, hogy kell 2db megszakítás bemenet az A és Z csatornákra és egy sima digitális bemenet a B csatornának.

Kétszeres dekódolás:

A kétszeres dekódolásnál, mint ahogy a neve is mutatja megkétszerezzük a szögadó fizikai felbontását. Ezt úgy valósítjuk meg, hogy az A vagy B csatorna jelét két részre bontjuk. Ezt úgy érjük el, hogy nem csak a felfutó élet figyeljük az A vagy B csatornán, hanem a felfutó és lefutó élet is. Az előző ábránál maradva tehát az 1. 2. 3. 4. és 5. időpillanatban számolunk lépést. Illetve ugyan ez érvényes a másik irányra is, mikor az események fordított sorrendben következnek be.

Kétszeres dekódolás összefoglalva:

Ha az A csatornán felfutó él érkezik és a B csatorna alacsony szintű, illetve, ha az A csatornán lefutó él érkezik és a B csatorna magas szintű, akkor a szögadó lépett egyet balról jobbra. Ha az A csatornán felfutó él érkezik és egyidejűleg a B csatornán magas szint van, illetve ha az A csatornán a lefutó él mellé alacsony B csatorna szint tartozik, akkor a szögadó jobbról balra lépett egyet. A Z csatornához nem szükséges megszakítás. Tehát elvileg elég egy megszakítás bemenet a mikrokontrollerhez és 2db digitális bemenet.

Négyszeres dekódolás:

A négyszeres dekódolásnál a szögjeladó fizikai felbontását meg négyszerezzük. Itt már kicsit bonyolultabb a dekódolási metódus. Az A és B csatornán is figyeljük mind a felfutó, mind a lefutó éleket. A mellékelt rajzon látható, az összes állapot váltás az A és B csatornán.

Négyszeres dekódolás

 A következő táblázatban összefoglaltam a lehetséges kombinációkat:

 

Balról Jobbra lép
a szögadó egy lépést

A felfutó él és
B alacsony
B felfutó él és
A magas
A lefutó él és
B magas
B lefutó él és
A alacsony
Jobbról Balra lép
a szögadó egy lépést
A felfutóél és
B magas
B lefutó él és
A magas
A lefutó él és
B alacsony
B felfutó él és
A alacsony

A négyszeres dekódolásnál elméletileg lehetséges lépés hiba felismerés is. Ezt az teszi lehetővé, hogy a szögjeladó bármely állapotában tudjuk, hogy mi lehet a következő két állapot. Azért kettő, mert jobbra és balra is elmozdulhat a tengely. Ennek a lehetőségnek a megértéséhez következzék a négyszeres dekódolás állapotgépe. Melynek segítségével könnyedén megérthetjük ennek a hibafelismerésnek elvét.
 

Négyszeres dekódolás állapotgépe:

Négyszeres dekódolás állapotgépe

Egy kis magyarázat az ábrához:

A Zöld szín a jobbról balra történő lépést jelenti. A piros szín a balról jobbra történő lépést jelenti. A lila szín azt mutatja, mikor irányt vált a szögjeladó. Az A és B jelzi az A és B csatornákat. Az L és H pedig az alacsony és magas logikai szinteket jelentik. Hogyan is használjuk ezt az ábrát? Tételezzük fel, hogy az utolsó ismert állapota a szögjeladónak az volt, hogy a A csatornán érkezett egy felfutó él és ehhez tartozott egy alacsony B csatorna szint. Ezt az állapotot láthatjuk az állapotgép bal felső sarkában. A rajzol látható, hogy innen 2 út lehetséges. Az első lehetőség, hogy továbblép a szögjeladó balról jobbra, ekkor az elvárható állapot egy B csatornán érkező felfutó él és ehhez egy magas A csatorna szint párosul. A második lehetőség, hogy irányt vált a szögjeladó és az ellenkező irányba fog forogni, ekkor pedig az elvárt következő állapot egy A csatornán érkező lefutó él és ehhez egy alacsony szintű B csatorna. Más lehetőség nincs, csak ez a 2 elvárható út van. Ha bármilyen más logikai kombinációt érzékel a dekódoló akkor az azt jelenti, hogy lépés hiba történt.


A cikk még nem ért véget, lapozz!
Következő: »»   3 / 4
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem