Drei-Achsen-Roboterarm: Unterschied zwischen den Versionen
Zeile 126: | Zeile 126: | ||
=== Arduino Uno === | === Arduino Uno === | ||
Da für das Projekt ein Arduino Uno im Vorfeld | Da für das Projekt ein Arduino Uno im Vorfeld zur Verfügung stand, wurde dieser für die spätere Auslegung des eingebetteten Systems verwendet. | ||
Kleine Varianten wie der Arduino Nano eignet sich genauso gut, da diese mehr als | Kleine Varianten wie der Arduino Nano eignet sich genauso gut, da diese mehr als fünf analoge und digitale Pins besitzen. | ||
Zu beachten ist, dass jeder Arduino über eine verbaute Sicherung verfügt, welche im USB Betrieb die USB Schnittstelle vor Überlast schützen soll. | |||
Dabei dürfen keine Ströme über 500mA an der Schnittstelle anliegen. Somit sollte der Uno über ein zusätzliches Netzteil (6-20 Volt) versorgt werden und beim Nano | |||
über Pin 30 (6-20 Volt) oder Pin 27 (5 Volt) anliegen. | |||
== Hardware == | == Hardware == |
Version vom 6. Dezember 2022, 15:38 Uhr
Einleitung
In Rahmen des GET-Fachpraktikums soll ein mechatronisches System entwickelt und getestet werden. Dies soll unter Zuhilfenahme der theoretisch erworbenen Kenntnisse der Mess- und Regelungstechnik, Elektrotechnik und der Aufbau und Verbindungstechnik geschehen. Im Zuge des Fachpraktikums wird ein Drei-Achsen-Roboterarm mit einer manuell-mechanischen Bewegungsprogrammierung gebaut. Diesbezüglich wird ein dem Arm nachempfundener "Joystick" gefertigt über den das Bewegungsmuster des Armes manuell eingegeben werden kann. Hierfür werden an alle drei Drehachsen Sensoren befestigt um den Drehwinkel und Richtung zu erfassen. Mittels zwei Knöpfe kann das Muster gelernt oder gelöscht werden. Der Arm fährt live mit.
Die Aufgabe ist es den Arm dazu zu bringen Objekte aufzuheben und an eine andere Stelle zu legen.
Das Projekt wurde initiiert und umgesetzt von den Mechatronikstudenten des Studienschwerpunktes SDE, im Wintersemester 2022/2023, Benjamin Dilly und David Weigt.
Anforderungen
ID | Anforderung | Umgesetzt | Datum |
---|---|---|---|
1 | Gelenke für die Bewegung | Beispiel | Beispiel |
2 | Greifer zum Transportieren von Objekten | Beispiel | Beispiel |
3 | Aktuatoren für Gelenke | Beispiel | Beispiel |
4 | Schnittstelle für Aktuatoren und Positionsübermittlung | Beispiel | Beispiel |
5 | Greifermotor | Beispiel | Beispiel |
6 | Einfaches Ansteuern | Beispiel | Beispiel |
7 | Flüssige Bewegung und mechanische Robustheit | Beispiel | Beispiel |
ID | Anforderung | Umgesetzt | Datum |
---|---|---|---|
1 | Schnittstelle für Winkelsensoren des Joysticks | Beispiel | Beispiel |
2 | Schnittstelle für Aktoren des Roboterarms | Beispiel | Beispiel |
3 | Schnittstelle Operationstaster | Beispiel | Beispiel |
4 | Erfassen und Verarbeiten des Bewegungsmusters | Beispiel | Beispiel |
5 | Bewegungsmusternachverfolgung bei Programmierung mit Roboterarm | Beispiel | Beispiel |
6 | Umsetzen des Bewegungsmusters (Dauerschleife) | Beispiel | Beispiel |
7 | Asynchrones Erfassen der Joystickausrichtung | Beispiel | Beispiel |
8 | Nach Programmierstart, Arm nach Joystick ausrichten | Beispiel | Beispiel |
9 | Speichern der letzten Roboterarmausrichtung /Position bei Programmierstart | Beispiel | Beispiel |
10 | Nach Programmierabbruch, zur gespeicherten Armausrichtung zurückkehren, warten auf Befehle | Beispiel | Beispiel |
11 | Nach Programmierabbruch, auf Befehle warten | Beispiel | Beispiel |
12 | Nach Programmierung: Bewegungsmuster Dauerhaft speichern | Beispiel | Beispiel |
13 | Nach Programmierung: In Ausgangsposition zurückkehren | Beispiel | Beispiel |
14 | Bei Rücksetzung zurück in die Grundstellung fahren, Flags und letzte Armposition löschen | Beispiel | Beispiel |
15 | Bei Abschaltung in Grundstellung fahren, Flag setzen | Beispiel | Beispiel |
16 | Nach Programmstart / Neustart Flags prüfen, auf Befehle warten | Beispiel | Beispiel |
17 | Bei Bewegungsstopp: Bewegung stoppen, auf Befehle warten | Beispiel | Beispiel |
18 | Anzeigen des allgemeinen Systemstatus | Beispiel | Beispiel |
ID | Anforderung | Umgesetzt | Datum |
---|---|---|---|
1 | Möglichst genaues Nachempfinden des Roboterarms | Beispiel | Beispiel |
2 | Sensoren zum Erfassen des Bewegungsmusters (Winkelsensoren) | Beispiel | Beispiel |
3 | Sensoren ermöglichen das Erfassen der Drehrichtung | Beispiel | Beispiel |
4 | Schnittstelle zum Abfragen der Winkelsensoren | Beispiel | Beispiel |
5 | Robuster Aufbau | Beispiel | Beispiel |
6 | Einfache und flüssige Handhabung/Flüssiges bewegen lassen | Beispiel | Beispiel |
7 | Beibehalten der Position | Beispiel | Beispiel |
ID | Anforderung | Umgesetzt | Datum |
---|---|---|---|
1 | Allgemeines Erfassen der Systembefehle | Beispiel | Beispiel |
Funktionaler Systementwurf/Technischer Systementwurf
Komponentenspezifikation
Die zu verwundene Hardware erstreckt sich über die im nächsten Abschnitt gelisteten Bauteile. Dazu gehören die Taster, Servomotoren, Potenziometer und einen Arduino (Uno, Nano, Mini).
Servomotor
Die Servomotoren sollten mindestens einen Winkel von 180° verfahren und möglichst direkt an den Arduino angeschlossen werden können.
Sensoren
Für die Sensoren werden einfache Potenziometer verwendet. Diese besitzen einen Widerstand von 10k Ohm, was eine hohe Auflösung ermöglichen würde.
Arduino Uno
Da für das Projekt ein Arduino Uno im Vorfeld zur Verfügung stand, wurde dieser für die spätere Auslegung des eingebetteten Systems verwendet. Kleine Varianten wie der Arduino Nano eignet sich genauso gut, da diese mehr als fünf analoge und digitale Pins besitzen. Zu beachten ist, dass jeder Arduino über eine verbaute Sicherung verfügt, welche im USB Betrieb die USB Schnittstelle vor Überlast schützen soll. Dabei dürfen keine Ströme über 500mA an der Schnittstelle anliegen. Somit sollte der Uno über ein zusätzliches Netzteil (6-20 Volt) versorgt werden und beim Nano über Pin 30 (6-20 Volt) oder Pin 27 (5 Volt) anliegen.
Hardware
Befehl | Taster |
---|---|
Bewegung starten / speichern | |
Bewegung stoppen | 1 |
Programmierung starten | |
Programmierung beenden | 1 |
Zurücksetzen | 1 |
Abschaltung | 1 |
Taster insgesamt: | 4 |
Info: Beim Beenden der Programmierung ohne voriges speichern, gilt die Programmierung als verworfen/abgebrochen und der Arm kehrt zum alten Bewegungsmuster zurück
Schnittstelle | Breite (Pins) | Typ |
---|---|---|
Taster | 4 | Digital |
Joystick | 5 | Analog |
Roboterarm | 5 | Digital |
Pins insgesamt: 14
Schaltet Stromversorgung an oder aus |
Führt zu Energieverlust |
Software
Zustand | Anzeige |
---|---|
Bewegungsausführung | S |
Programmierung | P |
Warten auf Befehle | C |
Fehler | F |
Zustand | Flag |
---|---|
Abschaltung | 0x01 |
Umsetzung (HW/SW)
Komponententest
Ergebnis
Zusammenfassung
Projektunterlagen
Projektplan
Projektdurchführung
YouTube Video
Weblinks
________________________________________________________
◀▶ Zurück zur Vorgängerseite [[1]]
◀▶ Zurück zur Projekthauptseite: Fachpraktikum Elektrotechnik & Angewandte Elektrotechnik