Mach Discussion > German
Eine Tastplatte nutzen in Mach3 wie bei Estlcam ?
JamesTKirk:
Hallo
ich habe mal eine Frage ist es möglich mit Mach3 und einer Tastplatte eine automatische Nullpunkterkennung durchzuführen auch mit versetzter Achse wie im Video ab 1:05 Min
Gruß Volker
https://www.youtube.com/watch?v=bhZdbgM6S70&vl=de
TPS:
Hallo Volker,
grundsätzlich ist das kein Problem, und wurde auch schon zigfach umgesetzt.
Auch das Antasten eines verdrehten Bauteils ist möglich.
Gruß Tom
JamesTKirk:
Hallo Tom ,
danke für die schnelle Antwort kannst du mir evtl auch eine dieser Umsetzungen aufzeigen ?
Für die Mühe danke im voraus.
Gruß Volker
Tweakie.CNC:
I don't know if this would be of interest because I was using a WebCam rather than a Touch Probe but it does demonstrate the Local System Rotate function and the formulae used to calculate the angle.
Part way down page; http://www.tweakie.byethost10.com/17_files/Page410.htm
TPS:
Hallo Volker,
hier ist der Code den ich benutze, lässt sich aber nicht 1 zu 1 umsetzen, da ich die eigentlichen
Antastfunktionen (X/Y) wieder in externen Funktionen gekapselt habe, aber die Berechnung geht
daraus hervor. Ich benutze alledings 4 Punkte (2 an der X-Kante und 2 an der Y-Kante).
--- Code: ---'Antasten Werkstück (gedreht)
Public Function TouchG()
Message "Antasten schraeges Bauteil"
'Parameter holen
X = GetUserDro (1055) 'delta der X-Punkte
Y = GetUserDro (1056) 'delta der Y-Punkte
CurrentToolDiameter = GetUserDro (1027)
'Parameter prüfen
If X = 0 Then
MSGBox "Delta X zu klein!",vbOK + vbCritical ,"Fehler !"
Exit function
End If
If Y = 0 Then
MSGBox "Delta Y zu klein!",vbOK + vbCritical ,"Fehler !"
Exit function
End If
'PI vorbesetzen -----------------------------------------------
pi=4*Atn(1)
'Koordinatendrehung ausschalten
Code "G69"
Sleep(200)
'X / Y auf null setzen
Call SetDro (0,0)
Call SetDro (1,0)
Sleep(200)
'die Y Seite vermessen
'P1 antasten
Probe 100,0,0
'Koordinaten P2
X1 = GetVar(2000)
Y1=0
'Vorposition P2 anfahren
Message("Vorposition P2 anfahren")
Y2 = Y
Code "G91 G1 X-" &X & "F1800"
WaitForMove(True)
Code "G91 G1 Y" &Y2
WaitForMove(True)
'P2 antasten
Probe 100,0,0
'Koordinaten P2
X2 = GetVar(2000)
'die X Seite vermessen -----------------------------------------------
'Vorposition P3 anfahren
Message("Vorposition P3 anfahren")
X3 = X1 + (CurrentToolDiameter/2) + 10
Code "G91 G1 X-" &X & "F1800"
WaitForMove(True)
Code "G90 G1 Y-30"
WaitForMove(True)
Code "G90 G1 X" &X3
WaitForMove(True)
'P3 antasten
Probe 0,100,0
'Koordinaten P3
Y3 = GetVar(2001)
'Vorposition P4 anfahren
Message("Vorposition P4 anfahren")
X4 = X3 + X
Code "G91 G1 Y-20 F1800"
WaitForMove(True)
Code "G90 G1 X" &X4
WaitForMove(True)
'P4 antasten
Probe 0,100,0
'Koordinaten P4
Y4 = GetVar(2001) 'get the probe touch location
'Z auffahren
Code "G91 G01 Y-0.2 F1800"
WaitForMove(True)
Code "G91 G1 Z20"
WaitForMove(True)
'Brechnung
t1= (X4-X3)*(Y1-Y3)-(Y4-Y3)*(X1-X3)
b1= (Y4-Y3)*(X2-X1)-(X4-X3)*(Y2-Y1)
ua=t1/b1
'Nullpunkt berechnen
XH=X1+ua*(X2-X1) ' X Home distance away
YH=Y1+ua*(Y2-Y1) ' Y Home distance away
' Message("Koordinaten Nullpunkt : X " &XH &" Y " &YH)
' Sleep(200)
'Winkel aus der längeren Seite berechnen
If X>Y Then
'längere Seite=X
a=(Y4-Y3)
b=(X4-X3)
v=a/b
NewAngle=Atn(v)*(180/pi)
Else
'längere Seite=Y
a=(X2-X1)
b=(Y2-Y1)
v=b/a
NewAngle=Atn(v)*(180/pi)
If NewAngle > 0 Then
NewAngle=NewAngle-90
Else
NewAngle=NewAngle+90
End If
End If
' Message("Neuer Winkel : " &NewAngle )
' Sleep(200)
'zum neuen Nullpunkt fahren
'Winkel = errechneter Winkel + 45°
siWi = 2*Pi/360*(NewAngle+45)
hyWi = SQR((CurrentToolDiameter/2)*(CurrentToolDiameter/2)*2)
Dx = hyWi * Cos(siWi)
Dy = hyWi * Sin(siWi)
' Message("Koordinaten Berechnung : X " &Dx &" Y " &Dy)
' Sleep(200)
'Zu neuen Nullpunkt fahren
Code "G90 G1 X" &XH+Dx & " Y" &YH+Dy
WaitForMove(True)
'neuen Nullpunkt setzen
Call SetDro (0,0)
Call SetDro (1,0)
'Koordinatendrehung setzen
Call SetOemDro (118,NewAngle)
'Koordinaten ausgeben
' Message "X1 " &X1 &" Y1 " &Y1 & " X2 " &X2 &" Y2 " &Y2 & " X3 " &X3 &" Y3 " &Y3 & " X4 " &X4 &" Y4 " &Y4
'wieder auf absolut stellen
Code "G90"
Message ""
End Function
--- End code ---
wenn Du hier im Forum oder bei Google nach Touch Probe oder Edge Finder script suchst findest Du
etliche Beispiele.
Gruß Tom
Navigation
[0] Message Index
[#] Next page
Go to full version