Techstage | Tests, Ratgeber und Kaufberatungen zu Smartphones, Smart Home, Computer und Technik, die Spaß macht

Einrichtung MainSailOS:

Bild:TechStage.de

Teile diesen Beitrag
Beliebt auf TechStage
Fertig aufgebaute 3D-Drucker ab 160 Euro: Auspacken und ohne Schrauberei Losdrucken
Smartphone-Halterungen fürs Fahrrad: Von Wasserdicht bis Powerbank mit Hupe und Licht
Klein, billig, praktisch: Notfallhandys zwischen 10 und 20 Euro
Die besten monatlich kündbaren Tarife im März 2021

MainsailOS macht FDM-Drucker schneller und ermöglicht eine komfortable Steuerung per Weboberfläche. TechStage zeigt, wie das 30-Euro-Upgrade in einer Stunde durchgeführt wird.

Dieses Anleitung erscheint in unserer Themenwelt 3D-Drucker. Hier sind in den letzten Monaten beispielsweise folgende Artikel erschienen:

Das Tutorial richtet sich an Nutzer, die schon eine Erfahrung mit dem Thema 3D-Druck gesammelt haben und jetzt das Beste aus ihren Druckern herausholen möchten. Grundlegende Kenntnisse über Begriffe aus dem Themengebiet sind unabdingbar. Rudimentäre Englischkenntnisse sind ebenfalls empfehlenswert. Die einzelnen Arbeitsschritte sind allerdings nicht besonders kompliziert und so sollte die Inbetriebnahme für die allermeisten Nutzer problemlos möglich sein.

In diesem Leitfaden wird auch beschrieben, wie die alte Firmware gesichert und erneut aufgespielt werden kann. Wer unsicher ist, ob der Umstieg sinnvoll ist, kann den Drucker so immer zurück in den Ursprungszustand bringen.

Die Einrichtung von MainSailOS wurde von einem zweiten Redakteur anhand dieses Artikels erfolgreich durchgeführt. Der komplette Prozess hat circa eine Stunde Arbeit gekostet.

In diesem Artikel geht es um die Einrichtung des Software-Paketes MainsailOS mit der 3D-Drucker-Firmware Klipper. MainsailOS basiert auf Raspbian Lite und besteht aus drei Teilen. Dieser verwandeln einen „einfachen“ Webserver in einen vollumfänglichen Steuereinheit für 3D-Drucker.

Das Hauptaugenmerk liegt auf MainSail, die eigentliche Weboberfläche für den Endnutzer. Diese ermöglicht beispielsweise die Steuerung und Beobachtung des Druckers per WLAN. Die Oberfläche ist schlicht gestaltet und somit sparsam in Sachen Rechenleistung. Dies ermöglicht den Betrieb auf verhältnismäßig schwachen Mini-Rechnern, wie dem Raspberry Pi Zero. Alternative Programme, etwa Octoprint, sind da vergleichsweise Ressourcen-hungrig, hier muss es ein deutlich stärkerer Mini-Rechner ran. Für unseren Workshop nutzen wir den Mittelklasse-Raspberry Pi 3A+.

Der zweite Teil von MainsailOS ist Moonraker. Dieser Programmteil ist für die Kommunikation zwischen Webserver und Drucker zuständig.

Das Herzstück von MainsailOS und der Teil auf den sowohl MainSail und auch Moonraker aufbauen, ist die Open-Source Firmware Klipper. Klipper ist, einfach gesagt, eine Alternative zur Firmware Marlin. Klipper ist aus der Erfahrung des Redakteurs deutlich benutzerfreundlicher einzustellen und bietet zudem folgende Vorteile:

  • Berechnung der Bewegungsdaten auf einem leistungsstarken Raspberry Pi
  • Änderungen an der Firmware, ohne neu zu flashen 
  • Deutlich schnellere Vorschübe, bei gleichbleibenden/besseren Druckergebnissen
  • Voreinstellungen für viele Druckermodelle verfügbar
  • An fast jedem günstigen Drucker anwendbar 
  • Optionaler Webcam-Support 
  • Regelmäßige und umfangreiche Updates 

Folgend eine Liste der benötigten Teilen und (kostenlosen) Programmen, um den 3D-Drucker auf MainsailOS und damit Klipper umzurüsten.

Hardware:

  • FDM-Drucker
  • Raspberry Pi (wir empfehlen einen Raspberry Pi 3A+ oder besser)
  • USB-Netzteil mit dem zum genutzten Raspberry Pi passenden Anschluss 
  • microSD Karte mit mindestens 8 GByte für den Raspberry
  • zweite microSD Karte mit beliebiger Speichergröße – mehr dazu später
  • Windows-PC und Cardreader 
  • USB-Typ B Kabel (Dieses gehört bei vielen Druckern zum Lieferumfang) 

Software:

Vor dem Beginn der Installation wollen wir darauf hinweisen, dass die einzelnen Schritte deutlich komplizierter aussehen, als sie es tatsächlich sind. Die wichtigen Punkte des Prozesses zeigen wir anhand von Screenshots. Wir empfehlen es, den kompletten Ablauf einmal komplett durchzulesen, bevor man dann schrittweise mit der Installation beginnt.

Für diese Anleitung haben wir den FDM-Drucker Sapphire Pro von TwoTrees (Testbericht) umgerüstet. Letztlich funktioniert die Anleitung aber auch mit Geräten wie dem Ender 3 (Ratgeber), Tronxy X5 SA Pro (Testbericht) oder dem Anet A8 (Testbericht A8 Plus). Lediglich die Einstellungen, welche später unter „make menuconfig“ und in der „Printer.cfg“ Datei getätigt werden, sind nicht universell anwendbar und müssen für jeden Drucker, besser gesagt für jedes Mainboard, separat in Erfahrung gebracht werden! Konkrete Hilfe bei der Umrüstung eines anderen Drucker-Modells gibt es in der jeweiligen Konfig-Datei. Diese sind hier bei Github zu finden. Der Rest dieser Installation ist universell anwendbar.

Bei vielen 32-Bit-Druckerboards ist es allerdings der Fall, dass das Flashen manuell durchgeführt werden muss und der Befehl „make flash“ nicht funktioniert. Wie das funktioniert erklären wir im Anschluss an diese Bilderstrecke. Die Benutzer von 8-Bit-Boards und diejenigen, wo der „make flash“ Befehl funktioniert hat können diese nächsten Schritte überspringen und direkt bei den Einstellungen auf der Weboberfläche (nächste Bilderstrecke) weiter machen.

Im Fall des Sapphire Pros mit dem Mainboard MKS Robin Nano muss die Firmware Datei noch mithilfe eines Scripts bearbeitet werden. Dazu wird in Putty folgender Befehl eingetragen und mit ENTER bestätigt:

./scripts/update_mks_robin.py out/klipper.bin out/Robin_nano35.bin 

Nicht wundern, es erscheint keine Meldung!

Nun können wir PuTTy schließen und die gerade erstellte Firmware-Datei von unserem Webserver holen.

Hierzu wird mithilfe eines FTP-Clients (in unserem Fall FileZilla) eine Verbindung zum MainsailOS Server aufgebaut. Dazu geben wir wieder die IP: „mainsailos.local“, den Benutzernamen „pi“, das Passwort „raspberry“ und den Port 22 in die entsprechenden Felder ein und bestätigen die Eingabe.

Nun navigiert man in dem rechten Fenster in den Ordner „Klipper“ und anschließend in den Ordner „out“. Das Verzeichnis heißt dementsprechend „/home/pi/klipper/out“. Hier wurde die mit dem Script überarbeitete Datei unter dem Namen „Robin_nano35.bin“ gespeichert. Bei anderen 32-Bit-Boards heißt sie schlicht „klipper.bin“. Diese Datei ziehen wir per drag&drop auf den Desktop. Im Fall, dass man kein Robin Nano Board verbaut hat und die „klipper.bin“ benutzt werden soll, muss diese vor dem nächsten Schritt noch in „firmware.bin“ umbenannt werden.

Jetzt wird die zweite microSD-Karte benötigt. Bei dieser ist die Speichermenge irrelevant, da die Datei „Robin_nano35.bin“ bzw. die „firmware.bin“ nur wenige Kilobyte groß ist. Diese microSD-Karte wird auch nur einmalig kurz zum Aufspielen der Klipper-Firmware benötigt und kann anschließend anderweitig genutzt werden.

Auf dieser Karte speichern wir nun die vorher am Desktop abgelegte Datei „Robin_nano35.bin“ oder „firmware.bin“. Die Karte sollte ansonsten komplett leer sein, um eventuelle Fehler auszuschließen.

Anschließend wird die Karte vom PC abgezogen und in den ausgeschalteten Drucker, an welchem vorher das USB-Kabel abgezogen wurde, eingesetzt. Nach dem Einschalten dauert es knapp eine Minute, bis die neue Firmware automatisch aufgespielt wurde. Nun wird der Drucker wieder ausgeschaltet und die microSD-Karte abgezogen.

Mithilfe der Speicherkarte können wir am PC überprüfen, ob der Flash-Vorgang funktioniert hat. Ist dort eine „ROBIN_NANO35.CUR“ oder „FIRMWARE.CUR“ zu finden, wurde die Firmware erfolgreich aktualisiert. FileZilla wird ab hier nicht weiter benötigt.

WICHTIG: Diese Datei bitte NICHT löschen, sondern aufheben! Mithilfe dieser Datei kann der Drucker in wieder den Ausgangszustand zurückversetzen. Dazu wird die Datei in „Robin_nano35.bin“ oder „firmware.bin“ umbenannt. Landet diese Datei auf einer Speicherkarte im Drucker, flasht dieser die Firmware nach dem Einschalten automatisch zurück. Nur in Einzelfällen ist es möglich, dass das alte Betriebssystem bei diesem Schritt unwiderruflich vom Drucker gelöscht wird. Dieser Fall ist uns aktuell allerdings nur beim Ender 6 und diesem speziellen Mainboard bekannt. Die originale Firmware ist alternativ auch beim Hersteller verfügbar.

Nicht wundern, dass nach dem Flashen der Firmware gegebenenfalls der Touchscreen oder das Display am Drucker nicht mehr funktioniert, das ist normal! Wer möchte, kann ein Raspberry Pi Display nachrüsten und die Klipper Screen Erweiterung installieren, um den Drucker alternativ ohne Weboberfläche bedienen zu können.

Nun ist der schwierigste Teil überstanden und es wird deutlich benutzerfreundlicher. Ab hier sind alle weiteren Einstellungen über die Weboberfläche einstellbar und die wahre Stärke von MainsailOS kommt endlich zur Geltung. Weiter geht es in der zweiten Bilderstrecke mit der Konfiguration der Weboberfläche.

Folgende Codezeilen werden für die „mainsail.cfg“ benötigt. Diese haben wir zusätzlich als Textdatei abgespeichert und in Dropbox zum Download hinterlegt.

Grundsätzlich gilt: Nach jeder Änderung von Einstellungen innerhalb der Dateien „printer.cfg“ oder „mainsail.cfg“ muss ein „Firmware Restart“ erfolgen. Dies erfolgt durch einen Klick auf „SAVE & RESTART“.

In den beiden Konfigurationsdateien können beispielsweise Bewegungsgeschwindigkeit oder Homepoint festgelegt werden. Falls der Drucker nicht nach 10 Sekunden nach dem Restart normal im Dashboard angezeigt wird, ist irgendeine Codezeile nicht korrekt. Langes Suchen des Fehlers ist aber nicht nötig, da der Fehler vom System konkret benannt wird.

Bevor man mit dem ersten Druckauftrag startet, sollten noch ein paar Dinge überprüft und eingestellt werden. Zuerst kontrollieren wir, ob die Endschalter noch korrekt funktionieren.

Hierzu kann man sich in MainSailOS unter dem Punkt SETTINGS in der Box mit der Bezeichnung Endstops eine Momentaufnahme der Endschalter anzeigen lassen. Dort sollten alle Endschalter einmal betätigt werden, um sie auf Funktion zu prüfen. Dabei muss während der Betätigung des Endschalters der Aktualisieren-Button gedrückt werden, um die Statusänderung in der Weboberfläche zu sehen.

Nun kann die Kalibrierung der Bewegungsschritte durchgeführt werden. Hierzu gehen wir auf das Dashboard und fahren die Achsen auf die Home-Position. Nun nehmen wir einen Messschieber oder ein Lineal und fahren mit dem Drucker per MainSailOS 100 mm in jede Richtung und messen, wie weit der Drucker tatsächlich verfahren ist.

Nun wird in der „printer.cfg“ unterhalb von [stepper_x] für die X-Achse, [stepper_y] für die Y-Achse oder [stepper_z] für die Z-Achse die voreingestellte „rotation_distance“ ausgelesen. Das Messergebnis und die „rotation_distance“ wird nun in folgender Formel eingetragen:

Dieses Ergebnis wird nun auf eine ganze Zahl gerundet (Beispiel 39,89 ^= 40) und als neue „rotation_distance“ für den überprüften Stepper eingetragen.

Diese Einstellung sollte für jede Achse und den Extruder durchgeführt werden und jeweils noch einmal überprüft werden!

Das PID-Tuning (also das Einstellen der richtigen Parameter zum Heizen der Heizpatrone bzw. des Heizbetts) erfolgt bequem über die „Console“ von MainSailOS. Für die Heizpatrone wird folgender Befehl benötigt (die Zahl hinter „TARGET=“ ist die am häufigsten von Ihnen benutzte Temperatur von Nozzle oder Heizbett) :

PID_CALIBRATE HEATER=extruder TARGET=200

Für das Heizbett sieht der Befehl wie folgt aus:

PID_CALIBRATE HEATER=heater_bed TARGET=60 

Dieser Vorgang kann (insbesondere beim Heizbett) ein paar Minuten dauern. Anschließend werden die Einstellungen mittels des blauen „SAVE CONFIG“ Buttons am oberen Ende der Website gespeichert.

Nun sind die wichtigsten Einstellungen in MainsailOS angepasst und der Drucker ist bereit.

Bei konkreten Fragen zu den Einstellungen und optionalen Funktionen von MainsailOS empfehlen wir die Seite www.mainsail.xyz. Bei Formeln und Befehlen ist grundsätzlich auf die Groß- und Kleinschreibung zu achten!

In folgendem Preisvergleich listen wir Beispiele zur benötigten Hardware auf und zeigen einige der Drucker, für die Konfigurationsdaten verfügbar sind.

Der komplette Einrichtungsprozess erscheint zunächst sehr kompliziert. Wer sich exakt an die Anleitung hält, sollte MainSailOS trotzdem problemlos installiert bekommen. Neben der Möglichkeit den Drucker direkt vom Rechner zu bedienen, auch wenn dieser in einem anderen Raum steht, gefällt uns besonders gut, dass Einstellungen an der Firmware mit nur wenigen Klicks umgesetzt werden können. Ein erneutes Flashen des Druckers ist dank der Kombination aus Klipper und MainsailOS nicht mehr notwendig.

Im Vergleich zu alternativen Möglichkeiten wie Octoprint, ist die Einrichtung etewas aufwändiger. Wartung, Updates und Veränderungen am System empfinden wir mit MainSailOS aber deutlich komfortabler.

Ähnliche Produkte im Test
Ender 3 vs. 3 Pro und 5: Kostet der beste 3D-Drucker nur 200€?
Mehr zum Thema
SLA-3D-Drucker: Reinigung vom Resin ohne große Sauerei
Mehr zum Thema
3D-Drucker: Billig oder teuer – das sind die Unterschiede
Mehr zum Thema
Ab 30 Euro: Mobilfunktarife mit unlimitierten Datenvolumen
Mehr zum Thema
Tags:

Affiliate-Information

- Bei den mit gekennzeichneten Links handelt es sich um Provisions-Links (Affiliate-Links). Erfolgt über einen solchen Link eine Bestellung, erhält TechStage eine Provision. Für den Käufer entstehen dadurch keine Mehrkosten.