Schrittmotoransteuerung CNC-Fräse

Gast #2507969
Lesenswert?

Ich habe vor eine kleine µC gesteuerte CNC-Fräse zu bauen. Die 
Schrittmotortreiber (4 Pins vom µC + Treiber) sind ok, ich frage mich 
aber, wie ich mehrere Schrittmotoren zugleich ansteuere und diagonal und 
im Kreis zu fahren.

Hat jemand Erfahrung mit so was und könnte mir bei meinem Problem 
helfen. Ich suche einen Ansatz und das Problem zu lösen. Ideal wäre es, 
wenn ich einfach die x/y Koordinaten von Start und Endpunkt eingebe bzw 
über RS232 sende und die Fräse die Strecke dazwischen automatisch 
abfährt.
Persönliche Seite #2507991
Lesenswert?

@lötkolben (Gast)

> Ideal wäre es,wenn ich einfach die x/y Koordinaten von
> Start und Endpunkt eingebe

schau mal hier ... z.B. als Anregung

http://www.planet-cnc.com/

hatte auch überlegt so was selber zu machen ...
aber für das Geld und den vielen bereits integrierten Features ...
habe ich mir ein "CNC USB controller Mk1 (4 axis)" gekauft und
verwende die eingesparte Zeit lieber für den Bau der Fräse ...

Gruss Ralf
Gast #2508025
Lesenswert?

Hallo Lötkolben!

Schau dir mal diese Seite an:

http://www.ipd.uka.de/~buchmann/microcontroller/bresenham.htm

der Herr Buchmann hat das sehr schön erklärt mit einem 2051 Prozessor.
Ich habe das vor einiger Zeit mit einem Atmega nachgebastelt
und ...  läuft!
Wird über USB/Seriel Wandler mit PC verbunden. Muss nur noch ein 
gescheites
Programm für den PC basteln mit DIN- oder/und HPGL-Ansteuerung.
Habe die ganze Sache mit BASCOM geschrieben und Prozessor 14,318 MHz 
Quarz.
Läuft im Timer1-Interrupt.
(Geschwindigkeit ist auch OK bei Halbschrittbetrieb!)

Holger
#2508238
Lesenswert?

Andreas B. schrieb:
> Es gibt dazu bereits fertige Software, falls du interessen hast:
>
> Ich glaube dieser Link wars, leider ist die Seite heute Dunkel, ihr
> wisst ja, http://de.wikipedia.org/wiki/Wikipedia:Protest_gegen_SOPA
>
> http://dank.bengler.no/-/page/show/5470_grbl?ref=mst
>
> Aber Morgen sollte der Link wider gehen, sofern ich das richtige
> Bookmark erwischt habe;-)
>
>
> mfg Andreas

Hallo,

das Projekt ist umgezogen nach

https://github.com/grbl/grbl

mfg Matthias
Moderator Persönliche Seite #2508271
Lesenswert?

lötkolben schrieb:
> Ich habe vor eine kleine µC gesteuerte CNC-Fräse zu bauen. Die
> Schrittmotortreiber (4 Pins vom µC + Treiber) sind ok, ich frage mich
> aber, wie ich mehrere Schrittmotoren zugleich ansteuere und diagonal und
> im Kreis zu fahren.

Das musst Du Dich nicht mehr fragen - das haben schon andere vor Dir 
getan und brauchbare Lösungen gefunden und kostenlos zur Verfügung 
gestellt :-)

> Hat jemand Erfahrung mit so was und könnte mir bei meinem Problem
> helfen. Ich suche einen Ansatz und das Problem zu lösen. Ideal wäre es,
> wenn ich einfach die x/y Koordinaten von Start und Endpunkt eingebe bzw
> über RS232 sende und die Fräse die Strecke dazwischen automatisch
> abfährt.

Schau Dir mal das kostenlose EMC an (www.linuxcnc.org). Das ist ein 
Linux mit Echtzeitunterstützung, mit der man bspw. direkt über den 
Druckerport die Endstufen ansteuern kann.
(Die gibt es auch als live-CD, also ohne Installation zum Testen)

Mit dem System kann man eigentlich alles erschlagen (hier laufen zwei 
Maschinen genau damit).

EMC2 verarbeitet G-Code, der auch das von Dir angesprochene Verfahren 
nach X/Y, Kreisfahrten, Radiuskompensation, Beschleunigung/Verzögerung 
usw. leistet.

Selbst in einem µC würde ich das nicht aufbauen. Unterschätz die Arbeit 
nicht, gerade, wenn mehrere Achsen absolut synchron laufen müssen.

Chris D.
Gast #2511432
Lesenswert?

> das ist mit Bresenham noch das trivialste.

Aber nicht optimal.

Da die Taktimpulse dann in einem zeitlichen Raster liegen,
obwohl die Zeit eigentlich besser aufgelöst werden könnte,
entsteht eine unnötige Rauhheit der Kurve.

Besser wäre es, die Zeitpunkte, zu denen jeweils ein
X Takt erfolgt exakt auszurechnen, und davon unabhängig
die Zeitpunkte zu denen ein Y-Takt erfolgen soll, und
die dann mit möglichst hoher zeitlicher Auflösung einzuhalten.
#2511633
Lesenswert?

lötkolben schrieb:
> Wenn ich die Software von http://www.linuxcnc.org verwende, wie muss
> dann die Hardware (Pinbelegung des Parallelport) aussehen?

Diese kannst du in LinuxCNC frei konfigurieren. Die einfachste Art wäre 
eine Steuerung mit zwei Pins pro Achse (Richtung und Takt). Schau dir 
mal den Screenshoot unter [1] an, da bekommst du schon mal einen 
Eindruck davon.
Früher hätte man dafür pro Schrittmotor jeweils einen L297 und L298 
benutzt. Heutzutage gibt es aber schon deutlich bessere ICs zur 
Ansteuerung der Motoren.

Ich betreibe selber eine CNC Fräse Marke Eigenbau mit LinuxCNC und kann 
sagen, dass es kaum eine bessere und mächtigere Software dafür gibt. :)

Ciao,
     Rainer

[1] 
http://www.linuxcnc.org/docview/html/config_stepconf.html#sub:Parallel-Port-Setup
Gast #2512279
Lesenswert?

Ich habe vor einer weile das gleiche versucht Bresenham und 
Kreisberechnung alles kein Problem aber die Start und Stop Rampen für 
die Motoren...

Am ende  bin ich zu dem Ergebnis gekommen das eine "Professionelle" 
Steuerung 1000 mal besser ist...

Mein Vorschlag währe das kostenlose Emc2 ( http://www.linuxcnc.org/ ). 
kannst du als Live cd runterladen brauchst nix instalieren nur die 
Schrittmotorkarten an deinen Lpt anschlißen Motoren und Maschiene 
einstellen und dann kanns losgehen

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