Bau eines 3D-FFF-Druckers mit Hilfe des Delta-Roboters Omron/Adept Quattro: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 72: Zeile 72:


== Ansteuerung des Druckers ==
== Ansteuerung des Druckers ==
Der Drucker wurde mittels Matlab angesteuert. Die Schnittstelle zwischen MatLab und dem Drucker ist ein Arduino Mega auf den eine Ramps Platine aufgebaut wurde. Über diese Verbindung können sämtliche Druckspezifische Informationen zwischen Computer und Roboter ausgetauscht werden. Lediglich die Steuerung der Bewegungsabläufe wird nicht über den Ardiuno und die Ramps Platine sondern über ACE und den damit verbundenen Controller gesteuert.  
Der Drucker wurde mittels Matlab angesteuert. Die Schnittstelle zwischen MatLab und dem Drucker ist ein Arduino Mega auf den eine Ramps Platine aufgebaut wurde. Über diese Verbindung können sämtliche Druckspezifische Informationen zwischen Computer und Roboter ausgetauscht werden. Lediglich die Steuerung der Bewegungsabläufe wird nicht über den Ardiuno und die Ramps Platine sondern über ACE und den damit verbundenen Controller gesteuert.
 
'''G-Code:'''
 
Ein G-Code ist des Steuerungsprogramm eines 3D-Druckers und damit etwas wie ein Maschinencode für 3D-Drucker. In diesem Code wird gesteuert in welche Richtung der Roboter fährt, wie heiß der Extruder sowie das Heizbett oder auch Druckbett genannt geheizt werden soll, ob und wie stark die Lüfter und auch die Schrittmotoren angesteuert werden sollen. Hierfür werden sowohl G wie auch M befehle verwendet. Die G-Befehle sind für die Robotersteuerung verantwortlich und werden an ACE verschickt. Die M-Befehle sind hingegen für die Drucksteuerung wichtig. Diese steuern beispielsweise die Extruder und die Schrittmotoren und die Lüfter. Eine Liste an beispielhaften G-Codes ist an Ende dieses Abschnittes zu sehen.  


== Testdurchläufe ==
== Testdurchläufe ==
Die Verbindung zwischen dem Computer und der Ramps Platine beziehungsweise dem Arduino wurde mittels USB-Kabel hergestellt. Um die Verbindung zu testen, konnte die vom Vorgänger geschriebene MatLab-App verwendet werden. Diese ist eigentlich für den Betrieb des Roboters sowie das Auslesen von G-Codes gedacht, allerdings zeigt sie auch die korrekte Verbindung an. Um sich mittels App mit der Ramps Platine verbinden zu können, muss allerdings auch eine Verbindung mit dem Roboter über ACE hergestellt werden. Die MatLab-App kann sich nur mit beiden Systemen gleichzeitig oder nur mit ACE verbinden. Eine Verbindung ausschließlich mit der Ramps-Platine ist nicht möglich. Hat man nun sowohl den Roboter mit ACE wie auch den Arduino mittels USB-Kabel an den Computer angeschlossen und Verbunden so kann in der App der Taster "Verbinden" betätigt werden.  
Die Verbindung zwischen dem Computer und der Ramps Platine beziehungsweise dem Arduino wurde mittels USB-Kabel hergestellt. Um die Verbindung zu testen, konnte die vom Vorgänger geschriebene MatLab-App verwendet werden. Diese ist eigentlich für den Betrieb des Roboters sowie das Auslesen von G-Codes gedacht, allerdings zeigt sie auch die korrekte Verbindung an. Um sich mittels App mit der Ramps Platine verbinden zu können, muss allerdings auch eine Verbindung mit dem Roboter über ACE hergestellt werden. Die MatLab-App kann sich nur mit beiden Systemen gleichzeitig oder nur mit ACE verbinden. Eine Verbindung ausschließlich mit der Ramps-Platine ist nicht möglich. Hat man nun sowohl den Roboter mit ACE wie auch den Arduino mittels USB-Kabel an den Computer angeschlossen und Verbunden so kann in der App der Taster "Verbinden" betätigt werden. Sollte nun alles richtig verbunden sein, springt der Regler auf grün und zeigt verbunden an.
 
'''Cura:'''
 
Um einzelne Bauteile des Druckers zu Testen wurde die Software Cura 3.3.1 verwendet. Mithilfe dieser Software die für den 3D-Druck eingesetzt wird, können beispielsweise gezielt nur ein Extruder oder ein Lüfter angesteuert werden um die Verkabelung und die Funktion der einzelnen Bauteile zu überprüfen. Sollte in Cura alles funktionieren, kann sichergestellt werden, dass die Bauteile einwandfrei funktionieren und mögliche folgende Probleme durch die Programmierung in Matlab oder durch den G-Code verursacht werden.
 
'''Marlin:'''
 
Die Firmware MArlin wird verwendet um 3D-Drucker mithilfe eines Arduinos anzusteuern. Marlin ist eine Open Source Software, kann also von jedem Nutzer verwendet und frei weiterentwickelt werden. 
   


=== Aufbau der 3D-Druck Einheit ===
=== Aufbau der 3D-Druck Einheit ===

Version vom 1. Dezember 2022, 10:27 Uhr

← Hauptseite für Robotik
← Hauptseite des Praktikums Produktionstechnik

hier die generelle Funktionsweise beschreiben, Systementwurf zeigen!



Autoren: David Schütte, Tristan Thörner, Adam Kaczmarek, Richard Stanislawski


Einleitung

Im Rahmen des Praktikums Produktionstechnik im Bachelor-Studiengang Mechatronik wollen wir einen Picker-Roboter (Industrie-Delta-Roboters Omron Quattro s650H) zu einem 3D-Drucker umbauen. Aufgrund seiner hohen Geschwindigkeit und Präzision eignet sich dieser sehr gut für die Anwendung im 3D-Druck.

Inhalt

Der Versuch unterteilt sich in die zwei Unterpunkte Ansteuerung des Roboters und Ansteuerung des Extruders. In diesem Projekt ging es rein darum die Komponenten mittels verschiedener Computerprogramme anzusteuern und somit "zum laufen zu bringen". Der mechanische Aufbau erfolgte bereits vorher und hat mit diesem Versuch nichts zu tun.


Unterabschnitt

  1. Ansteuerung des Roboters
    • mit dem Programm ACE
    • mit dem Programm vPlus
  2. Ansteuerung des Extruders
    • mittels Matlab

Ansteuerung des Roboters

@ Adam / Richard hier euren Wiki Artikel anlegen! Auf richtige Beschriftungen der Abbildungen achten


Inbetriebnahme des Roboters

Damit der Roboter eingeschaltet und in Betrieb genommen werden kann, müssen einige Schritte beachtet werden:

1. Schritt: Der Schlüssel am Panel des Schaltschranks muss auf die Einstellung "Computer" gedreht werden, damit der Roboter per Software gesteuert werden kann. (Bild einfügen)

2. Schritt: Den Drehschalter 90° im Uhrzeigersinn drehen, um die Stromversorgung zu aktivieren. (Bild einfügen) Dabei muss darauf geachtet werden, dass die Leistungsschutzschalter im Schaltschrank auch aktiviert wurden.

3. Schritt: Den Adept Smartcontroller CX per Ethernet-Verbindung über den RJ45 (LAN-Kabel) Anschluss zum PC verbinden. Falls der Controller über die Ethernet-Verbindung nicht erkannt wird, muss der PC neu gestartet werden.

4. Schritt: Um eine IPv4 TCP-Verbindung zwischen dem Controller und dem PC herstellen zu können, muss erstmal die Standard IP des Controllers abgelesen werden. Diese befindet sich unter dem Controller oder im Idealfall, falls dieser bereits festgeschraubt ist, auf dem Controller.

5. Schritt: Die Software Automation Control Environment (kurz ACE) starten und bei der Auswahl im Menü den Punkt "Controller verbinden" auswählen.


ACE Vorbereitung vor dem 3D - Druck

1. Schritt: Ace 3.8 starten.

2. Schritt: In Ace die Datei "3D-Druck.BA" laden. Hierbei je nach Bedarf Emulationsmodus (ab-) wählen.

3. Schritt: Im linken Verzeichnis unter "V+ Benutzermodule"-> "matlab.verb" rechtsklick auf "matlab.verb()" und auf "Task 0" ausführen.


Matlab Vorbereitung vor dem 3D - Druck

1. Schritt: "START_GUI" - MatlabApp öffnen

2. Schritt: Warten bis sich die GUI öffnet. Für 3D-Druck ACE+RAMPS verbinden.

3. Schritt: Den Namen der .gcode/.txt Datei (welche sich im Verzeichnis der Matlab App befinden muss) in das Textfeld eingeben und importieren.

4. Schritt: Optional Simulation ausführen. Simulation wird nach Abschluss im Fenster rechts unten angezeigt.

5. Schritt: Druck ausführen über entsprechende Schaltfläche.


Ansteuerung des Druckers

Der Drucker wurde mittels Matlab angesteuert. Die Schnittstelle zwischen MatLab und dem Drucker ist ein Arduino Mega auf den eine Ramps Platine aufgebaut wurde. Über diese Verbindung können sämtliche Druckspezifische Informationen zwischen Computer und Roboter ausgetauscht werden. Lediglich die Steuerung der Bewegungsabläufe wird nicht über den Ardiuno und die Ramps Platine sondern über ACE und den damit verbundenen Controller gesteuert.

G-Code:

Ein G-Code ist des Steuerungsprogramm eines 3D-Druckers und damit etwas wie ein Maschinencode für 3D-Drucker. In diesem Code wird gesteuert in welche Richtung der Roboter fährt, wie heiß der Extruder sowie das Heizbett oder auch Druckbett genannt geheizt werden soll, ob und wie stark die Lüfter und auch die Schrittmotoren angesteuert werden sollen. Hierfür werden sowohl G wie auch M befehle verwendet. Die G-Befehle sind für die Robotersteuerung verantwortlich und werden an ACE verschickt. Die M-Befehle sind hingegen für die Drucksteuerung wichtig. Diese steuern beispielsweise die Extruder und die Schrittmotoren und die Lüfter. Eine Liste an beispielhaften G-Codes ist an Ende dieses Abschnittes zu sehen.

Testdurchläufe

Die Verbindung zwischen dem Computer und der Ramps Platine beziehungsweise dem Arduino wurde mittels USB-Kabel hergestellt. Um die Verbindung zu testen, konnte die vom Vorgänger geschriebene MatLab-App verwendet werden. Diese ist eigentlich für den Betrieb des Roboters sowie das Auslesen von G-Codes gedacht, allerdings zeigt sie auch die korrekte Verbindung an. Um sich mittels App mit der Ramps Platine verbinden zu können, muss allerdings auch eine Verbindung mit dem Roboter über ACE hergestellt werden. Die MatLab-App kann sich nur mit beiden Systemen gleichzeitig oder nur mit ACE verbinden. Eine Verbindung ausschließlich mit der Ramps-Platine ist nicht möglich. Hat man nun sowohl den Roboter mit ACE wie auch den Arduino mittels USB-Kabel an den Computer angeschlossen und Verbunden so kann in der App der Taster "Verbinden" betätigt werden. Sollte nun alles richtig verbunden sein, springt der Regler auf grün und zeigt verbunden an.

Cura:

Um einzelne Bauteile des Druckers zu Testen wurde die Software Cura 3.3.1 verwendet. Mithilfe dieser Software die für den 3D-Druck eingesetzt wird, können beispielsweise gezielt nur ein Extruder oder ein Lüfter angesteuert werden um die Verkabelung und die Funktion der einzelnen Bauteile zu überprüfen. Sollte in Cura alles funktionieren, kann sichergestellt werden, dass die Bauteile einwandfrei funktionieren und mögliche folgende Probleme durch die Programmierung in Matlab oder durch den G-Code verursacht werden.

Marlin:

Die Firmware MArlin wird verwendet um 3D-Drucker mithilfe eines Arduinos anzusteuern. Marlin ist eine Open Source Software, kann also von jedem Nutzer verwendet und frei weiterentwickelt werden.


Aufbau der 3D-Druck Einheit

Die Einheit ...

Abb 2: Beispiel <br clear=all>


Alternativ können Sie das Bild in einer "wikitable" anzeigen lassen. Dadurch wird das Bild auch auf Bildschirmen mit einer anderen Auflösung in der richtigen Darstellungsart angezeigt (vgl. Abb. 3).

Abb 3: Beispiel wikitable

Hier geht es weiter mit dem Text.

Tabellen

Tabelle 1 zeigt ein schönes Beispiel. [Achtung 19.09.2022: mw-datatable funktioniert in diesem neuen Wiki nicht mehr!]

Spalte 1 Spalte 2 Spalte 3
Tabelle 1: Beispieltabelle
blabla sowieso sowieso
test sowieso test1
Tabelle mit Sortierfunktion
Überschrift Überschrift Überschrift
Beispiel Beispiel Beispiel
Beispiel Beispiel Beispiel
Beispiel Beispiel Beispiel

Formeln

Für Formeln nutzen Sie die <math>-Umgebung.

Dieser Quelltext

<math> y = \int\limits_0^2 {\sin \frac{x}{2}dx}</math>

wird dann so dargestellt .

Eine Übersicht über die Befehle findet sich z. B. hier: Gleichungen in math.


Sonderzeichen

Sonderzeichen setzen Sie einfach über [Alt]+ANSI Code z.B. [Alt]+0177: ±

Übersicht der ANSI-Code Sonderzeichen

Alternativ kann der Unicode eingegeben werden z.B. ❶ für ❶.

Formatierung

Nutzen Sie zur Formatierung Beispiele, z. B. aus dem weltbekannten Wikipedia selbst (das ist die gleiche Syntax!) oder anderer Hilfeseiten wie z. B. [1].

Quelltext

Anleitung und Beispiele zum Einbinden von Quelltext finden Sie hier: Quelltext_einbinden.

Zitieren

Fremdquellen sollten Sie auf jeden Fall zitieren. Internetquellen können Sie einfach verlinken. Literatur zitieren Sie bitte nach DIN ISO 690:2013-10.

Absätze ausblenden

Zusätzliche Informationen können Sie mit dieser Formatierung bei Bedarf ein- und ausklappen.

Zusammenfassung

Was ist das Ergbnis? Das Ergebnis dieses Artikels ist eine Vorlage, mit der Nutzer des Wikis schnell und leicht eigene Artikel verwirklichen können. Diese Vorlage ist Bestandteil der Anleitungen aus den How-To's.


Ausblick

Was kann/muss noch verbessert werden?


Literaturverzeichnis