Greenonline und ich haben diesen Abend damit verbracht, den Ender3 zu hacken / zurückzuentwickeln, um dies zu lösen. Greenonline schrieb darüber auch in seinem Blog .
Schritt 1 - Holen Sie sich die Firmware
Dazu gibt es grundsätzlich zwei Möglichkeiten:
- Suchen Sie eine gebrauchsfertige Firmware
- Mach dein eigenes
Variante 1 wäre die Verwendung der vorab bereitgestellten .hex-Dateien von Creality oder einem anderen Hersteller. Variante 2 bedeutet, dass Sie die Einstellungen selbst schreiben oder die Repetier-Firmware verwenden , um die Dateien für Sie zu schreiben. Im Fall des Ender 3 verwendete der Chip leider disqualifizierte Repetier-Firmware, daher ist das Schreiben selbst die einzige Option.
Um die Firmware selbst zu schreiben oder die Repetier-Firmware zu verwenden, benötigen Sie die alten Einstellungen. Um diese zu erhalten, schließen Sie den Drucker über USB an, verbinden Sie ihn mit einer Software wie Repetier Host und senden Sie ihn M503
, um alle Einstellungen zu erhalten.
Hacken Sie diese jetzt entweder in die Repetier-Firmware oder verwenden Sie ein Leerzeichen Marlin.ino
und die Arduino-IDE, um sie anzupassen. Im späteren Fall müssen Sie den Ordner Marlin-?.?.X.ZIP/Marlin-?.?.X/Marlin
in den Arduino
Ordner unter Dokumente (Windows) oder Startseite (Mac) legen . Öffnen Sie nun die Marlin.ino
in Arduino IDE . Richten Sie die neue Firmware mit diesen Basiseinstellungen ein oder passen Sie sie nach Bedarf an.
Schritt 2 - Anpassen
Nachdem wir nun unsere Konfigurationsdateien haben (am Ende haben wir Schritt 1 so gut wie übersprungen und uns eine passende ( deutsche! ) Von Christian , einem deutschen Hersteller, der auch als "Chaos-Drucker" bekannt ist, geholt), müssen wir sie zuerst nach Bedarf anpassen um unseren Bedürfnissen gerecht zu werden und sie dann richtig zu kompilieren (nächster Schritt!). Als alternative ( englische! ) Basis für die Arbeit ist auch die TH3D-Firmware verfügbar, die von den Hooglands und dem Team von TH3D bereitgestellt wird.
So lassen Sie uns öffnen Sie Marlin.ino
mit Arduino und finden Sie die X_MIN_POS
( CTRL
+ F
> X_MIN_POS
> Alle Skizzen Suche).
In den von uns Configuration.h
erfassten Konfigurationen enthält die Skizzendatei die Zeilen 786-789 (kann abweichen) :
// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS -10
#define Y_MIN_POS -15
#define Z_MIN_POS 0
Passen Sie diese an, bis die gewünschte Position erreicht ist - Repetier Host kann hier helfen, die richtige Position zu bestimmen.
Schritt 3 - Kompilieren
Der schwierigste Schritt mit dem Ender3 bestand darin, den Code tatsächlich zu kompilieren, da er ein ATmega1284P 16Bit verwendet, das von Arduino nicht nativ unterstützt wird. Der MightyCore unterstützt diesen Chip zwar, kann jedoch nicht mit dieser Hardwarebibliothek kompiliert werden. Christian hat jedoch herausgefunden, dass der Sanguino , der auf einen ATmega 1284P 16bit eingestellt ist, funktioniert. Diese gehören als extrahierte Ordner in den Arduino/hardware
Ordner, normalerweise in Ihre Dokumente (wenn Sie Windows verwenden) oder Home (auf dem Mac). Jetzt haben wir gesetzt Tools>Board:> Sanguino
undTools>Processor:>ATmega1284 or ATmega1284P (16 MHz)
Außerdem musste U8glib.h für Arduino installiert sein. Laden Sie dazu die Zip-Datei von github herunter, dann in die Arduino-Software Sketch>Include Library>Add .ZIP Library...
und wählen Sie das gesamte Zip-Repository aus, das automatisch installiert werden soll.
Mit diesen Einstellungen konnten wir die Einstellungen kompilieren.
Schritt 4 - Auf die Maschine bringen
Die meisten Leute würden erwarten, jetzt über Bootloader und Flashing zu lesen, und das ist in der Tat eine Option. Aber da ich gerade herausgefunden hatte, wie man Firmware von .hex installiert, fragte ich mich: Können wir aus unseren Einstellungen keine .hex-Dateien erstellen? Und ja, Arduino unterstützt dies .
Drücken Sie in der Arduino IDE Ctrl
+ Alt
+ S
(oder Sketch > Export Compiled Binary
). Dies führt zu zwei Dateien:
Marlin.ino.sanguino.hex
Marlin.ino.with_bootloader.sanguino.hex
Von diesen beiden Marlin.ino.sanguino.hex
ist das interessante für "direktes Blinken" über CURA. Verwenden Sie diese Datei mit dem Prozess bei Schritt 2 beginnen hier oder Verwendung eines Greenonline Lösungen , die Firmware zu erhalten geblitzt - kein Bootloader benötigt!