Firmwareupdate

Neue Software? Her damit!

Das Melzi-Steuerungsboard auf dem 3D-Drucker benötigt, um zu funktionieren, eine Firmware. Diese ist dafür zuständig, die Befehle des PCs zu interpretieren, das Heizbett zu regeln, die Motoren anzusteuern und noch diverse andere Dinge. Hin und wieder gibt es dafür ein Update, welches man, sofern man Probleme hat oder von Verbesserungen profitieren will, aufspielen sollte.

Entgegen meiner üblichen Art habe ich die Firmware unter Windows 7 auf den Drucker übertragen, die Vorgehensweise ist allerdings unter Linux basierten Betriebssystemen fast identisch. Zuerst lädt man sich die Arduino IDE von hier herunter und installiert bzw. entpackt diese. Unter Windows würde ich die gezippte Version ohne Installer aus diversen Gründen bevorzugen.

Zudem muss man noch den aktuellen Snapshot der Firmware (genannt „Marlin“) von GitHub herunterladen. Dafür öffnet man die entsprechende Website und lädt eine gezippte Version des Snapshots herunter. Alternativ kann man auch einfach den Direktlink nutzen.

Nachdem man beides entpackt hat muss man noch den Ordner sanguino aus der Marlin-Firmware in den hardware-Ordner der Arduino IDE kopieren. Damit weiß die Arduino IDE, wie sie den Drucker ansprechen muss (welcher nun auch über das USB-Kabel an dem PC angeschlossen werden kann). Anschließend öffnet man die Arduinosoftware und wählt unter ToolsBoard den Eintrag Sanguino W/ATmega1284p 16 mhz aus.

Danach öffnet man innerhalb der Arduino IDE die Datei Marlin.ino aus dem Ordner Marlin und kommentiert in der Datei Configuration.h die entsprechenden Zeilen am Anfang der Datei aus:
// For instructions on setting these constants, see:
// Mendel: http://reprap.org/wiki/RepRapPro_Mendel_maintenance
// Huxley: http://reprap.org/wiki/RepRapPro_Huxley_maintenance

// Uncomment ONE of the next three lines - the one for your RepRap machine
#define REPRAPPRO_HUXLEY
//#define REPRAPPRO_MENDEL //Legacy Mendel
//#define REPRAPPRO_MENDEL2 //Tricolour and Mono

// Uncomment ONE of the next two lines - the one for your master controller electronics
#define REPRAPPRO_MELZI
//#define REPRAPPRO_SANGUINOLOLU

// Uncomment ONE of the next two lines - the one for the series resistors on your controller
#define SERIAL_R 4700
//#define SERIAL_R 10000

// Uncomment the next line if your machine has more than one extruder
//#define REPRAPPRO_MULTIMATERIALS

Den Wert SERIAL_R kann man aus dem Wert des Widerstandes ganz rechts auf der Steuerungsplatine ableiten. Dort befindet sich ein Widerstand (so ein kleiner, schwarzer Block mit 3 bis 4 Zahlen drauf, gleich unterhalb der Schraubklemme die mit etemp beschriftet ist), darauf sollte entweder 472 oder 4701 stehen (Dann muss die Zeile mit 4700 auskommentiert werden), steht dort etwas in der Art von 103 oder 1002 muss die Zeile mit dem Wert 10000 auskommentiert werden (Das auskommentieren besteht darin, die zwei „//“ vor der entsprechende Zeile zu entfernen).

Nachdem das getan ist klickt man in der Arduino IDE auf den Button überprüfen und, falls der Sketch kompiliert werden kann, auf Upload. Unter Umständen muss man noch unter ToolsSerieller Port den entsprechend Port auswählen, falls die Software den Drucker nicht findet. Damit wäre der Firmwareupload auch fertig.

Bei mir trat nach dem Firmwareupdate noch der Fehler auf, dass die X-Achse in die falsche Richtung fuhr. Um das zu korrigieren muss man lediglich die Reihenfolge der 4 Leitungen die zum Schrittmotor führen umkehren.
Revision 2 | 2014-03-20 19:36:09
Wer bin ich? | Impressum
Copyright © r3v0luti0n