Stepcraft mit FluidNC betreiben

Die StepCraft ist eine erstklassige Wahl für Hobbyisten. Für die Stepcraft gibt es verschiedene CNC-Steuersoftware. Auf der Hauptplatine befindet sich ein Anschluss für die verschiedenen Steuerplatinen. Beim Kauf hatte ich ich mich für WinPC-NC D-Serie (USB) entschieden.
Es gibt aber auch noch UCCNC und und das Parallel-Modul OEM-Paket (Parallelschnittstelle).
Die Software WinPC-NC und UCCNC ist recht teuer und läuft nur unter Windows.
Windows ist aber der Hauptgrund, warum ich den WinPC-NC Controller nicht mehr nutzen möchte.
Es gibt aber auch noch EstlCam das mit Parallel-Modul funktioniert, hier stimmt der preis.
Leider aber auch nur unter Windows lauffähig.

Für Tüftler kein Problem! Man kann die Stepcraft mit Arduino (GRBL) steuern.
Für Arduino gibt es einige Anleitungen zur Verwendung mit Stepcraft. Für FluidNC habe ich nichts gefunden und musste mich selbst einarbeiten. Für mich hat es sich gelohnt, da ich jetzt nicht mehr an Microsoft gebunden bin. FluidNc benötigt nur WLAN und ein Gerät mit Browser. Das kann auch ein Smartphone sein.

Aktuell sieht der FluidNC Controller meiner Stepcraft 2 mit Performance Kit 840 so aus:

Bei der Stepcraft sind die Endschalter Z und X miteinander verbunden.Die habe ich jetzt getrennt. Das ist aber ziemlich aufwendig, denn am Ende hatte ich fast alles auseinandergenommen und war mir nicht sicher, ob ich es wieder hinbekomme.Es ist auch sehr wenig Platz für die zweite Endschalterleitung, aber es geht. Es sollte auch ohne diesen Umbau funktionieren, das ist das Schöne an FluidNC. Da es einfach über eine YAML Datei konfiguriert wird. Es ist aber ratsam lieber die X,Z Endschalter zu trennen, da man nur so sagen kann, ob jetzt X oder Z den Schalter auslöst.

Zum Schalten der Relais ist ein I2C-Pegelwandler erforderlich.Dies ist jedoch nur erforderlich, wenn eine Schalteinheit SE 2300 für externe Verbraucher verwendet wird, um den Staubsauger oder die Spinndüse automatisch zu starten.Das ESP32 hat ein Low-Pegel-Signal (3,3V), aber es wird ein High-Pegel-Signal (5V) benötigt. Das kann man auch selbst bauen, aber der Platz ist knapp, deshalb die fertige Lösung. Einfach nach einem „5V, 3.3V 4 Kanal Level Shifter“ suchen. Da die 5V vom ESP32 kommen, muss unbedingt eine Diode verwendet werden. Achte darauf, dass die USB 5V nicht überlastet wird. Zieh eine Diode in Betracht, die es ermöglicht, dass die 5V-Hauptspannung dich mit Strom versorgt, aber der USB-Anschluss kann den Rest des Controllers nicht versorgen. Zieh eine Diode in Betracht, die es ermöglicht, dass die 5V-Hauptspannung dich mit Strom versorgt, aber der USB-Anschluss kann den Rest des Controllers nicht versorgen.

Ein RC-Filter wird benötigt, um langsame Spannungsänderungen an den Prozessor weiterzuleiten. Dadurch werden schnelle Spannungsänderungen unterdrückt, da sonst z.B. ein Endschalter fälschlicherweise ausgelöst wird, obwohl der Schalter frei ist.

Auf der Hauptplatine müssen die Endschalter Y1 und Y2 mit Brücken versehen werden. Da bei der Stepcraft der Referenzschalter am Ende (Y-Achse) positiv ist und X und Z negativ. Die Endschalter werden nicht mehr auf der Hauptplatine, sondern am ESP32 angeschlossen. Dort sind jetzt alle Schalter positiv.

 

YAML Config:

Hier einige Erläuterungen, wie ich zu diesen Werten gekommen bin:

pulse_us:

pulse_us hat keinen Einfluss darauf, wie weit sich die Maschine bei jedem Schritt bewegt. Es steuert, wie lange jeder Schrittimpuls aktiv gehalten wird, bevor er in den inaktiven Zustand zurückkehrt, um den nächsten Schritt vorzubereiten. Einige alte Stepper-Treiber haben eine langsame Elektronik, die einen zu kurzen Schrittimpuls möglicherweise nicht bemerkt. Die meisten modernen Treiber können recht kurze Impulse „sehen“, aber es gibt auch einige alte Treiber, die einen Impuls erst nach 10 Mikrosekunden Länge bemerken.

steps_per_mm:

Laut Stepcraft Maschenenparameter hat die Achsauflösung 400 Schritte / Umdrehung und läuft in Halbschrittbetrieb. Also 400 Schritte / 1 Umdrehung x 1 Umdrehung/3mm

400/3 = 133,333333333

Also muss für jede Achse X,Y und Z bei steps_per_mm: 133.333333 angegeben werden.

relay:
direction_pin: NO_PIN
output_pin: gpio.22
enable_pin: NO_PIN
disable_with_s0: false
s0_with_disable: true
spinup_ms: 0
spindown_ms: 0
tool_num: 0
speed_map: 0=0.000% 0=100.000% 1=100.000%
off_on_alarm: false

Für die Schalteinheit für externe Verbraucher SE-2300. Damit wird die Frässpindel oder euer Staubsauge per G-Code ein/aus geschaltet