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))
-------------------------------------------------------------------------