Tartalomjegyzék:

RoboGlove: 12 lépés (képekkel)
RoboGlove: 12 lépés (képekkel)

Videó: RoboGlove: 12 lépés (képekkel)

Videó: RoboGlove: 12 lépés (képekkel)
Videó: Aziz 12. Bölüm 2024, Július
Anonim
RoboGlove
RoboGlove

Az ULB, az Université Libre de Bruxelles hallgatói vagyunk. Projektünk egy robotkesztyű kifejlesztésén alapul, amely képes megfogóerőt létrehozni, hogy segítsen az embereknek megragadni a dolgokat.

A KESZTYŰ

A kesztyű huzalcsatlakozóval rendelkezik, amely egyes szervomotorokhoz köti az ujjakat: huzal van rögzítve az ujj végéhez és a szervóhoz, így amikor a szervó elfordul, a huzalt meghúzzák és az ujjat meghajlítják. Ily módon, a felhasználó által az ujjak végtagjain lévő nyomásérzékelőkön keresztül történő tapadás szabályozásával képesek vagyunk a motorokat szabályozott módon működtetni, és elősegíteni a megfogást azáltal, hogy az ujjakat a motorok forgásával arányosan meghajlítjuk. tehát a vezetékek feltekerésére. Ily módon lehetővé kell tennünk, hogy a gyenge emberek megragadhassák a tárgyakat, vagy akár fiziológiás körülmények között élő embereknek is segíthessünk a tárgyak megfogásában, és minden erőfeszítés nélkül megtarthassuk azt.

A DIZÁJN

A modellt azért fejlesztették ki, hogy a kéz szabadon mozogjon. Valójában 3D -ben csak a szigorúan szükséges alkatrészeket nyomtattuk ki, amelyekre szükségünk volt a vezetékek, motorok és ujjak csatlakoztatásához.

Minden ujjunkra PLA -ban nyomtatott felső kupola van: ez a terminálrész, ahová a vezetékeket csatlakoztatni kell, és védelmet kell biztosítania a belül rögzített nyomásérzékelőnek. A nyomásérzékelő forró ragasztóval van ragasztva a PLA végtag és a kesztyű közé.

Ezután ujjunkonként két 3D nyomtatott gyűrűnk van, amelyek útmutatót jelentenek a vezetékekhez. A hüvelykujj az egyetlen ujj, amelyen csak egy nyomtatott gyűrű található. Ujjonként egy huzal van, az ujjak szélén félbehajtva. A két fél áthalad a kupola rész két vezetőjén és mindkét gyűrűben: egyenesen lyukakba kerülnek, amelyeket ezeken a gyűrűkön kívül készítettünk. Ezután egy kerékbe állítják őket, amely közvetlenül a motorhoz van csatlakoztatva. A kereket azért alakítottuk ki, hogy körbe tudjuk tekerni a vezetékeket: mivel a motorunk nem teljesen forog (180 ° -nál alacsonyabb), a kereket úgy valósítottuk meg, hogy 6 cm -es résig húzzuk a drótot, ami a távolság teljesen le kell zárni a kezet.

Két lapot is kinyomtattunk a szervomotorok és az arduino rögzítéséhez a karhoz. Jobb, ha fába vagy merev műanyagba vágja lézervágóval.

1. lépés: Bevásárló lista

Bevásárló lista
Bevásárló lista
Bevásárló lista
Bevásárló lista
Bevásárló lista
Bevásárló lista

Kesztyű és vezetékek:

1 meglévő kesztyű (varrhatónak kell lennie)

Régi farmer vagy más merev kendő

Nylon vezetékek

Kis sűrűségű polietilén cső (átmérő: 4 mm vastagság: 1 mm)

Elektronika:

Arduino Uno

1 Akkumulátor 9V + 9V Elemtartó

1 db elektronikus kapcsoló

1 veroboard

3 szervomotor (1 ujjonként)

3 légcsavar (szervóval együtt)

4 elem AA + 4 AA elemtartó

3 nyomásérzékelő (1 ujjonként)

3 ellenállás 330 ohm (1 ujjonként)

6 elektromos vezeték (érzékelőnként 2)

Csavarok, anyák és rögzítések:

4 M3 10 mm hosszú (az Arduino rögzítéséhez)

2 M2,5 12 mm hosszú (a 9 V -os elemtartó rögzítéséhez)

6 megfelelő anya

6 M2 10 mm hosszú (szervónként 2, hogy a kerekeket a szervókhoz rögzítse)

12 kis kábelköteg (a lemezek és a kapcsoló rögzítéséhez)

7 nagy kábelköteg (2 motoronként és 1 a 4 AA elemtartóhoz)

Használt eszközök:

3D nyomtató (Ultimaker 2)

Anyag varráshoz

Forró ragasztó pisztoly

Opcionális: lézervágó

2. lépés: Viselhető szerkezet előkészítése

Viselhető szerkezet előkészítése
Viselhető szerkezet előkészítése

A hordható szerkezet néhány ruhával készült: a mi esetünkben normál villanyszerelő kesztyűt és egy farmer ruhát használtunk a csukló körüli szerkezethez. Összevarrtak.

A cél egy rugalmas hordható szerkezet.

A szerkezetnek erősebbnek kell lennie, mint a szokásos gyapjúkesztyűnek, mivel varrni kell.

Viselhető szerkezetre van szükségünk a csukló körül, hogy megtartsuk az áramellátókat és a működtetőket, és stabilnak is kell lennünk, ezért úgy döntöttünk, hogy a zárást állíthatóvá tesszük úgy, hogy tépőzáras szalagokat (öntapadós szalagokat) alkalmazunk a farmer csuklójára.

Néhány farúd belsejében varrt, hogy a farmer merevebb legyen.

3. lépés: Készítse elő a funkcionális részeket

Készítse elő a funkcionális részeket
Készítse elő a funkcionális részeket

A merev részek 3D nyomtatással valósulnak meg PLA -ban a leírás.stl fájljaiból:

Ujjgyűrű x5 (különböző skálákkal: 1x 100%skála, 2x skála 110%, 2x skála 120%);

Finger Extremity x3 (különböző skálákkal: 1x 100%skála, 1x skála 110%, 1x skála 120%);

Kerék a motorhoz x3

Az ujjrészekhez különböző mérlegekre van szükség az ujjak és a falanxok eltérő mérete miatt.

4. lépés: Rögzítse az érzékelőket a végtagokhoz

Rögzítse az érzékelőket a végtagokhoz
Rögzítse az érzékelőket a végtagokhoz

A nyomásérzékelőket először kábelvezetékekhez forrasztják.

Ezután ragasztópisztollyal ragasztják őket az ujjvégtagok belsejébe: kis mennyiségű ragasztót helyeznek a végtag belsejébe, a két lyukkal ellátott oldalra, majd az érzékelőt azonnal felviszik az aktív (kerek) résszel a ragasztó (a piezoelektromos felület legyen a szerkezet belseje, a műanyag rész pedig közvetlenül a ragasztón). A kábelvezetékeknek végig kell húzniuk az ujjuk felső részét lefelé a hátáig, hogy az elektromos kábelezés a kéz hátán legyen.

5. lépés: Rögzítse a 3D nyomtatott alkatrészeket a kesztyűhöz

Rögzítse a 3D nyomtatott alkatrészeket a kesztyűhöz
Rögzítse a 3D nyomtatott alkatrészeket a kesztyűhöz

Az összes merev alkatrészt (végtagokat, gyűrűket) a kesztyűhöz kell varrni, hogy rögzítsék.

A gyűrűk helyes elhelyezéséhez először viselje a kesztyűt, és próbálja felhelyezni a gyűrűket, falanxonként egyet, anélkül, hogy hozzáérne a kéz zárása során. Az indexen lévő gyűrűk hozzávetőleg 5 mm -rel az ujj alapja fölött, 17-20 mm -rel az első felett lesznek rögzítve. Ami a középső ujjat illeti, az első gyűrű körülbelül 8-10 mm -rel az ujj alja felett lesz, a második pedig 20 mm -rel az első felett. Ami a hüvelykujját illeti, a szükséges pontosság nagyon alacsony, mivel nem kockáztatja, hogy zavarja a többi gyűrűt, ezért próbálja felvinni a kopott kesztyűre, húzzon vonalat a kesztyűre, ahol szeretné gyűrű, hogy aztán varrni tudja.

Ami a varrást illeti, nincs szükség különleges technikára vagy képességre. Tűvel a varrócérna körkörösen halad a gyűrűk körül, áthaladva a kesztyű felületén. A kesztyű két lyuka közötti 3-4 mm-es lépés már elég erős rögzítést tesz lehetővé, nincs szükség nagyon sűrű varrásra.

Ugyanezt a technikát alkalmazzák a végtagok rögzítésére is: a végtag teteje lyukas annak érdekében, hogy a tű könnyen áthaladjon, így csak az ujj tetején lévő keresztszerű formákat kell varrni a kesztyűre.

Ezután a polietilén vezetőket is rögzíteni kell, három kritérium szerint:

a disztális végnek (az ujjal szemben) az ujja irányába kell néznie, hogy elkerülje a nagy súrlódást a nejlonhuzalral, amely be fog menni;

a távolabbi végnek elég messze kell lennie ahhoz, hogy ne zavarja a kéz zárását (körülbelül 3 cm -rel alacsonyabb, mint az ujj töve, 4–5 cm a hüvelykujjnál);

a csöveknek a lehető legkevésbé kell átmenniük egymáson, hogy csökkentsék a kesztyű nagy részét és az egyes csövek mobilitását

Rögzítésre kerül, ha a kesztyűre és a csuklóra varrják, ugyanazzal a technikával, mint fent.

Annak elkerülése érdekében, hogy a varráson keresztül elcsússzon, néhány ragasztót adtak a csövek és a kesztyűk közé.

6. lépés: Készítse elő a kerekeket a szervókhoz

Készítse elő a kerekeket a szervókhoz
Készítse elő a kerekeket a szervókhoz

Ehhez a projekthez kifejezetten saját tervezésű és 3D -s nyomtatású kerekeket használtunk (.stl fájl a leírásban).

A kerekek kinyomtatása után csavarokkal kell rögzíteni őket a szervók propellereihez (M2, 10 mm -es csavarok). Mivel a propellerek furatai kisebbek, mint 2 mm átmérőjűek az M2 csavarozásával, nincs szükség anyákra.

A 3 légcsavar minden szervóra felszerelhető.

7. lépés: Rögzítse a motorokat a karhoz

Rögzítse a motorokat a karhoz
Rögzítse a motorokat a karhoz

Ez a lépés a motorok karhoz való rögzítéséből áll; ehhez egy PLA segédtáblát kellett kinyomtatni, hogy támogatást kapjunk.

Valójában a motorokat nem lehetett közvetlenül a karhoz rögzíteni, mivel a vezetékek húzásához szükséges kerekek a kesztyű miatt a mozgás során blokkolódhatnak. Így 3D -ben kinyomtattunk egy 120x150x5 mm méretű PLA -táblát.

Ezután néhány kábelkötéssel rögzítettük a plakettet a kesztyűnkhöz: néhány lyukat lyukasztottunk a kesztyűbe egyszerűen ollóval, majd fúróval lyukakat készítettünk a műanyag plakettbe, és mindent összeraktunk. Az emléktábla négy lyukára van szükség a közepén, a kerülete között a kábelkötegek átvezetéséhez. Fúróval készülnek. Ezek a középső részen vannak, és nem a tányér oldalain, hogy le tudják zárni a farmert a kar körül anélkül, hogy a lemez elzárná, mivel a lemez nem rugalmas.

Ezután más lyukakat is fúrnak a műanyag táblába a motorok rögzítéséhez. A motorokat két keresztezett kábelköteg rögzíti. Az oldalukhoz adtak némi ragasztót a rögzítés biztosítása érdekében.

A motorokat úgy kell elhelyezni, hogy a kerekek ne zavarják egymást. Tehát a kéz bal és jobb oldalán elválasztottak: kettő az egyik oldalon, a kerekek ellentétes irányba fordulnak, az egyik a másik oldalon.

8. lépés: Kód az Arduino -n

Kód az Arduino -n
Kód az Arduino -n

A kódot egyszerű módon fejlesztették ki: a motorok működtetésére vagy sem. A szervókat csak akkor működtetik, ha a leolvasott érték egy bizonyos érték fölött van (ezt próbák és hibák javították, mert az egyes érzékelők érzékenysége nem teljesen azonos). Két lehetőség van a hajlításra, alacsony erő alacsony és teljesen erős erő esetén. Az ujj behajlítása után nincs szükség felhasználói erőre ahhoz, hogy az ujját a tényleges helyzetben tartsa. Ennek a megvalósításnak az az oka, hogy egyébként megemlítettük, hogy az ujjaknak folyamatosan erőt kell kifejteniük az érzékelőkön, és a kesztyű nem ad előnyt. Az ujj hajlításának feloldásához új erőt kell kifejteni a nyomásérzékelőre, amely egy stop stop parancs.

A kódot három részre oszthatjuk:

Érzékelők:

Először három egész változót inicializáltunk: olvasás1, olvasás2, leolvasás3 minden érzékelő számára. Az érzékelőket az A0, A2, A4 analóg bemenetekbe helyezték. Az olvasás minden változója a következőképpen van beállítva:

  • olvasás1 ahol az A0 bemenetben olvasott érték van írva,
  • olvasás2 ahol az A2 bemenetben olvasott érték van írva,
  • olvasás3 ahol az A4 bemenetben olvasott érték van írva

Két küszöböt rögzítenek ujjakkal, amelyek a szervók két működési helyzetének felelnek meg. Ezek a küszöbértékek minden ujj esetében eltérőek, mivel az alkalmazott erő nem mindegyik ujjra vonatkozik, és a három érzékelő érzékenysége nem teljesen azonos.

Motors init:

Három változó char (mentés1, mentés2, mentés3), egy -egy motoronként 0 -ra inicializálódik. Ezután a beállításban megadtuk azokat a csapokat, ahová a motorokat csatlakoztatjuk: 9 -es, 6 -os és 3 -as csap a szervo1, szervo2, servo3; mind 0 értéken inicializálva.

Ezután a szervókat a servo.write () paranccsal működtetik, amely képes rögzíteni a szervóra bemenetként kapott szöget. Szintén a kísérletek és a hibák alapján találták meg azt a két jó szöget, amelyek az ujj két helyzetben történő hajlításához szükségesek, egy kis fogásnak és egy nagy fogásnak megfelelően.

Mivel az egyik motornak rögzítése miatt az ellenkező irányba kell fordulnia, a kiindulási pontja nem nulla, hanem a maximális szög és csökken, ha erőt fejt ki, hogy képes legyen az ellenkező irányba fordulni.

Kapcsolat az érzékelők és a motorok között:

A mentés1, mentés2, mentés3 és olvasás1, olvasás2, olvasás3 választása a forrasztástól függ. De minden ujj esetében az érzékelőnek és a motornak azonos számot kell tartalmaznia.

Ezután a hurokban, ha feltételeket használtak annak tesztelésére, hogy az ujj már hajlított helyzetben van -e vagy sem, és hogy a nyomást az érzékelőkre gyakorolják -e vagy sem. Amikor az érzékelők értéket adnak vissza, erőt kell alkalmazni, de két különböző eset lehetséges:

  • Ha az ujj még nincs hajlítva, akkor összehasonlítva az érzékelők által visszaadott értéket a küszöbértékekkel, a megfelelő szöget alkalmazzák a szervóra.
  • Ha az ujj már hajlított, az azt jelenti, hogy a felhasználó ki akarja oldani a hajlítást, majd a kezdőszög a szervókra kerül.

Ez minden motor esetében megtörténik.

Ezután 1000 ms késleltetést adtunk hozzá, hogy elkerüljük az érzékelők értékeinek túl gyakori tesztelését. Ha túl kicsi késleltetési értéket alkalmaznak, fennáll annak a kockázata, hogy a lezárás után közvetlenül újra kinyitja a kezét, ha az erőt hosszabb ideig alkalmazzák, mint a késleltetési idő.

Az egy érzékelőre vonatkozó összes folyamat a fenti folyamatábrán látható.

A TELJES KÓD

#include Servo servo1; Szervo szervo2; Szervo szervo3; int olvasás1; int olvasás2; int olvasás3; char mentés1 = 0; // a szervó 0 állapotból indul, alvó állapot char save2 = 0; char save3 = 0; void setup (void) {Serial.begin (9600); servo2.attach (9); // szervo a 9. digitális csapnál servo2.write (160); // kezdőpont szervo szervo1.attach (6); // szervo a 6. digitális csapnál servo1.write (0); // kezdőpont szervo servo3.attach (3); // szervo a 3. digitális tűn servo3.write (0); // a szervó kezdőpontja

}

void loop (void) {olvasás1 = analógRead (A0); // csatolva az analóg 0 olvasáshoz2 = analogRead (A2); // csatolva az analóg 2 olvasáshoz3 = analogRead (A4); // az analóg 4 -hez csatolva

// if (olvasás2> = 0) {Serial.print ("Érzékelő értéke ="); // Példa az első érzékelő küszöbértékének kalibrálására használt parancsra

// Serial.println (olvasás2); } // else {Serial.print ("Érzékelő értéke ="); Soros.println (0); }

if (olvasás1> 100 és mentés1 == 0) {// ha az érzékelő magas értéket kap, és nincs alvó állapotban mentés1 = 2; } // lépjen a 2 -es állapotba más if (olvasás1> 30 és mentés1 == 0) {// ha az érzékelő közepes értéket kap, és nincs alvó állapotban mentés1 = 1; } // az 1 -es állapotba került, ha (olvasás1> 0) {// ha az érték nem nulla, és az előző feltételek egyike sem helyes mentés1 = 0;} // alvó állapotba lép

if (mentés1 == 0) {servo1.write (160); } // release else if (mentés1 == 1) {servo1.write (120); } // közepes húzási szög else {servo1.write (90); } // maximális húzási szög

if (olvasás2> 10 és mentés2 == 0) {// ugyanaz, mint a szervo 1 mentés2 = 2; } else if (olvasás2> 5 és mentés2 == 0) {mentés2 = 1; } else if (olvasás2> 0) {save2 = 0;}

if (mentés2 == 0) {servo2.write (0); } else if (mentés2 == 1) {servo2.write (40); } else {servo2.write (60); }

if (olvasás3> 30 és mentés3 == 0) {// ugyanaz, mint a szervo 1 mentés3 = 2; } else if (olvasás3> 10 és mentés3 == 0) {mentés3 = 1; } else if (olvasás3> 0) {save3 = 0;}

if (mentés3 == 0) {servo3.write (0); } else if (mentés3 == 1) {servo3.write (40); } else {servo3.write (70); } késleltetés (1000); } // várjunk csak

9. lépés: Rögzítse az Arduino -t, az akkumulátorokat és a veroboardot a karhoz

Rögzítse az Arduino -t, az akkumulátorokat és a veroboardot a karhoz
Rögzítse az Arduino -t, az akkumulátorokat és a veroboardot a karhoz
Rögzítse az Arduino -t, az akkumulátorokat és a veroboardot a karhoz
Rögzítse az Arduino -t, az akkumulátorokat és a veroboardot a karhoz

Egy másik lemezt PLA -ban nyomtattak, hogy rögzíthessék az elemtartókat és az arduino -t.

A lemez mérete: 100x145x5mm.

Négy lyuk található az arduino csavarozásához, kettő pedig a 9 V -os elemtartó csavarozásához. A 6 V -os elemtartóban és a lemezen lyukat alakítottak ki, hogy kábelkötegelővel rögzítsék őket. Néhány ragasztót adtak hozzá, hogy biztosítsák a tartó rögzítését. A kapcsoló két kis kábelköteggel van rögzítve.

Négy lyuk is van, amelyek rögzítik a lemezt a farmerre kábelkötő segítségével.

A veroboard pajzsként van felhelyezve az arduino -ra.

10. lépés: Csatlakoztassa az elektronikát

Csatlakoztassa az elektronikát
Csatlakoztassa az elektronikát

Az áramkör forrasztva van a veroboardon, a fenti séma szerint.

Az Arduino tápegysége 9V, és ezek között egy kapcsoló van csatlakoztatva az Arduino kikapcsolásához. 6V -os elem szükséges a szervomotorhoz, amely nagy áramot igényel, és a szervók harmadik csapja az 3, 6 és 9 csapok, hogy PWM segítségével vezéreljék őket.

Mindegyik érzékelőt az egyik oldalon az Arduino 5V, a másik oldalon egy 330 ohmos ellenállás köti össze, amely a földhöz és az A0, A2 és A4 csapokhoz van csatlakoztatva a feszültség mérésére.

11. lépés: Adja hozzá a nylon huzalokat

Adja hozzá a nylon huzalokat
Adja hozzá a nylon huzalokat

A nejlonhuzalok úgy vannak kiképezve, hogy áthaladjanak a végtag mindkét lyukán és a gyűrűkön, amint az a képen látható, akkor a huzal két fele mind a polietilén vezető belsejébe kerül, és a vezető végéig együtt marad a motorhoz. A vezetékek hosszát ezen a ponton határozzák meg, elég hosszúaknak kell lenniük ahhoz, hogy az egyenes ujjakkal körbejárják a szervókereket.

Rögzítve vannak a kerekeken egy csomóval, amely két kis lyukon áthalad a.stl fájlokon, és forró ragasztóval a további stabilizálás érdekében.

12. lépés: Élvezze

A várt módon működik.

Az első impulzusnál meghajlítja az ujját, a másodiknál pedig elengedi. Nincs szükség erőre, amikor az ujjak hajlítva vannak.

Ennek ellenére három probléma maradt:

- Ügyelnünk kell arra, hogy 1 másodpercnél rövidebb impulzust adjunk a szervók működtetéséhez, különben a huzalok azonnal kioldódnak a húzás után, amint azt az Arduino kód 8. lépése ismerteti.

- A műanyag részek kissé csúsznak, ezért a végtagokhoz forró ragasztót adtunk a súrlódás növelése érdekében.

- Ha nagy terhelés van az ujján, akkor az érzékelőnek mindig nagy értéke lesz, így a szervó folyamatosan forog.

Ajánlott: