Inhalt des Kurses
Prototyping / Redesign
Die Studierenden sollen in diesem Format Konzepte zu interaktiven Szenarien und Produkten gestalten und diese dann bis zur Funktionsfähigkeit zu entwickeln.
Dafür wurden, in den verschiedenen Phasen des Projektes unterschiedlichste Methoden angewandt – vom Storyboard bis hin zum funktionstüchtigen technischen Prototypen.
Internet der Dinge
Semesterjahr3. Semester
BetreuungProf. Michael Schuster, Benjamin Thomsen
SIMPRIS
Simple Intelligent Modular Printing System
3D-Druck ist im Laufe der Jahre immer einfacher geworden und entwickelt sich gerade von einer Nischentechnologie zu einem Massenmarktprodukt. Immer mehr Plattformen bieten unzählige druckbare Alltagshelfer, Ersatzteile oder sogar komplette Produkte zum Download an. Mit dem passenden 3D-Drucker wird es immer einfacher, diese Modelle dann zu Hause herzustellen. Allerdings haben gerade günstige Drucker immer noch zuverlässigkeitsprobleme. Deshalb ist es wichtig, neben dem Drucker auch Kenntnisse über den Druckprozess und die entsprechende Technologie zu erwerben, um den Drucker optimal nutzen zu können. Um dieses Problem zu lösen, haben wir Simpris entwickelt. Die Idee ist, dass anstatt viele Drucker in jedem Haushalt zu haben, die Drucker an einem zentralen Ort stehen, wo sich eine sachkundige Person um sie kümmert. Die erstellten Drucke können dann an diesem zentralen Ort abgeholt werden, ähnlich wie in einem Copyshop.
Um maximale benutzerfreundlichkeit zu erreichen und eine möglichst große Zielgruppe anzusprechen gehen wir davon aus, dass eine Person unseren Drucker verwendet, die zuvor noch nie gedruckt hat. Sie weiß also nicht, welche Modelle zum Drucken geeignet sind, welche Druckeinstellungen sinnvoll sind oder wie das Modell beim Drucken ausgerichtet werden sollte. All diese Faktoren können jedoch durch eine Analyse des Modells automatisch berechnet werden. Dafür haben wir ein Proof-of-Concept-Programm entwickelt. Unser Algorithmus findet die bestmögliche Ausrichtung des Modells und informiert den Nutzer, wenn sein Modell nicht gut zum 3D-Druck geeignet ist oder viel Stützmaterial benötigt. Zudem übernimmt unser System die optimalen Druckeinstellungen für den Drucker und der Slicing-Prozess erfolgt automatisch.
Um dies zu erreichen, haben wir eine Webanwendung entwickelt, damit der Nutzer keine zusätzliche App herunterladen muss, um einen Druckauftrag zu starten. Ein weiteres Problem, das wir im Druckprozess festgestellt haben, ist, dass nach jedem Druck die Druckplatte von dem Druckobjekt gereinigt werden muss, was einen Mitarbeiter erfordern würde. Aus diesem Grund haben wir einen Mechanismus entwickelt, der das Druckobjekt von der Druckplatte löst und es in eine Abholbox nach unten sortiert.
Durch all diese Erleichterungen sollte der Drucker fast eigenständig arbeiten und das Drucken vieler Teile von vielen Menschen ermöglichen.
Das Drucksystem
Um dem Druckerbetreiber die Lagerung von so vielen Druckern wie möglich auf kleinstem Raum zu ermöglichen, haben wir einen kompakten Drucker entwickelt, der sich in einem Druckturm neben anderen Druckern positionieren lässt. Um den Druck automatisch abwerfen zu können, steht der Drucker um 90° gedreht. Außerdem verfügt der Drucker über ein System, das die Federstahl-Druckplatte biegt, um den Druck einfach abfallen zu lassen.
Auf der Softwareseite ist der Drucker mit der 3D-Druck-Firmware Klipper und Octoprint ausgestattet, was eine Vielzahl intelligenter Funktionen ermöglicht.
Wie bereits erwähnt, kann der Drucker zusammen mit zwei weiteren Druckern in ein Gehäuse gestellt werden, das als “Rack” bezeichnet wird. Das Konzept sieht vor, dass die Drucker einfach nach vorne aus dem Rack gezogen werden können, um Wartungsarbeiten durchzuführen oder Probleme zu lösen. Das Rack wurde so konzipiert, dass die fertigen Drucke nach unten rutschen und im unteren Teil des Racks in Abholboxen sortiert werden. Der Nutzer kann dann mit einem QR-Code-Scanner die Drucke abholen. Die Abholboxen haben alle Böden, die geöffnet werden können, sodass immer Platz für neue Drucke geschaffen werden kann, indem alle älteren Drucke im Magazin nach unten wandern. Um das Drucken mit verschiedensten Materialien zu ermöglichen, kann der gesamte untere Teil des Druckmoduls nach vorne gezogen werden. Hinter den Abholboxen befindet sich Platz für 24 Filamentrollen, die dann in die Drucker eingeführt werden, die das entsprechende Material benötigen.
Unsere Webapp - Modell analyse
Wie bereits erwähnt, basiert unser Konzept stark auf der Software. Im Wesentlichen handelt es sich dabei um eine Webanwendung, in der Benutzer ihre Drucke hochladen können. Nach dem Hochladen wird die optimale Druckausrichtung berechnet und dem Benutzer wird eine Zeitabschätzung basierend auf dem Druckprofil eines freien Druckers in der ausgewählten Druckfarm angezeigt. Falls man sich nicht gut mit 3D-Druck auskennt oder nicht viel Zeit für das Anpassen von Einstellungen aufbringen möchte, haben wir oben einen Schieberegler eingefügt, der von hoher Qualität zu hoher Geschwindigkeit verschoben werden kann. Basierend auf dieser Eingabe und allen verfügbaren Druckprofilen für einen Drucker berechnet die Software dann die optimalen Einstellungen. Darüber hinaus soll die Software das Modell analysieren und feststellen, ob Support-Material für den Druck sinnvoll wäre oder nicht. Sie wählt auch den richtigen Support-Typ aus, fügt möglicherweise einen Brim hinzu oder stattet nur bestimmte stellen mit einem kleinen Brim aus, um Warping zu vermeiden. Teile dieser Algorithmen haben wir bereits als Proof of concept programmiert, unsere Software kann bereits erkennen, ob ein Modell auf jeden Fall Support benötigt und bei Modellen einen kleinen Brim hinzufügen, wenn dieser benötigt wird.
Printfarmkonzept
Unser System ist davon abhänig, dass es in der Umgebung genug Drucker gibt die in unser System eingebunden sind. Aus diesem Grund ist das System so konzipert, dass es öffentliche Druckfarmen geben kann und Druckfarmen die zum Beispiel nur für eine Schule oder eine Universität zugänglich sind. Um das zu erreichen kann jeder Nutzer mehrere Email Adressen angeben und der Administrator einer druckfarm kann festlegen welche Email Adressen eine Druckfarm nutzen können. Mit *@hfg.design könnten zum beispiel alle Nutzer die Druckfarm Nutzen die die eine E-mail Adresse die auf @hfg.design endet mit ihrem account verknüft haben. Zusätzlich ist vorgesehen das Druckfarm Administratoren einer bestimmten Nutzergruppe bestimmte berechtigungen wie zum Beispiel einen Druckfreibetrag pro monat festlegen können.
Systeminfrastruktur
Da wir große Teile des Projekts bereits umgesetzt haben, möchte ich hier kurz auf die Infrastruktur und den Tech-Stack eingehen. Grundsätzlich verwenden wir eine “Client-Server-Architektur”, bei der das Frontend mit Nuxt und das Backend mit TypeScript und Express umgesetzt sind. Alle 3D-Ansichten im Frontend wurden mit Three.js entwickelt und die intelligenten Funktionen werden beim Client aus der STL-Datei berechnet.
Im Backend verwenden wir eine MongoDB und AWS S3-Speicher, um die Nutzerdaten zu speichern. Dadurch könnten wir später alles selbst hosten und haben mehr Flexibilität als bei einer SQL-Datenbank. Das Slicen wird von einem separaten Service durchgeführt, bei dem das Backend von Cura - Cura Engine in einem Docker-Container läuft und vom Hauptbackend gesteuert wird. Dabei wird eine Datei und ein Druckprofil verwendet. Das Druckprofil wird vom Druckfarm-Administrator erstellt und kann dann vom Nutzer angepasst werden. Wenn der Nutzer dies tut, wird das neue Druckprofil im Backend gespeichert.
Die Drucker verbinden sich über WebSockets mit dem Backend und halten die Verbindung offen. Dadurch kann mein Backend Anfragen an die Drucker senden, ohne dass ein Port im Netzwerk des Druckers geöffnet sein muss.
Bei der Skalierbarkeit der Software müssen wahrscheinlich noch einige Anpassungen vorgenommen werden, da das Slicen im Backend recht viel Ressourcen benötigt. Hier könnte man eventuell den Slice-Prozess zum Client verlagern und die Cura Engine, die in C++ geschrieben ist, mit WebAssembly (Wasm) für den Client kompilieren.
Ausblick
Leider konnten wir in der uns zur Verfügung stehenden Zeit nicht alle features umsetzen die wir angedacht hatten. Danach wäre es warscheinlich ein guter Plan wie oben angesprochen das Slicing clientseitig zu erledigen. Außerdem sollten wir den automatischen Druckabwurfprozess weiter ausbauen, dass dieser zuverlässig funktioniert und so schnell wie möglich geht. Zusätzlich wäre es schlau Platformen wie Thingiverse oder Printables in unser Frontend zu intigrieren, und Erweiterungen für CAD Programme wir Fusion 360 zu schreiben um den Druckprozess weiter zu vereinfachen. Außerdem wäre es cool einen der der Drucktürme in voller größe zu bauen und in das system zu intigrieren.
Nils Philipp, Fabian Rafreider
BetreuungProf. Michael Schuster, Benjamin Thomsen
VeröffentlichungWintersemester 2023 / 24
Tags
Kommentare
Anonym
Anonym
Anonym
Hinterlasse einen Kommentar