GRBLhal auf SKR 2 für eine MPCNC

Vor einer Weile hatten mein Schwager und ich beschlossen, es wäre ein lustiges Projekt, um unsere MPCNCs zu bauen, ein jeder. Angesichts der Tatsache, dass wir beide in der Schweiz zu der Zeit waren, war die Beschaffung von Teilen nicht trivial, noch billig. Es machte Sinn, die Aufträge zu gruppieren, und ich habe die nötige Erfahrung im 3D-Druck und die Maschinen dafür.

Wir bezogen die Hardware-Kits von einem Ort in Deutschland, der damals die M4/M8-Variante der MPCNC Burly-Kits verkaufte. Und dann kam uns das Leben in die Quere, wie es das immer tut. Ich wurde Vater, er nahm einen neuen Job an und musste über die Landesgrenzen hinweg umziehen.

Aber in letzter Zeit brauchte ich eine CNC-Fräse auf Grbl-Basis, und ich dachte: “Moment mal, ich habe diese Kisten mit Teilen und Schläuchen, die ich brauchen kann!” Also habe ich die Kiste entstaubt, die Stahlrohre aus dem Keller geholt und mich auf die Suche nach einem Möbelstück gemacht, um die Maschine darauf zu montieren.

Ein paar Tage der Montage später hatte ich meine MPCNC bereit für die Verkabelung und Elektronik. Die Verdrahtung ist noch nicht abgeschlossen, da ich die Maschine mit einem Stifthalter anstelle der 500W, ER-11 ausgestatteten Spindel von Aliexpress testen werde.

Ich hatte ursprünglich ein RAMPS Mega2560 Board von Aliexpress bestellt, um Grbl zu betreiben. Ups. Es hat den Rauchtest nicht bestanden. Buchstäblich.

Also habe ich mich auf die Suche nach einem anständigen Controller gemacht, auf dem ich GRBL oder GRBLhal laufen lassen konnte. Ich fand ein preisgünstiges und ziemlich nahes SKR 2-Board mit TMC2209-Step-Sticks, das die Rechnung erfüllen würde.

Sobald es hier ankam, begann ich mit der Arbeit, GRBLhal darauf zu flashen. Die Methode ist ähnlich wie beim Flashen der Marlin- oder Klipper-MCU-Firmware auf ein beliebiges BTT-Board, man legt die firmware.bin auf die SD-Karte, lässt sie hochfahren, zieht die SD-Karte heraus, verifiziert, dass die Datei nun FIRMWARE.CUR heißt, und schon ist man fertig.

Außer… nicht ganz. Das verdammte Ding taucht nicht auf dem USB-Stick auf! Was sehr merkwürdig ist. Ich hatte das Gerät getestet und die werkseitige Test-Firmware wurde angezeigt, also wusste ich, dass die Hardware in Ordnung war. Aber die Platformio-Konfiguration enthielt jedes Flag, das ich in den Platformio- und GRBLhal-Dokumentationen finden konnte.

Nach 24 Stunden Frustration, etwas Schlaf und einer Menge Google-Suchen stieß ich auf diesen speziellen Platformio-Forumsthread, in dem beschrieben wird, dass die Standard-Platformio-Build-Parameter den USB-CDC-Treiber nicht richtig auf dem Controller einrichten.

Ein Anhaltspunkt wurde gefunden, ein Thread gezogen und ein Geheimnis gelüftet. Das nächste, was ich wusste, war, dass die Maschine irgendwie funktionierte. Das einzige Problem, auf das ich dann stieß, war, dass eine dieser lästigen JST-XH-Verbindungsklemmen nicht richtig funktionierte, was dazu führte, dass sich einer der Stepper nie richtig bewegte.

Als das alles gelöst war, war es an der Zeit, weiterzumachen. Und er bewegte sich auch!

Tadaaaa!