Obsah:

Protetická ruka pracujúca s myosenzorom: 8 krokov
Protetická ruka pracujúca s myosenzorom: 8 krokov

Video: Protetická ruka pracujúca s myosenzorom: 8 krokov

Video: Protetická ruka pracujúca s myosenzorom: 8 krokov
Video: LKT 81 T & Hydraulická ruka 2024, November
Anonim
Image
Image

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:

  1. 3D tlačiareň
  2. Laserová rezačka
  3. Stolový CNC stroj

Náradie:

  1. Rybársky vlasec
  2. 3 mm vlákno
  3. Vŕtačka
  4. Super lepidlo
  5. Kliešte na diery
  6. Multimetr
  7. Spájkovacia stanica
  8. Obrobiteľný vosk
  9. Silikónové formy

Materiály:

  1. Medený plech
  2. 1x ATMEGA328P-AU
  3. 1x 16MHz kryštál
  4. 1x 10k odpor
  5. 2x 22pF kondenzátory
  6. 1x 10uF kondenzátor
  7. 1 x 1uF kondenzátor
  8. 1 x 0,1uF kondenzátor
  9. 1x Myosensor
  10. 5x mikro servomotory
  11. 1x Arduino UNO

Softvér:

  1. Arduino IDE
  2. Fusion360
  3. Cura
  4. Orol
  5. GIMP

Krok 2: 2D a 3D návrh

2D a 3D dizajn
2D a 3D dizajn
2D a 3D dizajn
2D a 3D dizajn
2D a 3D dizajn
2D a 3D dizajn

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ň:

  1. Najprv som načrtol rozloženie dlane a vytlačil som ho.
  2. Potom som pomocou skíc, príkazu vystrihnúť a príkazu zaoblenia urobil otvory pre spojenia prsta a predlaktia.
  3. Potom som musel vyrobiť trubice, aby som mohol prevliecť rybárske vlasce, aby som mohol ovládať prsty cez motory.
  4. Nakoniec bolo potrebné do vnútra dlane pridať otvory, aby bolo možné zatiahnutie dlane pri ťahaní rybárskej šnúry.

Predlaktie:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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č

3D tlač
3D tlač
3D tlač
3D tlač
3D tlač
3D tlač
3D tlač
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

Lisovanie a odlievanie
Lisovanie a odlievanie
Lisovanie a odlievanie
Lisovanie a odlievanie
Lisovanie a odlievanie
Lisovanie a odlievanie

Účelom odlievania dlane je, aby protetická ruka mala silnejší úchop, pretože PLA by mohla byť klzká.

3D dizajn

  1. 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.
  2. Potom som ich vytlačil v rôznych výškach a pomocou príkazu zaoblenia som vyhladil okraje vnútorných „kruhov“.
  3. 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!

  1. Najprv som vstúpil do CAM prostredia Fusion360.
  2. Potom som v ponuke nastavenia vybral „nové nastavenie“.
  3. Zvolil som správne parametre (viď obrázky) a stlačil ok.
  4. Ď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.
  5. 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.
  6. Potom som strojom vyfrézoval blok vosku podľa môjho návrhu.

Odlievanie kremíka

  1. 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.
  2. 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.
  3. 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.
  4. 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

Návrh a výroba elektroniky
Návrh a výroba elektroniky
Návrh a výroba elektroniky
Návrh a výroba elektroniky
Návrh a výroba elektroniky
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:

  1. Najprv som si stiahol orlie súbory micro-satshakitu.
  2. Ďalej som upravil micro-satshakit podľa svojich potrieb pomocou Eagle. Návod, ako používať Eagle, nájdete tu a tu.
  3. 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

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Po vytlačení prstov teda:

  1. 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.
  2. Potom som musel najskôr lepiť druhým prstom a tretí štvrtým.
  3. Potom som spojil časti 1+2 s 3+4 s 5 cez malé otvory pomocou vlákna s priemerom 3 mm.
  4. 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

Programovanie
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:

  1. Pripojte Arduino Uno k počítaču.
  2. Pod nástrojmi vyberte správny port a dosku Arduino Uno.
  3. V časti> Súbor> Príklady nájdite a otvorte skicu „ArduinoISP“.
  4. Nahrajte skicu do Arduina.
  5. Odpojte Arduino od počítača.
  6. Pripojte dosku k Arduinu podľa schémy na obrázku.
  7. Pripojte Arduino k počítaču.
  8. Vyberte dosku „Arduino/Genuino Uno“a programátor „Arduino ako ISP“.
  9. Kliknite na> Nástroje> Napáliť bootloader.
  10. 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: