Bio’S Controller tesztprogramja

Két célom van ezzel a programcsomaggal. Az egyik, hogy könnyebben használatba lehessen venni az áramkört és példák segítsék az építők dolgát. A másik, hogy leteszteljem a személyre szabott áramkör funkcióit.

HMI és használat

Normál esetben midig kell egy HMI, ami az alap konfigurációban egy TM1638-as IC-vel működtetett 8 számjegyes, 8 LED-es, 8 gombos panel.

Miután elindult a vezérlő, kiírja az üdvözlő szöveget.

IMG_20160219_115731

“Hi  body”

Motorok direkt hajtása

A nyomógombokkal 1-6-ig be- illetve kikapcsolhatjuk a motorokat. 7-es gombbal irányt válthatunk, 8-as gombbal sebességet növelhetünk. Tehát, a negatív iránynál van lehetőség lassításra. Több motor kiválasztása esetén mindig a legutóbbi motor sebességét állíthatjuk a 7,8-as gombokkal. LED mutatja, ha aktív valamelyik motor.

"n3  113"

“n3  113”

Amennyiben 6-nál több motor van, lehetőségünk van lapozni. A lapozás a 7,8-as gombok együttes megnyomásával történik. Lapozás után a motor állapotát jelzik a LED-ek 7-12-ig, illetve a 1-6 gombokkal ki- és bekapcsolhatjuk a 7-12 motorokat. Három oldal van, így maximum 18 motort tesztelhetünk. Ennyi motort nem képes a vezérlő egyszerre működtetni, így szükséges megosztott PWM jeleket használni. A megosztott PWM jelekkel működtetett motor a párját mindig kikapcsolja.

Potméterek tesztelése

Átléphetünk a következő tesztelési fázisba, ha kikapcsolunk egy motort, majd a 7,1-es gombokat együtt nyomjuk (először a 7-est).

IMG_20160219_121147

“next test”

A potméterek direkt értéke kerül ki a kijelzőre az 1-6 kiválasztó gombok segítségével. Kikapcsolás után a P0 referencia feszültség olvasható. Lapozás ugyanúgy a 7,8-as gombok együttes megnyomásával.

OLYMPUS DIGITAL CAMERA

“RDY to P”

Motorok pozícionálása

A 7,1-es gombokat együtt nyomjuk (először a 7-est) és folytathatjuk a tesztet a motorok pozícionálásával.

IMG_20160219_121147

“next test”

Ilyenkor a vezérlés végigmozgatja a tengelyeket, hogy beazonosítsa, melyik motor, melyik potméterre van kötve és milyen irányban mozgatja azt.

Fontos, hogy ne lógjon a levegőben egyik potméter csatlakozója sem, mert egyszerre csak egy analóg bemenet változhat ahhoz, hogy be lehessen azonosítani azt!

"rdy to m"

“rdy to m”

Készen áll a mozgásra. Ilyenkor kiválaszthatjuk a megfelelő tengelyt, melyet mindig a motor azonosítója alapján adok meg. Tehát, az 1-es tengely mindig az M1-es motor, még akkor is, ha a 6-os analóg bemenetre is van kötve a visszacsatolása.

"a3  773"

“a3  773”

Miután aktiváltuk a megfelelő tengelyt, láthatjuk, hogy mi a pozíció értéke. A 7,8 gombokkal pedig eltolhatjuk ezt a pozíciót. Amikor elengedjük a gombot (pl. 8.) egyből a kívánt értékre forgatja a tengelyt. Több tengely esetén szintén a 7,8 gombok együttes lenyomásával lapozhatunk. Lapozás csak akkor működik, ha inaktív minden motor.

IMG_20160219_143057

Korábbi felvétel. “to 774” a helyes szöveg

IMG_20160219_143124

IMG_20160219_143130

Pozíciók mentése

Amikor beállítottuk a kívánt pozíciókat minden tengelynél, rögzíthetjük mind egy pozícióhoz társítva. 6db pozíciót adhatunk meg így, a 7 és 1-6 gombok együttes lenyomásával.

“Pos1 ok”

Pozíciókhoz való mozgás

Az elmentett pozíciókhoz visszajárathatjuk a tengelyeket a 8 és 1-6 gombok együttes lenyomásával.

Fontos szem előtt tartani, hogy a megosztott PWM jelek esetében nem egyszerre mozognak a tengelyek, hanem egymás után! A sorrend a programban beállított nSharedFirst változóval van megadva.

“to Pos1”

“Pos1 rdy”

Automata pozíció teszt

Miután kikapcsoltuk a motort, a 7,8 és 1-es gombok együttes nyomva tartásával tovább léphetünk a következő tesztbe.

“Auto run”

Ebben a tesztben az előzőleg betanított pozíciók sorba végrehajtásra kerülnek, majd kezdődik elölről. Indítás az 1-es gombbal, leállítás a 2-es gombbal történik. A mozgás parancsok sebessége a 7 vagy 8-as gombok segítségével csökkenthető, illetve növelhető. Tartsuk lenyomva a gombot, és amikor végzett a pozicionálással, csak akkor kezd el pörögni a sebesség érték. Tehát, mozgás közben nem állítható semmi!

“Speed100”

Tesztelés végén, ha már leállítottuk a mozgást visszaléphetünk az előző teszt fázisba.

A 7,8 gombok és 1-es gomb együttes nyomva tartásával elmentjük az EEPROM-ba a motorok páosítását, a beállított pozíciókat és visszatérünk a mozgás tesztbe.

A 7,8 gombok és 2-es gomb együttes nyomva tartásával viszont mentés nélkül lépünk vissza a mozgás tesztbe, ahol a motorok potméterrel való párosítása újra megtörténik.

További lehetőség, hogy több pozíciót is mentsünk úgy lehetséges, ha mentés után új pozíciókat állítunk be és ismét az “Auto run” tesztbe lépünk. Ilyen esetben folytatólagosan az előző 6 pozíció után az új pozíciók is futtatásra kerülnek.

A 7,8 gombok és 3-as gomb együttes nyomva tartásával minden adatot törlünk az EEPROM-ból.

Címzés és más beállítások

A ki- és bemenetek felhasználását tetszés szerint átírhatjuk a programban. A bekötéskor fontos figyelembe venni, melyik tengelyt hova címeztük. Előfordulhat, hogy változtatni kell a sorrendet vagy megosztott PWM jeleknél változtatni kell sorrendiséget. A program beszédesen van írva, de néhány fontosabb paramétert elmagyarázok.

PWM jelek

Minden DC motornak van egy előre és hátra vezérlő PWM jele. Ezek címzése a mapDCFwdAx és mapDCBwdAx változóban vannak deklarálva. Ezek tömb változók, így a tengely sorszáma adja a tömb mutatóját.

Info p01A példában a 13-as PWM jel az 1-es motor előre menő jele, 12-es a hátra menő jele.

A visszacsatolás (Feedback) pedig hiába van a tengelyhez írva, azt a pairMotorVSPoti() alprogram azonosítja be, hogy melyik hova van csatlakoztatva. Láthatjuk, hogy a példában 0-ra van megadva az A0 bemenet, mely az 5V referenciafeszültséget méri. A többi pozícióban is vannak A0-k, de csak azért, mert azok a bemenetek nincsenek bekötve és amikor egy bemenet a levegőben lóg, véletlenszerű értéket ad, amivel nem működne a párosítás.

Engedélyező jelek

Lehetőségünk van az áramkörön fix 5V bemenetet adni az ICk engedélyezéséhez, de nagyon sok funkciót nyerhetünk azzal, ha kihasználjuk ezt a lábát az IC-nek. Eleve a 13-as PWM jel egyben egy belső információ jelző LED is, ami hiba esetén villog. Így az engedélyező jel nélkül előfordulhatna, hogy nem várt módon elinduljon az odakötött motor, vagy zárlatot okozzon a DC motor kiegészítő áramkörben. (Ott ugyanis mindig csak egy kimenet élhet, vagy előre vagy hátra.) Továbbá számos motorral bővíthetjük a berendezésünket, ha megosszuk a PWM jeleket több erősítőn és az engedélyező jellel választjuk ki, mikor melyiket használjuk.

Info p02A példában a 2-es és a 7-es motor ugyanarról a PWM kimenetről van vezérelve, csak más erősítőre vannak kötve. A 49-es kimenet válassza ki az U11-es IC-t, a 14-es kimenet pedig az U14-es IC-t. (véletlenül ugyanaz a szám :))

Pozíció szabályzó deklarálások

Ahhoz, hogy tudja a rendszer a pontatlanságot, minimum-maximum értékeket és egyéb beállítási értékeket, az alábbiakat módosítsuk a valós berendezésnek megfelelően.

Info p03A példában minden tengely 1 egységnyi pontossággal bír. Munkatartomány: 100÷900.

 

Készítette: Kertész Péter

 

Kategória: Hajtás, Mechatronika, Robottechnika | A közvetlen link.

Minden vélemény számít!

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.

*