Sadržaj:
- Korak 1: Potrebni materijali, alati i strojevi
- Korak 2: 2D i 3D dizajn
- Korak 3: 3D ispis
- Korak 4: Lijevanje i lijevanje
- Korak 5: Projektiranje i proizvodnja elektronike
- Korak 6: Montaža
- Korak 7: Programiranje
Video: Protetska ruka koja radi s miosenzorom: 8 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-31 10:20
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 DIY protetičkoj ruci koja se može učiniti kod kuće ili u lokalnom laboratoriju.
Korak 1: Potrebni materijali, alati i strojevi
Strojevi:
- 3D pisač
- Laserski rezač
- Stolni CNC stroj
Alati:
- Ribarska linija
- 3 mm filament
- Bušilica
- Super ljepilo
- Klešta za rupe
- Multimetar
- Stanica za lemljenje
- Obradivi vosak
- Kalupi od silicija
Materijali:
- Bakreni lim
- 1x ATMEGA328P-AU
- 1x 16MHz kristal
- 1x 10k otpornik
- 2x 22pF kondenzatora
- 1x 10uF kondenzator
- 1x 1uF kondenzator
- 1x 0,1uF kondenzator
- 1x Miosenzor
- 5x mikro servo motori
- 1x Arduino UNO
Softver:
- Arduino IDE
- Fusion360
- Cura
- Orao
- GIMP
Korak 2: 2D i 3D dizajn
3D dizajn
Prvi korak bio je oblikovanje 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. Tako:
Prsti: Preuzeo sam prste iz projekta inmoov.
Dlan:
- Prvo sam skicirao izgled dlana i istisnuo ga.
- Zatim sam napravio skice, spojeve prsta i podlaktice pomoću skica, naredbe cut i naredbe file.
- Nakon toga morao sam izraditi cijevi kako bih mogao provući ribolovne linije kako bih mogao kontrolirati prste putem motora.
- Na kraju, unutar dlana morale su se dodati rupe kako bi se zatvaranje dlana moglo povući pri povlačenju ribarske vrpce.
Podlaktica:
- U različitim ravninama stvorio sam dvije skice i koristio naredbu elipse. Poslije sam upotrijebio naredbu loft za stvaranje željenog oblika.
- Nakon toga, naredba ljuske korištena je da bi bila šuplja, a naredba split da je prereže na pola tako da je mogu dizajnirati i za najbolju pristupačnost za vrijeme dok svoju elektroniku montiram unutra.
- Napravljena je i skica u blizini zgloba, istisnuta i spojena s glavnom podlakticom tako da se može povezati s dlanom.
- Imajući vidljivost za dizajn unutar podlaktice, stvorio 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.
- Na kraju, otvori za vijke su projektirani, na način koji nije toliko vidljiv na cjelokupnom dizajnu, kako bi se podlaktica mogla 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 to zapravo nisam morao dizajnirati ništa novo, nego sam koristio manju elipsu kada sam koristio naredbu loft za izradu 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 utora za koje sam smatrao da su potrebne.
Korak 3: 3D ispis
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 ispisanih dijelova je PLA.
Korak 4: Lijevanje i lijevanje
Svrha bacanja dlana je da protetska ruka ima jači zahvat jer bi PLA mogla biti skliska.
3D dizajn
- Koristeći već postojeću skicu dlana, pokušao sam oponašati naš dlan dizajnirajući mu neke vrste krugova pomoću naredbe luka.
- Nakon toga, ekstrudirao sam ih na različitim visinama i upotrijebio naredbu fileta za zaglađivanje rubova unutarnjih "krugova".
- Zatim sam dizajnirao kutiju istih dimenzija kao moj vosak za obradu i stavio sam negativ svog dizajna tamo koristeći rez u naredbi 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!
- Prvo sam ušao u CAM okruženje Fusion360.
- Zatim sam na izborniku za postavljanje odabrao "novo postavljanje".
- Odabrao sam prave parametre (vidi slike) i pritisnuo u redu.
- Zatim sam u 3D izborniku odabrao adaptivno čišćenje i odabrao prave parametre nakon što sam umetnuo alat koji sam koristio kao što je prikazano na slikama.
- 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.
- Nakon toga sam glodao blok voska prema svom dizajnu pomoću stroja.
Lijevanje silicija
- Prvo sam pažljivo promiješao dvije otopine silicija da ne izazove mjehuriće zraka, slijedeći podatkovni list (veza se nalazi na materijalima), uzimajući u obzir omjer miješanja, vijek trajanja i vrijeme skidanja.
- Zatim sam je ulio u kalup s najniže točke pazeći da kontaktna točka ostane konstantna i promjer izlivene otopine što je moguće tanji, kako bi se izbjegli mjehurići zraka.
- Nakon što sam ulio silicij u svoj kalup, morao sam se pobrinuti da unutra nema mjehurića zraka, pa sam drhtao kalup pomoću bušilice s kosim čavlom.
- Na kraju, budući da sam to zaboravio učiniti u svom dizajnu, probušio sam rupe u svom siliciju 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: Projektiranje i proizvodnja elektronike
Da bih dizajnirao svoju ploču i razumio što se događa u pinovima mikrokontrolera, morao sam pročitati njegovu podatkovnu tablicu. Kao osnovni PCB, koristio sam mikro satshakit, a zatim sam ga izmijenio prema potrebama svog sustava.
Kako je satshakit ploča izrađena od arduina, uradi sam, mogao bih je izmijeniti u skladu sa svojim traženjima veza 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 sam morao uzeti u obzir da izložim pinove za programiranje ploče (a to su MISO, MOSI, SCK, RST, VCC i GND).
Koraci koje sam poduzeo bili su:
- Prvo sam preuzeo datoteke orla mikrosatshakita.
- Zatim sam izmijenio mikrosatshakit prema svojim potrebama koristeći Eagle. Vodič o tome kako koristiti Eagle možete pronaći ovdje i ovdje.
- Nakon što sam ukorijenio svoju ploču, izvezao sam je kao-p.webp" />
Nakon što su unutarnji i vanjski putevi moje ploče u PNG-u, vrijeme je za generiranje njihovog gcode-a kako bismo ga mogli mljeti u roland mdx-40 stolnom cnc stroju. 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 sam trebao 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 vlastitu ploču.
Korak 6: Montaža
Dakle, nakon što su otisnuti prsti:
- Unutarnje rupe morao sam bušiti bušilicom promjera 3,5 mm, a vanjske bušilicom promjera 3 mm. Unutarnje rupe znače dio koji kada su dijelovi spojeni to je iz unutarnje i vanjske rupe, dio koji je spojen izvana.
- Nakon toga sam morao superlijepiti prvi prstom, a treći četvrti.
- Nakon toga, spojio sam dijelove 1+2 s 3+4 s 5 kroz male rupice pomoću niti sa promjerom 3 mm.
- 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 od stražnje strane prsta kroz cijev na spojnici prst-dlan i do podlaktice, a druga linija je išla od prednje strane prsta do rupe na unutarnjoj strani dlana i do podlaktice
Posebna napomena je proći ribarsku liniju kroz komad drveta koji ima rupu promjera i napraviti čvor. Inače, kad se povuče konopac, može sić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 ispisani vijci botova,
- Ponovno 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 serva pomalo je izazovno. No, ono što sam učinio je da zauzmem ekstremne položaje prsta i povežem ih s 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
Prije nego što sam napisao program, morao sam omogućiti da se modificirani mikrosatshakit može programirati. Da bih to učinio, morao sam slijediti korake u nastavku:
- Spojite Arduino Uno na računalo.
- Odaberite odgovarajući priključak i Arduino Uno ploču ispod alata.
- U odjeljku> Datoteka> Primjeri pronađite i otvorite skicu "ArduinoISP".
- Prenesite skicu na Arduino.
- Odvojite Arduino od računala.
- Spojite ploču s Arduinom prema shemi na slici.
- Spojite Arduino na računalo.
- Odaberite ploču "Arduino/Genuino Uno" i programera "Arduino kao ISP".
- Kliknite za> Alati> Snimanje pokretačkog programa.
- Nakon što je pokretački program uspješno obavljen, možemo napisati naš program:
// uključujući knjižnicu 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 #definTUMP); // pin na koji sam priključio servo1.priključak motora (THUMB_PIN); servo2.priključak (INDEX_PIN); servo3.priključak (MIDDLE_PIN); servo4.priključak (RINGFINGER_PIN); servo5.priključak (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 == SREDNJI) servo3.write (180, _speed, true); else if (finger == INDEX) servo2.write (180, _speed, true); else if (finger == THUMB) servo1.attach (180, _brzina, istina); } 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 što smo napisali program, učitavamo ga na ploču pomoću> Sketch> Upload using Programmer // Sada možete odspojiti svoj mikro satshakit sa svog arduina i napajati ga putem power bank -a // I voila !! Imate protetsku ruku
Preporučeni:
Moslty 3D ispisana robotska ruka koja oponaša lutkarski kontroler: 11 koraka (sa slikama)
Moslty 3D-ispisana robotska ruka koja oponaša lutkarski kontroler: Student sam strojarstva iz Indije i ovo je moj stupanjski projekt. Ovaj je projekt usmjeren na razvoj jeftine robotske ruke koja je uglavnom 3D ispisana i ima 5 DOF-ova s 2 prsta hvataljka. Robotskom rukom upravlja se
Kako popraviti Logitech X100 zvučnik s Bluetooth vezom koja ne radi: 6 koraka
Kako popraviti Logitech X100 zvučnik s Bluetooth vezom koja ne radi: Kad mi je bluetooth zvučnik pao u vodu bilo je strašno, više nisam mogao slušati svoju glazbu pod tušem. Zamislite da se ujutro probudite u 6:30 ujutro i da se tuširate s omiljenim pjesmama. Sada zamislite da se morate probuditi
3D ispisana protetska ruka u 4 koraka !: 4 koraka
3D tiskana protetička ruka u 4 koraka!: Ovaj projekt je protetička ruka koju sam ja ispisao, želim istražiti dodatno znanje o protetici i 3D ispisu. Iako ovo nije najbolji projekt, odličan je način steći iskustvo i naučiti stvarati
Servo kontrolirana protetska ruka: 8 koraka
Protetička ruka sa servo upravljanjem: Bok, ovdje izrađujem protetičku ruku kojom upravljaju servomotori kako bi se uhvatila. Radim desnu ruku, ali uključio sam datoteke za ispis i lijevog dlana. Sklop je isti za lijevu i desnu ruku
Robotska ruka koja se može kontrolirati pokretima kontrolirana pokretima putem Bluetootha do Arduina: 4 koraka
Robotska ruka koja se može upravljati pokretima kontrolirana pokretima putem Bluetootha do Arduina: U ruci postoje dva načina. Prvi je ručni način rada kojim možete pomicati ruku s bluetoothom u svom mobilnom telefonu pomicanjem klizača u aplikaciji. U isto vrijeme možete spremiti svoje pozicije i igrati … Drugo je način gesta koji koristi vaš ph