Tartalomjegyzék:
- Lépés: Szükséges anyagok, szerszámok és gépek
- 2. lépés: 2D és 3D tervezés
- 3. lépés: 3D nyomtatás
- 4. lépés: Öntés és öntés
- 5. lépés: Elektronikai tervezés és gyártás
- 6. lépés: Összeszerelés
- 7. lépés: Programozás
Videó: A protézis karja myosensorral dolgozik: 8 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-31 10:20
Ez a projekt egy protézis kifejlesztése amputált emberek számára. Ennek a projektnek a célja egy megfizethető protézis létrehozása azok számára, akik nem engedhetik meg maguknak a professzionális karokat.
Mivel ez a projekt még csak a prototípus készítés szakaszában van, mindig jobb lehet, mivel egyelőre csak kinyithatja és bezárhatja a tenyeret, hogy megragadhassa a cuccokat! Mindazonáltal ez egy DIY protetikus kar, amelyet otthon vagy egy helyi műhelylaborban lehet elvégezni.
Lépés: Szükséges anyagok, szerszámok és gépek
Gépek:
- 3d nyomtató
- Lézervágó
- Asztali CNC gép
Eszközök:
- Horgász zsinór
- 3 mm -es szál
- Fúró
- Pillanatragasztó
- Lyukfogó
- Multiméter
- Forrasztóállomás
- Megmunkálható viasz
- Szilícium formákhoz
Anyagok:
- Rézlemez
- 1x ATMEGA328P-AU
- 1x 16MHz kristály
- 1x 10k ellenállás
- 2x 22pF kondenzátor
- 1x 10uF kondenzátor
- 1x 1uF kondenzátor
- 1x 0,1uF kondenzátor
- 1x Myosensor
- 5x mikro szervomotor
- 1x Arduino UNO
Szoftver:
- Arduino IDE
- 360
- Cura
- Sas
- ZSINÓR
2. lépés: 2D és 3D tervezés
3D Design
Az első lépés az volt, hogy megtervezzük a protézis ujjait, tenyerét és alkarját, figyelembe véve a protézisben lévő elektronikát. Hogy őszinte legyek, alapként a nyílt forráskódú inmoov projektet használtam, és onnan indultam.
A tenyér kialakítása meglehetősen nehéz, mivel az ujjaknak különböző arányokkal kell rendelkezniük. Így:
Ujjak: Letöltöttem az ujjaimat az inmoov projektből.
Tenyér:
- Először felvázoltam a tenyér elrendezését, és kinyomtam.
- Ezután lyukakat készítettem az ujj és az alkar csatlakozásaihoz a vázlatok, a vágási parancs és a filé parancs segítségével.
- Ezt követően csöveket kellett készítenem, hogy át tudjam adni a horgászzsinórokat, hogy a motorokon keresztül irányíthassam az ujjaimat.
- Végül lyukakat kellett hozzáadni a tenyér belsejébe, hogy a tenyér bezáródjon a horgászzsinór húzásakor.
Alkar:
- Különböző síkokban két vázlatot készítettem, és az ellipszis parancsot használtam. Ezt követően a loft parancsot használtam a kívánt alakzat létrehozásához.
- Ezt követően a shell parancs segítségével üregessé tették, a split paranccsal pedig kettévágták, hogy megtervezhessem, és a legjobb elérhetőséget biztosítsam, amikor az elektronikámat belülre szerelem.
- A vázlatot a csukló közelében is elkészítették, extrudálták, és összeillesztették a fő alkarral, hogy összekapcsolódhasson a tenyérrel.
- Mivel láthatóvá vált az alkar belsejében történő tervezés, elkészítettem egy vázlatot az öt motor méretében, amelyeket használni fogok, minden ujjamnak egyet, és a PCB -m (nyomtatott áramköri lap), amelyet használni fogok. Ezután extrudáltam őket, amíg el nem érték a kívánt magasságot, és a backspace segítségével töröltem a felesleges alkatrészeket a henger hátsó részéből.
- Végezetül a csavarok nyílásait úgy tervezték meg, hogy azok ne látszódjanak a teljes kialakításon, hogy az alkar a fentiekhez hasonló parancsok segítségével zárható legyen.
A tervezés befejezése után kiválasztottam az egyes törzseket, és letöltöttem őket.stl fájlként, és 3D -ben kinyomtattam őket.
2D Design
Mivel azt akartam, hogy a horgászzsinórjaimat elválasszák, amíg a motorok működtetik őket, úgy döntöttem, hogy vezető réseket készítek nekik. Ehhez igazából nem kellett újat terveznem, hanem a kisebb ellipszist kell használnom, amikor a loft parancsot használtam az alkar létrehozásához.
A vázlatát.dxf fájlként exportáltam a lézervágó használata után. Miután megkaptam a kívánt formát, 0,8 mm -es lyukakat fúrtam a résen belül, amelyet szükségesnek találtam.
3. lépés: 3D nyomtatás
Az egyes stl -fájlok exportálása után a Cura segítségével generáltam az ujjak, a tenyér és az alkar különböző részeinek.g -kódját. A fenti beállításokon a fenti beállítások láthatók. A 3D nyomtatott alkatrészek anyaga PLA.
4. lépés: Öntés és öntés
A tenyér öntésének célja, hogy a protézis karja erősebb legyen, mivel a PLA csúszós lehet.
3D Design
- A tenyér már meglévő vázlatát felhasználva megpróbáltam utánozni a tenyerünket úgy, hogy az ív paranccsal köröket terveztem hozzá.
- Ezt követően különböző magasságokban préseltem ki őket, és a filé paranccsal simítottam a belső "körök" széleit.
- Ezután megterveztem egy dobozt, amelynek méretei megegyeznek a megmunkálható viaszommal, és a kombináció parancsának vágásával a terv negatívumát tettem oda.
CAM folyamat
Miután elkészítettem a tervezést az asztali CNC -géppel történő őrléshez, ehhez létre kellett hoznom a gcode -ot. Esetemben a Roland MDX-40 CNC gépet használtam!
- Először a Fusion360 CAM környezetébe léptem.
- Ezután kiválasztottam egy "új beállítást" a beállítás menüben.
- A megfelelő paramétereket választottam (lásd a képeket), és megnyomtam az OK gombot.
- Ezután a 3D menü alatt az adaptív elszámolást választottam, és az általam használt eszköz behelyezése után a megfelelő paramétereket választottam ki, ahogy a képeken látható.
- Végül az adaptív elszámolást választottam, és rákattintottam a közzétételi folyamatra. Meggyőződtem róla, hogy a roland mdx-40 gépéhez való, és rákattintottam az OK gombra a gcode megszerzéséhez.
- Ezt követően a viaszblokkot a tervezésem szerint a gép segítségével megdaráltam.
A szilícium öntése
- Először óvatosan összekevertem a szilícium két oldatát, nehogy légbuborékok keletkezzenek, az adatlapot követve (link az anyagokon), figyelembe véve a keverési arányt, az eltarthatósági időt és a bontási időt.
- Ezután a legalacsonyabb pontról a formába öntöttem, ügyelve arra, hogy az érintkezési pont állandó maradjon, és a kiöntött oldat átmérője a lehető legvékonyabb legyen, hogy elkerüljük a légbuborékokat.
- Miután a szilíciumot a formába öntöttem, meg kellett győződnöm arról, hogy nincsenek benne légbuborékok, ezért remegtem a formát egy ferde körmű fúró segítségével.
- Végül, mivel elfelejtettem ezt a tervezés során, a lyukfogó segítségével lyukakat ütöttem a szilíciumba, úgy, hogy illeszkedjenek a tenyér felületén lévő lyukakhoz.
5. lépés: Elektronikai tervezés és gyártás
Annak érdekében, hogy megtervezzem a táblát, és megértsem, mi történik a mikrovezérlő csapjaiban, el kellett olvasnom annak adatlapját. Alaplapként a micro satshakit -et használtam, majd a rendszer igényeinek megfelelően módosítottam.
Mivel a satshakit egy DIY arduino-alapú tábla, módosíthatom azt az alkatrészek és az arduino közötti kapcsolatok keresése szerint. Tehát a myosensor egy GND, egy VCC és egy analóg tű segítségével csatlakozik az arduino -hoz. Míg egy szervomotor egy GND, egy VCC és egy PWM csapot használ. Így összesen hat GND és VCC tüskét kellett lelepleznem, figyelembe véve az alaplap áramellátását, egy analóg és öt PWM érintkezőt. Ezenkívül figyelembe kellett vennem a tábla programozási csapjainak feltárását (amelyek MISO, MOSI, SCK, RST, VCC és GND).
A következő lépéseket tettem:
- Először letöltöttem a micro-satshakit sas fájljait.
- Ezután módosítottam a mikro-satshakit az igényeim szerint az Eagle segítségével. Az Eagle használatára vonatkozó útmutató itt és itt található.
- A tábla gyökereztetése után exportáltam-p.webp" />
Miután a táblám belső és külső útvonalait png-ként állítottam be, itt az ideje, hogy előállítsam azok gcode-ját, hogy a roland mdx-40 asztali cnc-gépben megmorzsolhassam. A.gcode generálásához fab modulokat használtam. A beállítások, amelyeket fab modulokban kell megadni, és itt találhatók.
Végül mindent összeforrasztottam, amire szükségem volt a sas táblám szerint. A sematikus és a forrasztott tábla képe fent található.
Az Arduino UNO használata helyett saját NYÁK -lap készítésének oka az a hely, amelyet megspórolok, amikor saját lapomat használom.
6. lépés: Összeszerelés
Tehát az ujjak kinyomtatása után:
- A belső lyukakat 3,5 mm átmérőjű fúróval, a külső lyukakat pedig 3 mm átmérőjű fúróval kellett fúrnom. A belső lyukak azt a részt jelentik, amely az alkatrészek összekapcsolásakor a belső és külső lyukból, az a rész pedig, amely csatlakozáskor kívülről történik.
- Ezt követően szuperragasztással kellett ragaszkodnom az elsőhöz a második ujjal, a harmadikhoz pedig a negyedik ujjal.
- Ezt követően 3 mm átmérőjű izzószál segítségével kötöttem össze az 1+2, 3+4, 5 részeket a kis lyukakon keresztül.
- Végül az ujjak készen álltak a tenyérrel, majd az alkarral való összeszerelésre.
Tehát itt volt az ideje, hogy a horgászzsinórt az ujjakon áthaladjon.
Az egyik vonal az ujj hátsó oldalától az ujj-tenyér csatlakozó csövén át az alkarig, a másik vonal az ujj elülső oldalától a tenyér belsejében lévő lyukig és az alkarig ment
Külön megjegyzés, hogy a horgászzsinórt át kell vezetni egy fadarabon, amelyen átmérőjű lyuk van, és csomót kell készíteni. Ellenkező esetben, ha a zsinórt meghúzzák, lemehet az ujján, ami velem történt, függetlenül attól, hogy hány csomót csináltam.
- Miután a horgászzsinórt az ujjakon átengedték, a tenyeret és az alkart néhány 3D nyomtatott botcsavarral kell összekötni,
- A vezetékeket ismét átvittem a lézerrel vágott lyuk nyílásán, hogy elválasszam őket, majd csatlakoztattam a szervomotorokhoz.
- A damil rögzítése a szervó megfelelő helyzetébe kissé kihívást jelent. De amit tettem, az volt, hogy elfoglaltam az ujj szélső pozícióit, és összekötöttem a szervó szélső helyzetével.
- Miután megtaláltam a megfelelő pozíciókat, lyukakat fúrtam a szervók speciális nyílásaiba, és a megfelelő helyre csavartam a szervókat, ügyelve arra, hogy kettő szervó kissé felemelkedjen a többitől, különben ütköznek működés közben.
7. lépés: Programozás
A program megírása előtt meg kellett tennem a módosított micro-satshakit programozhatóságát. Ehhez az alábbi lépéseket kellett végrehajtanom:
- Csatlakoztassa az Arduino Uno -t a számítógéphez.
- Válassza ki a megfelelő portot és az Arduino Uno táblát az eszközök alatt.
- A> Fájl> Példák területen keresse meg és nyissa meg az "ArduinoISP" vázlatot.
- Töltse fel a vázlatot az Arduino -ba.
- Válassza le az Arduino -t a számítógépről.
- Csatlakoztassa a táblát az Arduino -hoz a képen látható vázlat szerint.
- Csatlakoztassa az Arduino -t a számítógéphez.
- Válassza ki az "Arduino/Genuino Uno" táblát és az "Arduino as ISP" programozót.
- Kattintson a> Eszközök> Bootloader írása elemre.
- Miután a rendszerbetöltő sikeresen elkészült, írhatjuk a programunkat:
// beleértve azt a könyvtárat, amelyet a szervomotorokhoz használtam
#include #include SoftwareSerial mySerial (7, 8); #define MYO_PIN A0 int sensorValue; úszó feszültség; // nevezz el egy nevet a szervómnak VarSpeedServo servo1; VarSpeedServo servo2; VarSpeedServo servo3; VarSpeedServo servo4; VarSpeedServo szervo5; #define PINKY 5 #define PINKY_PIN 10 #define RINGFINGER 4 #define RINGFINGER_PIN 9 #define MIDDLE 3 #define MIDDLE_PIN 3 #define INDEX 2 #define INDEX_PIN 5 #define THUMB 1 #define_PINPIN); // a csap, amelyhez a motoros szervo1.attachomat csatoltam (THUMB_PIN); servo2.attach (INDEX_PIN); servo3.attach (MIDDLE_PIN); servo4.attach (RINGFINGER_PIN); servo5.attach (PINKY_PIN); defaultPosition (THUMB, 40); defaultPosition (INDEX, 40); defaultPosition (KÖZEPES, 40); defaultPosition (CSENGŐ, 40); defaultPosition (PINKY, 40); mySerial.begin (9600); mySerial.print ("Inicializálás …"); } void loop () {sensorValue = analogRead (A0); feszültség = sensorValue * (5.0 / 1023.0); mySerial.println (feszültség); késleltetés (100); if (feszültség> 1) {closePosition (PINKY, 60); closePosition (RINGFINGER, 60); closePosition (KÖZEPES, 60); closePosition (INDEX, 60); closePosition (THUMB, 60); } else {openPosition (PINKY, 60); openPosition (RINGFIGER, 60); openPosition (KÖZEPES, 60); openPosition (INDEX, 60); openPosition (THUMB, 60); }} void defaultPosition (uint8_t ujj, uint8_t _speed) {if (ujj == PINKY) servo5.write (90, _sebesség, igaz); else if (ujj == RINGFINGER) servo4.write (70, _sebesség, igaz); else if (ujj == KÖZEPES) servo3.write (20, _sebesség, igaz); else if (ujj == INDEX) servo2.write (20, _sebesség, igaz); else if (ujj == THUMB) servo1.write (20, _sebesség, igaz); } void closePosition (uint8_t ujj, uint8_t _sebesség) {if (ujj == PINKY) servo5.write (180, _sebesség, igaz); else if (ujj == RINGFINGER) servo4.write (180, _sebesség, igaz); else if (ujj == KÖZEPES) servo3.write (180, _sebesség, igaz); else if (ujj == INDEX) servo2.write (180, _sebesség, igaz); else if (ujj == THUMB) servo1.attach (180, _sebesség, igaz); } void openPosition (uint8_t ujj, uint8_t _speed) {if (ujj == PINKY) servo5.write (0, _sebesség, igaz); else if (ujj == RINGFINGER) servo4.write (0, _sebesség, igaz); else if (ujj == KÖZEPES) servo3.write (0, _sebesség, igaz); else if (ujj == INDEX) servo2.write (0, _sebesség, igaz); else if (ujj == THUMB) servo1.write (0, _sebesség, igaz); } // A program megírása után feltöltjük a táblára a> Vázlat> Feltöltés programozó segítségével // Most már lecsatlakoztathatja a micro satshakit -et az arduino -ról, és áramelláthatja a power bankon keresztül // És voila !! Van egy protetikus karod
Ajánlott:
Robot protézis: 3 lépés
Robot protézis: Ez a mesterem utolsó projektje. Ez egy robotprotézis prototípusának elkészítéséből áll, amelyet hazai gyártásra terveztek 3D nyomtató és könnyen programozható elektronikus alkatrészek felhasználásával. Nagyon fontos része volt annak egy platformon való terjesztése
Egyszerű gesztusvezérlés - irányítsa RC játékait karja mozgatásával: 4 lépés (képekkel)
Egyszerű gesztusvezérlés - Irányítsd RC -játékaidat a karod mozgatásával: Üdvözöllek az „ible” -ben #45. Egy ideje a BB8 teljesen működőképes RC verzióját készítettem a Lego Star Wars alkatrészek felhasználásával … https://www.instructables.com/id/Whats-Inside-My-R … a Sphero által készített Force Band, azt gondoltam: " Ok, én
Moonwalk: Haptikus visszacsatolás Protézis: 5 lépés
Moonwalk: Haptikus visszacsatolás Protézis: Leírás: A Moonwalk nyomásérzékeny protetikai eszköz csökkent tapintási érzékelésű személyek számára (neuropátia-szerű tünetek). A Moonwalk -ot úgy tervezték, hogy segítsen az egyéneknek hasznos haptikus visszajelzéseket kapni, amikor a lábuk érintkezik
Az Arduino több fájllal dolgozik (OLVAS/ÍRJ): 4 lépés
Arduino több fájllal dolgozik (OLVASSA/ÍRJA): Helló srácok! Ma bemutatom nektek az Arduino projektet, amely RTC pajzzsal működik, amely képes adatokat tárolni. A projekt fő feladata az sc kártyán tárolt több fájllal való munka. Ez a projekt olyan kódot tartalmaz, amely három fájllal működik
Támogató rendszer Kerekesszék kar karja: 16 lépés
Támogató rendszer Kerekesszékkar -meghajtó: A közös kerekesszék sok hibát tartalmaz a felső végtag gyengesége vagy korlátozott erőforrás esetén. Csapatunk azt a feladatot kapta, hogy tervezzen meg egy kerekesszékes emelőkart a Free Wheelchair Mission kerekesszékhez, amely lehetővé teszi a felhasználók számára, hogy messzebbre menjenek