Geeetech I3 X – Neue Marlin Firmware 1.1.5 mit Autobedleveling

Auf dem Geeetech I3 X ist ab Werk die Marlin Version 1.0.2 installiert. Es gab nun für eine lange Zeit eine Weiterentwicklung von Marlin und sehr viele RC (Release Candidates) aber keine stabile Version. Mit der Version 1.1.5 ist vor einigen Wochen eine neue, stabile Version erschienen. Zeit, dass diese Version auf meinen i3 X mit Autobedleveling kommt: klick

Im Paket ist eine Konfiguration (Configuration.h) für den I3 X dabei, diese ist aber sehr mäßig gepflegt. Also habe ich die Configuration.h, die Configuration_adv.h für das Autobed Leveling Setup optimiert und darüber hinaus folgendes konfiguriert:

  • Drehknopfrichtung wieder richtig konfiguriert
  • Motor Richtung so eingestellt, wie der i3 X geliefert wird
  • EEProm eingeschaltet. Damit kann man diverse Einstellungen am Drucker machen und speichern.
  • PID Regelung für den Extruder angepasst.
  • Serielle Schnittstelle auf 115200 Bit/s eingestellt.
  • Extruder Temperatur Fehlerüberwachung.

Der Vorteil der neuen Firmware für den I3 X sind nicht riesig, aber es lohnt sich die Pflege zu betreiben. Die Firmware ebnet auch den Weg zu den neuen TMC2100 Steppern mit 128iger Microstepping. Das wäre auch mal einen Versuch wert.
Weiterhin hat die alte 1.0.2 einige Probleme mit dem Compiler in den aktuellen Arduino Entwicklungsumgebungen. Man kann die alte Firmware nur mit Tricks oder den alten Arduinos IDEs übersetzen und das nervt doch gewaltig.

Ich habe zwei Pakete gepackt – beide sind für das Autobed-Leveling Setup; bitte nur mit Autoleveling verwenden!
Hier das Firmware Archiv, wenn man die normalen Gewindestangen für die z-Achse hat (M8x1.25): Marlin_1.1.5_i3-ProX-AutoBL-z-AxisM8x1.25

Hier das Firmware Archiv, wenn man wie ich Trapezgewindestangen TR8x1.5 eingebaut hat: Marlin_1.1.5_i3-ProX-AutoBL-z-AxisTR8x1.5

Installation der Firmware:
Die Installation ist einfach.

  • Aktuelle Arudino IDE installieren; ich habe die 1.8.1 genommen.
  • Drucker per USB an den Rechner anklemmen
  • Richtigen COM Port auswählen (Werkzeuge->Port)
  • Board auf Mega 2560 stellen (Werkzeuge->Prozessor)
  • Upload

Es dauert einige Minuten. Erst wird der Code übersetzt, dann hochgeladen. Dann kommt der Drucker mit einem neuen Splash-Screen hoch:

Nach der Installation:
Danach bitte erst mal per Drehknopf ins Menü des Druckers und den EEProm zurücksetzen und die Failsafe Einstellungen laden. Jetzt die Einstellgen speichern. Die Einstellungen sind unter Control im Menü:

Jetzt können wir uns das erste Mal über die EEProm Funktion freuen. Wir können nämlich jetzt den Abstand zwischen Autolevel Sensor und Düse im Menü einstellen. Die Einstellung ist unter Motion im Menü:

Nach die Einstellungen speichern.

Neues Starter Script:
Bisher hatte ich dazu geraten, den Abstand zwischen Düse und Sensor im Starter Script einzustellen. Das war sinnvoll, weil man den Abstand im alten Release nur durch das Einspielen einer neuen Firmware ändern konnte. Jetzt geht das im Menü und wir können das Starter Script vereinfachen:
G28 ; home all axes
G29 ; autobed leveling

Wenn sich in Zukunft der Wert änder (z.B. wegen neuer Düse), dann ändert man einfach den Wert im Menü, speichert die Settings und das war es auch schon. Die gCode Dateien müssen nicht mehr angepasst werden.

Unified Bed Leveling?
Ich habe mit dieser Firmware kurz die neue Unified Bed Leveling (UBL) Funktion ausprobiert. Das Ergebnis war nicht so gut, wie das bisherige 9-Punkte Verfahren. UBL ist auch noch in der Entwicklung. Daher habe ich wieder das bisherige Verfahren eingestellt.

Andere Sensor Position & Fehlermeldungen?
Vielleicht habt Ihr den Sensor an einer anderen Stelle als ich es vorgeschlagen habe. Dann müsst Ihr das in der Firmware anpassen und den Abstand zwischen Düse und Sensor anpassen:
#define X_PROBE_OFFSET_FROM_EXTRUDER 19 // ST
#define Y_PROBE_OFFSET_FROM_EXTRUDER -43 // ST
Eventuell bekommt Ihr dann beim Übersetzen Fehler. Die neue Firmware prüft beim Übersetzen, ob Düse und Sensor für das Autoleveling über dem Bett sind. Das ist ein konservativer Ansatz, um Crashes zu vermeiden. Wenn es schief geht, solltet Ihr das korrgieren und die anzufahrenden Postionen beim Bedleveling anpassen. Ihr könnt auch einfach die Checks ausknipsen. Die Ardino Entwicklungsumgebung setzt den Cursor nach der Fehlermeldung in die Zeile bei der der Fehler auftrat. Ihr solltet etwas mit static_assert da stehen haben. Kommentiert die Zeile aus:
//static_assert(…
Wenn es dann „knallt“ und der Drucker in die Begrenzung fährt, seid ihr das aber dann selbst Schuld.

Viel Erfolg!

10 Gedanken zu „Geeetech I3 X – Neue Marlin Firmware 1.1.5 mit Autobedleveling

    1. ST Artikelautor

      Hi Homwer,
      Ich kann das leider nicht testen, weil ich drn mechanischen Endschalter entfernt habe. Und ich möchte nichts online stellen, was ich nicht testen kann.
      Die Änderungen sind nicht komplex. Du musst eigentlich nur Autoleveling in der Configuration.h ausmachen und die Logik des z Endschalters herumdrehen.

      Gruss Stefan

      Antworten
  1. Gabriel

    Hallo,

    Ich habe einen kapazitiven Sensor NC. Dadurch habe ich die Logik für z-min auf true gewechselt. Beim homen von z, fährt er jetzt allerdings nach oben anstatt nach unten.

    Danke schon mal für die Hilfe.

    Antworten
    1. ST Artikelautor

      Hallo Gabriel,

      leider hat Geeetech unterschiedliche Firmwares und Kabelsätze für den Drucker in die Welt gesetzt. Die Richtung der Achsen ist teilweise unterschiedlich. Man kann die Drehrichtung der Achsen herumdrehen. Schau mal in die Configuration.h und suche diese Sektion:

      #define INVERT_X_DIR true
      #define INVERT_Y_DIR false
      #define INVERT_Z_DIR true
      

      Damit kannst Du die Drehrichtung von einzelnen Achsen herumdrehen. Damit sollte dann die FW auch bei Dir laufen. Alternativ kannst Du auch die Motorkabel umpinnen. Das würde ich aber nicht empfehlen, wenn Du eh schon dabei bist eine Firmware zu übersetzen und hochzuladen.

      Gruss Stefan

      Antworten
  2. Thomas

    Hallo Stefan,

    Ich möchte mir auch gerne einen 3D Drucker zulegen. Ich habe auch dem gleichen gesucht den auch Du im Betrieb hast. Den Geeetech I3 gibt es auf eBay in den unterschiedlichsten Ausführungen.
    Die Angebote starten bei130 Euro, ich verstehe aber nicht genau wo die Unterschiede sind. Kannst Du eine Empfehlung abgeben welchen Du dir holen würdest?
    Danke und Gruß
    Thomas

    Antworten
    1. ST Artikelautor

      Hallo Thomas,

      die Frage passt ganz offen gesagt überhaupt nicht zum Thema. Alle Geeetech Modelle kenne ich auch nicht. Generell würde ich darauf achten, dass die mechanische Qualität stimmt. Die günstigen 3D Drucker haben oft gedruckte Plastik-Teile. Das ist insbesondere an mechanisch beanspruchten Stellen nicht gut. Ansonsten gibt es große Unterschiede beim Netzteil, Board, Steppertreibern etc.
      Hier ist das Ganze OT, daher bitte in die Off Topic Ecke.

      Gruss Stefan

      Antworten
  3. Thomas

    Es gibt den Geeetech Prusa I3 als als Pro B, Pro C, Pro Die, Pro W, Pro X und ich kann den Unterschied nicht genau erkennen. Ist der X die neuste Revision oder bezieht sich der Buchstabe. Nur auf das Gehäuse?

    Gruß
    Thomas

    Antworten
  4. Harder

    Hallo,
    eine tolle Anleitung ! Ich habe die Version jetzt auf meinen Geetech prusa i3x angepasst, soweit funktioniert das Autobedleveling. Er fährt alle Punkte an und startet dann seinen Druck, nur bei einem Testwürfel sieht man schon nach 5-6 Lagen das der Turm in der Y-Achse stark nach hinten kippt. Ich schätze mal auf einen Winkel von ca. 45 grd. Wenn ich das G29 kmd. beim Start weglasse misst er seinen Z=0 Punkt und druckt akkurat senkrecht. Irgendwo muss ein Umrechnungsfaktor falsch angesetzt sein damit ein ein geringer Bed Winkel so stark verstärkt wird ? Ich habe die config.h komplett durchsucht und konnte nichts finden was auf diesen Fehler hinweist.

    Antworten
    1. Christopher

      Das selbe problem habe ich, mit meinem Prusa I3 Pro X auch.
      Es hat mich schon etliche Nächte und Nerven gekostet aber zu einer Lösung kahm ich bislang leider nicht.

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.