5. Die Finger in Bewegung bringen
| Sito: | Bios4You |
| Corso: | (4) Robotik in der Biotechnologie |
| Libro: | 5. Die Finger in Bewegung bringen |
| Stampato da: | Guest user |
| Data: | mercoledì, 26 agosto 2026, 09:27 |
Überblick
Wie zuvor gezeigt wurde, könnte eine der einfachsten Methoden, die Bewegungen der bionischen Hand auszuführen, durch Servomotoren erfolgen, die an Schnüren („Sehnen“) ziehen, welche mit dem am weitesten entfernten beweglichen Teil eines Fingers verbunden sind (siehe Abb. 35).
Abbildung 35. Bewegung eines Fingers der bionischen Hand
Die Motoren könnten von einem vergleichsweise autonomen elektronischen Gerät gesteuert werden – einem Einplatinencomputer (SBC) in der Größe einer Kreditkarte. Es gibt viele solcher Geräte auf dem Markt, aber empfohlen wird der Mikrocontroller Arduino UNO (siehe Abb. 36), weil:
- Er quelloffen, vergleichsweise günstig und äußerst beliebt bei Elektronik- und Kleinautomatisierungs-Enthusiasten ist;
- Er als eines der simulierten virtuellen Geräte in TinkerCAD enthalten ist – einer webbasierten, kostenlosen Plattform zum Erlernen von Design. Dies ist ein besonderer Vorteil, da 3D-Modellierung, Schaltungs- und Softwareentwicklung in derselben Umgebung durchgeführt werden können. Darüber hinaus helfen das virtuelle Design, die Modellierung und das Testen der Hardware und Software, Schäden an der Ausrüstung zu vermeiden (und somit Kosten zu sparen), da die virtuellen Hardwareelemente nicht kaputtgehen, wenn sie falsch angeschlossen oder verwendet werden. Einige empfohlene vorbereitende Schritte zur Vermeidung von Schäden bei der Umsetzung des Designs in echter Hardware werden unten erwähnt.

Abbildung 36. Arduino UNO Mikrocontroller (reale Ansicht – links, virtualisiert in TinkerCAD – rechts)
Arduino UNO Mikrocontroller
Der Arduino UNO Mikrocontroller (im Folgenden als „UNO“ bezeichnet) verfügt über begrenzte Rechenressourcen im Vergleich zu Desktop-PCs, Laptops, Tablets oder sogar Mobiltelefonen, ist jedoch für unsere Aufgabe – die Steuerung einer kontrollierten Bewegung – vollkommen geeignet:
- UNO kann über ein USB-Kabel mit einem Windows-PC verbunden werden, um die Stromversorgung zu gewährleisten und ein Softwareprogramm zu laden;
- Die Software wird normalerweise in einer eingeschränkten Version der Programmiersprache C innerhalb einer speziellen Arduino-Softwareentwicklungsumgebung namens SKETCH entwickelt. Es ist erwähnenswert, dass die Software auch im Tinker CAD entworfen und getestet, dann als Datei exportiert, von SKETCH gelesen, kompiliert und auf ein UNO-Gerät geladen werden kann.
- Der UNO mit geladenem Programm kann ohne PC betrieben werden und angeschlossene Geräte steuern, wenn er unabhängig mit Strom versorgt wird (empfohlen: 7-12 Volt Gleichstromversorgung oder 9V Batterie).
Abbildung 37. Arduino UNO Mikrocontroller und SKETCH-Programmentwicklungsumgebung. Man kann die einzigen zwei Prozeduren erkennen, die vom UNO ausgeführt werden und entworfen werden müssen: setup() – Initialisierung eines SBC; und loop() – wird wiederholt, solange Stromversorgung vorhanden ist.
Abbildung 38. Abschnitt „Circuits“ (linke Spalte) in Tinker CAD
Arduino UNO in Tinker CAD
Die Modellierung des Elektronik- und Softwaredesigns erfolgt durch den Einstieg in den Abschnitt „Schaltungen“ (Abb. 38) in Tinker CAD (der Abschnitt „3D-Design“ könnte zuvor für die Modellierung von Teilen der Finger verwendet worden sein). Man findet eine umfassende Bibliothek von Tinker CAD-Beispielen und Designs zum Lernen.
Die grafische Entwicklungsumgebung von Tinker CAD besteht aus zwei Teilen: einer virtuellen Elektronik auf der linken Seite und einer Sammlung elektronischer Elemente oder einem Programmiereditor auf der rechten Seite (wie in Abb. 39 zu sehen). Letzterer kann in zwei alternativen Modi verwendet werden:
- C-Programmeditor, wie im SKETCH – man kann eine C-Programmdatei exportieren, die auf ein echtes UNO geladen werden kann;
- Grafische Programmierumgebung „CodeBlocks“, die extrem ähnlich zu SCRATCH2 ist. Das CodeBlocks-Programm wird automatisch in ein C-Programm konvertiert (dies gilt jedoch nicht in umgekehrter Richtung, man sollte vorsichtig sein, um die eigene Arbeit nicht zu verlieren).
Im virtuellen Experiment werden 5 Servomotoren verwendet, um die Finger der bionischen Hand zu bewegen, schematisch dargestellt in Abbildung 39 und Abbildung 40. Die Motoren werden vom UNO gesteuert und angetrieben, und 10 Tasten (5 Finger x 2 Richtungen = 2 Reihen von Tasten) werden verwendet, um die Bewegung zu initiieren.

Abbildung 40. Das virtuelle Experiment – 5 Servomotoren (Finger) werden vom UNO bewegt. Es werden zusätzliche Multimeter verwendet, um den Strom durch die Tasten und einen Servomotor zu überprüfen, um eine mögliche Überlastung zu vermeiden
Der Servomotor ist ein digitales Gerät, das eine Spindel auf eine bestimmte Position dreht (meist von 0 bis 180 Grad). Die Motoren (Steuerpins) sollten mit PWM (Pulsweitenmodulation – die Methode zur Angabe der Drehposition) gekennzeichneten digitalen Ausgängen des UNO verbunden werden. Insgesamt gibt es 6 solcher (PWM) digitalen Ausgänge in einem UNO.
Eine Reihe von Tasten (z. B. „Up“) wird mit den analogen Eingängen eines UNO verbunden, eine andere Reihe (z. B. „Down“) von Tasten mit den digitalen Eingängen eines UNO. Es sollte erwähnt werden, dass das Verbinden einer Taste mit einem analogen Eingang und das Auslesen des Wertes etwas mehr Aufwand erfordert als bei einem digitalen Eingang.
2 Grafische Programmierumgebung, entwickelt von MIT.EDU und weit verbreitet zum Programmierenlernen in Schulen https://scratch.mit.edu/
Entwicklung eines Programms
Die Tinker CAD grafische Programmierumgebung (GPE) ist auf die Entwicklung der Funktion loop() beschränkt, die setup() wird standardmäßig ausgeführt. Diese kleine Einschränkung kann überwunden werden, indem die Weiterentwicklung ausschließlich in C erfolgt (ohne CodeBlocks), was für größere praktische Anwendungen akzeptabel sein könnte. Die GPE enthält 6 Arten von „CodeBlocks“-Operationen, die in verschiedenen Farben codiert sind (Abb. 41a): Variablen, Steuerung, Ausgabe, Eingabe, Mathematik (einschließlich der Berechnung von Bedingungen, sogenannte boolesche Operationen, die innerhalb von Steueranweisungen verwendet werden), Notation (Kommentare). Die Anweisungen verschiedener Arten werden entsprechend ihrer Formen miteinander kombiniert.
|
Das Programm, das die Servomotoren („Finger“) bewegt, besteht aus einem kleineren und zwei größeren Teilen (Abb. 41b), die durch graue Kommentare getrennt sind:
|
Abbildung 41. Teil eines grafischen Programms zur Ansteuerung von Servomotoren |
Weiter zum nächsten Schritt
Es gibt einige Vorsichtsmaßnahmen, die man beachten sollte, wenn man versucht, ein funktionierendes Hardwaremodell zusammenzubauen:
- Die Servomotoren haben unterschiedliche Leistungen und könnten unterschiedliche Stromversorgungsschemata erfordern, da das UNO-Board möglicherweise nicht genügend Strom liefert, insbesondere wenn es über eine USB-Verbindung mit Strom versorgt wird.
- In der Praxis kann es sinnvoll sein, an jedem Fingerende einen Kraftsensor einzusetzen und diesen zum Stoppen einer Bewegung zu verwenden. Solche Sensoren könnten über analoge Eingänge ausgelesen werden, daher ist ein anderes Setup für die Tasten (Umordnung und zusätzliche Komponenten) notwendig.
Um selbst zu beginnen…
Es gibt ein Design, mit dem empfohlen wird zu beginnen (im Tinker CAD), dargestellt in Abb. 42:
- Nehmen Sie einfach ein virtuelles UNO und einen virtuellen Servomotor.
- Verbinden Sie die Stromversorgung und Masse vom UNO-Board mit den entsprechenden Pins des Servomotors und den mit PWM markierten Ausgang des UNO mit dem „Signal“-Pin des Servomotors. Erstellen Sie ein Programm, das den Servomotor zu einer bestimmten Position dreht und zurück.
Abbildung 42. Vorgeschlagene Schaltung für die erste Simulation
Empfohlene Lektüre
AR-basierte Bewegungssimulationen
Bevor Code auf physische Mikrocontroller hochgeladen wird, können die Schüler AR verwenden, um die Fingerbewegungen virtuell zu simulieren. Dies stellt sicher, dass die programmierten Bewegungen präzise sind und verringert das Risiko mechanischer Fehler oder Schäden an Komponenten während realer Tests.
