Innholdsfortegnelse:
- Trinn 1: Materialer, verktøy og maskiner som trengs
- Trinn 2: 2D og 3D -design
- Trinn 3: 3D -utskrift
- Trinn 4: Støping og støping
- Trinn 5: Elektronikkdesign og -produksjon
- Trinn 6: Montering
- Trinn 7: Programmering
Video: Protetisk arm som arbeider med en myosensor: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-31 10:23
Dette prosjektet er utvikling av en protesearm for amputerte mennesker. Målet med dette prosjektet er å lage en rimelig protesearm for mennesker som ikke har råd til en profesjonell.
Ettersom dette prosjektet fremdeles er i prototypefasen, kan det alltid være bedre, for nå kan det bare åpne og lukke håndflaten og kunne ta tak i ting! Likevel er det en DIY protetisk arm som kan gjøres hjemme eller på et lokalt fab lab.
Trinn 1: Materialer, verktøy og maskiner som trengs
Maskiner:
- 3D -skriver
- Laserskærer
- Desktop CNC -maskin
Verktøy:
- Fiskesnøre
- 3 mm filament
- Bore
- Superlim
- Hultang
- Multimeter
- Loddestasjon
- Bearbeidbar voks
- Silisium for former
Materialer:
- Kobberark
- 1x ATMEGA328P-AU
- 1x 16MHz krystall
- 1x 10k motstand
- 2x 22pF kondensatorer
- 1x 10uF kondensator
- 1x 1uF kondensator
- 1x 0.1uF kondensator
- 1x Myosensor
- 5x mikro servomotorer
- 1x Arduino UNO
Programvare:
- Arduino IDE
- Fusion360
- Cura
- Ørn
- GIMP
Trinn 2: 2D og 3D -design
3D -design
Det første trinnet var å designe fingrene, håndflaten og underarmen på protesearmen med tanke på elektronikken som skulle gå i protesearmen. For å være ærlig, brukte jeg som en base open source inmoov -prosjektet, og jeg begynte derfra.
Håndflaten er en ganske vanskelig del å designe da fingrene skal ha forskjellige forhold mellom dem. Så:
Fingre: Jeg lastet ned fingrene fra inmoov -prosjektet.
Håndflate:
- Jeg skisserte først oppsettet av håndflaten og ekstruderte den.
- Deretter lagde jeg hull for tilkoblingen av finger og underarm ved hjelp av skisser, kuttkommandoen og filetkommandoen.
- Etter det måtte jeg lage rør for at jeg skulle kunne passere fiskelinene slik at jeg kan kontrollere fingrene via motorene.
- Til slutt måtte hull legges til inne i håndflaten slik at håndflaten kunne lukkes når fiskesnoren ble trukket.
Underarm:
- I forskjellige plan laget jeg to skisser og brukte ellipsekommandoen. Jeg brukte loft -kommandoen etter for å lage ønsket form.
- Etterpå ble shell -kommandoen brukt til å gjøre den hul og split -kommandoen for å kutte den i to slik at jeg kan designe i den og for best mulig tilgjengelighet når jeg skal montere elektronikken min inne.
- Det ble også laget en skisse i nærheten av håndleddet, ekstrudert og forbundet med hovedarmen slik at den kan koble seg til håndflaten.
- Etter å ha synlighet for å designe inne i underarmen, laget jeg en skisse i dimensjonene til de fem motorene som jeg ville bruke, en for hver finger og kretskortet (kretskortet) som jeg ville bruke. Jeg ekstruderte dem til de nådde ønsket høyde og slettet de unødvendige delene på baksiden av sylinderen ved å bruke baksiden.
- Til slutt ble åpninger for bolter designet på en måte som ikke er så synlig på den generelle konstruksjonen, slik at underarmen kan lukkes med lignende kommandoer som ovenfor.
Etter å ha fullført designet, valgte jeg hvert brødtekst og lastet det ned som en.stl -fil og jeg 3D -utskrevet dem separat.
2D Design
Ettersom jeg ønsket at fiskelinjene mine skulle skilles mens de drives av motorene, bestemte jeg meg for å lage veiledende spor for dem. For dette trengte jeg egentlig ikke å designe noe nytt, men brukte den mindre ellipsen for da jeg brukte loftkommandoen til å lage underarmen.
Jeg eksporterte skissen som en.dxf -fil etter at jeg brukte laserskjæreren. Etter at jeg hadde ønsket form, boret jeg hull på 0,8 mm inne i sporet som jeg fant nødvendig.
Trinn 3: 3D -utskrift
Etter å ha eksportert hver stl -fil, brukte jeg Cura til å generere.g -koden til de forskjellige delene av fingrene, håndflaten og underarmen. Innstillingene som brukes er illustrert på bildene ovenfor. Materialet til de 3D -trykte delene er PLA.
Trinn 4: Støping og støping
Hensikten med støping av håndflaten er at protesearmen skal ha et sterkere grep da PLA kan være glatt.
3D -design
- Ved å bruke den eksisterende skissen av håndflaten, prøvde jeg å etterligne håndflaten vår ved å designe en slags sirkler til den ved hjelp av buekommandoen.
- Etterpå ekstruderte jeg dem i forskjellige høyder og brukte filetkommandoen til å glatte ut kantene på innsiden av "sirkler".
- Deretter designet jeg en eske med de samme dimensjonene som min bearbeidbare voks, og jeg la det negative ved designet mitt der ved å bruke kuttet i kombinasjonskommandoen.
CAM -prosess
Etter å ha designet klar til å bli frest med den stasjonære CNC -maskinen, måtte jeg generere gcode for det. I mitt tilfelle brukte jeg Roland MDX-40 CNC-maskinen!
- Først gikk jeg inn på CAM -miljøet til Fusion360.
- Deretter valgte jeg et "nytt oppsett" på oppsettsmenyen.
- Jeg valgte de riktige parameterne (se bilder) og trykket ok.
- Deretter, under 3D -menyen, valgte jeg adaptiv clearing og valgte de riktige parameterne etter å ha satt inn verktøyet jeg brukte som vist på bildene.
- Til slutt valgte jeg den adaptive clearingen og klikket på innleggsprosessen. Jeg sørget for at det var for roland machine mdx-40 og klikket ok for å få gcode.
- Etter det malte jeg voksblokken i henhold til designet mitt ved hjelp av maskinen.
Støping av silisium
- Først blandet jeg de to løsningene av silisium forsiktig for ikke å forårsake luftbobler, etter databladet (lenken på materialene), med tanke på blandingsforholdet, brukstiden og formidlingstiden.
- Deretter helte jeg den i formen min fra det laveste punktet og sørget for at kontaktpunktet holdt seg konstant og at diameteren på den helte løsningen var så tynn som mulig for å unngå luftbobler.
- Etter å ha støpt silisiumet i formen min, måtte jeg sørge for at det ikke var noen luftbobler inne, så jeg skalv av formen ved hjelp av et bor med en skrå spiker.
- Til slutt, da jeg glemte å gjøre det i mitt design, slo jeg hull i silisiumet mitt etter at det var klart, ved hjelp av hulltangen, på en måte som samsvarer med hullene som var på overflaten av håndflaten.
Trinn 5: Elektronikkdesign og -produksjon
For å designe brettet mitt og forstå hva som skjer i pinnene på mikrokontrolleren, måtte jeg lese databladet til det. Som en grunnleggende PCB brukte jeg mikro satshakit, og deretter endret jeg den i henhold til behovene til systemet mitt.
Siden satshakit er et DIY-arduino-basert bord, kan jeg endre det i henhold til mine søk etter tilkoblinger av mine deler til arduinoen. Så myosensoren kobles til arduino ved hjelp av en GND -pin, en VCC -pin og en analog pin. Mens en servomotor bruker en GND -pin, en VCC -pin og en PWM -pin. Så jeg måtte avsløre totalt seks GND- og VCC -pinner med tanke på styringen, en analog og fem PWM -pinner. Jeg måtte også ta hensyn til å avsløre pinnene for programmeringen av brettet (som er MISO, MOSI, SCK, RST, VCC og GND).
Trinnene jeg tok var:
- Først lastet jeg ned eagle-filene til mikro-satshakit.
- Deretter endret jeg mikro-satshakit i henhold til mine behov ved hjelp av Eagle. En guide for hvordan du bruker Eagle finner du her og her.
- Etter å ha forankret brettet mitt, eksporterte jeg det som en-p.webp" />
Etter å ha hatt de interne og eksterne banene til brettet mitt som png, er det på tide å generere g-koden for dem for å kunne frese den i roland mdx-40 desktop cnc-maskin. For generasjonen av.gcode brukte jeg fab -moduler. Innstillingene som bør settes i fab moduler og finnes her.
Til slutt loddet jeg alt jeg trengte i henhold til ørnebrettet mitt. Bildet av skjematisk og loddet bord finner du ovenfor.
Grunnen til å lage mitt eget PCB -kort i stedet for å bruke en Arduino UNO er plassen jeg sparer når jeg bruker mitt eget brett.
Trinn 6: Montering
Så, etter at fingrene ble skrevet ut:
- Jeg måtte bore de innvendige hullene med et bor på 3,5 mm i diameter og de ytre hullene med et bor på 3 mm i diameter. Innvendige hull betyr delen at når delene er tilkoblet, er det fra innsiden og utsiden av hullet, delen som når det er tilkoblet, er det fra utsiden.
- Etter det måtte jeg superlim til først med den andre fingeren og den tredje med den fjerde.
- Etter det koblet jeg delene 1+2 med 3+4 med 5 gjennom de små hullene ved hjelp av en filament med en diameter på 3 mm.
- Til slutt var fingrene klare til å settes sammen med håndflaten og deretter med underarmen.
Så det var på tide å passere fiskesnoren gjennom fingrene.
Den ene linjen gikk fra baksiden av fingeren gjennom røret på fingerpalmkontakten og til underarmen, og den andre linjen gikk fra forsiden av fingeren til hullet på innsiden av håndflaten og til underarmen
En spesiell merknad er å føre fiskelinjen gjennom et treverk som har et hull med diameteren på den og lage en knute. Ellers når snøret trekkes, kan det gå nedover fingeren, noe som skjedde med meg uansett hvor mange knop jeg gjorde.
- Etter at fiskelinjen er ført gjennom fingrene, skal håndflaten og underarmen være forbundet med noen 3D -trykte botsbolter,
- Jeg passerte linjene igjen gjennom hullet i laserskåret hull for å skille dem og deretter koblet dem til servomotorene.
- Å feste fiskesnoren til riktig posisjon på servoen er litt utfordrende. Men det jeg gjorde var å ta fingerens ekstreme posisjoner og koble den til ytterposisjonen til servoen.
- Etter at jeg fant de riktige posisjonene, boret jeg hull i spesialsporene for servoene og skrudde servoene til de riktige stedene og sørget for at to av servoene var litt forhøyet fra de andre, ellers ville de kollidere under operasjonen.
Trinn 7: Programmering
Før jeg skrev programmet, måtte jeg få den modifiserte mikro-satshakitten til å kunne programmeres. For å gjøre det, måtte jeg følge trinnene nedenfor:
- Koble Arduino Uno til datamaskinen.
- Velg den riktige porten og Arduino Uno -kortet under verktøy.
- Under> Fil> Eksempler, finn og åpne "ArduinoISP" -skisse.
- Last opp skissen til Arduino.
- Koble Arduino fra datamaskinen.
- Koble kortet med Arduino etter skjematisk på bildet.
- Koble Arduino til PCen.
- Velg "Arduino/Genuino Uno" -kortet og programmereren "Arduino as ISP".
- Klikk på> Verktøy> Brenn oppstartslaster.
- Etter at opplastingsprogrammet er fullført, kan vi skrive programmet vårt:
// inkludert biblioteket som jeg brukte til servomotorene
#include #include SoftwareSerial mySerial (7, 8); #define MYO_PIN A0 int sensorValue; flytespenning; // utnevne et navn til min servo 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 #define THUMBIN_ (ING_TILBAKE_INDL.); // pinnen som jeg festet min motorservo1.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 (MIDDEL, 40); defaultPosition (RINGFINGER, 40); defaultPosition (PINKY, 40); mySerial.begin (9600); mySerial.print ("Initialiserer …"); } void loop () {sensorValue = analogRead (A0); spenning = sensorValue * (5.0 / 1023.0); mySerial.println (spenning); forsinkelse (100); hvis (spenning> 1) {closePosition (PINKY, 60); closePosition (RINGFINGER, 60); closePosition (MIDDEL, 60); closePosition (INDEKS, 60); closePosition (THUMB, 60); } annet {openPosition (PINKY, 60); openPosition (RINGFIGER, 60); openPosition (MIDDEL, 60); openPosition (INDEX, 60); openPosition (THUMB, 60); }} void defaultPosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (90, _speed, true); ellers hvis (finger == RINGFINGER) servo4.write (70, _hastighet, true); ellers hvis (finger == MIDDEL) servo3.write (20, _hastighet, true); ellers hvis (finger == INDEX) servo2.write (20, _speed, true); ellers hvis (finger == THUMB) servo1.write (20, _hastighet, true); } void closePosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (180, _speed, true); ellers hvis (finger == RINGFINGER) servo4.write (180, _hastighet, true); ellers hvis (finger == MIDDEL) servo3.write (180, _hastighet, true); ellers hvis (finger == INDEX) servo2.write (180, _hastighet, true); ellers hvis (finger == THUMB) servo1.attach (180, _hastighet, true); } void openPosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (0, _speed, true); ellers hvis (finger == RINGFINGER) servo4.write (0, _hastighet, true); ellers hvis (finger == MIDDEL) servo3.write (0, _hastighet, true); ellers hvis (finger == INDEX) servo2.write (0, _speed, true); ellers hvis (finger == THUMB) servo1.write (0, _hastighet, true); } // Etter å ha skrevet programmet laster vi det opp til brettet ved> Sketch> Upload using Programmer // Nå kan du koble ut mikrosatshakit fra arduinoen din og koble den gjennom powerbanken // Og voila !! Du har en protetisk arm
Anbefalt:
UK Ring Video Doorbell Pro som arbeider med mekanisk klokke: 6 trinn (med bilder)
UK Ring Video Doorbell Pro som arbeider med mekanisk klokke: **************************************** **************** Vær oppmerksom på at denne metoden bare fungerer med vekselstrøm akkurat nå. Jeg oppdaterer hvis/når jeg finner en løsning for dørklokker som bruker likestrøm I mellomtiden hvis du har likestrøm forsyning, trenger du ikke
Arbeider overstørrelse 9 volt batteri laget av gamle blysyre -celler: 11 trinn (med bilder)
Arbeider superstørrelse 9 volts batteri laget av gamle blysyre -celler: Skjer det noen gang med deg at du mumser litt snacks og plutselig innser at du har brukt for mye, mye mer enn den daglige diettkvoten tillater, eller at du handlet dagligvarer og fordi av noen feilberegninger har du overfylt noen produkter
Arduino arbeider med flere filer (LES/SKRIV): 4 trinn
Arduino arbeider med flere filer (LES/SKRIV): Hei folkens I dag presenterer jeg Arduino -prosjektet som fungerer med RTC -skjold som kan lagre data. Hovedoppgaven til dette prosjektet er å jobbe med flere filer som er lagret på sc -kortet. Dette prosjektet inneholder kode som fungerer med tre filer som
Protetisk arm Arduino: 4 trinn
Protetisk arm Arduino: Laget av Joey Pang Kieuw Moy G & I1C Denne armen er laget for folk som har et budsjett, men fortsatt vil ha en protetisk arm med funksjoner
Smart bil som arbeider ved fingerbevegelse: 7 trinn (med bilder)
Smart Car Working by Movement of the Finger: Det er mitt prosjekt smart bil den fungerer ikke med mobil eller vanlig fjernkontroll Den fungerer med en hanske, så fjernkontrollen beveger fingeren min