Bachelorprojekt im Studiengang Mechatronik, HAW Hamburg.
Entwickelt von Tobias Freytag, Anton Neike, Max Sahlke, Lukas Wiesehan.
Betreut von Prof. Dr. Dietmar Pähler.
Im Rahmen des Bachelorprojekts im 5. Semester des Bachelorstudiengangs Mechatronik an der HAW Hamburg soll eine Anlage konstruiert und realisiert werden, die aus Kunststoffgranulat 3D-Druck Filament extrudiert und dieses auf entsprechende Rollen aufspult. Übergeordnetes Ziel ist es, Prototypen oder fehlgeschlagene Druckteile zu schreddern, um sie erneut zu Filament zu extrudieren und dieses erneut zu verwenden. Da sowohl die Qualität des Kunststoffs, als auch die Verarbeitbarkeit unter häufigem Aufschmelzen leiden, soll das mit der Anlage hergestellte Filament lediglich für den Druck von Prototypen verwendet werden.
Die im Funktionsschema grün dargestellten Elemente sind Teil dieses Projekts. Die Konstruktion eines Schredders ist im Rahmen dieses Projekts nicht möglich, allerdings kann das System in Folgeprojekten durchaus mit einem Schredder erweitert werden, der auf den Trichter des Extruders aufgesetzt werden sollte.
Das Stammverzeichnis des Repositorys beinhaltet alles, was für eine Rekonstruktion des Systems notwendig ist. Es teilt sich in folgende Unterverzeichnisse auf.
Verzeichnis | Inhalt |
---|---|
/arduino |
Arduino-Projekte, Liste der notwendigen Libraries, Anleitung zur notwendigen Modifikation der Nextion-Library |
/cad |
CAD-Modell des fertigen Systems, .stl -Dateien der gedruckten Einzelteile |
/hmi |
.HMI -Datei und Anleitung zur Installation des Interfaces auf dem Nextion Display, Screenshots des Interfaces |
Die hier abgelegten Daten entsprechen dem finalen Entwicklungsstand des Systems. Die ausführliche Projektdokumentation, in der die einzelnen Entwicklungsschritte während des Projekts näher ausgeführt sind, ist als Wiki dieses Repos realisiert.
Nachfolgend werden alle Komponenten aufgelistet, die bestellt werden müssen. Gehäuse- und Druckteile sind in /cad
abgelegt und können auf unterschiedliche Weise gefertigt
werden, weshalb sie in der Kostenaufstellung nicht berücksichtigt werden. Zudem werden Kabel zur Verdrahtung des Systems benötigt, die hier ebenfalls nicht aufgelistet sind.
Anzahl | Bezeichnung | Beschreibung | Preis |
---|---|---|---|
1x | Felfil Evo Basic Kit | Basiskomponenten des Extruders als Bausatz | 299,00€ |
1x | Kaltgerätebuchse | Spannungsversorgung des Systems | 6,39€ |
1x | Kaltegeräte-Anschlusskabel | Spannungsversorgung des Systems | 4,86€ |
1x | Netzteil 24V 320W | Primäre Spannungsquelle des Systems | 62,38€ |
1x | Spannungswandler XL4016 | Spannungsversorgung der 12V-Komponenten (Extrudermotor & Lüfter) | 8,49€ |
1x | Spannungswandler LM2596S | Spannungsversorgung der 5V-Komponenten (Display & Arduino) | 5,29€ |
1x | Arduino Mega | Steuerung des Extruder-Systems und des HMI | 13,79€ |
1x | Arduino Nano | Steuerung des Wicklungsmechanismus | 6,49€ |
1x | Nextion Display NX4024K032 | Anzeige und Touch-Interface zur Steuerung des Systems | 38,44€ |
3x | Mosfet Modul IRF520 | Steuerung der Heizpatronen | 4,29€ |
3x | Heizpatrone 24V | Heizmodule des Extruders | 4,50€ |
1x | Temperatursensor PT100 | Sensor zur Bestimmung der Extrudertemperatur | 15,03€ |
1x | Adafruit MAX31865 | Modul zur Wandlung des Sensorsignals des PT100 | 19,33€ |
2x | Schrittmotortreiber SMD356C | Steuerung der Wicklungsmotoren | 41,44€ |
2x | Schrittmotor NEMA-17 | Antriebe des Wicklungsmechanismus | 27,20€ |
1x | Optischer Endschalter | Referenzierung des Führungsmotors | 2,51€ |
1x | Relais-Modul KY-019 | Schalten des Extrudermotors | 4,99€ |
2x | PC-Lüfter 80x80x25 | Kühlung elektronischer Bauteile und des Filaments | 4,18€ |
Die Kosten der elektronischen Bauteile summieren sich damit auf 659,00€ zzgl. diverser Versandkosten sowie der Gehäuse- bzw. Druckteile.
Hierzu zählen Holzschrauben, einige M4- und M5-Schrauben und Muttern, 10 mm
Sperrholz, 2 mm
Aluminiumblech, sowie etwa 250 mm
M12-Gewindestange.
Im oben abgebildeten Schema wurde folgende Farbkonvention eingehalten:
- Schwarz: GND
- Rot: 5-12V VCC
- Orange: 24V VCC
- Blau, Grün, Gelb, Lila: Daten/Signale
Hinweis: Das Nextion Display wurde im Schema durch ein ähnliches Display ersetzt, welches sich sowohl im Maßstab, als auch in der Pin-Belegung unterscheidet.
Hinweis: Es ist darauf zu achten, dass alle Elemente des Systems auf das selbe GND
-Niveau gelegt sind.
Der Arduino Mega dient als primärer Prozessor des Systems, auf dem die Temperaturregelung
und die Displaysteuerung implementiert sind. Er wird an GND
und 12 V
Versorgungsspannung angeschlossen.
Der Arduino Nano wird für die Steuerung des Wicklungsmechanismus benötigt, da die Ansteuerung
der Schrittmotoren eine Signalfrequenz benötigt, die auf dem Mega wegen der darauf laufenden
Temperaturregelung nicht gewährleistet werden kann. Der Nano wird zur Versorgung ebenfalls
an GND
und 12 V
angeschlossen. Zudem wird der Hardware-Serial des Nanos mit den Pins TX
und RX
an RX1
und TX1
des Mega, also dessen Hardware-Serial 1 verbunden, sodass eine
Kommunikation zwischen den beiden Arduinos implementiert werden kann.
Die drei Mosfet-Module werden jeweils GND
und 24 V
Versorgungsspannung angeschlossen.
Für die Ansteuerung werden GND
und VCC
mit dem 5 V
Ausgang und SIG
mit je einem
PWM-Ausgang (hier Pins 1
, 2
und 3
) des Arduino Mega verbunden.
Die Heizpatronen werden jeweils an die beiden Ausgangs-Terminals der Mosfet-Module angeschlossen. Die Polarität spielt hierbei keine Rolle.
Das Adafruit-Modul MAX31865 zum Auslesen des PT100-Sensors wird an GND
und 5 V
Versogungsspannung angeschlossen. Zur Übertragung der Temperatur an den Arduino Mega werden
die Pins CS
, DI
, DO
und CLK
an vier Digital-Pins (hier Pins 45
, 47
, 49
und 51
) des Mega angeschlossen.
Der PT100 Sensor wird an das Sensorterminal des Adafruit MAX31865 angeschlossen. Da es sich um einen PT100 mit zwei Kabeln handelt, werden die mittleren beiden Anschlüsse des Moduls verwendet.
Zur Verwendung des Moduls und des PT100 in Kombination mit einer entsprechenden Arduino-Library findet sich auf der Adafruit-Website ein umfangreiches Tutorial.
Das Relais-Modul KY-019 soll zur Steuerung des Extruder-Motors verwendet werden, weshalb an
den COM
-Port 12 V
Versorgungsspannung angelegt wird. An der Signalseite wird das Modul
mit GND
und 5 V
versorgt. Der SIG
-Pin wird an einen Digitalpin (hier Pin 53
) des Arduino Mega angeschlossen.
Der Extruder-Motor wird am Negativ-Pol mit GND
verbunden, während der Positiv-Pol auf den
NO
-, also "Normally Open"-Ausgang des Relais-Moduls gelegt wird.
Da der Lüfter zur Kühlung des Filaments nur benötigt wird, sofern extrudiert wird, wird er
analog zum Extruder-Motor mit GND
versorgt und mit dem Positiv-Pol an das NO
-Terminal
des Relais-Moduls angeschlossen.
Die Schrittmotortreiber werden jeweils mit GND
und 24 V
versorgt. Die GND
-Leitung kann zudem jeweils direkt mit auf PUL-
und DIR-
der Signalterminals gelegt werden. PUL+
und
DIR+
werden an jeweils einen Digitalpin des Arduino Nano angeschlossen. Der Wicklungsmotor
ist hier an 10
und 9
, der Führungsmotor an 12
und 11
angeschlossen.
Wichtig: die Schrittmotortreiber müssen mit den 6 Schaltern auf folgende Konfiguration eingestellt werden.
S1 | S2 | S3 | S4 | S5 | S6 |
---|---|---|---|---|---|
0 | 0 | 0 | 1 | 1 | 0 |
Die Schrittmotoren werden jeweils an A-
, A+
, B-
und B+
der Motortreiber angeschlossen. Die genaue Belegung kann vom Schrittmotor abhängig sein, daher wird an
dieser Stelle auf dieses Tutorial verwiesen, in dem beschrieben wird, wie die
die korrekte Belegung der Schrittmotoren bestimmt werden kann.
Der optische Endschalter wird an GND
und 5 V
Versorgungsspannung angeschlossen und mit
dem S
- bzw. Signal-Pin auf einen Digitalpin (hier Pin 13
) des Arduino Nano gelegt.
Die Software besteht aus zwei Komponenten, die sich im Ordner /arduino
befinden.
Die genauen Funktionsweisen der Codes können den zugehörigen README-Dateien entnommen werden.
Wie im Bereich Hardware bereits angedeutet, wird das Arduino-Projekt filamentextruder
auf den Arduino Mega und das Projekt motorsteuerung
auf den Arduino Nano hochgeladen.
Weiterhin muss die Display-Software auf das Nextion-Display geladen werden. Eine kurze Beschreibung dessen findet
sich im Verzeichnis /hmi
.
Um einen optimalen Prozess zu gewährleisten, sollten vor Inbetriebnahme einige Dinge beachtet werden.
Je nach thermischer Isolation des Extruders werden sich die Reglerparameter ein wenig unterscheiden. Da das System verhältnismäßig träge ist,
stellt das kein großes Problem dar. Um den Aufheizvorgang dennoch hinsichtlich seiner Dauer und Genauigkeit zu optimieren, sollten die PID-Parameter
dem System entsprechend eingestellt werden. Wie dazu vorgegangen werden sollte, kann dem Wiki-Kapitel Entwicklung/Temperaturregelung entnommen werden. Die bestimmten Reglerparameter können dann in filamentextruder.ino
aktualisiert werden.
Weiterhin sollte die Basis-Geschwindigkeit der Wicklung an den Extruder angepasst werden, obwohl sie durch die Verwendung des selben mitgelieferten Motors
nur unwesentlich unterscheiden sollte. Im Wiki-Kapitel Entwicklung/Wicklungsmechanismus
wird ausführlich beschrieben, wie der Parameter EXTRUSION_FEED
an das System angepasst werden sollte, um einen optimalen Filamentdurchmesser nach der Extrusion
zu gewährleisten. Dieser Parameter wird anschließend in motorsteuerung.ino
aktualisiert.
Die Benutzeroberfläche wurde mit einer einfachen Bedienbarkeit im Hinterkopf designed. Der Bediener wird im Wesentlichen durch die Seiten geleitet, die den verschiedenen States des Zustandsautomaten entsprechen. Der Ablauf der Bedienung, die demnach streng an den Prozess gebunden ist, ist im Folgenden kurz beschrieben.