Mach3 - Werkzeug automatisch vermessen
Ich übernehme keinerlei Haftung für etwaige Schäden, die beim Nachmachen entstehen.
Was mich immer genervt hat war das Nullen eines neuen Werkzeugs oder Bohrers. Platinen verlangen oft viele Bohrerwechsel. Per Hand ist das eine zeitraubende Geschichte. Ohne automatischen Werkzeugwechsler muss man die Werkzeuge einbauen und Mach3 das beibringen. Bohrer oder Fräser einspannen ist schon genug Arbeit. Den Rest sollte die Mach3-Software dann können. Mein Gedanke war - Werkzeug einspannen, einen Referenzpunkt anfahren und das Werkzeug automatisch vermessen.
Was braucht man dazu
Einen Mess-Schalter, der am Probe Eingang angeschlossen wird, und ein paar gute Ideen. Wie beim Handrad fand ich zwar eine Menge Info, dass es funktioniert - aber leider nicht wie.
Grundlegender Gedanke
Man NULLT ein Werkzeug am Werkstück-Nullpunkt und fährt dann als Referenz einen Schalter an (Probe). Diese Z-Position speichert man gesondert. Ändert sich die Werkzeuglänge, dann fährt man wieder zum Probe und übernimmt den Wert als Z-Position.
Ablauf am Beispiel einer Platine
Die Platine wird befestigt und der Stichel eingebaut. Dann lädt man den G-Code. ( Ich benutze Eagle und mitgelieferte ULPs, die fertigen GCode liefern ). Dann wird der Stichel an den Ausgangspunkt gefahren und alle Achsen werden händisch genullt. Und hier beginnt die Automatisierung. Der Mess-Schalter wird an einer geeigneten Position befestigt, so dass er das Fräsen nicht behindert oder selbst zerstört wird. Das Script ist so ausgelegt, dass das Suchen des Mess-Schalters bis maximal -10 mm vom gerade gültigen Nullpunkt möglich ist. Also den Schalter maximal 10 Millimeter unterhalb des gerade gültigen Nullpunktes setzen. Man kann natürlich auch im Script (Referenzpunkt Code "G31 Z-10.0 F20") die Spanne größer 10 wählen, wenn z.B. der Mess-Schalter fix auf der Aufspannplatte montiert ist. Anschließend fährt man das genullte Werkzeug über den Mess-Schalter. Nicht zu knapp, weil man sonst das Werkzeug nicht mehr wechseln kann. Hat man die geeignete Stelle ermittelt, sagt man Mach3 wo das ist, indem man den Button (Werkzeug Messpunkt setzen) drückt. Auf der Seite 6 ist der Werkzeugwechselpunkt bereits definiert. Bei meiner Mach3 263 fehlte noch der Button zum Speichern und das Script dazu.
Man sollte daran denken, dass diese Position beim Abspeichern die Maschinenkoordinaten und nicht die Werkstückkoordinaten zeigt. Das hat mich zuerst ziemlich verwirrt.
Mit dem Button Zum Werkzeug Messpunkt“ fährt man als Nächstes (wenn man nicht schon da ist) über den Mess-Schalter zum Werkzeug Messpunkt. Mit Button Referenzpunkt fährt man den Messschalter an und speichert somit den angefahrenen Wert der Z-Achse als Referenzpunkt. Die Z- Achse fährt selbst zum Schalter und wieder zurück zum Werkzug Messpunkt. Dieser Vorgang wird, solange man den gleichen Nullpunkt verwendet, nur einmal gemacht - denn der Eich- oder Referenzpunkt für das Ausmessen des Werkzeugs ist damit gesetzt. Das Bild unten veranschaulicht dies. Die Maus auf die Markierung im Bild ziehen für einen größeren Ausschnitt.
Zum Eichen sind der Button Referenzpunkt und das UserDRO rechts daneben zuständig. Eine Anmerkung noch dazu. Das UserDRO (Anzeige) ist deshalb da, weil sich unter Mach3 die Gültigkeit benutzereigener Variablen, die in einem VB-Script verwendet werden, lediglich auf das VB-Script beziehen und nicht weitergegeben werden. Wird die Variable in einem anderen VB-Script benutzt, dann ist der Wert Null. Je nach Software (G-Code) kann man hier Starten muss aber einen bestimmten Punkt anfahren. Der sichere Weg ist das Anfahren des Nullpunktes . Die Platine kann nun gefräst werden. Die Software sollte nach Ablauf des Vorganges halten, die Spindel und Wasser stoppen, und zum Werkzeugwechsel auffordern. Die gelbe LED Change Tool sollte blinken. Wir wechseln nun das Werkzeug - im Beispiel anstelle des Stichels einen Bohrer. Zu Werkzeugwechsel fahren wir wieder über den vorher bestimmten Punkt über den Mess-Schalter (Button Zum Werkzeug Messpunkt). Und nun kommt das eigentliche automatische Vermessen, indem man den Button (Werkzeug vermessen) drückt. Das Werkzeug fährt zum Mess-Schalter. Beim Erreichen des Mess-Schalters wird der vorher gespeicherte UserDRO (Im Bild die Anzeige +24.2880) als Z- Position übernommen. Danach fährt das Werkzeug wieder automatisch den Werkzeug-Messpunkt über dem Mess-Schalter an und stoppt. Nun kann man mit CYCLE START den weiteren GCODE ausführen.
Noch ein Hinweis. Die Buttons Remember und Return kann man ganz prima als Start- oder Rückkehrposition im Ablauf verwenden. Bei meiner Platine wird z.B. ein Werkzeugwechselpunkt eingebunden, den Mach3 dann vor jedem Werkzeugwechsel anfährt. Mit Remember wird die Position gespeichert. Nun kommt der Werkzeugwechsel und das Vermessen. Danach steht das Werkzeug (Z-Achse) am Werkzeugmesspunkt über dem Probe-Schalter. Mit Return fährt Mach3 den alten Punkt wieder an und es kann mit Start weitergemacht werden. Jeder vernünftige GCODE bietet Werkzeugwechsel an. Im GCODE sollte die Z-Achse aus dem Werkstück gefahren werden, dann M9 (Wasser stopp), M5 (Spindel stopp) und dann T3 M6 (Werkzeugwechsel) kommen. Hier kann man dann wieder mit Remember die aktuelle Position speichern, die Werkzeugwechsel Prozedur ausführen und mit Return zur gespeicherten aktuellen Position zurückkehren. Mit Cycle Start sollte im GCODE M8 (Wasser an) und M3 (Spindel an) wieder angeworfen werden.
Hier ein Auszug aus einem GCODE
N2400 Y47. N2410 X122.622 N2420 G00 Z5. M09 (Werkzeug aus dem Werkstück und Wasser Stopp) N2430 M05 (Spindel Stopp) N2440 (MACHINE DEFINITION CREATED BY UPDATEPOST.DLL) N2450 T3 M06 (Toolchange HM SCHAFTFRAESER DM 2 - ALU) (---- LED Tool Change blinkt ----) (---- Remember drücken - speichert aktuelle Position ----) (---- Werkzeugwechsel Prozedur wie oben beschrieben durchführen ----) (---- Return drücken - kehrt zur aktuellen Position zurück ----) (---- Start Cycle drücken - setzt Ablauf fort ----) N2460 (MAX - Z5.) N2470 (MIN - Z-1.2) N2480 G00 Z5. M08 (Alte z-Position nochmal anfahren und Wasser an) N2490 G00 X31.2 Y21.2 S2000 M03 (Spindel an) N2500 Z2. N2510 G01 Z-1.2 F100.
Buttons und DROs
Mach3Screen.exe ist das Tool, mit dem man seine eigenen Buttons und DROs einbinden kann. Auf der Homepage von Mach3 findet man die Software und auch ein Wiki, das den Ablauf gut beschreibt. Mit Mach3Screen.exe kann man seine 1024.set aufrufen und ändern. Eine Beschreibung hierfür gibt es auch auf der Wiki Seite . Und nicht vergessen. Die 1024.set abspeichern und dann unter Mach3 unter "View -> Load Screen" aufrufen. Zum Erzeugen eines DROs klickt man auf DRO und dann an die Stelle wo man es haben will. Ein Doppelklick öffnet dann ein Konfigurationsfenster.
Unser USERDRO hat die Nummer 1000. Zum Erzeugen eines Buttons geht man eigentlich in gleicher Weise vor. Im Bild ist beispielhaft der Button "Zum Werkzeug Messpunkt" dargestellt.
Man sollte sich auf alle Fälle die Doku (Wiki) durchlesen. Nur so versteht man, was gemacht wird.
Inhalt der VB-Scripts
Ich übernehme keinerlei Haftung für etwaigen Schäden, die beim Nachmachen entstehen.
----------------------------------------------------------------------- Seite 6 ----------------------------------------------------------------------- Werkzeug Messpunkt setzen SetOEMDRO(1200,GetOEMDRO(83)) SetOEMDRO(1201,GetOEMDRO(84)) SetOEMDRO(1202,GetOEMDRO(85)) ----------------------------------------------------------------------- Seite 1 ----------------------------------------------------------------------- Zum Werkzeug Messpunkt Code("G00 G53 Z0.000") Code("G00 G53 X" & GetOEMDRO(1200)) Code("G00 G53 Y" & GetOEMDRO(1201)) Code("F10 G00 G53 Z" & GetOEMDRO(1202)) ------------------------------------------------------------------------- Referenzpunkt Code "G31 Z-10.0 F20" While IsMoving() Wend setuserdro (1000,GetVar(2002)) 'Zur Werkzeugwechselpos zurück Code("F10 G00 G53 Z" & GetOEMDRO(1202)) Code("G00 G53 X" & GetOEMDRO(1200)) Code("G00 G53 Y" & GetOEMDRO(1201)) ------------------------------------------------------------------------- Werkzeug vermessen Code "G31 Z-10.0 F20" While IsMoving() Wend setdro(2, Getuserdro(1000)) 'Zur Werkzeugwechselpos zurück Code("F10 G00 G53 Z" & GetOEMDRO(1202)) Code("G00 G53 X" & GetOEMDRO(1200)) Code("G00 G53 Y" & GetOEMDRO(1201)) -------------------------------------------------------------------------