Hoe Ontwerp Je Een Mechanische Hand

by tammietreffers in Workshop > Laser Cutting

307 Views, 1 Favorites, 0 Comments

Hoe Ontwerp Je Een Mechanische Hand

DSC_0026.JPG

Dit is een project die ik voor een schoolopdracht van de HKU heb gemaakt. In dit project heb ik een mechanische hand gemaakt die te besturen is met een knop die er op zit. Wanneer je de knop indrukt, roteert een motor een cylinder, waardoor het touw inkort en de hand opent. Wanneer je de knop los laat, draait de motor de andere kant op om de hand te relaxen. Door de veerkracht van de elastieken in de hand gaat die weer vanzelf dicht.

Het is opgebouwd uit twee delen: een is een doosje waar de Arduino Uno samen met de perfboard in zit, de ander is de mechanische hand. De twee onderdelen zijn verbonden met een bundel kabels om de hand wat bewegelijkheid te geven.

Mijn inspiratie voor dit project zijn papieren DIY handen die ik eerder gezien heb. Vanaf het begin had ik al het idee om het te laten laser snijden van MDF hout en op die manier in elkaar te zetten. Ik wist ook dat ik dit kon maken met de Arduino materialen die ik al had en daardoor niet extra hoefde te bestellen

Supplies

Elektronische onderdelen:

- Arduino Uno

- Printplaat

- Drukknop

- DC gear motor

- DC motor driver

- 6V spanningsbron

- Stroomkabels

Materialen:

- Plaat 3mm MDF van 40x40 cm

- Touw

- Elastiek

- Moeren en bouten

Gereedschappen:

- Metaalzaag

- Figuurzaag of laser snijder

- Elektrische boor

- Soldeer materialen

Schets En Mock-up

Schermafbeelding 2022-06-13 200911.png
schetsboekschetsjes.JPG

De hand bestaat uit 4 verschillende onderdelen:

  • De core (of oftewel handpalm),
  • Het eerste vingerkootje die vast zit aan de core en de rest van de vinger,
  • Het tweede vingerkootje dat tussen de andere 2 in zit,
  • En het derde vingerkootje dat het uiteinde van de vinger is.

Dit zijn op zichzelf al best veel bewegende onderdelen, en naar mijn ervaring zijn alle bewegende onderdelen punten waar iets fout kan lopen. Daarom heb ik besloten om het vinger aantal zo laag mogelijk te maken, en ben op twee uitgekomen. Dit is het minimale aantal waarbij het ontwerp functionaliteit behoud, en er nog steeds uit ziet als een hand.

Voordat ik aan de slag ging met het maken van het plan van de laser cut wide ik een schets hebben om een idee te krijgen voor alle onderdelen die het nodig had. Dit heb ik gemaakt in het 3D modelling programma Maya. Bij het maken van de schets in Maya moest ik rekening houden dat alle onderdelen plat waren in vorm, zodat ik die kan snijden uit een plat stuk materiaal. Ik heb ook speciaal gelet op de stevigheid van de constructie, en dat het op belangrijke punten goed in elkaar zit.

Om ervoor te zorgen dat het touw goed in plaats blijft heb ik geleiders er in gezet, en om de vingers ervan te weerhouden te overextenden zitten er stops in het ontwerp ingebouwd.

Prototype 1

prototype karton .JPG
prototype karton 2.JPG

Gebaseerd op de mock-up in Maya ging ik aan de slag met een fysiek prototype van karton en sateprikkers. Ik heb maar 1 van de vingers in elkaar gezet omdat het geen zin had om twee keer hetzelfde te maken als 1 genoeg was. Er loopt een stuk touw van de vingertop naar de core en verder aan de bovenzijde van de vinger, en een elastiek van de vingertop naar de core aan de onderzijde.

Bij deze prototype heb ik de functie kunnen testen maar ook veel geleerd. Eerst was het connectiepunt van het touw direct op de draaias van de vingerkootjes, maar hierdoor kon je niet goed de kracht op de vinger leveren. Met een stukje tape heb ik een nieuwe iteratie hierop gemaakt en getest, maar het was lastig om kracht te leveren zonder dat de constructie uit elkaar viel.

Met wat ik in deze prototype geleerd heb ging ik een nieuwe mock-up maken in Maya.

Prototype 2

hand karton.JPG
hand karton 2.JPG
Schermafbeelding 2022-06-13 205727.png
Schermafbeelding 2022-06-13 210509.png

Na het maken van de eerste prototype wilde ik meteen aan de slag met het plan voor de laser snijder. Om dit te maken heb ik de mock-up in Maya zorgvuldig in elkaar gezet, en de vormen geprobeerd te kopiëren in Adobe Illustrator. In Illustrator kon ik verder de vormen opmeten en vergelijken totdat ze allemaal driedimensionaal in elkaar paste. Ik heb hier ook veel terug gekeken naar de mock-up om te kijken waar de snijpunten van alle vormen waren. Het plan was om MDF platen van 3 milimeter te gebruiken, dus alle keyholes en afmetingen in de design zijn ook met een breedte van 3mm.

Ik heb deze plannen op levensechte schaal uitgeprint op papier, en dit geplakt op een stuk karton en uitgesneden. Hierbij heb ik een accurate representatie van hoe het gelasersneden resultaat er uit zou zien. In de prototype heb ik aan één van de vingers elastieken vast gemaakt, en aan de andere kant een touw gebonden om tegenkracht te leveren. Dit is hoe het er uit zag in beweging: https://streamable.com/v4kh7r

In deze nieuwe prototype heb ik ten eerste knokkels toe gevoegd. In deze knokkels probeerde ik de geleiders te vormen uit een kuiltje in plaats van een gat, maar ik merkte dat het touw meteen los ging zonder gesloten geleiders, dus die zouden als gaten moeten blijven.

De knokkels hadden hier ook een dubbele functie als stop voor de vingers. Deze stop is belangrijk omdat als de vinger te ver draait, de kracht die geleverd word de verkeerde kant op gaat. Als bij overextentie kracht word geleverd, gaat het onderdeel juist verder de verkeerde kant op waardoor het vast zit totdat de kracht weg gaat. Bij het connectiepunt tussen de vingers en de core van de hand was er geen stop aanwezig, en bij deze prototype ontdekte ik dat ik die moet toevoegen bij de volgende iteratie.

Bij deze prototype heb ook geprobeerd om 3 aparte elastieken te gebruiken bij elk vingergewricht in plaats van één groot stuk elastiek die kracht levert door de hele vinger heen. Dit heb ik gedaan omdat hoe verder de elastiek uitrekt, hoe meer weerstand het levert. Hierbij loopt de kracht die nodig is om de vinger uit te rekken op, waardoor de eerste twee gewrichten makkelijk gingen, maar de laatste veel meer kracht nodig had en gebogen bleef. Door de krachten te verdelen door alle gewrichten met meerdere elastieken konden ze beter tegelijkertijd uitrekken. Dit was nog een punt die ik mee zou nemen naar de volgende iteratie.

Ik merkte bij deze prototype ook dat de vingers erg dun leken, wat moeilijker te zien was in Illustrator. De volgende iteratie wilde ik dus de vingers wat verdikken.

Prototype 3

Schermafbeelding 2022-06-13 214935.png
karton laser 1.JPG
karton laser 2.JPG
hand karton laser 2.JPG
hand karton laser 1.JPG

Na de vorige prototype, ging ik weer een nieuw snijplan maken in Illustrator waarbij ik toe paste wat ik geleerd heb.

Voor deze prototype had ik het idee om het te laten lasersnijden op karton, in plaats van het zelf uit te knippen. Dit had mij namelijk veel tijd kunnen besparen. Maar helaas, zijn al mijn pogingen mislukt. Een was niet juist ingesteld, en de andere twee zijn in vlammen op gegaan.

Van de onderdelen die ik wel in elkaar kon zetten merkte ik op dat ik de vingers toch een beetje dunner had gewild, dus voor de cut op hout had ik dat nog aangepast.

In Elkaar Zetten Houten Werk

aan het solderen.JPG
bordje.JPG
hand finished 1.JPG
hand finished bewerkingen.JPG
DSC_0033.JPG

Voor het in elkaar zetten van het uiteindelijke werk ging ik aan de slag met solderen. Om de stroom door te voeren naar de DC motor heb ik een MOSFET transistor gebruikt. Ik heb ook een klein schema gemaakt voor het circuit.

Ik had het idee om de motor direct te verbinen met een spanningsbron, waartussen ik een drukknop zet. Volgens de opdracht was het nodig om een input te nemen van een sensor en via code een ander onderdeel aan te sturen, en om dat te doen heb ik dit circuit nodig. De ground en de spanning heb ik direct uit de arduino genomen, die ik gebruikte om een 3,5V DC motor aan te sturen.

Hier is een fimpje van het systeem in werking: https://streamable.com/zmtvhi

Na het lasercutten kon ik het in elkaar zetten. De vingerkootjes kon ik apart maken, en ik heb een handmetaalzaag gebruikt om de moeren op maat te zagen. Om ervoor te zorgen dat het stevig in elkaar blijft heb ik het nog definitief vast gezet met houtlijm.

Op dit punt waren er toch een paar dingen die in het ontwerp tegen vielen. Hiervoor heb ik een paar toevoegingen er op gedaan zoals een extra loop van ijzerdraad en een paar houten stokjes die als stop functioneren.

Ook kwam ik er op dit punt achter dat mijn motor lang niet krachtig genoeg was. Ik heb de motor vervangen met een gear DC motor, die veel meer torque kan leveren. Om zeker te weten hoe krachtig de motor moest zijn heb ik een meting gedaan met een weegschaal. Door een gewicht vast te maken aan het touw die de vingers bestuurt en het aan te spannen om de vingers uit te rekken, kan ik het verschil in meting nemen om achter de kracht te komen. De meting kwam uiteindelijk uit op 1400 gram, dus ik heb een motor gebruikt dit 1,7kg⋅cm aan torque leverde. Dit keer heb ik ook een brede cylinder aan de motor vast gemonteerd zodat het beter kracht kan uitoefenen.

De gear motor kan niet uit zichzelf terugdraaien, dus ik heb ook een motor driver er in gezet. Hiermee kan ik de richting van de stroom omwisselen en de motor de andere kant op sturen. De motor was ook 6 volt, dus ik heb ook een 6 volt spanningsbron gekocht. Beide deze onderdelen passen samen mooi in het doosje voor de Arduino. Hiervoor had ik ook mijn code aan moeten passen, maar dat was geen groot probleem:

// start code

int motorDirection = 0;
int motorSpeed = 50;
int buttonTimer = 0;

int motorPin1 = 2;
int motorPin2 = 3;
int motorPin3 = 5;
int buttonIn = 9;


void setup() {
 // put your setup code here, to run once:
 Serial.begin(9600);

 pinMode(motorPin1, OUTPUT);
 pinMode(motorPin2, OUTPUT);
 pinMode(motorPin3, OUTPUT);
 pinMode(buttonIn, INPUT);
}

void loop() {

 Serial.println(buttonTimer);

 if ((digitalRead(buttonIn) == 0) && buttonTimer < 0)

   // wachttijd totdat knop weer ingedrukt kan worden
   buttonTimer = 300;

   if(motorDirection = 0)
   {
     //hand gaat open, motor op volle kracht
     motorDirection = 1;
     motorSpeed = 225;

   }
   else
   {
     //hand gaat dicht, motor op minder kracht zodat het touw niet de andere kant op wikkelt
     motorDirection = 0;
     motorSpeed = 50;
   }


 if (motorDirection = 0)
 {
   //motor draait met klok mee
   analogWrite(motorPin1, HIGH);
   analogWrite(motorPin2, LOW);
 }
 else
 {
   //motor draait tegen klok in
   analogWrite(motorPin1, LOW);
   analogWrite(motorPin2, HIGH);
 }


 digitalWrite(motorPin3, motorSpeed);
}

//eind code

Eindresultaat

DSC_0042.JPG

Dit is hoe het uiteindelijke werk er in beweging uit ziet: https://streamable.com/heped4

Het heeft veel iteraties gekost en ik heb veel moeten leren, en als ik de tijd had zou ik nog een verdere iteratie gemaakt willen hebben. Voor nu vind ik het werk prima en ik ben trots op wat ik gemaakt heb.