Macro errónea en Mach 3 para hacer probe Z0 en controladora XHC

Macro errónea en Mach 3 para hacer probe Z0 en controladora XHC

Cuidado con la macro errónea en Mach 3 para hacer probe Z0 en controladora XHC! De esto va esta mini entrada de hoy. Tenemos algunas macros circulando por la red que no se llevan bien con nuestras controladoras CNC chinas.

Para configurar nuestro 3d probe y hacer el Z0 en nuestras fresadoras CNC DIY que controlamos mediante el software de Mach 3, usando la controladora CNC XHC-IV o versiones mas nuevas o viejas, tenemos que prestar atención a los macros disponibles, pues las controladoras XHC no se llevan bien con los comandos GetVar(2000). Os dejo un enlace a un post del foro de mach donde comentan un poco este tema. Veamos la macro errónea en Mach 3 para hacer probe Z0 en controladora XHV.

Si nuestro vaso es que hemos copiado el siguiente macro de internet, tendremos que usar otro diferente debido a ese problemilla que he comentado antes con las funciones GetVar(2002) o getvar(2000).

‘VB Code Start
‘——————-
CurrentFeed = GetOemDRO(818)
DoSpinStop()

ZMove = 20.00 ‘Total lenght of Probe to move before Stop or no Contact Made.
ZOffset = 1.60 ‘ Plate Hight
ZSal = ZOffset + 2.00 ‘+ Free Hight, Will possition the Proble 2 MM over the Material.

StopZmove = 0
If GetOemLed (825)=0 Then
DoOEMButton (1010)
Code “G4 P2.5”
Code “G31 Z-“& ZMove & “F25”
While IsMoving()
Sleep(200)
Wend
Probepos = GetVar(2002)
If Probepos = – ZMove Then
responce = MsgBox (“**ERROR** ” , 4 , “Probe ERROR” )
Code “G0 Z10”
StopZmove = 1
Code “F” &CurrentFeed
End If
If StopZmove = 0 Then
Code “G0 Z” & Probepos
While IsMoving ()
Sleep (200)
Wend
Call SetDro (2, ZOffset)
Code “G4 P1”
Code “G0 Z” & ZSal
Code “(Z zeroed)”
Code “F” &CurrentFeed
End If
Else
Code “(Check Ground Probe)”
End If
Exit Sub
‘——————-
‘VB Code Stop

La solución a macros erróneas en Mach 3 con 3d probes  pasa por usar esta otra macro, la cual pasa a utilizar GetDRO en vez de getvar. Aquí tenéis la macro que funciona para que uséis ese código:

FeedCurrent = GetOemDRO(818) ‘Get the current settings, OEM DROs (818)=Feedrate DRO
ZCurrent = GetOemDro(802) ‘OEM DROs (802)=Z DRO
GageH = 0 ‘OEMDRO(1001)=Gage Block Height
ZNew = ZCurrent – 300 ‘probe down 20 mm

Code “G90 F40” ‘slow feed rate to 100 MM/MIN
Rem Code “G4 P1” ‘Pause 1 second to give time to position probe plate
Code “G31 Z” &ZNew
While IsMoving()
Sleep(10)
Wend
Call SetDro (2,GageH) ‘DRO(2)=Z DRO

FinalMove = GageH + 1

Code “G0 Z” &FinalMove
Code “F” &FeedCurrent ‘restore starting feed rate dr.lin 2009.10.16

Diferencia entre GetVar() y GetOEMDRO()

Con las instrucciones GetVar(2000…2002) y las instrucciones GetOEMDro(2000…20002) hay una diferencia bastante apreciable. En el caso de las buenas controladoras, estas hacen uso de GetVar() porque almacenan los valores de posición de cada eje de forma mas precisa, casi en tiempo real. Si usamos GetOEMDro() no es así, y existe un desfase hasta que el motor para, que es cuando se toman los valores de posición.

Cuando hacemos uso de GetOEMDro(), y además vamos a usar el probe, lo que vamos a obtener tras el contacto del probe es la posición del eje tras la parada del motor. Por este motivo, se hacen varias iteraciones para tomar la medida, y en la ultima usamos velocidades muy bajas, con lo que sacamos mas precisión en el proceso para obtener esa posición.

Sobre el error entre ambas funciones, no lo se exactamente pero posiblemente para el mundo del hobby, no sea un gran error, dadas las mecánicas que tenemos.

Los chinos hacen un poco lo que quieren

Pese a que la controladora CNC XHC es una buena controladora dentro de su rango de precio, no deja de tener pequeñas particularidades que hacen que no sea todo lo perfecto que deberia.

Poco mas que decir, una entrada cortita sobre la macro errónea en Mach 3 para hacer probe Z0 en controladora XHC. Si alguien añade esta función a su maquina, que sepa que puede toparse con este problemilla y aquí tiene la solución, aunque no es lo mas ideal, cumple bastante bien. 

Si quieres alguna referencia para la compra de la controladora XHC u otras, tienes la sección de material para router CNC DIY en el blog.

Nada mas por mi parte, nos vemos en la siguiente. Saludos.

Entradas relacionadas

Entradas mas recientes

1 comentario en “Macro errónea en Mach 3 para hacer probe Z0 en controladora XHC”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.