Schrittmotoransteuerung für Selbstbau-Fräse

#1
Guten Abend zusammen,

ich bin gerade am Bau einer eigenen CNC-Fäße/3D-Drucker. Spaßeshalber würde ich gerne den G-Code Converter für Arduino selbst programmieren. Nun stellt sich mir eine grundsätzliche Frage, wie ich denn beim Verfahren der Achsen vorgehen muss, wenn ich z.B. einen Kreis oder eine Gerade fräsen möchte, die nicht in einer der Achsrichtungen liegt. Da ich die Motoren ja schrittweise steuern kann muss ich dann eine Art Rasterung meiner zu fahrenden Kurve durchühren und dann für jeden Steuerungsschritt einen Motor ansteuern oder auch nicht?

Falls jemand vielleicht Literatur oder Webseiten zu diesem Thema kennt, wäre ich sehr dankbar.

Viele Grüße
 

Christian Knüll

Erfahrener Benutzer
#2
Hallo,

das Stichtwort für Linien ist der "Bresenham Algorithmus". Das ist eigentlich ziemlich simpel und schnell erledigt.
Bei Kreisen wird es schon etwas schwieriger. Die einfach zu verstehenden Algorithmen benötigen zu viel Rechenleistung für einen Arduino (du kannst nicht ein paar hundert mal je Sekunde Cosinus und Sinus berechnen lassen), die schnellen Algorithmen bringen dagegen erst mal die Hirnwindungen durcheinander ;-)
Tricky wirds dann letztlich durch die Rampenerzeugung zum Beschleunigen und Bremsen. Es geht zwar auch ohne, allerdings sind dann nur sehr geringe Endgeschwindigkeiten möglich.

Zum einlesen: "GRBL" ( https://github.com/grbl/grbl ) ist eine interessante Arduino Steuerung die direkt "G-Code" schluckt und dann gibts noch mein "Estlcam Control" ( http://www.estlcam.de/ec_uebersicht.php ) das ebenfalls open source ist. Wobei beide eigentlich keine echten "Arduino" Projekte sind - sie nutzen den Arduino als Hardware, programmiert sind die Steuerungen allerdings in C (GRBL) bzw. Assembler (Estlcam Control), da Arduino Sketche dafür einfach nicht genug Rechenleistung abwerfen.
 
FPV1

Banggood

Oben Unten