Sadržaj:

Protetska ruka koja radi s miosenzorom: 8 koraka
Protetska ruka koja radi s miosenzorom: 8 koraka

Video: Protetska ruka koja radi s miosenzorom: 8 koraka

Video: Protetska ruka koja radi s miosenzorom: 8 koraka
Video: HARRY POTTER STUDIO TOUR LONDON | COMPLETE WALK THROUGH 2024, Novembar
Anonim
Image
Image

Ovaj projekt je razvoj protetske ruke za amputirane osobe. Cilj ovog projekta je stvaranje pristupačne protetske ruke za ljude koji si ne mogu priuštiti profesionalnu.

Kako je ovaj projekt još uvijek u fazi izrade prototipa, uvijek može biti bolji jer za sada može samo otvoriti i zatvoriti dlan koji može hvatati stvari! Ipak, radi se o protetičnoj ruci koja se može uraditi kod kuće ili u lokalnoj laboratoriji.

Korak 1: Potrebni materijali, alati i mašine

Mašine:

  1. 3D štampač
  2. Laserski rezač
  3. Stona CNC mašina

Alati:

  1. Fishing Line
  2. 3 mm filament
  3. Drill
  4. Super ljepilo
  5. Klešta za rupe
  6. Multimetar
  7. Stanica za lemljenje
  8. Mašinski vosak
  9. Siliconfor kalupi

Materijali:

  1. Bakarni lim
  2. 1x ATMEGA328P-AU
  3. 1x 16MHz kristal
  4. 1x 10k otpornik
  5. 2x 22pF kondenzatora
  6. 1x 10uF kondenzator
  7. 1x 1uF kondenzator
  8. 1x 0,1uF kondenzator
  9. 1x Myosensor
  10. 5x mikro servo motori
  11. 1x Arduino UNO

Softver:

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

Korak 2: 2D i 3D dizajn

2D i 3D dizajn
2D i 3D dizajn
2D i 3D dizajn
2D i 3D dizajn
2D i 3D dizajn
2D i 3D dizajn

3D dizajn

Prvi korak bio je dizajniranje prstiju, dlana i podlaktice protetske ruke uzimajući u obzir elektroniku koja bi išla u protetsku ruku. Da budem iskren, koristio sam kao bazu open source inmoov projekt i odatle sam krenuo.

Dlan je prilično težak dio za oblikovanje jer bi prsti trebali imati različite omjere između njih. Dakle:

Prsti: Preuzeo sam prste iz inmoov projekta.

Dlan:

  1. Prvo sam skicirao izgled dlana i istisnuo ga.
  2. Zatim sam napravio skice za spojeve prsta i podlaktice koristeći skice, naredbu cut i file file.
  3. Nakon toga sam morao napraviti cijevi kako bih mogao provući ribolovne linije kako bih mogao kontrolirati prste putem motora.
  4. Na kraju, unutar dlana morale su se dodati rupe kako bi se dlan mogao zatvoriti pri povlačenju ribarske vrpce.

Podlaktica:

  1. U različitim ravninama stvorio sam dvije skice i koristio naredbu elipse. Koristio sam naredbu loft nakon što sam stvorio željeni oblik.
  2. Nakon toga, naredba ljuske je korištena da bi bila šuplja, a komanda split da je prereže na pola tako da je mogu dizajnirati i za najbolju pristupačnost za vrijeme dok svoju elektroniku montiram unutra.
  3. Napravljena je i skica u blizini zgloba, istisnuta i spojena s glavnom podlakticom tako da se može povezati s dlanom.
  4. Imajući vidljivost za dizajn unutar podlaktice, napravio sam skicu u dimenzijama pet motora koje bih koristio, po jedan za svaki prst, i svoju PCB (tiskanu ploču) koju bih koristio. Zatim sam ih ekstrudirao dok nisu dosegli željenu visinu i izbrisao nepotrebne dijelove u stražnjem dijelu cilindra pomoću backspacea.
  5. Na kraju, otvori za vijke su dizajnirani, na način koji nije toliko vidljiv na cjelokupnom dizajnu, da se podlaktica može zatvoriti pomoću sličnih naredbi kao gore.

Završavajući dizajn, odabrao sam svako tijelo i preuzeo ga kao.stl datoteku te sam ih 3D ispisao zasebno.

2D dizajn

Budući da sam želio da mi ribolovne linije budu odvojene dok njima upravljaju motori, odlučio sam za njih napraviti utore za vođenje. Za ovo nisam morao ništa novo dizajnirati, već sam koristio manju elipsu kada sam koristio naredbu loft za kreiranje podlaktice.

Izvezao sam njegovu skicu kao.dxf datoteku nakon što sam upotrijebio laserski rezač. Nakon što sam dobio željeni oblik, izbušio sam rupe od 0,8 mm unutar proreza za koje sam smatrao da su potrebne.

Korak 3: 3D štampanje

3D štampanje
3D štampanje
3D štampanje
3D štampanje
3D štampanje
3D štampanje
3D štampanje
3D štampanje

Nakon izvoza svake stl datoteke, koristio sam Cura za generiranje.g koda različitih dijelova prstiju, dlana i podlaktice. Korištene postavke prikazane su na gornjim slikama. Materijal 3D štampanih delova je PLA.

Korak 4: Lijevanje i lijevanje

Lijevanje i lijevanje
Lijevanje i lijevanje
Lijevanje i lijevanje
Lijevanje i lijevanje
Lijevanje i lijevanje
Lijevanje i lijevanje

Svrha bacanja dlana je da protetska ruka ima jači zahvat jer bi PLA mogla biti klizava.

3D dizajn

  1. Koristeći već postojeću skicu dlana, pokušao sam oponašati naš dlan dizajnirajući mu neke vrste krugova pomoću naredbe luka.
  2. Nakon toga, ekstrudirao sam ih na različitim visinama i upotrijebio naredbu fileta za izglađivanje rubova unutrašnjih "krugova".
  3. Zatim sam dizajnirao kutiju istih dimenzija kao moj vosak za obradu i stavio sam negativ svog dizajna tamo koristeći rez u komandi kombajn.

CAM proces

Nakon što sam dizajn bio spreman za glodanje pomoću stolnog CNC stroja, morao sam generirati gcode za to. U mom slučaju koristio sam CNC stroj Roland MDX-40!

  1. Prvo sam ušao u CAM okruženje Fusion360.
  2. Zatim sam odabrao "novo postavljanje" u izborniku za postavljanje.
  3. Odabrao sam prave parametre (vidi slike) i pritisnuo u redu.
  4. Zatim sam u 3D izborniku odabrao adaptivno čišćenje i odabrao prave parametre nakon umetanja alata koji sam koristio kao što je prikazano na slikama.
  5. Na kraju sam odabrao adaptivno čišćenje i kliknuo na postupak objave. Uvjerio sam se da je za roland stroj mdx-40 i kliknuo u redu kako bih dobio gcode.
  6. Nakon toga sam glodao blok voska prema svom dizajnu pomoću mašine.

Lijevanje silicija

  1. Prvo sam pažljivo promiješao dva otopina silicija da ne izazove mjehuriće zraka, slijedeći tehnički list (veza se nalazi na materijalima), uzimajući u obzir omjer miješanja, vijek trajanja i vrijeme skidanja.
  2. Zatim sam je ulio u kalup s najniže tačke pazeći da kontaktna tačka ostane konstantna i da je promjer izlivene otopine što je moguće tanji, kako bi se izbjegli mjehurići zraka.
  3. Nakon lijevanja silicija u kalup, morao sam se pobrinuti da unutra nema mjehurića zraka, pa sam drhtao kalup bušilicom s kosim ekserom.
  4. Na kraju, kako sam to zaboravio učiniti u svom dizajnu, izbušio sam rupe u svom silicijumu nakon što je bio spreman, pomoću kliješta za rupe, na način da se podudaraju s rupama na površini dlana.

Korak 5: Dizajn i proizvodnja elektronike

Dizajn i proizvodnja elektronike
Dizajn i proizvodnja elektronike
Dizajn i proizvodnja elektronike
Dizajn i proizvodnja elektronike
Dizajn i proizvodnja elektronike
Dizajn i proizvodnja elektronike

Da bih dizajnirao svoju ploču i razumio šta se dešava sa pinovima mikrokontrolera, morao sam pročitati njen tehnički list. Kao osnovni PCB, koristio sam mikro satshakit, a zatim sam ga izmijenio prema potrebama svog sistema.

Kako je satshakit ploča napravljena od DIY arduino-a, mogao bih je izmijeniti u skladu sa svojim potragama za povezivanjem svojih dijelova s arduinom. Dakle, miosenzor se povezuje s arduinom pomoću jednog GND pina, jednog VCC pina i jednog analognog pina. Dok jedan servo motor koristi jedan GND pin, jedan VCC pin i jedan PWM pin. Dakle, morao sam izložiti ukupno šest GND i VCC pinova uzimajući u obzir napajanje ploče, jedan analogni i pet PWM pinova. Također, morao sam uzeti u obzir da izložim pinove za programiranje ploče (a to su MISO, MOSI, SCK, RST, VCC i GND).

Koraci koje sam preduzeo bili su:

  1. Prvo sam preuzeo datoteke orla iz mikro-satshakita.
  2. Zatim sam izmijenio mikrosatshakit prema svojim potrebama koristeći Eagle. Vodič o tome kako koristiti Eagle možete pronaći ovdje i ovdje.
  3. Nakon što sam ukorijenio svoju ploču, izvezao sam je kao-p.webp" />

Nakon što su unutrašnje i vanjske staze moje ploče u PNG-u, vrijeme je za generiranje njihovog gcode-a kako bismo ga mogli mljeti u roland mdx-40 stonoj cnc mašini. Za generiranje.gcodea koristio sam fab module. Postavke koje treba postaviti u fab modulima i pronaći ih ovdje.

Na kraju sam lemio sve što mi je bilo potrebno prema ploči za orlove. Slika shematske i lemljene ploče nalazi se gore.

Razlog za izradu vlastite PCB ploče umjesto korištenja Arduino UNO -a je prostor koji štedim kada koristim svoju ploču.

Korak 6: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Dakle, nakon otiskivanja prstiju:

  1. Morao sam bušiti unutrašnje rupe bušilicom promjera 3,5 mm, a vanjske bušilicom promjera 3 mm. Unutarnje rupe označavaju dio koji je, kada su dijelovi povezani, iz unutrašnje i vanjske rupe, dio koji je spojen izvana.
  2. Nakon toga morao sam superlijepiti prvi prstom, a treći četvrtim.
  3. Nakon toga, spojio sam dijelove 1+2 sa 3+4 sa 5 kroz male rupice pomoću niti sa promjerom 3 mm.
  4. Na kraju, prsti su bili spremni za sastavljanje dlanom, a zatim i podlakticom.

Dakle, došlo je vrijeme da se ribarska linija provuče kroz prste.

Jedna linija je išla sa stražnje strane prsta kroz cijev na priključku za prst i dlan, a druga linija je išla od prednje strane prsta do rupe na unutrašnjoj strani dlana i do podlaktice

Posebna napomena je proći ribarsku liniju kroz komad drveta koji ima rupu promjera i napraviti čvor. U suprotnom, kada se linija povuče, može otići niz prst, što mi se dogodilo bez obzira na to koliko sam čvorova napravio.

  • Nakon što se ribarska linija provuče kroz prste, dlan i podlakticu trebaju povezati neki 3D štampani vijci botova,
  • Ponovo sam prošao vodove kroz otvor za lasersko izrezivanje kako bih ih odvojio, a zatim ih spojio na servo motore.
  • Pričvršćivanje ribarske linije na desni položaj servo uređaja malo je izazovno. Ali, ono što sam uradio je da zauzmem ekstremne položaje prsta i povežem ih sa ekstremnim položajem servo -a.
  • Nakon što sam pronašao ispravne položaje, izbušio sam rupe u posebnim utorima za servomotore i pričvrstio servosisteme na prava mjesta pazeći da su dva servomotora malo uzdignuta od ostalih, u protivnom bi se sudarili tijekom rada.

Korak 7: Programiranje

Programiranje
Programiranje

Prije pisanja programa morao sam omogućiti modificirani mikro-satshakit za programiranje. Da bih to učinio, morao sam slijediti donje korake:

  1. Priključite Arduino Uno na računar.
  2. Odaberite odgovarajući port i Arduino Uno ploču ispod alata.
  3. U odjeljku> Datoteka> Primjeri pronađite i otvorite skicu "ArduinoISP".
  4. Prenesite skicu na Arduino.
  5. Odvojite Arduino sa računara.
  6. Povežite ploču s Arduinom prema shemi na slici.
  7. Priključite Arduino na računalo.
  8. Odaberite ploču "Arduino/Genuino Uno" i programera "Arduino kao ISP".
  9. Kliknite na> Tools> Burn Bootloader.
  10. Nakon što je pokretački program uspješno obavljen, možemo napisati naš program:

// uključujući biblioteku koju sam koristio za servo motore

#include #include SoftwareSerial mySerial (7, 8); #define MYO_PIN A0 int sensorValue; plivajući napon; // imenovanje mog serva VarSpeedServo servo1; VarSpeedServo servo2; VarSpeedServo servo3; VarSpeedServo servo4; VarSpeedServo servo5; #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 #dempinTUMP); // pin na koji sam priključio 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 (INDEKS, 40); defaultPosition (SREDNJI, 40); defaultPosition (RINGFINGER, 40); defaultPosition (PINKY, 40); mySerial.begin (9600); mySerial.print ("Inicijalizacija …"); } void loop () {sensorValue = analogRead (A0); napon = vrijednost senzora * (5,0 / 1023,0); mySerial.println (napon); kašnjenje (100); if (napon> 1) {closePosition (PINKY, 60); closePosition (RINGFINGER, 60); closePosition (SREDNJI, 60); closePosition (INDEKS, 60); closePosition (THUMB, 60); } else {openPosition (PINKY, 60); openPosition (RINGFIGER, 60); openPosition (SREDNJI, 60); openPosition (INDEKS, 60); openPosition (THUMB, 60); }} void defaultPosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (90, _speed, true); else if (finger == RINGFINGER) servo4.write (70, _speed, true); else if (finger == MIDDLE) servo3.write (20, _speed, true); else if (finger == 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 (finger == RINGFINGER) servo4.write (180, _speed, true); else if (finger == MIDDLE) servo3.write (180, _speed, true); else if (finger == 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 (finger == RINGFINGER) servo4.write (0, _speed, true); else if (finger == MIDDLE) servo3.write (0, _speed, true); else if (finger == INDEX) servo2.write (0, _speed, true); else if (finger == THUMB) servo1.write (0, _speed, true); } // Nakon pisanja programa učitavamo ga na ploču pomoću> Sketch> Upload using Programmer // Sada možete odvojiti svoj mikro satshakit sa vašeg arduina i napajati ga putem power bank -a // I voila !! Imate protetsku ruku

Preporučuje se: