Obsah:
- Krok 1: Potrebné materiály, nástroje a stroje
- Krok 2: 2D a 3D návrh
- Krok 3: 3D tlač
- Krok 4: Lisovanie a odlievanie
- Krok 5: Návrh a výroba elektroniky
- Krok 6: Zostavenie
- Krok 7: Programovanie
Video: Protetická ruka pracujúca s myosenzorom: 8 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-31 10:24
Tento projekt je vývoj protetického ramena pre amputovaných ľudí. Cieľom tohto projektu je vytvorenie dostupnej protetickej ruky pre ľudí, ktorí si nemôžu dovoliť profesionálne.
Pretože je tento projekt stále vo fáze prototypovania, môže byť vždy lepší, pretože zatiaľ môže len otvárať a zatvárať dlaň, aby mohla uchopiť veci! Napriek tomu je to DIY protetická ruka, ktorú je možné vykonať doma alebo v miestnom fabrickom laboratóriu.
Krok 1: Potrebné materiály, nástroje a stroje
Stroje:
- 3D tlačiareň
- Laserová rezačka
- Stolový CNC stroj
Náradie:
- Rybársky vlasec
- 3 mm vlákno
- Vŕtačka
- Super lepidlo
- Kliešte na diery
- Multimetr
- Spájkovacia stanica
- Obrobiteľný vosk
- Silikónové formy
Materiály:
- Medený plech
- 1x ATMEGA328P-AU
- 1x 16MHz kryštál
- 1x 10k odpor
- 2x 22pF kondenzátory
- 1x 10uF kondenzátor
- 1 x 1uF kondenzátor
- 1 x 0,1uF kondenzátor
- 1x Myosensor
- 5x mikro servomotory
- 1x Arduino UNO
Softvér:
- Arduino IDE
- Fusion360
- Cura
- Orol
- GIMP
Krok 2: 2D a 3D návrh
3D dizajn
Prvým krokom bolo navrhnutie prstov, dlane a predlaktia protetického ramena s prihliadnutím na elektroniku, ktorá pôjde v protetickom ramene. Aby som bol úprimný, ako základ som použil projekt inmoov s otvoreným zdrojovým kódom a odtiaľ som začal.
Dlaň je dosť ťažké navrhnúť, pretože prsty by mali mať medzi sebou rôzne pomery. Takže:
Prsty: Stiahol som si prsty z projektu inmoov.
Dlaň:
- Najprv som načrtol rozloženie dlane a vytlačil som ho.
- Potom som pomocou skíc, príkazu vystrihnúť a príkazu zaoblenia urobil otvory pre spojenia prsta a predlaktia.
- Potom som musel vyrobiť trubice, aby som mohol prevliecť rybárske vlasce, aby som mohol ovládať prsty cez motory.
- Nakoniec bolo potrebné do vnútra dlane pridať otvory, aby bolo možné zatiahnutie dlane pri ťahaní rybárskej šnúry.
Predlaktie:
- V rôznych rovinách som vytvoril dva náčrty a použil som príkaz elipsa. Potom som na vytvorenie požadovaného tvaru použil príkaz loft.
- Potom bol pomocou príkazu shell dutý a príkazom split to rozrezal na polovicu, aby som v ňom mohol navrhnúť a zaistiť najlepšiu dostupnosť, keď doň montujem svoju elektroniku.
- V blízkosti zápästia bol tiež urobený náčrt, vytláčaný a spojený s hlavným predlaktím, aby sa mohol spojiť s dlaňou.
- S viditeľnosťou navrhovania vo vnútri predlaktia som vytvoril náčrt rozmerov piatich motorov, ktoré budem používať, jedného pre každý prst a mojej dosky plošných spojov (doska plošných spojov), ktorú budem používať. Potom som ich vytlačil, kým nedosiahli požadovanú výšku, a pomocou spätného priestoru vymazal nepotrebné časti v zadnej časti valca.
- Nakoniec boli otvory pre čapy navrhnuté spôsobom, ktorý nie je na celkovom dizajne tak viditeľný, aby bolo možné predlaktie zatvoriť pomocou podobných príkazov, ako sú uvedené vyššie.
Po dokončení návrhu som vybral každé telo a stiahol ho ako súbor.stl a vytlačil som ich 3D samostatne.
2D dizajn
Keďže som chcel, aby boli moje rybárske šnúry oddelené počas prevádzky motorov, rozhodol som sa pre ne vytvoriť vodiace otvory. Za týmto účelom som skutočne nemusel navrhovať nič nové, ale použil som menšiu elipsu, keď som pomocou príkazu loft vytvoril predlaktie.
Potom, čo som použil laserovú rezačku, som jej skicu exportoval ako súbor.dxf. Potom, čo som mal požadovaný tvar, som vyvŕtal otvory 0,8 mm do otvoru, ktorý som považoval za potrebný.
Krok 3: 3D tlač
Po exportovaní každého súboru stl som pomocou programu Cura vygeneroval.gcode rôznych častí prstov, dlane a predlaktia. Použité nastavenia sú znázornené na obrázkoch vyššie. Materiál 3D tlačených dielov je PLA.
Krok 4: Lisovanie a odlievanie
Účelom odlievania dlane je, aby protetická ruka mala silnejší úchop, pretože PLA by mohla byť klzká.
3D dizajn
- Pomocou už existujúceho náčrtu dlane som sa pokúsil napodobniť našu dlaň tak, že som k nej pomocou príkazu oblúka navrhol druh kruhov.
- Potom som ich vytlačil v rôznych výškach a pomocou príkazu zaoblenia som vyhladil okraje vnútorných „kruhov“.
- Potom som navrhol škatuľu s rovnakými rozmermi ako môj strojovateľný vosk a negatív svojho návrhu som tam vložil pomocou príkazu vystrihnúť v príkaze kombinovať.
CAM proces
Potom, čo bol návrh pripravený na frézovanie pomocou stolného CNC stroja, som na to musel vygenerovať gcode. V mojom prípade som používal CNC stroj Roland MDX-40!
- Najprv som vstúpil do CAM prostredia Fusion360.
- Potom som v ponuke nastavenia vybral „nové nastavenie“.
- Zvolil som správne parametre (viď obrázky) a stlačil ok.
- Ďalej som v ponuke 3D vybral adaptívne čistenie a vybral správne parametre po vložení nástroja, ktorý som použil, ako je znázornené na obrázkoch.
- Nakoniec som si vybral adaptívne zúčtovanie a klikol na postup post. Uistil som sa, že je to pre stroj roland mdx-40, a kliknutím na tlačidlo ok získal kód gcode.
- Potom som strojom vyfrézoval blok vosku podľa môjho návrhu.
Odlievanie kremíka
- Najprv som opatrne zmiešal tieto dva roztoky kremíka, aby nevyvolávali žiadne vzduchové bubliny, podľa technického listu (odkaz na materiáloch), pričom sa zohľadnil pomer miešania, doba spracovateľnosti a čas odformovania.
- Potom som to nalial do svojej formy z najnižšieho bodu, pričom som sa uistil, že kontaktný bod zostáva konštantný a priemer naliateho roztoku je čo najtenší, aby sa zabránilo vzduchovým bublinám.
- Po naliatí kremíka do formy som sa musel uistiť, že vo vnútri nie sú žiadne vzduchové bubliny, a tak som formu zatriasol pomocou vŕtačky so šikmým klincom.
- Nakoniec, keďže som to vo svojom návrhu zabudol urobiť, vyrazil som do svojho kremíka otvory, keď boli pripravené, pomocou klieští na diery tak, aby zodpovedali otvorom, ktoré boli na povrchu dlane.
Krok 5: Návrh a výroba elektroniky
Aby som mohol navrhnúť svoju dosku a pochopiť, čo sa deje v kolíkoch mikrokontroléra, musel som si prečítať jej technický list. Ako základnú dosku plošných spojov som použil micro satshakit a potom som ho upravil podľa potrieb svojho systému.
Pretože satshakit je doska založená na arduino DIY, mohol by som ju upraviť podľa svojich hľadaní prepojení svojich častí s arduino. Myosenzor sa teda pripája k arduinu pomocou jedného pinu GND, jedného pinu VCC a jedného analógového pinu. Jeden servomotor však používa jeden kolík GND, jeden kolík VCC a jeden kolík PWM. Musel som teda odhaliť celkom šesť pinov GND a VCC s prihliadnutím na napájanie dosky, jeden analógový a päť pinov PWM. Tiež som musel vziať do úvahy vystavenie pinov na programovanie dosky (ktoré sú MISO, MOSI, SCK, RST, VCC a GND).
Kroky, ktoré som urobil, boli tieto:
- Najprv som si stiahol orlie súbory micro-satshakitu.
- Ďalej som upravil micro-satshakit podľa svojich potrieb pomocou Eagle. Návod, ako používať Eagle, nájdete tu a tu.
- Po zakorenení mojej dosky som ju exportoval ako súbor-p.webp" />
Potom, čo mám vnútorné a vonkajšie cesty svojej dosky ako png, je načase vygenerovať ich gcode, aby som ich mohol vyfrézovať v stolnom cnc stroji roland mdx-40. Na generovanie.gcode som použil moduly fab. Nastavenia, ktoré by mali byť nastavené v moduloch fab, nájdete tu.
Nakoniec som podľa svojej orlej dosky spájkoval všetko, čo som potreboval. Obrázok schémy a spájkovanej dosky nájdete vyššie.
Dôvodom, prečo si namiesto použitia Arduino UNO vytvoriť vlastnú dosku s plošnými spojmi, je priestor, ktorý šetrím, keď používam vlastnú dosku.
Krok 6: Zostavenie
Po vytlačení prstov teda:
- Vnútorné otvory som musel vyvŕtať vrtákom s priemerom 3,5 mm a vonkajšie otvory vŕtačkou s priemerom 3 mm. Vnútorné otvory znamenajú časť, ktorá keď sú diely spojené, je z vnútorného a vonkajšieho otvoru, časť, ktorá keď je spojená, je zvonku.
- Potom som musel najskôr lepiť druhým prstom a tretí štvrtým.
- Potom som spojil časti 1+2 s 3+4 s 5 cez malé otvory pomocou vlákna s priemerom 3 mm.
- Nakoniec boli prsty pripravené na zostavenie dlaňou a potom predlaktím.
Takže bolo načase prejsť vlasec cez prsty.
Jedna čiara prechádzala zo zadnej strany prsta cez rúrku na konektore prst-dlaň a na predlaktie a druhá čiara prechádzala z prednej strany prsta do otvoru na vnútornej strane dlane a na predlaktie
Zvláštnou poznámkou je previesť rybársku šnúru cez kus dreva, ktorý má do nej dieru s priemerom a vytvoriť uzol. V opačnom prípade pri zatiahnutí vlasca môže ísť dole prstom, čo sa mi stalo bez ohľadu na to, koľko uzlov som urobil.
- Potom, čo rybárska šnúra prejde prstami, dlaň a predlaktie by mali byť spojené niekoľkými 3D tlačenými botmi,
- Linky som opäť prešiel štrbinou laserom vyrezaného otvoru, aby som ich oddelil, a potom som ich spojil so servomotormi.
- Pripojenie rybárskej šnúry do správnej polohy serva je trochu náročné. Čo som však urobil, bolo vziať krajné polohy prsta a pripojiť ho k extrémnej polohe serva.
- Potom, čo som našiel správne polohy, vyvŕtal som otvory do špeciálnych otvorov pre serva a priskrutkoval serva na správne miesta, pričom som sa ubezpečil, že dve zo serva boli mierne vyvýšené od ostatných, inak by sa počas prevádzky zrazili.
Krok 7: Programovanie
Pred napísaním programu som musel zabezpečiť, aby mohol byť upravený mikrosatshakit naprogramovaný. Aby som to urobil, musel som vykonať nasledujúce kroky:
- Pripojte Arduino Uno k počítaču.
- Pod nástrojmi vyberte správny port a dosku Arduino Uno.
- V časti> Súbor> Príklady nájdite a otvorte skicu „ArduinoISP“.
- Nahrajte skicu do Arduina.
- Odpojte Arduino od počítača.
- Pripojte dosku k Arduinu podľa schémy na obrázku.
- Pripojte Arduino k počítaču.
- Vyberte dosku „Arduino/Genuino Uno“a programátor „Arduino ako ISP“.
- Kliknite na> Nástroje> Napáliť bootloader.
- Po úspešnom dokončení bootloadera môžeme napísať náš program:
// vrátane knižnice, ktorú som použil pre servomotory
#include #include SoftwareSerial mySerial (7, 8); #define MYO_PIN A0 int sensorValue; plávajúce napätie; // pomenovanie mena pre moje servo VarSpeedServo servo1; Servo2 VarSpeedServo; Servo3 VarSpeedServo; Servo4 VarSpeedServo; Servo5 VarSpeedServo; #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 THUMB_PIN 6 void); // kolík, na ktorý som pripevnil motor servo1.attach (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 (MIDDLE, 40); defaultPosition (RINGFINGER, 40); defaultPosition (PINKY, 40); mySerial.begin (9600); mySerial.print ("Inicializácia …"); } prázdna slučka () {sensorValue = analogRead (A0); napätie = senzorHodnota * (5,0 / 1023,0); mySerial.println (napätie); oneskorenie (100); if (napätie> 1) {closePosition (PINKY, 60); closePosition (RINGFINGER, 60); closePosition (STREDNÝ, 60); closePosition (INDEX, 60); closePosition (PALEC, 60); } else {openPosition (PINKY, 60); openPosition (RINGFIGER, 60); openPosition (STREDNÝ, 60); openPosition (INDEX, 60); openPosition (PALEC, 60); }} void defaultPosition (uint8_t prst, uint8_t _speed) {if (finger == PINKY) servo5.write (90, _speed, true); else if (prst == RINGFINGER) servo4.write (70, _speed, true); else if (prst == STREDNÝ) servo3.write (20, _speed, true); else if (prst == INDEX) servo2.write (20, _speed, true); else if (finger == THUMB) servo1.write (20, _speed, true); } void closePosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (180, _speed, true); else if (prst == RINGFINGER) servo4.write (180, _speed, true); else if (prst == STREDNÝ) servo3.write (180, _speed, true); else if (prst == INDEX) servo2.write (180, _speed, true); else if (finger == THUMB) servo1.attach (180, _speed, true); } void openPosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (0, _speed, true); else if (prst == RINGFINGER) servo4.write (0, _speed, true); else if (prst == STREDNÝ) servo3.write (0, _speed, true); else if (prst == INDEX) servo2.write (0, _speed, true); else if (prst == THUMB) servo1.write (0, _speed, true); } // Po napísaní programu ho nahráme na nástenku pomocou> Skica> Nahrať pomocou programátora // Teraz môžete svoj micro satshakit odvinúť z arduina a napájať ho cez power banku // A voila !! Máte protetickú ruku
Odporúča:
Robotická ruka ASL (vľavo): 9 krokov (s obrázkami)
Robotická ruka ASL (vľavo): Cieľom tohto semestra bolo vytvoriť 3-D tlačenú robotickú ľavú ruku, ktorá je schopná v triede predviesť abecedu amerického posunkového jazyka pre nepočujúcich a sluchovo postihnutých ľudí. Prístupnosť predvádzať americký znakový jazyk
3D tlačená protetická ruka v 4 krokoch !: 4 kroky
3D tlačená protetická ruka v 4 krokoch !: Tento projekt je protetickou rukou, ktorú som vytlačil ja. Snažím sa preskúmať ďalšie znalosti o protetike a 3D tlači. Aj keď to nie je najlepší projekt, je to úžasný spôsob, ako získať skúsenosti a naučiť sa vytvárať
Servo ovládaná protetická ruka: 8 krokov
Servo ovládaná protetická ruka: Ahoj, vyrábam protetickú ruku ovládanú servom, aby sa držala. Robím pravú ruku, ale súbory som pridal aj na vytlačenie ľavej dlane. Zostava je rovnaká pre ľavú aj pravú ruku
Fuzzy pahýľová protetická zásuvka: 12 krokov (s obrázkami)
Fuzzy pahýľová protetická zásuvka: Narodil som sa bez ľavej ruky a mám len asi 0,5 ľavého predlaktia. Vďaka múdrosti mojich rodičov ignorovali tento menší problém. Môj otec sa tiež nestretol so zákonom o detskej práci, ktorému venoval pozornosť. Výsledkom bolo, že keď som bol teenager, zdvojnásobili sme
Tretia ruka ++: Viacúčelová pomocná ruka pre elektroniku a iné jemné práce .: 14 krokov (s obrázkami)
Tretia ruka ++: Viacúčelová pomocná ruka pre elektroniku a iné jemné práce .: V minulosti som používal tretie ruky/pomocné ruky dostupné v reťazcových obchodoch s elektronikou a bol som frustrovaný z ich použiteľnosti. Nikdy som nedokázal dostať klipy presne tam, kde som ich chcel, alebo nastavenie trvalo viac času, než by skutočne malo