Zum Inhalt springen
Home » Home » Projekte » TMC2209 und UART mit FluidNC

TMC2209 und UART mit FluidNC

Aus dem 3D-Druck-Bereich kennen viele Nutzer die TMC-Motortreiber, die einen sehr guten Ruf haben. Zum einen werden die Motoren damit deutlich leiser, zum anderen haben sie noch weitere Eigenschaften wie spezielle Konfigurationen, die zur Laufzeit eingestellt werden können. Dazu ist je nach Chip eine UART oder auch SPI-Schnittstelle nötig. Hier wird exemplarisch gezeigt, wie man TMC2209-Treiber benutzt und per UART-Kommunikation mit FluidNC Konfigurieren kann. Damit ist es auch möglich, den Laser auf “Sensorless Homing” umzubauen. Dabei misst der Treiber die Motorströme udn erkennt ohne einen extra Endschalter den Rahmen des Lasers. Allerdings ist diese Methode in der Regel ungenauer als physikalische Endschalter, daher ist das nur als Spielerei zu betrachten und in der Praxis eher nachteilig.

Angesprochen wurde ich dazu von Patrick. Er hat den Umbau gemacht und auch eine Dokumentation dazu verfasst. Ich habe die einzelnen Schritte nachvollzogen und eine eher generische Anleitung erstellt. Hier kommt zunächst der generische Teil, und dann der Bericht von Patrick, der an vielen Stellen noch mehr ins Detail geht. Weitere Informationen zu den Themen Firmware und FluidNC gibt es auch in diesen Artikeln:


UART-Kommunikation mit MKS-DLC32, TMC2209, FluidNC

Um die TMC-Treiber per UART anzusprechen, müssen entsprechende Pins auf dem Mainboard vorhanden sein. Auf dem MKS-DLC32-Mainboard sind die I²C-Pins SDA und SCL passend beschaltet und lassen sich als UART-Kommunikationsleitung nutzen. Dazu ist allerdings ein bisschen Lötarbeit erforderlich. Sowohl die Treiber, also auch die Leitungen zu den Treibern müssen gelötet werden.

Hier befindet sich das Datenblatt zu dem TMC2209: Link, und hier die Dokumentation zum DLC32-Board: Link

Vorbereitung der Treiber

Da der ESP32 mit 3,3V als Logik-Spannung arbeitet, die TMC-Treiber aber vom Mainboard 5V als Versorgungsspannung erhalten und entsprechend auch damit kommunizieren, könnte der ESP beschädigt werden. Das ist allerdings auch nie wirklich bestätigt worden, es sieht so aus, also würde es trotzdem funktionieren, siehe Kasten weiter unten. Die vielfach genannte Lösung ist, den Pin für die Versorgungsspannung am Treiber auszulöten. Der Treiber wird dann über die Motorspannung versorgt. Das macht dann allerdings keinen Unterschied, weil der TMC dann trotzdem mit 5V Logikspannung betrieben wird! Und da ich es so auch getestet habe, scheint der ESP das zu vertragen. Die einzige Lösung, um den TMC mit 3,3V zu betreiben ist, den VDD-Pin mit einer 3,3V-Spannungsquelle zu verbinden (ist auf dem MKS-Board vorhanden, z.B. direkt über den später genutzten SDA und SCL-Pins). Das muss man aber nur machen, wenn man drei Treiber benutzen will. Bei zwei Treibern kann man den Pin einfach dran lassen. Wenn man einen dritten Treiber benutzen will, sollte man den über 3,3V versorgen.

Bemerkung zur Spannung und Anzahl der Treiber. Wenn man nur maximal zwei Treiber verwenden will, braucht man am VDD-Pin nichts zu ändern. Man kann ihn angeschlossen lassen. Wenn man drei Treiber verwenden will, passieren seltsame Dinge. In meinen Tests haben drei Treiber nur dann erfolgreich funktioniert, wenn eines der Module eine andere Logikspannung hat als die anderen. Es funktionierte weder mit drei Modulen, die 5V verwenden, noch mit drei Modulen, die 3,3V verwenden. Es funktionierte NUR bei einer Kombination von 5V+5V+3,3V oder 3,3V+3,3V+5V. Das ist sehr seltsam und ich habe derzeit keine Erklärung dafür. Aber in beiden Fällen war der Test für alle drei Treiber erfolgreich. Mein Fazit ist: Der ESP kann mit 5V UART-Kommunikation arbeiten, aber nur mit zwei Modulen (und der Rest ist merkwürdig). Wenn jemand das genauer untersuchen möchte, kann er mich gerne aufklären 🙂 .

Update! Fabio hat herausgefunden, dass ein 470 Ohm Widerstand an der UART-Leitung (statt des 1kOhm Widerstands) dazu führt, dass alle drei Treiber zuverlässig erkannt werden. Das konnte ich reproduzieren. Also keine Änderung mehr am VDD Pin vornehmen, einfach so lassen und 470 Ohm verwenden.

Hinweis: Die Stepper-Treiber müssen die UART-Schnittstelle aktiviert haben. Beim MKS TMC2209 V2.0 wie auf meinen Bildern ist diese Konfiguration bereits aktiviert. Bei anderen Modellen/Herstellern muss man eventuell einen SMD-Widerstand einlöten, um die UART-Schnittstelle zu aktivieren. Siehe z. B. hier und hier.

Zusatz Sensorless Homing: wer dieses Feature der TMC-Treiber nutzen möchte, muss noch eine Leitung vom DIAG-Pin des Treibers mit dem Endschalter-Pin des Mainboards verbinden. Dazu lötet man ein Kabel wie folgt. Das rechte Bild zeigt noch ein Kabel am VDD-Pin zur Versorgung des Moduls mit 3,3V (nicht mehr nötig, siehe oben).

Anschluss der Kommunikationsleitung

Nachdem der Treiber vorbereitet ist, kann jetzt die Verkabelung erfolgen. Die erfolgt nach dem Schema im folgenden Bild. Man kann das direkt auf dem Mainboard löten, so wie Patrick das gemacht hat, oder fliegend verdrahten, wie in meinem Fall. Da ich das Board für viele Testzwecke nutze und die I²C-Schnittstelle auch anders verwende, wollte ich keine feste Verbindung auf dem Board haben. Das ist natürlich für den Dauereinsatz nicht so praktisch. Hier jetzt statt des 1 kOhm Widerstands einen mit 470 Ohm (oder zwei 1k parallel verdrahtet) einsetzen, dann klappt es mit drei Treibern ohne Probleme.

Referenzen im FluidNC-Wiki: TMC und UART.

So kann das dann jeweils aussehen (erst meine Bilder mit fliegender Verdrahtung, danach die Lösung von Patrick):

Im Anschluss setzt man über die DIP-Schalter die Adressen der einzelnen Treiber, das muss sein, da alle Treiber über die gleiche Leitung angesprochen werden und jedes Modul eine eindeutige Adresse benötigt. Die Schalter sollten folgendermaßen eingestellt werden:

Damit ist sowohl der Treiber als auch das Board vorbereitet.

Konfiguration von FluidNC

In FluidNC müssen zwei Einstellungen vorgenommen werden: 1. die UART-Schnittstelle an sich definieren und 2. für jeden Motortreiber die individuelle Konfiguration einstellen.

UART Schnittstelle definieren. In der config.yaml wird der folgende Abschnitt hinzugefügt:

#There is one UART defined here which is chared by all drivers. Drivers have individual
#adresses defined in the sections above
uart1:
  txd_pin: gpio.0
  rxd_pin: gpio.4
  rts_pin: NO_PIN
  baud: 115200
  mode: 8N1

Damit wird die Schnittstelle “uart1” erstellt und die oben genutzten Pins zugewiesen.

Für jeden Motor müssen dann noch die Parameter eingestellt werden, um die Features der Treiber zu nutzen (beachte: Der Wert für “addr” muss sich bei jeder Achse unterscheiden, wie oben eingestellt. “uart_num” bleibt immer gleich): (Dokumentation im FluidNC-Wiki, Abschnitt zu TMC2209)

  x:
    steps_per_mm: 80.000
    max_rate_mm_per_min: 6000.000
    acceleration_mm_per_sec2: 500.000
    max_travel_mm: 410.000
    soft_limits: true
    homing:
      cycle: 1
      allow_single_axis: true
      positive_direction: false
      mpos_mm: 0.000
      feed_mm_per_min: 150.000
      seek_mm_per_min: 500.000
      settle_ms: 250
      seek_scaler: 1.100
      feed_scaler: 1.200

    motor0:
      limit_neg_pin: gpio.36:high
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      tmc_2209:       <====================== ab hier neu
        uart_num: 1   #ID der oben angelegten Schnittstelle
        addr: 0       #Adresse des Treibers, wie per DIP-Schalter eingestellt

        #die folgenden Einstellungen entsprechend der eigenen Vorlieben wählen!
        r_sense_ohms: 0.120
        run_amps: 0.800
        hold_amps: 0.500
        microsteps: 16
        stallguard: 0
        stallguard_debug: true
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StallGuard
        use_enable: true
        step_pin: I2SO.1
        #change direction using direction_pin: I2SO.2:low
        direction_pin: I2SO.2:low
        disable_pin: NO_PIN

Jetzt sollte eine vollständige Nutzung der Treiber möglich sein. Im obigen Beispiel sind die Einstellungen schon so gewählt, dass Sensorless Homing genutzt werden kann. Bis man das aber gut für die eigene Mechanik eingestellt hat, kann es dauern.

In den Bildern sieht man meinen fertigen Testaufbau. Hier nur mit einem Treiber für die x-Achse inklusive Kabel für das Sensorless Homing und montiertem Kühlkörper (der war oben auf den Bildern noch nicht drauf). Hier dann noch der Bootvorgang bei diesem Board (Treiber Y und Z melden Fehler, weil keine auf dem Board stecken, wie oben zu sehen):

Treiber Y und Z waren nicht eingesteckt und werden daher hier als Fehler gemeldet.

Hier ist noch ein Beispiel mit drei verbundenen Treibern:

Hier ist meine komplette Konfiguration für das DLC32-Board mit den meisten Parametern optimiert für Sculpfun-Laser. Dieser Version kann man als Start nehmen und an die eigenen Gegebenheiten anpassen: Download


Dokumentation von Patrick

MKS DLC 32 V2.1 mit X-Achse und Y-Achse und MKS TMC 2209 V2.0 über UART laufen lassen

MKS DLC 32 V2.1 mit X-Achse und Y-Achse und MKS TMC 2209 V2.0 über UART ohne Display mit Fluidnc 3.7.0 laufen lassen
Es wurde Windows 10 22H2 zum Konfigurieren benutzt. Mein Dank geht an Skorpi, Tong, Bart Dring und Melvin für deren Hilfe.
Stand: Mai/Juni 2023

Vorwort

Ich hatte, wie wahrscheinlich viele andere auch, das MKS DLC 32 als Set bei AliExpress gekauft, was ich zu dem Zeitpunkt für eine gute Idee hielt. Enthalten war das Board MKS DLC 32 V2.1, das MKS TF-35 Display, 3 TMC 2209 und als Zugabe 3 von den roten Endstopp-Schaltern, keine Beschreibung oder Anleitung (das ist ein großes Problem, dass Makerbase so spärlich mit Informationen über die Hardware ist). Mit der von MKS (Makerbase) empfohlenen Firmware sollte mein Sculpfun S10 autark laufen. Es gibt z.Z. ca. 7 Firmware Versionen, mit denen ich nicht zufrieden war, auch hatte ich Probleme die Motoren zum Laufen zu bringen. Wie das dann so ist, beschäftigt man sich ausgiebig mit der Hard- und Firmware und es wurde schnell klar, dass die Firmware von MKS nicht wirklich toll ist. Ich schaute mich nach Alternativen um und wurde bei FluidNC fündig. Ich habe dann viel im Discord von FluidNC und in deren WIKI gelesen und immer wieder las ich, dass die TMC Treiber, nur wenn die über UART (Bussystem) laufen, auch alle Features der Treiber (Stallguard, Stealthchop usw.) funktionieren. Außerdem sind Werte über die Konfigurationsdatei veränderbar und mit Stallguard lässt sich die Maschine homen ohne Endschalter. Außerdem laufen die Motoren mit den TMC Treibern sehr leise und ruhig.

WARNUNG

Diese Beschreibung meiner Erfahrungen zu diesem Thema, die ich gemacht habe, setzt technisches Verständnis, Kenntnisse über den Umgang mit Soft- und Hardware und gute Lötkenntnisse voraus, da das Board und die Treiber umgelötet werden müssen. Wer sich nicht sicher ist, ob er das schafft, lässt das am besten bleiben. Man könnte auch bei z. B. bei Plottmania.de nachfragen, vielleicht hilft jemand, der Ahnung hat beim Umbau. Wenn Du die oben genannten Fähigkeiten besitzt und den Umbau machen willst, wirst Du die Garantie für Deine Hardware verlieren. Diese Beschreibung erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Du machst das AUF DEIN EIGENES RISIKO!

Vorgehensweise

Die FluidNC Firmware von Github herunterladen. https://github.com/bdring/FluidNC/releases/tag/v3.7.0 Die Datei fluidnc-v3.7.0-win64.zip (für Windows 10 PC) entpacken und eine Verknüpfung mit dem Verzeichnis zum Desktop herstellen. Das Verzeichnis enthält folgende Dateien, die für uns wichtig sind:

  1. Erase.bat (löscht den ESP32, alte Firmware, die schon auf dem ESP32 läuft, wird gelöscht)
  2. Fluidterm.bat (Terminalprogramm für FluidNC zur Kommunikation mit dem Board über USB)
  3. Install-wifi.bat (Installiert Fluidnc inklusive WiFi)
  4. Install-fs.bat (Installiert LITTLEFS Dateisystem für ESP32)
  5. Lesezeichen für das Fluidterm Wiki erstellen. http://wiki.fluidnc.com/fluidterm/fluidterm_usage. Als Erstes habe ich alle oben genannten Dateien bearbeitet, mit Notepad++ (https://notepad-plus-plus.org/downloads/) und die Baud-Rate von –baud 921600 auf –baud 115200 gesetzt. In Foren wurde empfohlen, die Baud-Rate zu reduzieren, wenn es Fehler gibt. Ich mache das prinzipiell, da ich es nicht so eilig habe 🙂 Beim ersten Start der Dateien, kann es sein, dass Windows 10 die Dateien nicht ausführen will, da das den PC schädigen könnte. Mein Virenscanner hat bisher bei den Dateien nicht gemeckert.

Als Nächstes habe ich das Board ohne installierte Treiber genommen und eine 12 Volt Verbindung hergestellt. Bitte darauf achten, dass das Board nicht nackt auf dem Tisch liegt (sauberer Tisch oder Platte, nicht leitfähig). Es sollten die LEDS für 3,3V, 5 V und 12 V angehen, sollte das nicht der Fall sein, liegt ein Fehler mit dem Board vor, sofort die 12 V abklemmen und das Board überprüfen. Sollten die 3 LEDs leuchten, wird eine USB-Verbindung zum Board hergestellt. Dann sollte auch die blaue LED auf dem Board leuchten (Wichtig!!! Wenn das Board gestartet wird, immer erst 12 V, dann das USB-Kabel. Wenn das Board neu gestartet wird: erst USB trennen, dann die 12 V, warten, bis die LED auf dem Board aus sind, dann 12V verbinden, dann das USB-Kabel verbinden!!! Diese Reihenfolge sollte immer eingehalten werden.).

Nun starten wir Erase.bat und lassen das Programm durchlaufen. Das Board nicht abklemmen oder vom USB trennen, während das Programm läuft. Ist das Programm fertig, wird das USB-Kabel getrennt, danach die 12 V abgeklemmt. Wir warten, bis alle LED aus sind.

Dann verbinden wir das Board mit 12 V und danach mit USB und starten Install-WiFi.bat. Auch hier warten wir, bis das Programm fertig ist, im Anschluss nach dem Install meldet sich Fluidterm mit verschiedenen Meldungen, die alle Grün sein sollten. Bis auf eine, die lautet: Could not open Configuratin File Config.yaml. Diese Meldung erschien bei auch und verschwindet, wenn wir unsere eigene Konfiguration laden und neu zuweisen. Wir starten das Board neu indem wir zuerst USB trennen und danach die 12 V. Wir warten, bis alle LED aus sind.

Nun starten wir das Board, indem wir die 12 V verbinden und danach das USB-Kabel. Nun starten wir Fluidterm.bat. Das Board meldet sich wieder mit den Standard-Nachrichten. Wir richten jetzt das Wi-Fi ein, in dem wir den Befehl (Vorsicht, bitte auf Groß- und Kleinschreibung achten!) : $Sta/SSID=Deine SSID eingeben, das Fluidterm sollte die Eingabe mit ok quittieren. Danach geben wir den Befehl: $Sta/Password=Dein_Wifi_Passwort ein, auch das sollte Fluidterm mit ok bestätigen.

Wir starten das Board neu (zuerst USB trennen, dann 12 V trennen, warten, bis alle LED aus sind, dann 12 V verbinden und danach das USB-Kabel verbinden). Nach dem Neustart sollte sich das Board mit dem mit Deinem WiFi verbinden, angezeigt wird das in den Nachrichten von Fluidterm (Verbundene IP-Adresse und Deine SSID). Das Verbinden beim ersten Mal dauert etwas, also bitte Geduld. Deine vorher eingegebene IP und SSID kannst Du über den Befehl: $Sta anschauen und ggf. korrigieren, mit den oben genannten Befehlen. Versuche Dich nun über einen Browser durch Eingabe der IP-Adresse mit dem Board zu verbinden. Wenn alles funktioniert, wirst Du die Fluidterm Maske sehen und kannst die Menüs wechseln mit einem Mausklick. Interessant für unser Vorhaben ist der obere Reiter FluidNC. Mit dem hat man Zugriff auf die Dateien vom Board und kann Daten hoch- oder herunterladen. Auch die Konfiguration lässt sich dort ändern.

Nun haben wir das Board neu mit Firmware geflasht und den Wi-Fi Zugang eingerichtet. Jetzt sollten wir das Board ausmachen, wie immer USB trennen, dann 12 V trennen, warten, bis alle LED aus sind und können mit den Lötarbeiten beginnen.

Wir benötigen eine Lötstation mit ca. 80W, 20 cm Telefondraht, ein 1k Ohm 1⁄4 W Widerstand (ich habe einen normalen Kohlewiderstand genommen, es geht aber auch ein SMD Widerstand) und eine ruhige Hand. Vor dem Löten, bitte darauf achten, dass man nicht elektrisch geladen ist (Man kann den Schutzleiter der Steckdose berühren, um sich zu entladen). Achtet darauf, dass Ihr nicht zu lange auf einer Lötstelle bratet, sonst können Bauteile beschädigt werden. Ich stelle meine Lötstation auf 360 Grad Celsius und versuche eine Lötstelle nicht länger als 10 Sekunden zu beheizen. Wenn das mal nicht geht abbrechen, ca. 5 Minuten abkühlen lassen und noch einmal versuchen.

Bild 1

Zuerst löten wir am Board auf der Rückseite eine Brücke x-Achse M2 Pin an y-Achse M2 Pin. Nun löten wir eine Brücke von y-Achse M2 an dem Pin SCL. Als Nächstes löten wir den Widerstand am I2C-Bus und verbinden SDA mit SCL. Siehe Bild1.

Wer jetzt noch Lust hat, zum Löten kann sich einen Taster mit Kabel an die RST Pins löten und hat dann einen Reset Schalter. Das wäre es nun für das Board, kommen wir zu den Treibern.

Bild 2

Wir benötigen Telefondraht (es müsste noch was von den 20 cm übrig sein) JST-XH Stecker 3 polig mit einem Krimppin. Als Erstes löten wir den VDO Pin von beiden Treibern aus, das ist der 2. Pin von rechts an der schwarzen Steckerleiste, siehe Bild 2. An dem Pin kommt 5V an, die der ESP32 (Intern mit 3,3 V) nicht verträgt. Der Treiber wird über VMot mit Strom versorgt, VDO dient nur der Referenzspannung, die wir für unseren Zweck nicht benötigen. Solltest Du die Treiber auf einem anderen Board verwenden wollen, musst Du den Pin wieder anlöten, ist doch klar, oder?

Bild 3

Wenn wir an beiden Treibern die VD0 Pins ausgelötet haben, löten wir die beiden Pins, links vom Poti gesehen aus. Bild 3. Diese haben keine Verbindung zum Board, daher brauchen wir diese nicht. Wir löten an jedem Treiber ein kurzes Kabel (ca. 6 cm) an den DIAG Pin und am anderen Ende löten wir den Krimppin vom JST Stecker. Der DIAG Pin gibt ein Signal an den Endstopp, ohne dieses funktioniert Sensorless Homing mit Stallguard nicht. Haben wir fertig gelötet, können die Treiber installiert werden.

Bild 4

Zuerst müssen wir noch die roten Kodierschalter, die unter den Treibern sitzen, eingestellt werden, siehe Bild 4, Board Oberseite, Schrift lesbar, Beschreibung des Kodierschalters von links nach rechts, oben = on, unten = off. X-Achse: on, off, off, y-Achse: off, on, off, z-Achse: off, off, off. Nun installieren wir die Treiber für die x-Achse (linke Seite) (bitte genau auf die Farbcodierung der Stiftleisten achten!) und drücken diese vorsichtig in die vorgesehenen Stiftsockel (grün und schwarz). Wenn die Treiber nicht leicht in die Stiftsockel gehen, nicht mit Gewalt drücken, sondern schauen, ob ein Pin verbogen ist, diesen dann mit Zange richten und erneut versuchen. Danach das Kabel in den mit S bezeichneten Pin der Endstopp-Buchse für die x-Achse stecken. So und jetzt das Gleiche für die y-Achse. Den Treiber vorsichtig in den Sockel der y-Achse einstecken und das Kabel mit der Endstopp-Buchse für die y-Achse stecken. Wir sind mit Löten fertig.

Bild 5

Bild 6

Als Nächstes kontrollieren wir das Board auf Kurzschluss, dazu nehmen wir uns eine Lupe und schauen uns genau unsere Lötarbeit an. Komisch aussehende Lötstellen im Zweifel ablöten und erneut anlöten, nicht zu viel Lötzinn auf die Pins bitte. Macht das bitte in Ruhe und nicht husch husch 🙂 Die Verbindungen müssen einwandfrei sein!

Wenn alles zu unserer Zufriedenheit ist, starten wir das Board, 12V verbinden, prüfen, ob die 3 LED 3,3V, 5V und 12V leuchten. Wenn nicht, sofort 12V trennen! Das Board erneut genau prüfen, ggf. nachbessern. Auch mal das Board im Fehlerfall ohne Treiber probieren, ob es läuft.

Wenn es läuft und die 3 LED leuchten, verbinden wir das USB-Kabel und starten Fluidterm.bat. Nachdem das Board vollständig mit Wi-Fi gestartet ist, drücken wir STRG+u, damit laden wir die Konfigurationsdatei auf das Board. Es geht ein Fenster auf und wir sollen eine Datei mit der Endung .yaml angeben. Wenn das getan ist, fragt uns Fluidterm, ob wir die Datei auf das Board laden wollen, wir bestätigen mit der Return Taste. Wenn alles fertig ist, meldet sich Fluidterm mit ok. Nun geben wir den Befehl: $Config/Filename=blablabla.yaml ein und bestätigen mit Return Taste. Wenn Ihr einen Reset Schalter angelötet habt, könnt Ihr den betätigen, um das Board neu zu starten, ansonsten … genau USB trennen, 12V trennen. Warten, bis alle LED aus sind, danach 12V verbinden, USB verbinden. Jetzt sollte sich Fluidterm mit nur grünen Nachrichten [MSG] melden und mit Wi-Fi verbinden.

Das war es so weit, jetzt könnt Ihr das Board herunterfahren und wenn es stromlos ist, die Motoren anschließen und probieren, ob alles funktioniert.

Die Konfigurationsdatei (.yaml) darf nicht in einem normalen Texteditor geöffnet werden, nehmt dazu Notepad++. Die Syntax ist wichtig, also schaut lieber dreimal, ob alles richtig geschrieben ist. Anweisungen in der Datei müssen immer mit etwas belegt sein, wenn nichts vorhanden ist, wird mit NO_PIN belegt, sonst werdet Ihr Fehler haben.

Die TMC2009 Treiber habe ich nicht eingestellt, also den Poti habe ich so gelassen, wie er war. Der Treiber wird nur über die Konfigurationsdatei gesteuert. Wie Ihr in der Konfigurationsdatei seht, läuft der Treiber normal in StalthChop und zum Homing wird StallGuard verwendet. Zu StallGuard kann ich sagen, dass die Mechanik der Maschine einwandfrei sein muss, gerade bei Diodenlasern, die auf 20×20 Aluprofil mit PU-Rollen laufen, muss geschaut werden, ob die „geschmeidig“ laufen. Wenn nicht, muss das repariert werden!

Wenn Ihr Homing=true gesetzt habt, könnt Ihr unter Fluidterm mit $H die Achsen homen.
Wenn Ihr die Maschine, nachdem sie gehomed ist, joggen wollt, benutzt Ihr folgenden Befehl: $J=X100 Y100 F100. Die Maschine sollte nun 100 mm in X und 100 mm in Y mit einem Feed von 100 mm/min. Was es noch für Befehle gibt, findet Ihr im FluidNC Wiki.

Viel Spass!