Innehållsförteckning:
- Steg 1: Material, verktyg och maskiner som behövs
- Steg 2: 2D- och 3D -design
- Steg 3: 3D -utskrift
- Steg 4: Gjutning och gjutning
- Steg 5: Elektronikdesign och produktion
- Steg 6: Montering
- Steg 7: Programmering
Video: Protetisk arm som arbetar med en myosensor: 8 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-31 10:25
Detta projekt är utvecklingen av en protesarm för amputerade personer. Målet med detta projekt är att skapa en prisvärd protesarm för människor som inte har råd med en professionell.
Eftersom detta projekt fortfarande är i prototypfasen kan det alltid vara bättre eftersom det för närvarande bara kan öppna och stänga handflatan och kunna ta tag i saker! Ändå är det en DIY -protesarm som kan göras hemma eller på ett lokalt fab -laboratorium.
Steg 1: Material, verktyg och maskiner som behövs
Maskiner:
- 3d skrivare
- Laserskärare
- Stationär CNC -maskin
Verktyg:
- Fiskelinje
- 3 mm glödtråd
- Borra
- Superlim
- Håltång
- Multimeter
- Lödstation
- Bearbetbar vax
- Kisel för formar
Material:
- Kopparplåt
- 1x ATMEGA328P-AU
- 1x 16 MHz kristall
- 1x 10k motstånd
- 2x 22pF kondensatorer
- 1x 10uF kondensator
- 1x 1uF kondensator
- 1x 0.1uF kondensator
- 1x Myosensor
- 5x mikro servomotorer
- 1x Arduino UNO
Programvara:
- Arduino IDE
- Fusion360
- Cura
- Örn
- GIMP
Steg 2: 2D- och 3D -design
3D -design
Det första steget var att utforma fingrarna, handflatan och underarmen på protesarmen med hänsyn till elektroniken som skulle gå i protesarmen. För att vara ärlig använde jag som bas en öppen källkodsprojekt och började därifrån.
Handflatan är ganska svår att utforma eftersom fingrarna bör ha olika förhållanden mellan dem. Så:
Fingrar: Jag laddade ner fingrarna från inmoov -projektet.
Handflatan:
- Jag skissade först handflatans layout och extruderade den.
- Sedan gjorde jag hål för finger- och underarmens anslutningar med hjälp av skisser, cut -kommandot och filet -kommandot.
- Efter det var jag tvungen att göra rör för att jag skulle kunna passera fiskelinorna så att jag kan styra fingrarna via motorerna.
- Slutligen måste hål läggas in i handflatan så att handflatan kan stängas när fiskelinan dras.
Underarm:
- På olika plan skapade jag två skisser och använde ellipskommandot. Jag använde loftkommandot efter för att skapa önskad form.
- Efteråt användes skalkommandot för att göra det ihåligt och split -kommandot för att skära det på mitten så att jag kan designa i det och för bästa tillgänglighet för när jag monterar min elektronik inuti.
- En skiss gjordes också nära handleden, extruderades och förenades med huvudarmen så att den kan anslutas till handflatan.
- Med synligheten att designa inuti underarmen skapade jag en skiss i dimensionerna på de fem motorerna som jag skulle använda, en för varje finger och mitt kretskort (kretskort) som jag skulle använda. Jag extruderade dem sedan tills de nådde önskad höjd och raderade de onödiga delarna på cylinderns baksida med baksidan.
- Slutligen konstruerades öppningar för bultar, på ett sätt som inte är så synligt på den övergripande konstruktionen, för att underarmen skulle kunna stängas med liknande kommandon som ovan.
När jag avslutade designen valde jag ut varje kropp och laddade ner den som en.stl -fil och jag 3D -utskrev dem separat.
2D -design
Eftersom jag ville att mina fiskelinor skulle separeras medan de drivs av motorerna, bestämde jag mig för att göra vägledande platser för dem. För detta behövde jag egentligen inte designa något nytt utan använde den mindre ellipsen för när jag använde loftkommandot för att skapa underarmen.
Jag exporterade dess skiss som en.dxf -fil efter att jag använt laserskäraren. Efter att jag hade fått önskad form, borrade jag hål på 0,8 mm inuti spåret som jag tyckte var nödvändigt.
Steg 3: 3D -utskrift
Efter att ha exporterat varje stl -fil använde jag Cura för att generera.g -koden för de olika delarna av fingrarna, handflatan och underarmen. Inställningarna som används illustreras på bilderna ovan. Materialet i de 3D -tryckta delarna är PLA.
Steg 4: Gjutning och gjutning
Syftet med gjutningen av handflatan är att protesarmen ska ha ett starkare grepp eftersom PLA kan vara hala.
3D -design
- Med hjälp av den existerande skissen av handflatan försökte jag efterlikna vår handflata genom att designa slags cirklar till den med hjälp av bågkommandot.
- Efter det extruderade jag dem på olika höjder och använde filetkommandot för att jämna ut kanterna på de inre "cirklarna".
- Sedan designade jag en låda med samma dimensioner som mitt bearbetningsbara vax och jag lade det negativa med min design där med hjälp av snittet i skördetröskan.
CAM -process
Efter att ha designen redo att fräsas med den stationära CNC -maskinen, var jag tvungen att generera gcode för det. I mitt fall använde jag Roland MDX-40 CNC-maskin!
- Först gick jag in på CAM -miljön i Fusion360.
- Sedan valde jag en "ny inställning" på installationsmenyn.
- Jag valde rätt parametrar (se bilder) och tryckte på ok.
- Därefter, under 3D -menyn, valde jag adaptiv rensning och valde rätt parametrar efter att ha satt in verktyget jag använde som visas på bilderna.
- Slutligen valde jag den adaptiva clearingen och klickade på postprocessen. Jag såg till att det var till roland machine mdx-40 och klickade ok för att få gcode.
- Därefter malde jag vaxblocket enligt min design med hjälp av maskinen.
Gjuter kiseln
- Först blandade jag de två lösningarna av kisel noggrant för att inte orsaka några luftbubblor, efter databladet (länk som finns på materialen), med hänsyn till blandningsförhållandet, brukstiden och avformningstiden.
- Sedan hällde jag den i min form från den lägsta punkten och såg till att kontaktpunkten förblev konstant och diametern på den hällda lösningen var så tunn som möjligt för att undvika luftbubblor.
- Efter att ha gjutit kislet i min form, var jag tvungen att se till att inga luftbubblor fanns inuti, så jag skakade formen med en borr med en sned spik.
- Slutligen, när jag glömde att göra det i min design, slog jag hål i mitt kisel efter att det var klart, med hjälp av håltången, så att de matchar hålen på handflatans yta.
Steg 5: Elektronikdesign och produktion
För att utforma mitt kort och förstå vad som händer i stiften på mikrokontrollen, var jag tvungen att läsa databladet för det. Som bas -PCB använde jag mikrosatshakit och sedan ändrade jag det efter behoven i mitt system.
Eftersom satshakit är ett DIY-arduino-baserat bräda, kan jag ändra det enligt mina sökningar efter anslutningar av mina delar med arduino. Så myosensorn ansluter till arduino med en GND -stift, en VCC -stift och en analog stift. En servomotor använder en GND -stift, en VCC -stift och en PWM -stift. Så jag var tvungen att avslöja totalt sex GND- och VCC -stift med hänsyn tagen till kortets drivning, en analog och fem PWM -stift. Jag var också tvungen att ta hänsyn till att avslöja stiften för programmering av kortet (som är MISO, MOSI, SCK, RST, VCC och GND).
Stegen jag tog var:
- Först laddade jag ner örnfilerna för mikro-satshakit.
- Därefter modifierade jag mikro-satshakit enligt mina behov med Eagle. En guide om hur du använder Eagle finns här och här.
- Efter att ha rotat mitt kort exporterade jag det som en-p.webp" />
Efter att ha haft de interna och externa banorna på mitt kort som-p.webp
Slutligen löd jag allt jag behövde enligt min örnbräda. Bilden av schemat och den lödda skivan finns ovan.
Anledningen till att jag gör ett eget kretskort istället för att använda en Arduino UNO är det utrymme som jag sparar när jag använder mitt eget kort.
Steg 6: Montering
Så, efter att fingrarna skrivits ut:
- Jag var tvungen att borra de inre hålen med en borr med en diameter på 3,5 mm och de yttre hålen med en borr med en diameter på 3 mm. Invändiga hål betyder den delen att när delarna är anslutna är det från det inre och yttre hålet, den delen som när den är ansluten är från utsidan.
- Efter det fick jag överlimma till först med det andra fingret och det tredje med det fjärde.
- Efter det kopplade jag delarna 1+2 med 3+4 med 5 genom de små hålen med hjälp av en glödtråd med en diameter på 3 mm.
- Slutligen var fingrarna redo att sättas ihop med handflatan och sedan med underarmen.
Så det var dags att passera fiskelinan genom fingrarna.
Den ena linjen gick från baksidan av fingret genom röret på fingerpalmkontakten och till underarmen och den andra linjen gick från framsidan av fingret till hålet på insidan av handflatan och till underarmen
En speciell anmärkning är att passera fiskelinan genom en träbit som har ett hål mot diametern och göra en knut. Annars när linan dras kan det gå ner för fingret, vilket hände mig oavsett hur många knop jag gjorde.
- Efter att fiskelinan har passerat genom fingrarna bör handflatan och underarmen anslutas med några 3D -tryckta botsbultar,
- Jag passerade linjerna igen genom det laserskurna hålspåret för att separera dem och kopplade dem sedan till servomotorerna.
- Att fästa fiskelinan till rätt position på servon är lite utmanande. Men det jag gjorde var att ta de extrema positionerna i fingret och ansluta det till ytterläget för servon.
- Efter att jag hittat rätt positioner, borrade jag hål i de speciella spåren för servon och skruvade servon på rätt ställen för att se till att två av servona var något förhöjda från de andra, annars skulle de kollidera under deras operation.
Steg 7: Programmering
Innan jag skrev programmet var jag tvungen att få den modifierade mikro-satshakiten att kunna programmeras. För att göra det var jag tvungen att följa stegen nedan:
- Anslut Arduino Uno till datorn.
- Välj rätt port och Arduino Uno -kortet under verktyg.
- Under> Arkiv> Exempel, hitta och öppna "ArduinoISP" -skiss.
- Ladda upp skissen till Arduino.
- Koppla bort Arduino från datorn.
- Anslut kortet med Arduino enligt schemat i bilden.
- Anslut Arduino till datorn.
- Välj "Arduino/Genuino Uno" -kortet och programmeraren "Arduino as ISP".
- Klicka på> Verktyg> Burn Bootloader.
- När startladdaren är klar kan vi skriva vårt program:
// inklusive biblioteket som jag använde för servomotorerna
#include #include SoftwareSerial mySerial (7, 8); #define MYO_PIN A0 int sensorValue; flottörspänning; // utse ett namn till 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 THUMB_IN (INFÄRT TIMB_INPIN (INGÅNG_TIMP_INGÅNG)); // stiftet som jag fäst 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 ("Initierar …"); } void loop () {sensorValue = analogRead (A0); spänning = sensorValue * (5.0 / 1023.0); mySerial.println (spänning); fördröjning (100); if (spänning> 1) {closePosition (PINKY, 60); closePosition (RINGFINGER, 60); closePosition (MIDDEL, 60); closePosition (INDEX, 60); closePosition (THUMB, 60); } annat {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); annars om (finger == RINGFINGER) servo4.write (70, _speed, true); annars om (finger == MELLAN) servo3.write (20, _speed, true); annars om (finger == INDEX) servo2.write (20, _speed, true); annars om (finger == THUMB) servo1.write (20, _speed, true); } void closePosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (180, _speed, true); annars om (finger == RINGFINGER) servo4.write (180, _speed, true); annars om (finger == MELLAN) servo3.write (180, _speed, true); annars om (finger == INDEX) servo2.write (180, _speed, true); annars if (finger == THUMB) servo1.attach (180, _speed, true); } void openPosition (uint8_t finger, uint8_t _speed) {if (finger == PINKY) servo5.write (0, _speed, true); annars om (finger == RINGFINGER) servo4.write (0, _speed, true); annars om (finger == MELLAN) servo3.write (0, _speed, true); annars om (finger == INDEX) servo2.write (0, _speed, true); annars om (finger == THUMB) servo1.write (0, _speed, true); } // Efter att ha skrivit programmet laddar vi upp det till tavlan genom> Sketch> Upload med programmerare // Nu kan du koppla bort din mikro satshakit från din arduino och driva den via powerbanken // Och voila !! Du har en protesarm
Rekommenderad:
UK Ring Video Doorbell Pro som arbetar med mekanisk klocka: 6 steg (med bilder)
Storbritannien Ring Video Doorbell Pro som arbetar med mekanisk klocka: **************************************** **************** Observera att denna metod bara fungerar med växelström just nu. Jag uppdaterar om/när jag hittar en lösning för dörrklockor som använder likström Under tiden, om du har en likström leverans, du behöver inte
Arbetar med överstorlek 9 volt batteri tillverkat av gamla blysyraceller: 11 steg (med bilder)
Arbeta överstor 9 -voltsbatteri tillverkat av gamla blysyraceller: hände det dig någonsin, att du mumsade lite snacks och plötsligt insåg att du förbrukade dem, mycket mer än vad din dagliga kostkvot tillåter eller att du gick på lite shopping och eftersom av en viss beräkning har du överfylld några produkter
Arduino som arbetar med flera filer (LÄS/SKRIV): 4 steg
Arduino som arbetar med flera filer (LÄS/SKRIV): Hej killar Idag presenterar jag Arduino -projektet som fungerar med RTC -sköld som kan lagra data. Projektets huvuduppgift är att arbeta med flera filer som lagras på sc -kortet. Detta projekt innehåller kod som fungerar med tre filer
Protetisk arm Arduino: 4 steg
Prosthetic Arm Arduino: Made By Joey Pang Kieuw Moy G & I1C Denna arm är gjord för personer som har en budget men ändå vill ha en protetisk arm med funktioner
Smart bil som arbetar med fingrarnas rörelse: 7 steg (med bilder)
Smart bil som arbetar med fingerrörelsen: Det är mitt projekt smart bil, den fungerar inte med mobil eller vanlig fjärrkontroll. Den fungerar med en handske så fjärrkontrollen rör mig i mitt finger