Lasercutter (Teil 1)

(Januar 2015) Seit Längerem bastle ich an einem kleinem Laserplotter mit Achsen aus alten DVD-Laufwerken. Ich hab den Apparat mittlerweile etwas verfeinert und provisorisch aufgebaut. Die Platine mit den Schrittmotortreibern dazu hab ich selbst gelötet und ein Gehäuse für den Arduino gedruckt. Mit dem Laserplotter kann man im Endstadium Vektordateien auf eine Fläche von 36x36mm „lasern“ (einbrennen) oder bspw. Moosgummi mit dem Laser schneiden. Holz kann man damit beschriften, was man zum Beispiel dazu nutzen kann individuelle Raclette-Holzschaber zu gestalten in dem man etwas auf den Griff lasert. Ob die individuellen Raclette-Holzschaber eine Marktlücke sind weiss ich nicht – wenn dann wohl eher saisonabhängig.

Platine und Arduino
Aufbau komplett
Schaltplan mit Fritzing erstellt (nicht vollständig)

Die Funktionsweise ist so, dass eine Vektordatei in GCode gewandelt wird. GCode ist lesbare Maschinensprache die bei Fertigungsmaschinen wie Fräsen, Drehmaschinen, 3D-Druckern usw. zum  Einsatz kommt. Diese GCodes weissen die Maschine an Werkzeuge wie Bohrer oder Fräsköpfe zu aktivieren oder Achsen in bestimmter Reihenfolge, Richtung und Geschwindigkeit zu verfahren. Beim Lasercutter ist das Werkzeug die Laserdiode und die Achsen sind ein normales X/Y-Koordinatensystem.

Vektordatei in Inkscape
Pfade die in GCode gewandelt werden

Die Wandlung der Pfade in GCode übernimmt ein Plugin für Inkscape. Das Plugin speichert dann eine Datei entsprechend der Vektor-Vorlage. Damit mein Lasercutter jetzt weiß wie viele Schritte er machen muss um einen Millimeter zu fahren habe ich durch Versuche für die beiden Achsen die Werte ermittelt. Auf der X-Achse sind es 630 Schritte für 36mm und auf der Y-Achse waren es genau 1000 Schritte für 36mm. Meine beiden Achsen habe ich aus alten DVD-Brennern entnommen. Daher auch die 36mm, die die Achsen verfahren können, das ist die Breite des Datenbereichs auf einer DVD.
Auf den Arduino habe ich eine Firmware namens GRBL gespielt. Diese hat alles was man zur Maschinensteuerung benötigt. Sie kann 3 Achsen und ein Werkzeug ansteuern, unterstützt Homing-Sensoren, die ich aber vorerst nicht nutze und lässt sich über die serielle Schnittstelle mit Befehlen füttern. GRBL ist komplett Open Source und wird auch noch gepflegt. Ich habe Version 0.8c im Einsatz.
Die Anpassungen der Parameter kann man über ein Terminalprogramm wie Putty erledigen.
Das sind die Einstellungen die man zur Verfügung hat:

$0=17.500 (x, step/mm)
$1=27.700 (y, step/mm)
$2=250.000 (z, step/mm)
$3=100 (step pulse, usec)
$4=500.000 (default feed, mm/min)
$5=500.000 (default seek, mm/min)
$6=164 (step port invert mask, int:10100100)
$7=25 (step idle delay, msec)
$8=100.000 (acceleration, mm/sec^2)
$9=0.050 (junction deviation, mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=0 (report inches, bool)
$14=1 (auto start, bool)
$15=0 (invert step enable, bool)
$16=0 (hard limits, bool)
$17=0 (homing cycle, bool)
$18=0 (homing dir invert mask, int:00000000)
$19=25.000 (homing feed, mm/min)
$20=250.000 (homing seek, mm/min)
$21=100 (homing debounce, msec)
$22=1.000 (homing pull-off, mm)

Ihr seht bei $0 und $1 die Schritte pro Millimeter je Achse und eine weitere wichtige Einstellung ist die $6. Mit der Maskierung aus $6 lassen sich die Richtung der Achsen und Schrittzustände (1 oder 0) festlegen. Je nach Schrittmotortreiber braucht man da unterschiedliche Einstellungen. Ich nutze A4988, die sind bewährt, günstig und einfach in der Handhabung. Anfangs habe ich fast 20Watt also knapp 1,2Ampere Strom verbraten und die Motoren wurden knapp 90°C heiß. Ich hatte einfach vergessen den Strom für die Motoren zu begrenzen.
Die Übertragung des GCodes, also der Fahrwege und der Zeitpunkte wann die Laserdiode aktiv sein soll übernimmt ein Programm namens „GCodesender“, das nichts anderes macht als den GCode Zeile für Zeile seriell an GRBL zu schicken.

GCodesender bei der Arbeit
Test mit Stift statt Laser

GRBL setzt die Befehle dann an den I/O-Ports des Arduinos in HIGH- oder LOW-Pegel um und die Schrittmotortreiber setzen das in Bewegungen der Motoren um, bzw. wird das Werkzeug aktiviert. Da ich noch immer keine Laserdiode habe, muss ich mich momentan mit einem Farbstift begnügen. Der zeichnet die Pfade auf Papier, kann aber logischerweise nicht deaktiviert werden, deshalb zieht er auch die Striche bei den Verbindungsfahrten.

http://www.youtube.com/watch?v=6zv7WFv6ICE#ws

Der Preis für das Ganze liegt bisher bei ca. 25€ (Arduino-Clone und Motortreiber, Rest ist aus dem Elektroschrott) ohne Laserdiode, die schlägt mit knapp 40€ zu Buche. Ich könnte auch eine Diode aus einem DVD-Brenner nehmen, müsste dann aber einen Kühlkörper fräsen, wozu mir das Werkzeug fehlt. Da gibt es fertige Dioden inklusive Konstantstromquelle, Optik und Kühlkörper.
Sobald ich eine Laserdiode habe, erweitere ich den Beitrag und zeige das Endprodukt. Vielleicht mach ich einen Ebay-Shop für individuelle Raclette-Holzschaber auf…

(Oktober 2015) Nach einigen Überlegungen ist mir das Teil doch etwas zu klein geworden. Also musste es etwas größer und besser werden.
Weiter geht es im neuen Post: 

Ähnliche Beiträge

Schreibe einen Kommentar