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.
Schau mal nach Bresenham-Algorithmus. Der ist für Geradeninterpolation gebräuchlich. Kurvenfahrt wird je nach Programm teils schon in viele Geraden umgewandelt. :-)
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
@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
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
Danke für die vielen Tipps. Werde mir das morgen mal genauer ansehen.
Stepper zu bewegen ist eine Sache, eine Fräserradienkorrektur zu berechnen eine ganz andere.
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
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.
moin moin,
>>wenn mehrere Achsen absolut synchron laufen müssen
das ist mit Bresenham noch das trivialste.
Pieter
Wenn ich die Software von http://www.linuxcnc.org verwende, wie muss dann die Hardware (Pinbelegung des Parallelport) aussehen?
> 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.
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
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
lötkolben schrieb: > Perfekt! Danke. > > Welche Schrittmotortreiber hast du verwendet? Ich habe noch L297/L298 Schrittmotor Treiber. Aber mittlerweile würde ich eben neuere nehmen. Ciao, Rainer
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.