Für alle die einen 3D Drucker besitzen und diesen gerne direkt per Touchscreen steuern möchten, habe ich hier einmal grob zusammen geschrieben, was Ihr tun müsst, den Drucker auf Klipper mit KlipperScreen umzurüsten.
Klipper ist ganz einfach gesagt eine Software die Beispielsweise auf einem Raspberry Pi läuft und die Steuerung des Druckers übernimmt. Eine weitere Komponente ist Mainsail. Dabei handelt es sich um ein Web-Frontend, womit wir den Drucker über einen Browser von jedem beliebigen Gerät in unserem Netzwerk steuern können. Die Kommunikation zwischen Mainsail und Klipper erfolgt über die API Moonraker. Darüber lässt sich der Drucker ebenfalls in externe Systeme wie Home Assistant einbinden.
Das klingt jetzt erst mal alles kompliziert und nach viel Arbeit, geht aber eigentlich recht schnell von der Hand. Die größte Kunst besteht eigentlich darin, die passende Drucker-Konfiguration für den eigenen Drucker zu erstellen. Da diese aber von Drucker zu Drucker unterschiedlich ist kann ich hier keine konkrete Konfiguration zur Verfügung stellen, die jeder 1:1 übernehmen kann. Ich verlinke aber die Konfiguration meines Druckers als Grundlage.
Video zur Klipper Screen Installation
Zusätzlich zur Anleitung habe ich das ganze auch noch einmal in einem Video zusammengefasst:
Benötigte Hardware
Bevor wir loslegen hier einmal die wichtigsten Bauteile, die Ihr benötigt, um einen Touchscreen an eurem 3D Drucker zu betreiben.
Weitere Touchscreen Monitore findet Ihr im UPERFECT Store:
https://amzn.to/3vaOh6a *
Mainsail OS installieren (Enthält Mainsail, Moonraker und Klipper)
Beginnen wir nun mit der Installation von Mainsail OS. Dabei handelt es sich um ein Betriebssystem, welches direkt alle notwendigen Komponenten wie Mainsail, Moonraker und Klipper beinhaltet. So spart man sich direkt einiges an Arbeit.
Das Mainsail OS kann man als fertige Image-Datei für den Raspberry PI herunterladen und einfach mit einem Programm wie „Win32 Disk Imager“ auf die SD-Karte schreiben.
Die aktuellen Image-Dateien findet Ihr im GitHub Repository der mainsail-crew unter:
https://github.com/mainsail-crew/MainsailOS/releases
Das Image müsst Ihr nach dem Download entpacken und könnt anschließend die img-Datei mit Win32 Disk Imager auf die SD-Karte schreiben. Wählt dazu einfach als Image File die zuvor entpackte img-Datei aus und als Device den Laufwerksbuchstaben eures SD-Kartenlesers. Dann müsst Ihr nur noch auf „Write“ klicken und warten bis der Schreibvorgang abgeschlossen ist.
WLAN Zugang einrichten
Wenn der PI über WLAN in euer Netzwerk verbinden soll, müsst Ihr nun noch die Datei „mainsailos-wpa-supplicant.txt“ bearbeiten. Verwendet dazu einen Texteditor wie z.B. Notepad++ und nicht den normalen Editor aus Windows um Probleme mit Zeichensätzen und Sonderzeichen zu vermeiden.
Entfernt in der Datei die vorangestellte Rauten der 4 Zeilen entsprechend eurer WLAN-Verschlüsselung und tragt hinter ssid und psk eure SSID und Passwort ein.
KIAUH installieren
Nachdem Ihr MainsailOS incl. WLAN nun auf der SD-Karte eingerichtet habt, könnt Ihr diese nun in den PI stecken und diesen starten. Der erste Start dauert einen Moment. Anschließend sollte die Weboberfläche bereits über http://mainsailos.local erreichbar sein.
Nun verbindet Ihr mit Putty auf euren Raspberry PI. Dazu tragt Ihr bei Host Name ebenfalls „mainsailos.local“ ein, Port 22 sollte voreingestellt sein. Nun stellt Ihr durch einen Klick auf „Open“ die Verbindung her.
Standard Benutzer und Passwort lauten „pi“ und „raspberry“.
Nach erfolgreicher Anmeldung installiert Ihr mit den folgenden Befehlen KIAUH:
git clone https://github.com/th33xitus/kiauh.git
chmod +x kiauh/kiauh.sh kiauh/scripts/*
Nach Abschluss der Installation können Ihr KIAUH starten:
cd kiauh
./kiauh.sh
KlipperScreen installieren
Um nun Klipper zu installieren wählt Ihr den Menüpunkt 1.
Im Installationsmenü wählt Ihr nun 5 (KlipperScreen) aus.
Klipper Firmware flashen
Nun wechselt Ihr mit „B“ wieder zurück ins Hauptmenü und wählt nun den Punkt 4 (Advanced) aus. Hier wählt Ihr den Punkt 5 (Build + Flash). Ab hier muss der Drucker per USB mit dem Raspberry PI verbunden sein.
Im folgenden Dialog müsst Ihr die entsprechende Architektur und Prozessor-Modell entsprechend eures 3D Druckers auswählen und anschließend den Dialog mit [ESC] beenden um den Build der Firmware zu starten.
Anschließend müsst Ihr noch die „Regular flashing Method“ auswählen und anschließend den Seriellen Anschluss auswählen. Nach einer Sicherheitsabfrage startet dann der Flash-Vorgang und die Firmware wird auf den 3D Drucker geschrieben.
BOOT-CONFIG anpassen
Jetzt müsst Ihr noch die Boot-Konfiguration für die Verwendung eines HDMI-Monitors anpassen.
Dazu öffnet Ihr die Datei im Texteditor „nano“ mit folgendem Befehl:
sudo nano /boot/config.txt
Hier müsst Ihr nun die folgende 3 Zeilen einfügen
(Falls eine der Zeilen bereits vorhanden ist, müsst Ihr nur die fehlenden ergänzen)
max_usb_current=1
config_hdmi_boost=10
hdmi_force_hotplug=1
Klipper Screen in Update-Manager integrieren
Jetzt könnt Ihr noch dafür sorgen, dass KlipperScreen auch über den Update-Manager verwaltet werden kann. Dieser Schritt ist nicht zwingend notwendig, sorgt aber dafür, dass Ihr KlipperScreen auch über die Browser-Oberfläche aktualisieren könnt.
Öffnet dazu die Datei moonraker.conf ebenfalls mit „nano“.
sudo nano /home/pi/klipper_config/moonraker.conf
Nun fügt Ihr in der Datei die folgenden Zeilen hinzu:
[update_manager KlipperScreen]
type: git_repo
path: ~/KlipperScreen
origin: https://github.com/jordanruthe/KlipperScreen.git
env: ~/.KlipperScreen-env/bin/python
requirements: scripts/KlipperScreen-requirements.txt
install_script: scripts/KlipperScreen-install.sh
Alternativ könnt Ihr die Datei auch über die Mainsail Oberfläche im Browser bearbeiten und dort die Zeilen einfügen.
Nach einem Neustart erscheint nun auch KlipperScreen im Update Manager. Ebenfalls habt Ihr nun über das „Power Menü“ oben rechts die Möglichkeit KlipperScreen neu zu starten.
Drucker config: Beispiele im WebUI (mainsail) unter Maschiene – config_examples
oder im repo unter: https://github.com/Klipper3d/klipper/tree/master/config
Anmerkungen / Hinweise
- WARNUNG: KIauh nur drin arbeiten, wenn NICHT gedruckt wird!!! Startet gerne mal neu.
- Klipper Update am besten einmal Board neu flashen
(Falls build bereits konfiguriert wurde kann man im menü ESC drücken) - Für Load und Unload von Filament direkt im Klipperscreen müssen die zugehörigen Makros einen bestimmten Namen tragen:
[gcode_macro UNLOAD_FILAMENT] bzw. [gcode_macro LOAD_FILAMENT]
Weitere Informationen zu optischen Anpassungen:
https://smarthomeyourself.de/wiki/3ddruck/mainsail-theme-aendern/
https://smarthomeyourself.de/wiki/3ddruck/klipperscreen-theme-aendern/