Inhaltsverzeichnis:
- Schritt 1: Benötigte Materialien, Werkzeuge und Maschinen
- Schritt 2: 2D- und 3D-Design
- Schritt 3: 3D-Druck
- Schritt 4: Formen und Gießen
- Schritt 5: Elektronikdesign und -produktion
- Schritt 6: Montage
- Schritt 7: Programmierung
Video: Prothesenarm, der mit einem Myosensor arbeitet - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Dieses Projekt ist die Entwicklung einer Armprothese für Amputierte. Das Ziel dieses Projektes ist die Schaffung einer erschwinglichen Armprothese für Menschen, die sich keine professionelle Armlehne leisten können.
Da sich dieses Projekt noch in der Prototyping-Phase befindet, kann es immer besser sein, da es derzeit nur die Handfläche öffnen und schließen kann, um Dinge zu greifen! Nichtsdestotrotz handelt es sich um eine DIY-Armprothese, die zu Hause oder in einem lokalen Fab-Labor hergestellt werden kann.
Schritt 1: Benötigte Materialien, Werkzeuge und Maschinen
Maschinen:
- 3D Drucker
- Laserschneider
- Desktop-CNC-Maschine
Werkzeuge:
- Angelleine
- 3mm Filament
- Bohren
- Sekundenkleber
- Lochzange
- Multimeter
- Lötstation
- Bearbeitbares Wachs
- Silikonfür Formen
Materialien:
- Kupferplatte
- 1x ATMEGA328P-AU
- 1x 16MHz Quarz
- 1x 10k Widerstand
- 2x 22pF Kondensatoren
- 1x 10uF Kondensator
- 1x 1uF Kondensator
- 1x 0.1uF Kondensator
- 1x Myosensor
- 5x Mikro-Servomotoren
- 1x Arduino UNO
Software:
- Arduino-IDE
- Fusion360
- Cura
- Adler
- GIMP
Schritt 2: 2D- und 3D-Design
3D-Design
Der erste Schritt bestand darin, die Finger, die Handfläche und den Unterarm des Prothesenarms unter Berücksichtigung der Elektronik zu entwerfen, die in den Prothesenarm gehen würde. Um ehrlich zu sein, habe ich als Basis das Open-Source-Projekt inmoov verwendet und von dort aus angefangen.
Die Handfläche ist ziemlich schwierig zu gestalten, da die Finger unterschiedliche Verhältnisse haben sollten. So:
Finger: Ich habe die Finger aus dem inmoov-Projekt heruntergeladen.
Palme:
- Ich habe zuerst das Layout der Handfläche skizziert und extrudiert.
- Dann habe ich mit Skizzen, dem Schnittbefehl und dem Verrundungsbefehl Löcher für die Verbindungen von Finger und Unterarm gemacht.
- Danach musste ich Schläuche herstellen, um die Angelschnüre einführen zu können, damit ich die Finger über die Motoren steuern kann.
- Zuletzt mussten noch Löcher in die Handinnenfläche eingebracht werden, damit die Handinnenfläche beim Ziehen der Angelschnur geschlossen werden konnte.
Unterarm:
- In verschiedenen Ebenen habe ich zwei Skizzen erstellt und den Ellipse-Befehl verwendet. Ich habe den Loft-Befehl danach verwendet, um die gewünschte Form zu erstellen.
- Danach wurde der Shell-Befehl verwendet, um es hohl zu machen und der Split-Befehl, um es in zwei Hälften zu schneiden, damit ich darin entwerfen kann und für die beste Zugänglichkeit, wenn ich meine Elektronik im Inneren montiere.
- Eine Skizze wurde auch in der Nähe des Handgelenks erstellt, extrudiert und mit dem Hauptunterarm verbunden, damit er mit der Handfläche verbunden werden kann.
- Da ich die Sichtbarkeit für das Design im Unterarm hatte, erstellte ich eine Skizze in den Abmessungen der fünf Motoren, die ich verwenden würde, einen für jeden Finger, und meiner Leiterplatte (Leiterplatte), die ich verwenden würde. Ich habe sie dann extrudiert, bis sie die gewünschte Höhe erreicht haben und die unnötigen Teile auf der Rückseite des Zylinders mit Rücktaste gelöscht.
- Schließlich wurden Öffnungen für Bolzen so gestaltet, dass sie in der Gesamtkonstruktion nicht so sichtbar sind, damit der Unterarm mit ähnlichen Befehlen wie oben geschlossen werden kann.
Als ich das Design fertigstellte, wählte ich jeden Körper aus und lud ihn als.stl-Datei herunter und druckte sie separat in 3D.
2D-Design
Da ich wollte, dass meine Angelschnüre getrennt werden, während sie von den Motoren betrieben werden, beschloss ich, Führungsschlitze für sie zu machen. Dafür musste ich nicht wirklich etwas Neues entwerfen, sondern die kleinere Ellipse verwenden, wenn ich den Loft-Befehl verwendet habe, um den Unterarm zu erstellen.
Ich habe seine Skizze als.dxf-Datei exportiert, nachdem ich den Laserschneider verwendet habe. Nachdem ich meine gewünschte Form hatte, bohrte ich Löcher von 0,8 mm in den Schlitz, den ich für notwendig hielt.
Schritt 3: 3D-Druck
Nach dem Exportieren jeder stl-Datei habe ich Cura verwendet, um den.gcode der verschiedenen Teile der Finger, der Handfläche und des Unterarms zu generieren. Die verwendeten Einstellungen sind auf den obigen Bildern dargestellt. Das Material der 3D-gedruckten Teile ist PLA.
Schritt 4: Formen und Gießen
Der Zweck des Gießens der Handfläche besteht darin, dass der Prothesenarm einen stärkeren Griff hat, da PLA rutschig sein könnte.
3D-Design
- Unter Verwendung der bereits vorhandenen Skizze der Handfläche habe ich versucht, unsere Handfläche nachzuahmen, indem ich mit dem Bogenbefehl eine Art Kreis darauf entwarf.
- Danach habe ich sie in unterschiedlichen Höhen extrudiert und den Verrundungsbefehl verwendet, um die Kanten der inneren "Kreise" zu glätten.
- Dann habe ich eine Schachtel mit den gleichen Abmessungen wie mein bearbeitbares Wachs entworfen und das Negativ meines Designs mit dem Schnitt im Befehl Kombinieren dort platziert.
CAM-Prozess
Nachdem ich das Design mit der Desktop-CNC-Maschine zum Fräsen bereit hatte, musste ich den Gcode dafür generieren. In meinem Fall benutzte ich die Roland MDX-40 CNC-Maschine!
- Zuerst trat ich in die CAM-Umgebung von Fusion360 ein.
- Dann habe ich im Setup-Menü ein "neues Setup" ausgewählt.
- Ich wählte die richtigen Parameter (siehe Bilder) und drückte ok.
- Als nächstes wählte ich im 3D-Menü adaptives Clearing und wählte die richtigen Parameter aus, nachdem ich das von mir verwendete Werkzeug wie in den Bildern gezeigt eingefügt hatte.
- Zuletzt habe ich mich für das adaptive Clearing entschieden und auf den Postprozess geklickt. Ich stellte sicher, dass es für die Roland-Maschine mdx-40 war und klickte auf ok, um den gcode zu erhalten.
- Danach habe ich den Wachsblock nach meinem Entwurf mit der Maschine gefräst.
Gießen des Siliziums
- Zuerst habe ich die beiden Silikonlösungen sorgfältig gemischt, um keine Luftblasen zu verursachen, gemäß dem Datenblatt (Link auf den Materialien), unter Berücksichtigung des Mischungsverhältnisses, der Topfzeit und der Entformungszeit.
- Dann habe ich es vom tiefsten Punkt in meine Form gegossen, wobei darauf geachtet wurde, dass der Kontaktpunkt konstant blieb und der Durchmesser der gegossenen Lösung so dünn wie möglich war, um Luftblasen zu vermeiden.
- Nachdem ich das Silikon in meine Form gegossen hatte, musste ich sicherstellen, dass keine Luftblasen drin waren, also habe ich die Form mit einem Bohrer mit einem schrägen Nagel zittert.
- Schließlich habe ich, da ich es in meinem Design vergessen hatte, Löcher in mein Silikon gestanzt, nachdem es fertig war, mit der Lochzange, so dass sie mit den Löchern auf der Oberfläche der Handfläche übereinstimmen.
Schritt 5: Elektronikdesign und -produktion
Um mein Board zu entwerfen und zu verstehen, was in den Pins des Mikrocontrollers vor sich geht, musste ich das Datenblatt davon lesen. Als Basisplatine habe ich das Micro-Satshakit verwendet und es dann entsprechend den Anforderungen meines Systems modifiziert.
Da Satshakit ein DIY-Board auf Arduino-Basis ist, konnte ich es entsprechend meiner Suche nach Verbindungen meiner Teile mit dem Arduino modifizieren. Der Myosensor wird also über einen GND-Pin, einen VCC-Pin und einen analogen Pin mit dem Arduino verbunden. Während ein Servomotor einen GND-Pin, einen VCC-Pin und einen PWM-Pin verwendet. Also musste ich insgesamt sechs GND- und VCC-Pins unter Berücksichtigung der Stromversorgung des Boards freilegen, einen analogen und fünf PWM-Pins. Außerdem musste ich berücksichtigen, um die Pins für die Programmierung der Platine freizulegen (das sind MISO, MOSI, SCK, RST, VCC und GND).
Die Schritte die ich unternommen habe waren:
- Zuerst habe ich die Eagle-Dateien des Micro-Satshakit heruntergeladen.
- Als nächstes habe ich das Micro-Satshakit mit Eagle nach meinen Bedürfnissen modifiziert. Eine Anleitung zur Verwendung von Eagle finden Sie hier und hier.
- Nachdem ich mein Board gerootet hatte, habe ich es als PNG-Datei exportiert und den internen und externen Pfad mit GIMP vorbereitet. Mehr dazu, wie das geht, finden Sie hier.
Nachdem die internen und externen Pfade meines Boards als-p.webp
Zuletzt habe ich alles, was ich brauchte, gemäß meinem Adler-Board gelötet. Das Bild des Schaltplans und der gelöteten Platine finden Sie oben.
Der Grund für die Herstellung meiner eigenen Leiterplatte anstelle der Verwendung eines Arduino UNO ist der Platz, den ich einspare, wenn ich meine eigene Leiterplatte verwende.
Schritt 6: Montage
Also, nachdem die Finger gedruckt wurden:
- Ich musste die Innenlöcher mit einem Bohrer mit 3,5 mm Durchmesser und die äußeren Löcher mit einem Bohrer mit 3 mm Durchmesser bohren. Innenlöcher bedeutet das Teil, das, wenn die Teile verbunden sind, von innen und außen ist, das Teil, das bei Verbindung von außen ist.
- Danach musste ich den ersten mit dem zweiten Finger und den dritten mit dem vierten mit Sekundenkleber kleben.
- Danach habe ich die Teile 1+2 mit 3+4 mit 5 durch die kleinen Löcher mit einem Filament mit 3mm Durchmesser verbunden.
- Zuletzt waren die Finger bereit, mit der Handfläche und dann mit dem Unterarm zusammengebaut zu werden.
Es war also an der Zeit, die Angelschnur durch die Finger zu führen.
Eine Linie ging von der Rückseite des Fingers durch das Rohr am Finger-Handflächen-Anschluss und zum Unterarm und die andere Linie ging von der Vorderseite des Fingers zum Loch an der Innenseite der Handfläche und zum Unterarm
Ein besonderer Hinweis ist, die Angelschnur durch ein Stück Holz zu führen, das ein Loch mit dem Durchmesser davon hat, und einen Knoten zu machen. Andernfalls kann es beim Ziehen der Leine den Finger hinuntergehen, was mir passiert ist, egal wie viele Knoten ich gemacht habe.
- Nachdem die Angelschnur durch die Finger geführt wurde, sollten die Handfläche und der Unterarm durch einige 3D-gedruckte Bots-Bolzen verbunden werden.
- Ich führte die Linien erneut durch den lasergeschnittenen Lochschlitz, um sie zu trennen, und verband sie dann mit den Servomotoren.
- Das Anbringen der Angelschnur an der richtigen Position des Servos ist etwas schwierig. Aber was ich tat, war, die extremen Positionen des Fingers zu nehmen und ihn mit der extremen Position des Servos zu verbinden.
- Nachdem ich die richtigen Positionen gefunden hatte, bohrte ich Löcher in die speziellen Schlitze für die Servos und schraubte die Servos an den richtigen Stellen an, wobei darauf geachtet wurde, dass zwei der Servos leicht über den anderen standen, sonst würden sie während ihres Betriebs kollidieren.
Schritt 7: Programmierung
Vor dem Schreiben des Programms musste ich das modifizierte Micro-Satshakit programmieren lassen. Dazu musste ich die folgenden Schritte ausführen:
- Verbinden Sie das Arduino Uno mit dem PC.
- Wählen Sie unter Tools den richtigen Port und das Arduino Uno Board aus.
- Suchen und öffnen Sie unter > Datei > Beispiele die Skizze "ArduinoISP".
- Laden Sie die Skizze zum Arduino hoch.
- Trennen Sie das Arduino vom PC.
- Verbinden Sie die Platine mit dem Arduino gemäß dem Schaltplan im Bild.
- Verbinden Sie den Arduino mit dem PC.
- Wählen Sie das Board "Arduino/Genuino Uno" und den Programmierer "Arduino as ISP".
- Klicken Sie auf >Tools >Bootloader brennen.
- Nachdem der Bootloader erfolgreich durchgeführt wurde, können wir unser Programm schreiben:
// einschließlich der Bibliothek, die ich für die Servomotoren verwendet habe
#include #include SoftwareSerial mySerial(7, 8); #define MYO_PIN A0 int sensorValue; Schwebespannung; // meinem Servo einen Namen geben 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_PIN 6 void setup(){ pinMode, INPUT_. P); // der Pin, an dem ich meinen Motor befestigt habe servo1.attach (THUMB_PIN); servo2.attach (INDEX_PIN); servo3.attach (MITTE_PIN); servo4.attach (RINGFINGER_PIN); servo5.attach (PINKY_PIN); defaultPosition(DAUMEN, 40); defaultPosition(INDEX, 40); defaultPosition(MITTE, 40); defaultPosition(RINGFINGER, 40); defaultPosition(PINKY, 40); mySerial.begin(9600); mySerial.print("Initialisierung…"); aufrechtzuerhalten. Void Schleife () { sensorValue = analogRead (A0); Spannung = SensorWert * (5,0 / 1023.0); mySerial.println(Spannung); Verzögerung (100); Wenn (Spannung > 1) {closePosition (PINKY, 60); closePosition(RINGFINGER, 60); closePosition (MITTE, 60); closePosition(INDEX, 60); closePosition(DAUMEN, 60); aufrechtzuerhalten. Sonst { openPosition (PINKY, 60); openPosition(RINGFIGER, 60); offene Position (MITTE, 60); openPosition(INDEX, 60); openPosition(DAUMEN, 60); aufrechtzuerhalten. aufrechtzuerhalten. Void defaultPosition (uint8_t finger, uint8_t _speed) { if (finger == PINKY) servo5.write (90, _speed, true); sonst if (finger == RINGFINGER) servo4.write (70, _speed, true); sonst if (finger == MITTE) servo3.write (20, _speed, true); sonst if (finger ==INDEX) servo2.write (20, _speed, true); sonst if (finger == THUMB) servo1.write (20, _speed, true); aufrechtzuerhalten. Void closePosition (uint8_t finger, uint8_t _speed) { if (finger == PINKY) servo5.write (180, _speed, true); sonst if (finger == RINGFINGER) servo4.write (180, _speed, true); sonst if (finger == MITTE) servo3.write (180, _speed, true); sonst if (finger == INDEX) servo2.write (180, _speed, true); sonst if (finger == THUMB) servo1.attach (180, _speed, true); aufrechtzuerhalten. Void openPosition (uint8_t finger, uint8_t _speed) { if (finger == PINKY) servo5.write (0, _speed, true); sonst if (finger == RINGFINGER) servo4.write (0, _speed, true); sonst if (finger == MITTE) servo3.write (0, _speed, true); sonst if (finger == INDEX) servo2.write (0, _speed, true); sonst if (finger == THUMB) servo1.write (0, _speed, true); } // Nachdem wir das Programm geschrieben haben, laden wir es mit > Sketch > Upload mit dem Programmer auf das Board hoch // Jetzt können Sie Ihr Micro-Satshakit von Ihrem Arduino trennen und über die Powerbank mit Strom versorgen // Und voila !! Sie haben eine Armprothese
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
So erstellen Sie einen Smart Pot mit NodeMCU, der von der App gesteuert wird – wikiHow
So erstellen Sie einen Smart Pot mit NodeMCU, der von einer App gesteuert wird: In dieser Anleitung bauen wir einen Smart Pot, der von einem ESP32 und einer Anwendung für Smartphones (iOS und Android) gesteuert wird. Wir verwenden NodeMCU (ESP32) für die Konnektivität und die Blynk-Bibliothek für das Cloud-IoT und die Anwendung auf dem Smartphone. Endlich haben wir
So schalten Sie jedes Gerät aus der Ferne ein, z. einen Computer (mit einem Mobiltelefon): 5 Schritte
So schalten Sie jedes Gerät aus der Ferne ein, z. ein Computer (mit einem Mobiltelefon): In diesem anweisbaren zeige ich Ihnen, wie Sie ein altes Mobiltelefon in einen Fernschalter für Ihren Computer verwandeln. Für andere Geräte siehe letzter Schritt. Dies ist fast kostenlos, wenn Sie ein altes Handy und eine SIM-Karte besitzen. Was Sie brauchen: - Altes Handy (w
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für 0 $.: 9 Schritte
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für $ 0.: In diesem anweisbaren werde ich Sie durch die Reparatur eines toten LCD-Hintergrundlicht-Wechselrichters mit den Teilen führen, die Sie haben. Sie können feststellen, ob Sie ein totes Gegenlicht haben, indem Sie zuerst andere Möglichkeiten ausschließen. Monitor auf mehreren Computern überprüfen. Stellen Sie sicher, dass
So kommunizieren Sie mit einem Alien-Artefakt oder . . .: 4 Schritte (mit Bildern)
Wie man mit einem außerirdischen Artefakt kommuniziert oder…: *** Enge Begegnungen der seltsam-minzigen Art. *** Dieses Instructable zeigt Ihnen, wie Sie eine Altoids-Version des Mutterschiffs "Close Encounters" bauen und damit interagieren. Dies kann ein wichtiges Training für den Tag sein, an dem das Bright White Be