Termékek
keresésmenumenumenu
lego logo
LEGO® készletek
Figurák, ajándékok LEGO® elemek Ajánlott termékek Újdonságok
(+36) 20 242 8992
0 
0 
theme

RCX Forgás-szenzor működése

avatar HSzabi1
126 napló
Ismeretlen készlet

A Mindstorms RCX készlethez 2 db érintés érzékelőt és 1 db fényerősség érzékelőt adtak. A motorok belső lassító áttétellel már rendelkeztek, de elfordulást mérő összetevő nem volt bennük. Aki a mai Mindstorms készleteket használja, annak ez talán meglepő lehet, hiszen ma alap tartozéka a szervoknak a beépített elfordulás mérő szenzor.

Ma már nem kell nélkülöznünk ezt a praktikus kiegészítőt, hiszen idő közben sok szenzort készítettek az RCX kockákhoz is, közöttük az elfordulást mérő szenzort is:

 

 

A szenzor érdekessége, hogy a 360 fokos körbe fordulást 16 részre osztja, azaz 0 - 16 tartomány a teljes körbe fordulás, így 360 / 16 = 22,5 fok a pontossága. Ezen úgy tudunk optimalizálni, hogy lassító áttételt alkalmazunk és a motor tengelyén mérünk elfordulást, így például a 8:24 fogaskerék pár esetén a felbontásunk a kihajtó tengelyen 3 x pontosabb lesz, hiszen 1 motor fordulatra csak 1/3-ad kerék tengely elfordulás jut, és ez van 16 részre osztva, így 120 / 16 = 7,5 fokra javítottuk a pontosságot. A keretprogram "Beállítás" menűjében aktíválnunk kell a szenzor kapcsoló négyzetét, hogy programozáskor elérhetővé válljon:

 

 

Műszaki érdekessége ezeknek a szenzoroknak, hogy 2 vezetékesek, és ezen kell megoldani a tápfeszültség eljuttatását a szenzorhoz és a mért értékre vonatkozó információt visszajuttatni az RCX kockának. Tudomásom szerint ez idő alapon történik, azaz hosszú ideig a sárga kocka feszültséget ad a szenzornak, és egy rövid ideig mért érték "vételére" kapcsol át, akkor a szenzor táplálását a benne lévő, feltöltött kondenzátor biztosítja, de ez már nem lego tudomány :-)

 

Amikor megérkezett a két szenzorom, amit Unokatestvérem hozott haza nekem Németországból (ott jóval nagyobb piaca volt és van a Lego robot készleteknek), azt gondoltam, hogy elsőnek építek egy mozgó járművet és elkezdek útvonal programot írni rá, de itt jött a meglepődés, ugyanis a két oldali hajtásom sebességében egy kicsi eltérés mutatkozott, így a jármű nem tud tökéletesen egyenesen haladni, ez jól érzékelhető az alábbi felvételen:

 

 

 

Elgondolkoztam rajta, hogy ez egy olyan jelenség, ami a gyártott motorokkal előfordulhat, hiszen a tekercselés menetszáma lehet tökéletesen egyező, de a motorok mágnesei az évek során az eltérő használati és tárolási módok miatt megváltozhattak, a kommutátorok is eltérően használódhattak el, azaz hiába kezdem cserélgetni azokat, szinte bizonyos, hogy nem jutok tökéletesen egyenesen haladó járműhöz. Lehet az összekötő kábelek csatlakozóinak érintkezési különbsége is oka a hibának, így mindjárt adódott is a feladat, hogy írni kell egy programot, ami a forgás jeladók értékeit figyeli és a motor fordulatszám eltérését korrigálja folyamatosan a haladás során.

 

Először a meghajtott tengelyek fordulatát mértem és próbáltam használható szabályozást megoldani, de lehetetlen volt, hiszen itt, az áttétel lánc végén 1 kerék körülfordulásra 16 jelem érkezik, így átépítettem a szenzorokat a motorok tengelyeire:

 

 

 Így a felbontás sokat javult, hiszen a csiga áttétel jelentős lassítást okoz, ez a felépítés már megfelelőnek mutatkozott a szabályozás megvalósításához. A program így néz ki:

 

 

A szabályozás kicsit ingadozik, ezt mutatja a kijelzőre folyamatos frissítéssel kiíratott különbség érték, de így, a motor tengelyén jelentkező ingadozások az áttételezés miatt már nem okoznak gondot a jármű iránytartásában:

 

 

 

A fényerősség érzékelő itt most nem a vonalat követi, hanem azért felel, hogy a Moonwalker platformra felhajtva a jármű megálljon és ne essen le annak ellentétes oldalán. Kicsit furcsának tűnhet a két szürke 2 x 8-as technic plate a jármű elején és hátulján, ezeket arra használtam, hogy én jó irányba állítsam, és most már egyenesen haladva ne tévessze el a célját az én hibámból :-)

 

 

A fordulatszám érzékelő beállítási felülete az alábbi, látható, hogy a számlálás határainak a - 32 767 és nullára szimmetrikusan a 32 767 van megadva, ennek ellenére nálam 3000 körül "körbe fordult" a számláló, így be kellett építenem egy reset-elést, hogy ne bolonduljon meg program, hiszen előjel váltáskor a szabályozási reláció megfordul.

 

 

 

És akkor a sikeres dokkra állás:

 

 

Ismét az esett meg, hogy a szerkezet megépítése után a program logikája megkívánta, hogy módosítsak a mechanikán is, hogy végül ez eltervezett működés megvalósulhasson.

Köszönöm, hogy elolvastad!

 

2016-09-09

 

RCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működéseRCX Forgás-szenzor működése

2016 szeptember 9, 21:11