Drei-Achsen-Roboterarm

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

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


Roboterarm
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


Steuereinheit (Arduino)
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



Joystick
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


Taster
ID Anforderung Umgesetzt Datum
1 Allgemeines Erfassen der Systembefehle Beispiel Beispiel

Funktionaler Systementwurf/Technischer Systementwurf

Gezeigt ist schematischer Systemaufbau
Gezeigt ist der skizzenhafte Armaufbau

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. 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.

Hardware

Systembefehle
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


Schnittstellenkonfiguration
Schnittstelle Breite (Pins) Typ
Taster 4 Digital
Joystick 5 Analog
Roboterarm 5 Digital

Pins insgesamt: 14


Notaus / An-Aus-Schalter
Schaltet Stromversorgung an oder aus
Führt zu Energieverlust

Software

Systemzustände
Zustand Anzeige
Bewegungsausführung S
Programmierung P
Warten auf Befehle C
Fehler F


Systemflags
Zustand Flag
Abschaltung 0x01

Umsetzung (HW/SW)

Software

Softwareaufbau mit Matlab/Simulink

Komponententest

Ergebnis

Zusammenfassung

Projektunterlagen

Projektplan

Projektdurchführung

YouTube Video

Weblinks

________________________________________________________

◀▶ Zurück zur Vorgängerseite [[1]]

◀▶ Zurück zur Projekthauptseite: Fachpraktikum Elektrotechnik & Angewandte Elektrotechnik