Forum: Mechanik, Gehäuse, Werkzeug Steppersteuerung über FluidNC


von Sebastian S. (s3bio)


Angehängte Dateien:

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

von Kire J. (kire_j)


Lesenswert?

Und warum kaufst du dir nicht eine fertige Platine von Bigtreetech M4P 
oder Octopus und hast du alles fertig!
Und bekommst du ein berg von möglichkeiten insbessondere mit M4P sowie 
mehr als genug informationen am YouTube und Google.

von Sebastian S. (s3bio)


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.

: Bearbeitet durch User
von Kire J. (kire_j)


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.

von J. S. (jojos)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.