Este capítulo cubre conceptos importantes que deben ser entendidos por el usuario antes de intentar manejar una máquina CNC con código G.
1. Trajectory Control
1.1. Trajectory Planning
La planificación de trayectorias, en general, es el medio por el cual LinuxCNC sigue la ruta especificada por su programa de código G, mientras opera dentro de los límites de la máquina.
Un programa de código G nunca puede ser completamente obedecido. Por ejemplo, imagine que especifica un programa de solo de línea con el siguiente movimiento:
G1 X1 F10 (G1 es movimiento lineal, X1 es el destino, F10 es la velocidad)
En realidad, todo el movimiento no se puede hacer a F10, ya que la máquina debe acelerar desde el reposo, avanzar hacia X=1, y luego desacelerar para parar de nuevo. A veces, parte del movimiento se realiza a F10, pero para muchos movimientos, especialmente los cortos, nunca se alcanza en absoluto la velocidad de avance especificada. Tener movimientos cortos en su código G puede hacer que su máquina se ralentice y luego acelere para los movimientos mas largos si no se emplea naive cam detector con G64 Pn.
La aceleración y desaceleración básica descrita anteriormente no es compleja y no hay ningún compromiso que tomar. En el archivo INI se han especificado las restricciones de la máquina, como la velocidad y aceleración máxima de ejes, que deben ser obedecidas por el planificador de trayectoria.
Para obtener mas información sobre las opciones INI del planificador vea la sección Trayectoria en el capítulo INI.
1.2. Path Following
Un problema menos sencillo es el seguimiento de ruta. Cuando se programa una esquina en código G, el planificador de trayectoria puede hacer varias cosas, todas ellas correctas según el caso:
-
Puede desacelerar hasta detenerse exactamente en las coordenadas de la esquina, y luego acelerar en la nueva dirección.
-
También puede hacer lo que se llama fusión (blending), que consiste en mantener la velocidad de avance mientras pasa por la esquina, por lo que es necesario redondear dicha esquina para obedecer las restricciones de la máquina.
Puede ver que aquí si hay un compromiso; se puede reducir la velocidad para obtener un mejor seguimiento del camino, o mantener la velocidad con peor seguimiento. Dependiendo del corte particular, el material, las herramientas, etc, el programador puede querer comprometerse de una manera u otra.
Los movimientos rápidos también obedecen el control de trayectoria actual. Con movimientos suficientemente largos para alcanzar la velocidad máxima en una máquina con baja aceleración y si no se especifica la tolerancia de ruta, puede obtener una esquina bastante redonda.
1.3. Programming the Planner
Los comandos de control de trayectoria son los siguientes:
-
G61 -
(Modo de ruta exacta)
G61visita el punto programado exactamente, aunque eso signifique que la máquina podría detenerse por completo temporalmente para cambiar de dirección hacia el punto siguiente programado. -
G61.1 -
(Modo de parada exacta)
G61.1le dice al planificador que se detenga exactamente en cada final de segmento. La ruta será seguida exactamente pero parar por completo la alimentación puede ser destructivo para la pieza o la herramienta, dependiendo de las especificaciones de la máquina. -
G64 -
(Fusión sin modo de tolerancia)
G64es la configuración predeterminada cuando se inicia LinuxCNC. G64 es simplemente fusión sin naive cam detector habilitado. G64 y G64 P0 le dicen al planificador que sacrifique la precisión de seguimiento de ruta para mantener la velocidad de avance. Esto es necesario para algunos tipos de materiales o herramientas donde las paradas exactas son dañinas y puede funciona bien siempre que el programador no olvide que la ruta de la herramienta será algo más curvilínea que lo que especifica el programa. Al usar movimientos G0 (rápidos) con G64, tenga cuidado con los movimientos a puntos seguros (clearance) y permita suficiente distancia para evitar obstáculos en función de las capacidades de aceleración de su máquina. -
G64 P- Q- -
(Fusión con modo de tolerancia) Esto habilita naive cam detector y permite fusiones con tolerancia. Si se programa, por ejemplo, G64 P0.05, se le dice al planificador que se desea alimentación continua, pero en esquinas programadas quiere que desacelere lo suficiente para que la ruta de la herramienta pueda mantenerse a no mas de 0.05 unidades de usuario de la ruta programada. La cantidad exacta de desaceleración depende de la geometría de la esquina programada y las limitaciones de la máquina, pero lo único de lo que el programador necesita preocuparse es de la tolerancia. Esto le da al programador control total sobre el compromiso de seguimiento de camino. La tolerancia de la fusión se puede cambiar a lo largo de todo el programa según sea necesario. Tenga en cuenta que una especificación G64 P0 tiene el mismo efecto que G64 solo, necesario para compatibilidad con los viejos programas de código G. Vea la sección G64 del capítulo de código G.
- Fusión sin tolerancia
-
El punto controlado tocará cada movimiento especificado en al menos un punto. La máquina nunca se moverá a una velocidad tal que no pueda llegar a una parada exacta al final del movimiento actual (o el próximo movimiento, si hace una pausa cuando la fusión ya ha comenzado). La distancia desde el punto final del movimiento será tan grande como deba ser para mantener la mejor alimentación para el contorno.
- Naive CAM Detector
-
Varios movimientos G1 sucesivos que involucran solo a los ejes XYZ y que se desvíen menos de una cantidad Q- de una línea recta que los contenga, se fusionaran en una única línea recta. Este movimiento combinado reemplaza los movimientos individuales G1 cuando se quiere fusionar con tolerancia. Entre movimientos sucesivos, el punto controlado no se desviará mas de P- desde los puntos finales reales de los movimientos. El punto controlado tocará al menos un punto en cada movimiento. La máquina nunca se moverá a una velocidad tal que no puede llegar a una parada exacta al final del movimiento actual (o siguiente movimiento, si hace una pausa cuando la fusión ya ha comenzado). En movimientos G2/3, que se muevan en el plano G17 (XY), cuando la desviación máxima de un arco desde un línea recta es menor que la tolerancia Q- de G64, el arco se divide en dos líneas (desde el inicio del arco hasta el punto medio y desde el punto medio hasta el final). Esas líneas están entonces sujetas al algoritmo naive cam detector para líneas. Por lo tanto, casos de línea a arco, arco a arco y arco a línea, así como línea a línea, podrán beneficiarse de naive cam detector. Esto mejora el rendimiento de contorneado simplificando el camino.
En la siguiente figura, la línea azul representa la velocidad real de la máquina. Las líneas rojas son la capacidad de aceleración de la máquina. Las líneas horizontales debajo de cada gráfico son el movimiento planificado. La parte superior de la gráfica muestra cómo el planificador de trayectoria ralentizará la máquina cuando se encuentren movimientos cortos para mantenerse dentro de los límites de los ajuste de aceleración de la máquina para poder detenerse exactamente al final del próximo movimiento. La gráfica inferior muestra el efecto de Naive Cam Detector al combinar los movimientos y hacer un mejor trabajo manteniendo el velocidad según lo planeado.
1.4. Planning Moves
Asegúrese de que los movimientos sean lo suficientemente largos para adaptarse a su máquina/material. Principalmente debido a la regla de que la máquina nunca se moverá a una velocidad tal que no pueda detenerse por completo al final del movimiento actual, hay una longitud de movimiento mínima que permitirá a la máquina mantener una velocidad de avance solicitada para un ajuste de aceleración dado.
Las fases de aceleración y desaceleración utilizan cada una la mitad de MAX_ACCELERATION del archivo INI. En una combinación que sea una inversión exacta, esto causará que la aceleración total del eje iguale el valor MAX_ACCELERATION del archivo INI. En otros casos, la aceleración real de la máquina es algo menor que esta aceleración INI.
Para mantener la velocidad de alimentación, el movimiento debe ser mas largo que la distancia necesaria para acelerar de cero a la velocidad de avance deseada y luego detenerse de nuevo. Usando A como 1/2 del valor de MAX_ACCELERATION del archivo INI, y F como velocidad de avance en unidades por segundo, el tiempo de aceleración es ta = F/A y la distancia de aceleración es da = F*ta/2. El tiempo de desaceleración y distancia son las mismas, haciendo que la distancia crítica sea d = da + dd = 2 * da = F2/A.
Por ejemplo, para una velocidad de avance de 1 pulgada por segundo y una aceleración de 10 pulgadas/seg2, la distancia crítica es 12/10 = 1/10 = 0.1 pulgadas.
Para una velocidad de avance de 0.5 pulgadas por segundo, la distancia crítica es 52/100 = 25/100 = 0.025 pulgadas.
2. Códigos G
2.1. Valores predeterminados
Cuando LinuxCNC se arranca, se cargan muchos códigos G y M de manera predeterminada. Los códigos actuales activos G y M se pueden ver en la pestaña MDI de la ventana Códigos G activos: en la interfaz AXIS. Estos códigos G y M definen el comportamiento de LinuxCNC y es importante que entienda qué hace cada uno de ellos antes de ejecutar LinuxCNC. Los valores predeterminados se pueden cambiar cuando se ejecuta un archivo de código G y pueden quedar en un estado diferente al del comienzo de sesión de LinuxCNC. La mejor práctica es establecer los valores predeterminados necesarios para el trabajo en un preámbulo de su archivo de código G, sin suponer que los valores predeterminados no han cambiado. Imprimir la página de Referencia rápida de códigos G puede ayudarle a recordar qué es cada uno.
2.2. Velocidad de alimentación
La forma en la que se aplica la velocidad de alimentación depende de si un eje involucrado con el movimiento es un eje giratorio. Lea y comprenda la sección Velocidad de alimentación si tiene un eje giratorio o un torno.
2.3. Offset del radio de la herramienta
El offset del radio de la herramienta (G41/G42) requiere que la herramienta sea capaz de tocar en algún lugar a lo largo de cada movimiento programado sin estropear los dos movimientos adyacentes. Si eso no es posible con el diámetro actual de la herramienta, se obtendrá un error. Una herramienta de menor diámetro puede trabajar sin error en el mismo camino. Esto significa que puede programar una herramienta para pasar por un camino que es más estrecho que la herramienta sin ningún error. Para más información, ver la sección Compensación del cortador.
3. Homing
Después arrancar LinuxCNC cada eje debe ser llevado a casa antes de ejecutar un programa o comando MDI. Si su máquina no tiene interruptores home, una marca de coincidencia en cada eje puede ayudar a poner las coordenadas de la máquina en casa en el mismo lugar cada vez. Una vez en casa, se usarán tus límites suaves configurados en el archivo INI.
Si desea desviarse del comportamiento predeterminado, o desea usar el interfaz Mini, necesitará configurar la opción NO_FORCE_HOMING = 1 en la sección [TRAJ] de su archivo INI. Se puede obtener más información sobre homing en el Manual del integrador.
4. Cambios de herramientas
Hay varias opciones al hacer cambios de herramientas manuales. Ver la Sección [EMCIO] para obtener información sobre la configuración de estas opciones. Ver también las secciones G28 y G30 del capítulo de Código G.
5. Sistemas de coordenadas
Los sistemas de coordenadas pueden ser confusos al principio. Antes de manejar una máquina CNC debe comprender los conceptos básicos de los sistemas de coordenadas utilizados por LinuxCNC. La información detallada sobre los sistemas de coordenadas de LinuxCNC está en la sección Sistema de coordenadas de este manual.
5.1. Coordenadas de máquina G53
Al hacer una secuencia homing en LinuxCNC, usted configura el sistema de coordenadas de la máquina G53 a 0 para cada uno de los ejes en la secuencia.
Ningún otro sistema de coordenadas u offsets de herramientas se cambian por la secuencia homing.
La única forma de moverse en el sistema de coordenadas de la máquina es cuando se programa un G53 en la misma línea que el movimiento. Normalmente se está en el sistema de coordenadas G54.
5.2. Coordenadas de usuario G54-59.3
Normalmente se usa el sistema de coordenadas G54. Cuando se aplica un offset al actual sistema de coordenadas de usuario, una pequeña bola azul con líneas estará en el orígen de máquina cuando su DRO esté mostrando Posición: Relativa Actual en AXIS. Si sus offsets son temporales, use Zero Coordinate System del menú de máquina o programe G10 L2 P1 X0 Y0 Z0 al final de su archivo de código G. Cambie el número P para que se adapte al sistema de coordenadas en el que desea borrar el offset.
-
Los offsets almacenados en un sistema de coordenadas de usuario se conservan cuando LinuxCNC se apaga.
-
Usando el botón Touch Off en AXIS, se establece un offset para el Sistema de coordenadas elegido de usuario.
5.3. Cuando este perdido
Si tiene problemas para obtener 0,0,0 en el DRO cuando piense que debería mostrarse, puede que tenga algunos offsets programados y necesita eliminarlos.
-
Muévase al origen de la máquina con G53 G0 X0 Y0 Z0
-
Borre cualquier offset de G92 con G92.1
-
Use el sistema de coordenadas G54
-
Establezca el sistema de coordenadas G54 para que sea el mismo que el sistema de coordenadas máquina con G10 L2 P1 X0 Y0 Z0 R0.
-
Desactivar los offsets de herramienta con G49
-
Activar la pantalla de coordenadas relativas desde el menú
Ahora debe estar en el origen de la máquina X0 Y0 Z0 y el sistema de coordenadas relativo debe ser el mismo que el sistema de coordenadas de máquina.
6. Configuraciones de la máquina
El siguiente diagrama muestra una fresadora típica que muestra la dirección del recorrido de la herramienta, la mesa y los interruptores de límite. Observe cómo la mesa se mueve en la dirección opuesta a las flechas del sistema de coordenadas cartesianas mostrado por la imagen Dirección Herramienta. Esto hace que la herramienta se mueva en la dirección correcta en relación con el material.
Note también la posición de los interruptores de límite y la dirección de activación de sus levas. Diversas combinaciones son posibles, por ejemplo, es posible (contrario al dibujo) colocar un interruptor simple fijo en medio de la mesa y dos levas móviles para activarlo. En esta caso los límites estarán invertidos, +X será a al derecha de la mesa y -X a la izquierda. Esta inversión no cambia nada desde el punto de vista de la dirección del movimiento de la herramienta.
El siguiente diagrama muestra un torno típico que muestra la dirección del recorrido de la herramienta y los interruptores de límite.