Steppersteuerung über FluidNC

OP #7856980
Lesenswert?

Hallo,

wir möchten ein kleines cnc Projekt realisieren. Um mir die ganze Thematik mal wieder ins Hirn zu rufen hab ich erstmal nen esp32 Nodemcu zusammen mit zwei TMC2209 Treibern von Bigtreetech und nem Stepdown auf ein Breadboard gebaut (siehe Foto). Die Schaltung zieht EN am Treiber low damit der Treiber immmer aktiviert ist. MC1 und MC2 liegen ebenfalls auf Masse für Full-Step Konfiguration. Die Spannungspins werden mit 12V und 5V versorgt. Zur Steuerung werden STEP und DIR mit verfügbaren Pins am esp32 verbunden. Der Treiber soll also im Lagacy Mode betreiben werden.

Datenblatt Treiber: https://github.com/bigtreetech/BIGTREETECH-TMC2208-V3.0/blob/master/TMC2208-V3.0%20manual.pdf ESP32 Pinout: https://lastminuteengineers.com/wp-content/uploads/iot/ESP32-Pinout.png

Als ersten Test habe ich ein einfaches Arduino Skript geschrieben, das die Bibliothek "Mobatools.h" nutzt. Das funktionierte einwandfrei.

Für unsere Anwendung brauchen wir allerdings einen G-Code Interpreter und so sind wir auf FluidNC gestoßen, das sich sehr einfach über einen Webinstaller (installer.fluidnc.com) auf den esp32 flashen lässt. Die Oberfläche liegt nun im Netzwerk (siehe FluidNC.jpg) Zur Konfiguration der Software wird eine config.yaml geschrieben. Dazu ist eine Menge Dokumentation im Netz: http://wiki.fluidnc.com/en/home (die ganze Datei hängt an) Ich habe jetzt also genutzten Pins in die config eingetragen (hier nur ein Ausschnitt - in der Datei steht noch viel mehr drin, was aber vorerst unwichtig ist, da sich der Motor erstmal nur drehen soll).

1
stepping:
2
  engine: RMT
3
  idle_ms: 250
4
  pulse_us: 2
5
  dir_delay_us: 1
6
  disable_delay_us: 0
7
axes:
8
  x:
9
    motor0:
10
        step_pin: gpio.36
11
        direction_pin: gpio.39

Und das funktioniert nicht, also gar nicht. FluidNC kann den Treiber auch über UART ansteuern, allerdings muss es doch möglich sein, STEP ein pwm-Signal zu geben und DIR zu setzen. Oder sehe ich das komplett falsch? Kann mir vielleicht jemand Hilfestellung geben, denn ich komme nicht weiter.

beste Grüße

Angehängte Dateien:
OP #7857152
Lesenswert?

Die Boards von Bigtreetech sind für 3D Drucker ausgelegt. Dass ich Treiber von denen benutzt habe, war Zufall, weil ich noch nen Satz hier hatte. Ich dachte nicht, dass das problematisch wäre, da sie ja im Lagacy Mode funktionieren. Grundsätzlich hast du Recht und ich hab auch schon ein Board bestellt (dauert halt bis das da ist)

https://www.elecrow.com/tmc2209-pen-laser-fluidnc-cnc-controller.html

Das erfüllt mit 2 Achsen unsere Anforderungen und hat auch gleich nen SD Slot verbaut. Von der Hardware haben wir auch die yaml übernommen, da sie auch die gleichen Treiber verwendet und somit die Parameter haben sollte, die für uns wichtig sind - so zumindest die Idee.

Trotzdem würde ich die Software gerne verstehen und in der Lage sein, die Sache ohne dedizierte Hardware zum Laufen zu kriegen.

#7857175
Lesenswert?

Sebastian S. schrieb:

Die Boards von Bigtreetech sind für 3D Drucker ausgelegt. Dass ich Treiber von denen benutzt habe, war Zufall, weil ich noch nen Satz hier hatte. Ich dachte nicht, dass das problematisch wäre, da sie ja im Lagacy Mode funktionieren. Grundsätzlich hast du Recht und ich hab auch schon ein Board bestellt (dauert halt bis das da ist)

https://www.elecrow.com/tmc2209-pen-laser-fluidnc-cnc-controller.html

Das erfüllt mit 2 Achsen unsere Anforderungen und hat auch gleich nen SD Slot verbaut. Von der Hardware haben wir auch die yaml übernommen, da sie auch die gleichen Treiber verwendet und somit die Parameter haben sollte, die für uns wichtig sind - so zumindest die Idee.

Trotzdem würde ich die Software gerne verstehen und in der Lage sein, die Sache ohne dedizierte Hardware zum Laufen zu kriegen.

Ja kann man sagen das für 3d Drucker ausgelegt ist aber am grunde ist doch egal was wird gesteuert. Und hier passen deine treibern 1:1 dazu noch auf diese Paltine kannst du HDMI display und Can Bus anschliessen. Also wiel zu viel optionen nur eben woanders benützt. Und dem motoren ist doch wuscht was wird da gemacht ob eine 3D kustoff teil oder bsp. holz gefresst. Und hier hast du unzählige videos wo ist alles geklärt so das jeder verstehen was wird gemacht.

Probiere es mal.

#7857369
Lesenswert?

Ich habe das vor einiger Zeit zum Test genauso aufgebaut, hatte funktioniert. Ich kann später mal das Board suchen und die Konfig auslesen. Eventuell will das enable Signal noch konfiguriert werden. Da musste irgendwas freigeschaltet werden damit der Motor dreht, so zumindest meine dunkle Erinnerung.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren