Drei-Achsen-Roboterarm: Unterschied zwischen den Versionen
Zeile 203: | Zeile 203: | ||
[[Datei: Status Generierer-001.png|600px|mini|zentriert|Modell zum generieren des allgemeinen Systemstatus]] | [[Datei: Status Generierer-001.png|600px|mini|zentriert|Modell zum generieren des allgemeinen Systemstatus]] | ||
[[Datei: Virtuelle Tasten-001.png|600px|mini|zentriert|Modell zum virtuellen Simulieren der Tasten auf dem Arduino Uno]] | [[Datei: Virtuelle Tasten-001.png|600px|mini|zentriert|Modell zum virtuellen Simulieren der Tasten auf dem Arduino Uno]] | ||
[[Datei: Sensoren-001.png|600px|mini|zentriert|Modell zum Umwandeln der Sensordaten]] | |||
== Komponententest == | == Komponententest == |
Version vom 5. Januar 2023, 20:57 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. Achtung ! Es ist zu beachten, dass nur die Arduino originalen Boards eine geleichzeitige Spannungsversorgung über USB und einem Netzteil ermöglichen.
Bedienung
Tasten...
Start/Stopp: startet und stoppt die Bewegung. Speichert im Programmiermodus die Zwischenschritte des Bewegungsmusters ab. Es können max. 10 Schritte und mindestens 4 zwischengespeichert werden.
Programmiertaster: Startet/stoppt die Programmierung.
Rücksetzungstaster: Wenn nichts anderes aktiv ist, setzt er das Bewegungsmuster zurück. Während Programmierung, löscht er den zuletzt gespeicherten Zwischenschritt.
Abschalttaster: Einmaliges Betätigen hält den Arm an und sperrt alle weiteren Aktionen für 3 Sekunden. Erneutes Betätigen während dieser Zeit, fährt Arm in Nullposition zum Ausschalten zurück.
Wenn eine Aktion nicht ausgeführt werden kann, wird ein Signal gegeben. Dieses wird solange aufrechterhalten, wie der verursachende Zustand aktiv ist.
Um dies zu vermeiden, sollte das Bewegungsmuster vor Aktivierung des Programmiermodus zurückgesetzt werden (wenn bereits vorhanden).
Zudem sollte vermieden das Bewegungsmuster auszuführen, solange nicht mehr oder genau vier Zwischenschritte eingespeichert wurden.
Das Deaktivierung des Signals kann einfach durch erneutes betätigen des verursachenden Tasters geschehen.
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
Software
Umsetzung (HW/SW)
Software
Systemstatusmodell
Komponententest
Software
Ergebnis
Zusammenfassung
Projektunterlagen
Projektplan
Projektdurchführung
YouTube Video
Weblinks
________________________________________________________
◀▶ Zurück zur Vorgängerseite [[1]]
◀▶ Zurück zur Projekthauptseite: Fachpraktikum Elektrotechnik & Angewandte Elektrotechnik