项目作者: lukaswiesehan

项目描述 :
Filament-Extruder mit Aufspulanlage.
高级语言: C++
项目地址: git://github.com/lukaswiesehan/filamentextruder.git
创建时间: 2020-08-12T10:27:09Z
项目社区:https://github.com/lukaswiesehan/filamentextruder

开源协议:Other

下载


Filament-Extruder

HMI Preview

Bachelorprojekt im Studiengang Mechatronik, HAW Hamburg.
Entwickelt von Tobias Freytag, Anton Neike, Max Sahlke, Lukas Wiesehan.
Betreut von Prof. Dr. Dietmar Pähler.

Inhalt

Einführung

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.

Funktionsschema

Funktionsschema

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.

Repo-Struktur

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.

Hardware

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.

Bestellliste

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.

Verdrahtung des Systems

Verdrahtung

Verdrahtung

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.

Arduino Mega

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.

Arduino Nano

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.

Mosfet-Module

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.

Heizpatronen

Die Heizpatronen werden jeweils an die beiden Ausgangs-Terminals der Mosfet-Module angeschlossen. Die Polarität spielt hierbei keine Rolle.

PT100 Signalverstärker

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.

PT100 Temperatursensor

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.

Relais-Modul

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.

Extruder Motor

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.

Filament-Lüfter

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.

Schrittmotortreiber

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

Schrittmotoren

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.

Optischer Endschalter

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.

Software

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.

Konfiguration des Systems

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.

Bedienung des Systems

Extruder im Prozess

Testlauf

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.

Pos. Beschreibung Abbildung
1. Einschalten der Anlage am Schalter der Kaltgerätebuchse
2. Warten, bis das System initialisiert und der Führungsmotor referenziert ist. Initialisierung
3. Im Idle-Zustand kann der Bediener entweder den Prozess starten oder die Einstellungen öffnen. Idle
3a. In den Einstellungen kann die Größe der Spule eingestellt werden, die für den Wicklungsprozess benötigt wird. Außerdem kann die Extrusionstemperatur an den verwendeten Kunststoff angepasst werden. Settings
3b. Wählt der Bediener in 3. den Punkt aufheiten, so wird der Prozess gestartet. Warten, bis die Extrusionstemperatur erreicht ist. Die Extrusionstemperatur kann über die entsprechenden Schaltflächen angepasst werden. Heatup
4. Extrusion starten, sobald die Extrusionstemperatur erreicht ist.
5. Sobald ausreichend Kunststoff extrudiert ist, den Strang in den Positionierer und anschließend in die Spule einfädeln.
6. Wicklung starten, sobald der Filamentstrang eingefädelt und ein wenig auf Spannung ist. Extrude
7. Prozess gelegentlich überprüfen, ggf. Wicklungsgeschwindigkeit über entsprechende Schaltflächen anpassen. Windup
8. Sobald die Spule ausreichend gefüllt ist, Schaltfläche Cooldown betätigen.