Configurando Grbl v0

Enlaces rápidos: Empezando Configuración de Grbl Configuración de Grbl y lo que significan Otros  $ comandos de Grbl Com

Views 213 Downloads 27 File size 211KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Enlaces rápidos: Empezando Configuración de Grbl Configuración de Grbl y lo que significan Otros  $ comandos de Grbl Comandos en tiempo real

Empezando Primero, conéctese a Grbl usando el terminal en serie de su elección. Establezca la velocidad en baudios en 115200 como 8-N-1 (8 bits, sin paridad y bit de 1 parada). Una vez conectado, debe obtener el prompt Grbl, que se ve así: Grbl 0.9i ['$' for help]

Escriba $ y presione enter para que Grbl imprima un mensaje de ayuda. No debería ver ningún eco local de $ y enter. Grbl debe responder con: $$ (view Grbl settings) $# (view # parameters) $G (view parser state) $I (view build info) $N (view startup blocks) $x=value (save Grbl setting) $Nx=line (save startup block) $C (check gcode mode) $X (kill alarm lock) $H (run homing cycle) ~ (cycle start) ! (feed hold) ? (current status) ctrl-x (reset Grbl)

Los comandos '$' - son comandos del sistema Grbl utilizados para ajustar la configuración, ver o cambiar los estados y modos de ejecución de Grbl, y comenzar un ciclo de referencia. Los cuatro últimos no - comandos '$' son comandos de control en tiempo real que se pueden enviar en cualquier momento, no importa lo que está haciendo Grbl. Estos cambian inmediatamente el comportamiento de ejecución de Grbl o imprimen inmediatamente un informe de los datos importantes en tiempo real como la posición actual (también conocido como DRO).

Configuración de Grbl $$ - Ver la configuración de Grbl Para ver las configuraciones, escriba  $$ y presione enter luego de conectarse a Grbl. Grbl debe responder con una lista de la configuración actual del sistema, como se muestra en el ejemplo a continuación. Todas estas configuraciones son persistentes y se mantienen en EEPROM, por lo que si se apagan, se volverán a cargar la próxima vez que enciendas tu Arduino. $0=10 (step pulse, usec) $1=25 (step idle delay, msec) $2=0 (step port invert mask:00000000) $3=6 (dir port invert mask:00000110) $4=0 (step enable invert, bool) $5=0 (limit pins invert, bool) $6=0 (probe pin invert, bool) $10=3 (status report mask:00000011) $11=0.020 (junction deviation, mm) $12=0.002 (arc tolerance, mm) $13=0 (report inches, bool) $20=0 (soft limits, bool) $21=0 (hard limits, bool) $22=0 (homing cycle, bool) $23=1 (homing dir invert mask:00000001) $24=50.000 (homing feed, mm/min) $25=635.000 (homing seek, mm/min) $26=250 (homing debounce, msec) $27=1.000 (homing pull-off, mm) $100=314.961 (x, step/mm) $101=314.961 (y, step/mm) $102=314.961 (z, step/mm) $110=635.000 (x max rate, mm/min) $111=635.000 (y max rate, mm/min) $112=635.000 (z max rate, mm/min) $120=50.000 (x accel, mm/sec^2) $121=50.000 (y accel, mm/sec^2) $122=50.000 (z accel, mm/sec^2) $130=225.000 (x max travel, mm) $131=125.000 (y max travel, mm) $132=170.000 (z max travel, mm)

$ x = val - Guardar configuración Grbl El  $x=val comando guarda o altera una configuración Grbl, que se puede hacer manualmente enviando este comando cuando se conecta a Grbl a través de un programa de terminal en serie, pero la mayoría de las GUI Grbl lo harán por usted como una función fácil de usar. Para cambiar manualmente, por ejemplo, la opción de impulsos por pasos de microsegundos a 10us, debe escribir esto, seguido de una tecla enter: $0=10

$0

0

Si todo salió bien, Grbl responderá con un 'OK' y esta configuración se almacenará en EEPROM y se conservará para siempre o hasta que los modifique. Puede verificar si Grbl ha recibido y almacenado su configuración de forma correcta escribiendo  $$ para ver de nuevo la configuración del sistema.

La  $x=val configuración de Grbl y su significado NOTA: la numeración de configuraciones ha cambiado desde v0.8c para fines de prueba de futuro. $ 0 - Pulso por pasos, microsegundos Los controladores paso a paso están clasificados para una determinada longitud mínima de impulso de paso. Verifique la hoja de datos o simplemente pruebe algunos números. Desea los pulsos más cortos que los controladores de pasos puedan reconocer de manera confiable. Si los pulsos son demasiado largos, es posible que tenga problemas al ejecutar el sistema a muy alta velocidad de alimentación y pulso, ya que los pulsos de paso pueden comenzar a superponerse entre sí. Recomendamos algo alrededor de 10 microsegundos, que es el valor predeterminado. $ 1 - Demora de inactividad por pasos, mseg Cada vez que tus steppers completan un movimiento y se detienen, Grbl retrasará la deshabilitación de los steppers con este valor. O bien , siempre puede mantener sus ejes habilitados (alimentados para mantener la posición) estableciendo este valor en un máximo de 255 milisegundos. De nuevo, solo para repetir, puede mantener todos los ejes siempre habilitados mediante la configuración  $1=255 . El tiempo de bloqueo inactivo del paso a paso es la duración del tiempo. Grbl mantendrá los pasos a paso bloqueados antes de deshabilitarlo. Según el sistema, puede configurarlo en cero y deshabilitarlo. En otros, puede necesitar de 25 a 50 milisegundos para asegurarse de que sus ejes se detengan por completo antes de deshabilitarlo. Esto es para ayudar a tener en cuenta los motores de las máquinas que no les gusta dejarlos encendidos durante largos períodos de tiempo sin hacer algo. Además, tenga en cuenta que algunos controladores paso a paso no recuerdan en qué micropaso se detuvieron, por lo que cuando vuelva a habilitarlo, puede ser testigo de algunos pasos "perdidos" debido a esto. En este caso, solo mantén tus steppers habilitados a través de  $1=255 . $ 2 - Máscara invertida del puerto de pasos: binario Esta configuración invierte la señal de pulso por pasos. Por defecto, una señal de paso comienza en normal bajo y sube cuando ocurre un paso de pulso. Después de un tiempo de pulso por pasos establecido por  $0 , el pin se restablece a bajo, hasta el siguiente evento de pulso de paso. Cuando se invierte, el comportamiento del pulso de paso cambia de normal-alto a bajo durante el pulso y de vuelta a alto. La mayoría de los usuarios no necesitarán usar esta configuración, pero esto puede ser útil para ciertos controladores paso a paso CNC que tienen requisitos peculiares. Por

ejemplo, se puede crear un retraso artificial entre el pin de dirección y el pulso de paso invirtiendo el pin de paso. Esta configuración de máscara invertida es un valor que almacena los ejes para invertir como indicadores de bits. Realmente no necesita entender completamente cómo funciona. Simplemente necesita ingresar el valor de configuración para los ejes que desea invertir. Por ejemplo, si desea invertir los ejes X y Z, enviaría  $2=5 a Grbl y la configuración debería leerse ahora  $2=5 (step port invert mask:00000101) . Fijando el valor

Máscara

Invertir X

Invertir Y

Invertir Z

0

00000000

norte

norte

norte

1

00000001

Y

norte

norte

2

00000010

norte

Y

norte

3

00000011

Y

Y

norte

4

00000100

norte

norte

Y

5

00000101

Y

norte

Y

6

00000110

norte

Y

Y

7

00000111

Y

Y

Y

$ 3 - Máscara invertida del puerto de dirección: binario Esta configuración invierte la señal de dirección para cada eje. Por defecto, Grbl supone que los ejes se mueven en una dirección positiva cuando la señal del pin de dirección es baja, y una dirección negativa cuando el pin es alto. A menudo, los ejes no se mueven de esta manera con algunas máquinas. Esta configuración invertirá la señal del pin de dirección para aquellos ejes que se mueven de la manera opuesta. Esta configuración de máscara invertida funciona exactamente igual que la máscara invertida del puerto de pasos y almacena qué ejes invertir como indicadores de bits. Para configurar esta configuración, solo necesita enviar el valor de los ejes que desea invertir. Use la tabla de arriba. Por ejemplo, si solo desea invertir la dirección del eje Y, enviaría  $3=2 a Grbl y la configuración debería leer ahora $3=2 (dir port invert mask:00000010) $ 4 - Step enable invert, bool Por defecto, el pin de habilitación de paso a paso es alto para desactivar y bajo para habilitar. Si su configuración necesita lo contrario, simplemente invierta el alfiler de activación de pasos por tipeo  $4=1 . Desactivar con  $4=0 . (Puede necesitar un ciclo de encendido para cargar el cambio). $ 5 - Pines de límite invertidos, bool Por defecto, los pines de límite se mantienen normalmente altos con la resistencia interna de Arduino. Cuando un pin de límite es bajo, Grbl lo interpreta como desencadenado. Para el comportamiento opuesto, simplemente invierta los pines de límite escribiendo  $5=1 . Desactivar con  $5=0 . Es posible que necesite un ciclo de energía para cargar el cambio.

NOTA: Si invierte sus patillas de límite, necesitará una resistencia externa desplegable conectada a todas las patillas de límite para evitar sobrecargar las patillas con corriente y freírlas. $ 6 - Punta de sonda invertida, bool Por defecto, el pin de la sonda se mantiene normalmente alto con la resistencia interna de Arduino. Cuando el pin de la sonda está bajo, Grbl lo interpreta como desencadenado. Para el comportamiento opuesto, simplemente invierta el pin de la sonda escribiendo  $6=1 . Desactivar con  $6=0 . Es posible que necesite un ciclo de energía para cargar el cambio. NOTA: Si invierte su pin de la sonda, necesitará una resistencia externa desplegable conectada al pin de la sonda para evitar sobrecargarla con corriente y freírla. $ 10 - máscara de informe de estado: binario Esta configuración determina qué datos Grbl en tiempo real informa al usuario cuando un '?' informe de estado es enviado. Por defecto, Grbl devolverá su estado de funcionamiento (no se puede desactivar), la posición de la máquina y la posición de trabajo (posición de la máquina con compensaciones de coordenadas y otras compensaciones aplicadas). Se encuentran disponibles tres características de informes adicionales que son útiles para las interfaces o usuarios que configuran sus máquinas, que incluyen el buffer serie RX, el uso de búfer de bloque del planificador y los estados de límite de pin (como alto o bajo, mostrados en el orden ZYX). Para configurarlos, use la tabla a continuación para determinar qué datos desea que envíe Grbl. Seleccione los tipos de informes que le gustaría ver en los informes de estado y agregue sus valores. Este es el valor que usa para enviar a Grbl. Por ejemplo, si necesita posiciones de máquina y trabajo, agregue los valores 1 y 2 y envíe Grbl  $10=3 para configurarlo. O bien, si solo necesita la posición de la máquina y el estado del pin límite, agregue los valores 1 y 16 y envíe Grbl  $10=17 . En general, mantenga estos datos de estado en tiempo real al mínimo, ya que se necesitan recursos para imprimir y enviar estos datos a una velocidad elevada. Por ejemplo, los informes de pines de límite generalmente solo se necesitan cuando los usuarios están configurando su máquina. Después, se recomienda desactivarlo, ya que no es muy útil una vez que haya resuelto todo. Tipo de informe

Valor

Posición de la máquina

1

Posición de trabajo

2

Tampón del planificador

4

RX Buffer

8

Limit Pins

dieciséis

$ 11 - Desviación de la unión, mm La desviación de unión la utiliza el administrador de aceleración para determinar qué tan rápido puede moverse a través de las uniones de segmentos de línea de una ruta de programa de código G. Por ejemplo, si la ruta del código G tiene un giro agudo de 10 grados y la máquina se mueve a

toda velocidad, esta configuración ayuda a determinar cuánto debe ralentizar la máquina para pasar por la esquina sin perder pasos. Cómo lo calculamos es un poco complicado, pero, en general, los valores más altos dan un movimiento más rápido a través de las esquinas, al tiempo que aumentan el riesgo de perder pasos y posicionamiento. Los valores más bajos hacen que el administrador de aceleración sea más cuidadoso y conducirán a tomar curvas con mayor cuidado y más lentamente. Por lo tanto, si se encuentra con problemas en los que su máquina intenta tomar una curva demasiado rápido, disminuya este valor para disminuir la velocidad al ingresar a las esquinas. Si desea que su máquina se mueva más rápido a través de uniones, aumente este valor para acelerarlo. Para personas curiosas, haga clic en este enlace para leer sobre el algoritmo de curvas de Grbl, que representa tanto la velocidad como el ángulo de unión con un método muy simple, eficiente y robusto. $ 12 - Tolerancia de arco, mm Grbl renderiza círculos, arcos y hélices G2 / G3 al subdividirlos en minúsculas líneas, de modo que la precisión del trazado del arco nunca está por debajo de este valor. Probablemente nunca tenga que ajustar esta configuración, ya que  0.002mm está muy por debajo de la precisión de la mayoría de las máquinas CNC. Pero si observa que sus círculos son demasiado toscos o que el trazado de arco funciona lentamente, ajuste esta configuración. Los valores más bajos dan una mayor precisión, pero pueden conducir a problemas de rendimiento al sobrecargar Grbl con demasiadas líneas pequeñas. Alternativamente, los valores más altos se rastrean a una precisión menor, pero pueden acelerar el rendimiento del arco, ya que Grbl tiene menos líneas con las que lidiar. Para los curiosos, la tolerancia al arco se define como la distancia perpendicular máxima desde un segmento de línea con sus puntos finales sobre el arco, también conocido como un acorde. Con cierta geometría básica, resolvemos la longitud de los segmentos de línea para rastrear el arco que satisface esta configuración. Modelar arcos de esta forma es excelente, porque los segmentos de la línea de arco se ajustan y escalan automáticamente con la longitud para garantizar un rendimiento óptimo del trazado del arco, sin perder nunca la precisión. $ 13 - Informe pulgadas, bool Grbl tiene una función de informe de posicionamiento en tiempo real para proporcionar al usuario retroalimentación sobre dónde está exactamente la máquina en ese momento, así como los parámetros para los desplazamientos de coordenadas y el sondeo. De forma predeterminada, está configurado para informar en mm, pero al enviar un  $13=1 comando, usted envía este indicador booleano a verdadero y estas características de informe ahora se reportarán en pulgadas.  $13=0 para retroceder a mm. $ 20 - Límites suaves, bool Los límites suaves son una característica de seguridad para ayudar a evitar que su máquina viaje demasiado lejos y más allá de los límites de viaje, chocando o rompiendo algo costoso. Funciona al conocer los límites máximos de desplazamiento para cada eje y donde Grbl está en las coordenadas de la máquina. Cada vez que se envía un nuevo movimiento de código G a Grbl, verifica si accidentalmente ha excedido el espacio de su máquina. Si lo hace, Grbl emitirá una suspensión de alimentación inmediata donde sea que esté, apague el husillo y el refrigerante, y

luego configure la alarma del sistema para indicar el problema. La posición de la máquina se retendrá después, ya que no se debe a una parada forzada inmediata, como los límites duros. NOTA: Los límites suaves requieren que se habilite la referencia y la configuración de recorrido máximo del eje preciso, porque Grbl necesita saber dónde está.  $20=1 para habilitar y  $20=0 deshabilitar. $ 21 - límites duros, bool El límite duro funciona básicamente igual que los límites suaves, pero en su lugar usa interruptores físicos. Básicamente conectas algunos interruptores (mecánicos, magnéticos u ópticos) cerca del final del recorrido de cada eje, o donde creas que podría haber problemas si tu programa se mueve demasiado lejos donde no debería. Cuando se active el interruptor, detendrá inmediatamente todo el movimiento, apagará el refrigerante y el husillo (si está conectado), y pasará al modo de alarma, lo que obliga a revisar su máquina y reiniciar todo. Para usar límites duros con Grbl, las patillas de límite se mantienen altas con una resistencia de pull-up interna, por lo que todo lo que tienes que hacer es conectar un interruptor normalmente abierto con el pin y la tierra y habilitar límites duros con  $21=1 . (Desactivar con  $21=0 .) Recomendamos tomar medidas de prevención de interferencia eléctrica. Si desea un límite para ambos extremos de desplazamiento de un eje, simplemente conecte dos interruptores en paralelo con el pin y la tierra, de modo que si cualquiera de ellos se dispara, activa el límite duro. Tenga en cuenta que un evento de límite estricto se considera un evento crítico, donde los steppers se detienen inmediatamente y es probable que hayan perdido pasos. Grbl no tiene ningún comentario sobre la posición, por lo que no puede garantizar que tenga alguna idea de dónde está. Por lo tanto, si se activa un límite estricto, Grbl entrará en un modo ALARMA de ciclo infinito, que le da la oportunidad de verificar su máquina y obligarlo a restablecer Grbl. Recuerde que es una característica puramente de seguridad. $ 22 - ciclo de inicio, bool Ahh, hogar. Para aquellos recién iniciados en CNC, el ciclo de referenciado se usa para ubicar con precisión y precisión una posición conocida y consistente en una máquina cada vez que inicie su Grbl entre sesiones. En otras palabras, usted sabe exactamente dónde se encuentra en un momento dado, todo el tiempo. Supongamos que comienza a mecanizar algo o está a punto de comenzar el siguiente paso en un trabajo y se va la luz, reinicia Grbl y Grbl no tiene idea de dónde está. Te queda la tarea de averiguar dónde estás. Si tiene un homing, siempre tiene el punto de referencia cero de la máquina para ubicarlo, por lo que todo lo que tiene que hacer es ejecutar el ciclo de homing y continuar donde lo dejó. Para configurar el ciclo de homing para Grbl, necesita tener interruptores de límite en una posición fija que no se golpee o mueva, o su punto de referencia se estropea. Por lo general, se configuran en el punto más lejano en + x, + y, + z de cada eje. Conecte sus interruptores de límite con los pines de límite y masa, al igual que con los límites duros, y habilite la homing. Si tiene curiosidad, puede usar sus interruptores de límite tanto para los límites duros como para el homing. Ellos juegan bien el uno con el otro. Por defecto, el ciclo de homing de Grbl mueve primero el eje Z positivo para despejar el espacio de trabajo y luego mueve los ejes X e Y al mismo tiempo en la dirección positiva. Para configurar

cómo se comporta su ciclo de homing, hay más configuraciones de Grbl en la página que describen lo que hacen (y también opciones de tiempo de compilación). Además, una cosa más a tener en cuenta, cuando la búsqueda está habilitada. Grbl bloqueará todos los comandos de código G hasta que realice un ciclo de inicio. Lo que significa que no hay movimientos de ejes, a menos que el bloqueo esté desactivado ($ X) pero más sobre eso más adelante. La mayoría, si no todos los controladores CNC, hacen algo similar, ya que es principalmente una característica de seguridad para evitar que los usuarios cometan un error de posicionamiento, lo cual es muy fácil de hacer y entristecerse cuando un error arruina una parte. Si esto te resulta molesto o encuentras algún error extraño, avísanos e intentaremos trabajar para que todos estén contentos. :) NOTA: Verifique config.h para obtener más opciones de orientación para usuarios avanzados. Puede desactivar el bloqueo de inicio al inicio, configurar qué ejes se mueven primero durante un ciclo de inicio y en qué orden, y más. $ 23 - Dirigir la máscara invert invert, int: binary Por defecto, Grbl supone que los interruptores de límite de homing están en la dirección positiva, primero moviendo el eje z positivo, luego los ejes xy positivos antes de tratar de ubicar con precisión la máquina en cero yendo y viniendo lentamente alrededor del interruptor. Si su máquina tiene un interruptor de límite en la dirección negativa, la máscara de dirección de retorno puede invertir la dirección de los ejes. Funciona igual que las máscaras de inversión de puerto de paso e inversión de puerto de dirección, donde todo lo que tienes que hacer es enviar el valor en la tabla para indicar qué ejes quieres invertir y buscar en la dirección opuesta. $ 24 - alimentación de referencia, mm / min El ciclo de autovigilancia busca primero los interruptores de límite a una tasa de búsqueda más alta, y después de encontrarlos, se mueve a una velocidad de alimentación más lenta para llegar a la ubicación precisa del cero de la máquina. La velocidad de avance de referencia es la velocidad de avance más lenta. Establezca esto en cualquier valor de velocidad que proporcione localización de máquina cero repetible y precisa. $ 25 - Búsqueda de inicio, mm / min La tasa de búsqueda de referencia es la tasa de búsqueda del ciclo de referencia, o la velocidad a la que primero trata de encontrar los interruptores de límite. Ajústese a la velocidad que llegue a los interruptores de límite en un tiempo suficientemente corto sin chocar con sus interruptores de límite si entran demasiado rápido. $ 26 - rebote de referencia, ms Cada vez que se activa un interruptor, algunos de ellos pueden tener un ruido eléctrico / mecánico que en realidad "rebota" la señal a niveles altos y bajos durante unos pocos milisegundos antes de instalarse. Para solucionar esto, debe atenuar la señal, ya sea por hardware con algún tipo de acondicionador de señal o por software con un pequeño retraso para dejar que la señal termine de rebotar. Grbl realiza una pequeña demora, solo se dirige a la ubicación cero de la máquina. Establezca este valor de retardo a lo que necesite su interruptor para obtener un homing repetible. En la mayoría de los casos, 5-25 milisegundos está bien.

$ 27 - retirada de inicio, mm Para jugar bien con la característica de límites duros, donde el homing puede compartir los mismos interruptores de límite, el ciclo de homing se moverá de todos los interruptores de límite en este recorrido de retirada después de que se complete. En otras palabras, ayuda a evitar la activación accidental del límite estricto después de un ciclo de inicio. $ 100, $ 101 y $ 102 - [X, Y, Z] pasos / mm Grbl necesita saber en qué medida cada paso llevará a la herramienta en realidad. Para calcular los pasos / mm para un eje de su máquina, necesita saber: El mm viajó por revolución de su motor paso a paso. Esto depende de los engranajes de transmisión por correa o del paso del tornillo de avance. Los pasos completos por revolución de sus steppers (típicamente 200) Los micro pasos por paso de su controlador (generalmente 1, 2, 4, 8 o 16). Consejo: Usar valores altos de microstep (por ej., 16) puede reducir el torque de su motor paso a paso, así que use el más bajo que le dé la resolución de eje deseada y las propiedades de funcionamiento más cómodas. Los pasos / mm pueden calcularse así:  steps_per_mm = (steps_per_revolution*microsteps)/mm_per_rev

Calcule este valor para cada eje y escriba estas configuraciones en Grbl. $ 110, $ 111 y $ 112 - [X, Y, Z] Velocidad máxima, mm / min Esto establece la tasa máxima que cada eje puede mover. Cada vez que Grbl planifica un movimiento, verifica si el movimiento hace que uno de estos ejes individuales exceda su velocidad máxima. Si es así, reducirá la velocidad del movimiento para asegurar que ninguno de los ejes exceda sus límites máximos de velocidad. Esto significa que cada eje tiene su propia velocidad independiente, que es extremadamente útil para limitar el eje Z típicamente más lento. La forma más sencilla de determinar estos valores es probar cada eje uno a la vez aumentando lentamente la configuración de velocidad máxima y moviéndola. Por ejemplo, para probar el eje X, envíe a Grbl algo así como  G0 X50 con la distancia de recorrido suficiente para que el eje acelere a su velocidad máxima. Sabrá que ha alcanzado el límite máximo de velocidad cuando se detengan sus steppers. Hará un poco de ruido, pero no debería dañar sus motores. Ingrese una configuración de 10-20% por debajo de este valor, para que pueda considerar el desgaste, la fricción y la masa de su pieza / herramienta. Entonces, repite para tus otros ejes. NOTA: esta configuración de velocidad máxima también establece las tasas de búsqueda G0. $ 120, $ 121, $ 122 - [X, Y, Z] Aceleración, mm / sec ^ 2 Esto establece los parámetros de aceleración de los ejes en mm / segundo / segundo. Simplísticamente, un valor inferior hace que Grbl se desacelere más lentamente en el movimiento, mientras que un valor más alto produce movimientos más ajustados y alcanza los avances deseados mucho más rápido. Al igual que la configuración de velocidad máxima, cada eje tiene su propio valor de aceleración y son independientes entre sí. Esto significa que un

movimiento multieje solo se acelerará tan rápido como pueda hacerlo el eje contribuyente más bajo. De nuevo, al igual que la configuración de la tasa máxima, la forma más sencilla de determinar los valores para esta configuración es probar individualmente cada eje con valores que aumentan lentamente hasta que se detenga el motor. A continuación, finalice la configuración de aceleración con un valor del 10-20% por debajo de este valor máximo absoluto. Esto debería explicar el desgaste, la fricción y la inercia de la masa. Recomendamos encarecidamente que pruebe en seco algunos programas de código G con su nueva configuración antes de comprometerse con ellos. A veces, la carga en su máquina es diferente cuando se mueve en todos los ejes juntos. $ 130, $ 131, $ 132 - [X, Y, Z] Viaje máximo, mm Esto establece el recorrido máximo de extremo a extremo para cada eje en mm. Esto solo es útil si tiene habilitados los límites suaves (y el inicio), ya que esto solo lo usa la función de límite suave de Grbl para verificar si ha excedido los límites de su máquina con un comando de movimiento.

Otros comandos '$' de Grbl Los otros  $ comandos proporcionan controles adicionales para el usuario, como la impresión de comentarios sobre el estado modal actual del analizador de código G o la ejecución del ciclo de referencia. Esta sección explica qué son estos comandos y cómo usarlos. $#  - Ver los parámetros de gcode Los parámetros de código G almacenan los valores de compensación de coordenadas para las coordenadas de trabajo G54-G59, las posiciones predefinidas G28 / G30, el desplazamiento de coordenadas G92, los desplazamientos de longitud de herramienta y el sondeo (no oficialmente, pero hemos agregado aquí de todos modos). La mayoría de estos parámetros se escriben directamente en EEPROM cada vez que se cambian y son persistentes. Lo que significa que seguirán siendo los mismos, independientemente del apagado, hasta que se cambien explícitamente. Los parámetros no persistentes, que no se conservarán al reiniciarse o al ciclo de encendido, son los desplazamientos de longitud de herramienta G92, G43.1 y los datos de prueba de G38.2. Las coordenadas de trabajo G54-G59 se pueden cambiar mediante el comando  G10 L2 Px o  G10 L20 Px definido por el estándar gcode NIST y el estándar EMC2 (linuxcnc.org). Las posiciones predefinidas G28 / G30 se pueden cambiar a través de  G28.1 los  G30.1 comandos y, respectivamente. Cuando  $# se llama, Grbl responderá con los desplazamientos almacenados de las coordenadas de la máquina para cada sistema de la siguiente manera.  TLO denota el desplazamiento de la longitud de la herramienta, y  PRB denota las coordenadas del último ciclo de palpado. [G54:4.000,0.000,0.000] [G55:4.000,6.000,7.000] [G56:0.000,0.000,0.000] [G57:0.000,0.000,0.000] [G58:0 000 0 000 0 000]

[G58:0.000,0.000,0.000] [G59:0.000,0.000,0.000] [G28:1.000,2.000,0.000] [G30:4.000,6.000,0.000] [G92:0.000,0.000,0.000] [TLO:0.000,0.000,0.000] [PRB:0.000,0.000,0.000]

$G  - Ver el estado del analizador gcode Este comando imprime todos los modos gcode activos en el analizador G-code de Grbl. Al enviar este comando a Grbl, responderá con algo como: [G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 S0.0 F500.0]

Estos modos activos determinan cómo el siguiente bloque o comando de código G será interpretado por el analizador de códigos G de Grbl. Para los nuevos en el código G y el mecanizado CNC, los modos configuran el analizador en un estado particular para que no tenga que decirle constantemente al analizador cómo analizarlo. Estos modos están organizados en conjuntos llamados "grupos modales" que no pueden ser lógicamente activos al mismo tiempo. Por ejemplo, el grupo modal de unidades establece si su programa de código G se interpreta en pulgadas o en milímetros. Una lista corta de los grupos modales, con el apoyo de Grbl, se muestra a continuación, pero se pueden encontrar descripciones más completas y detalladas en el sitio web de LinuxCNC . Los comandos de código G en negrita indican los modos predeterminados al encender Grbl o al restablecerlo. Grupo Modal Significado

Palabras de miembros

Modo de movimiento

G0 , G1, G2, G3, G38.2, G38.3, G38.4, G38.5, G80

Sistema de coordenadas Seleccionar

G54 , G55, G56, G57, G58, G59

Seleccionar plano

G17 , G18, G19

Modo de distancia

G90 , G91

Modo de distancia Arc IJK

G91.1

Modo de velocidad de alimentación

G93, G94

Modo de unidades

G20, G21

Compensación del radio del cortador

G40

Desplazamiento de longitud de la herramienta

G43.1, G49

Modo de programa

M0 , M1, M2, M30

Grupo Modal Significado

Palabras de miembros

Estado del huso

M3, M4, M5

Estado de refrigerante

M7, M8, M9

Además de los modos del analizador del código G, Grbl informará el  T número de herramienta activa , la  S velocidad del cabezal y la velocidad de  F avance, que por defecto se ponen a 0 al reiniciarse. Para aquellos que son curiosos, estos no encajan en grupos modales agradables, pero son tan importantes para determinar el estado del analizador sintáctico. $I  - Ver información de construcción Esto imprime comentarios al usuario sobre la versión Grbl y la fecha de compilación del código fuente. Opcionalmente,  $I también puede almacenar una cadena corta para ayudar a identificar con qué máquina CNC se está comunicando, si tiene más de una máquina que usa Grbl. Para establecer esta cadena, envíe Grbl  $I=xxx , ¿dónde  xxx está su cadena de personalización que tiene menos de 80 caracteres? La próxima vez que consulte Grbl con una  $I vista de información de compilación, Grbl imprimirá esta cadena después de la versión y la fecha de compilación. $ N - Ver bloques de inicio $Nx son los bloques de inicio que Grbl ejecuta cada vez que enciendes Grbl o reinicias Grbl. En

otras palabras, un bloque de inicio es una línea de código G que puede ejecutar automáticamente Grbl para configurar los valores predeterminados modales del código G, o cualquier otra cosa que necesite que Grbl haga cada vez que inicie su máquina. Grbl puede almacenar dos bloques de código G como predeterminado del sistema. Entonces, cuando esté conectado a Grbl, escriba  $N y luego ingrese. Grbl debería responder con algo breve como: $N0= $N1= ok

No hay mucho que seguir, pero esto solo significa que no hay un bloque de código G almacenado en línea  $N0 para que Grbl se ejecute al inicio.  $N1 es la siguiente línea que se ejecutará. $ Nx = línea - Guardar bloque de inicio IMPORTANTE: Tenga mucho cuidado al almacenar cualquier comando de movimiento (G0 / 1, G2 / 3, G28 / 30) en los bloques de inicio. Estos comandos de movimiento se ejecutarán cada vez que restablezca o encienda Grbl, por lo que si tiene una situación de emergencia y tiene que detener y restablecer e-stop, un movimiento de bloqueo de inicio puede empeorar las cosas rápidamente. Además, no coloque ningún comando que guarde datos en EEPROM, como G10 / G28.1 / G30.1. Esto hará que Grbl reescriba constantemente estos datos en cada inicio y reinicio, lo que eventualmente desgastará la EEPROM de su Arduino.

El uso típico de un bloque de inicio es simplemente establecer sus estados modales preferidos, como el modo G20 pulgadas, siempre de manera predeterminada a un sistema de coordenadas de trabajo diferente, o, para proporcionar una forma de que un usuario ejecute alguna característica única escrita por el usuario que necesitan por su proyecto loco Para configurar un bloque de inicio, escriba  $N0= seguido de un bloque de código G válido y una entrada. Grbl ejecutará el bloque para verificar si es válido y luego responderá con una  ok o una  error: para informarle si es exitoso o si algo salió mal. Si hay un error, Grbl no lo guardará. Por ejemplo, supongamos que quiere usar su primer bloque de inicio  $N0 para configurar sus modos de analizador de código G, como la coordenada de trabajo G54, el modo G20 pulgadas, el plano G17 XY. Escribiría  $N0=G20 G54 G17 con una tecla enter y debería ver una respuesta 'ok'. Luego puede verificar si se almacenó escribiendo  $N y ahora debería ver una respuesta como  $N0=G20G54G17 . Una vez que tenga un bloque de inicio almacenado en la EEPROM de Grbl, cada vez que inicie o reinicie verá impreso su bloque de inicio y una respuesta de Grbl para indicar si funcionó bien. Entonces, para el ejemplo anterior, verás: Grbl 0.9i ['$' for help] G20G54G17ok

Si tiene varios bloques de inicio de código G, se imprimirán en orden cada vez que se inicie. Y si desea borrar uno de los bloques de inicio, (por ejemplo, el bloque 0) escriba  $N0= sin nada siguiendo el signo igual. Además, si ha habilitado el inicio, los bloques de inicio se ejecutarán inmediatamente después del ciclo de inicio, no al inicio. $C  - Verifica el modo gcode Esto alterna el analizador gcode de Grbl para tomar todos los bloques entrantes y procesarlos completamente, como lo haría en una operación normal, pero no mueve ninguno de los ejes, ignora los tiempos muertos y apaga el husillo y el refrigerante. Esto pretende ser una manera de proporcionarle al usuario una forma de comprobar cómo funciona su nuevo programa de código G con el analizador sintáctico de Grbl y controlar cualquier error (y verifica si hay violaciones de límites débiles, si está habilitado). Cuando se apaga, Grbl realizará un restablecimiento suave automático (^ X). Esto es para dos propósitos. Simplifica la gestión del código un poco. Pero también evita que los usuarios comiencen un trabajo cuando sus modos de código G no son lo que creen que son. Un reinicio del sistema siempre le brinda al usuario un inicio nuevo y constante. $X  - Matar el bloqueo de la alarma El modo de alarma de Grbl es un estado en el que algo se ha tornado críticamente incorrecto, como un límite estricto o un aborto durante un ciclo, o si Grbl no conoce su posición. Por defecto, si tiene habilitada la función de inicio y enciende el Arduino, Grbl entra en el estado de alarma porque no conoce su posición. El modo de alarma bloqueará todos los comandos de código G hasta que se haya realizado el ciclo de inicio '$ H'. O si un usuario necesita anular el bloqueo de la

alarma para mover sus ejes de sus interruptores de límite, por ejemplo, el bloqueo de alarma '$ X' kill anulará los bloqueos y permitirá que las funciones del código G funcionen nuevamente. Pero, ¡pisa con cuidado! Esto solo debe usarse en situaciones de emergencia. La posición probablemente se ha perdido, y Grbl puede no estar donde crees que está. Por lo tanto, se recomienda utilizar el modo incremental G91 para realizar movimientos cortos. Luego, realice un ciclo de referencia o reinícielo inmediatamente después. $H  - Ejecutar ciclo de retorno Este comando es la única forma de realizar el ciclo de homing en Grbl. Algunos otros controladores de movimiento designan un comando especial de código G para ejecutar un ciclo de inicio, pero esto es incorrecto de acuerdo con los estándares de código G. Homing es un comando completamente separado manejado por el controlador. SUGERENCIA: después de ejecutar un ciclo de orientación, en lugar de trotar manualmente todo el tiempo a una posición en el medio del volumen de su área de trabajo. Puede establecer una posición predefinida G28 o G30 para que sea su posición posterior a la localización, más cerca de donde se va a mecanizar. Para configurarlos, primero deberá mover la máquina a donde desea que se mueva después del recorrido. Escriba G28.1 (o G30.1) para que Grbl almacene esa posición. Entonces, después de '$ H' homing, puedes ingresar 'G28' (o 'G30') y se moverá allí de forma automática. En general, simplemente movería el eje XY al centro y dejaría el eje Z hacia arriba. Esto garantiza que no exista la posibilidad de que la herramienta en el husillo interfiera y no se enganche con nada. $RST=$ ,  $RST=# Y  $RST=* - Restauración de la configuración Grbl y datos a los valores predeterminados Estos comandos no se enumeran en el  $ mensaje de ayuda Grbl principal , pero están disponibles para permitir a los usuarios restaurar partes o todos los datos de EEPROM de Grbl. Nota: Grbl se restablecerá automáticamente después de ejecutar uno de estos comandos para garantizar que el sistema se inicialice correctamente. $RST=$ : Borra y restablece la  $$ configuración de Grbl a los valores predeterminados, que se

define mediante el archivo de configuración predeterminado utilizado al compilar Grbl. A menudo, los OEM construirán sus firmwares Grbl con sus configuraciones recomendadas específicas de la máquina. Esto proporciona a los usuarios y fabricantes de equipos originales una forma rápida de volver a la primera casilla, si algo salió mal o si un usuario desea comenzar de nuevo.

$RST=# : Borra y pone a cero todos los desplazamientos de coordenadas de trabajo G54-G59 y

las posiciones G28 / 30 almacenadas en EEPROM. Estos son generalmente los valores que se ven en la  $# impresión de los parámetros. Esto proporciona una manera fácil de borrar estos sin tener que hacerlo manualmente para cada conjunto con un comando  G20 L2/20 o  G28.1/30.1 . $RST=* : Esto borra y restablece todos los datos EEPROM utilizados por Grbl. Esto

incluye  $$ configuraciones,  $# parámetros,  $N líneas de inicio y  $I cadena de información de compilación. Tenga en cuenta que esto no borra toda la EEPROM, solo las áreas de datos que usa Grbl. Para hacer una limpieza completa, utilice el proyecto de ejemplo claro EEPROM de Arduino IDE.

Comandos en tiempo real:  ~, !, ?, and Ctrl-X Los últimos cuatro comandos de Grbl son comandos en tiempo real. Esto significa que pueden enviarse en cualquier momento y en cualquier lugar, y Grbl responderá de inmediato, sin importar lo que esté haciendo. Para aquellos que son curiosos, estos son caracteres especiales que son 'eliminados' de la secuencia serial entrante y le dirán a Grbl que los ejecute, generalmente en unos pocos milisegundos. ~  - Inicio del ciclo Este es el comando de inicio de ciclo o reanudación que se puede emitir en cualquier momento, ya que es un comando en tiempo real. Cuando Grbl tiene movimientos en cola en su búfer y está listo para funcionar, el  ~ comando de inicio del ciclo comenzará a ejecutar el búfer y Grbl comenzará a mover los ejes. Sin embargo, de manera predeterminada, el inicio automático del ciclo está habilitado, por lo que los nuevos usuarios no necesitarán este comando a menos que se realice una retención de alimentación. Cuando se ejecuta una retención de alimentación, el inicio del ciclo reanudará el programa. El inicio del ciclo solo será efectivo cuando haya movimientos en el búfer listos para funcionar y no funcionará con ningún otro proceso como el recorrido de referencia. !  - Asimiento de la alimentación El comando de retención de alimentación hará que el ciclo activo se detenga a través de una desaceleración controlada, para no perder la posición. También es en tiempo real y puede activarse en cualquier momento. Una vez finalizado o en pausa, Grbl esperará hasta que se emita un comando de inicio de ciclo para reanudar el programa. La retención de alimentación solo puede detener un ciclo y no afectará la localización o cualquier otro proceso. Si necesita detener un ciclo a mitad de un programa y no puede permitirse perder la posición, realice una retención de alimentación para que Grbl deje todo en una parada controlada. Una vez finalizado, puede emitir un reinicio. Siempre intente ejecutar una retención de alimentación siempre que la máquina esté funcionando antes de presionar el restablecimiento, excepto, por supuesto, si hay alguna situación de emergencia. ?  - Estado actual El  ? comando devuelve inmediatamente el estado activo de Grbl y la posición actual en tiempo real, tanto en las coordenadas de la máquina como en las coordenadas de trabajo. Opcionalmente, también puede hacer que Grbl responda con el buffer serie RX y el uso del buffer del planificador a través de la configuración de máscara de informe de estado. El  ? comando se puede enviar en cualquier momento y funciona de manera asíncrona con todos los demás procesos que está haciendo Grbl. La  $13 configuración Grbl determina si informa milímetros o pulgadas. Cuando  ? se presiona, Grbl responderá inmediatamente con algo como lo siguiente:

Los estados activos en los que Grbl puede estar son: Inactivo, En ejecución, En espera, Puerta, Hogar, Alarma, Control

Inactivo : todos los sistemas funcionan, no hay movimientos en cola, y está listo para cualquier cosa. Ejecutar : indica que se está ejecutando un ciclo. Mantener : se está ejecutando una retención de alimentación, o se está frenando hasta detenerse. Después de que se haya completado la retención, Grbl permanecerá en espera y esperará a que el ciclo comience a reanudar el programa. Puerta : (Nuevo en v0.9i) Esta opción de compilación hace que Grbl mantenga presionado, apague el husillo y el refrigerante, y espere hasta que el interruptor de la puerta se haya cerrado y el usuario haya emitido un ciclo de arranque. Útil para OEM que necesita puertas de seguridad. Inicio : en medio de un ciclo de inicio de página . NOTA: Las posiciones no se actualizan en vivo durante el ciclo de referencia, pero se establecerán en la posición de inicio una vez hecho. Alarma : Esto indica que algo salió mal o Grbl no sabe su posición. Este estado bloquea todos los comandos de código G, pero le permite interactuar con la configuración de Grbl si es necesario. El bloqueo de alarma '$ X' kill libera este estado y pone a Grbl en el estado Inactivo, lo que le permitirá mover cosas nuevamente. Como se dijo antes, tenga cuidado con lo que está haciendo después de una alarma. Comprobar : Grbl está en modo G-code. Procesará y responderá a todos los comandos de código G, pero no moverá ni activará nada. Una vez desactivado con otro comando '$ C', Grbl se reiniciará a sí mismo. Ctrl-x  - Restablecer Grbl Este es el comando de reinicio suave de Grbl . Es en tiempo real y se puede enviar en cualquier momento. Como su nombre lo indica, restablece Grbl, pero de forma controlada, conserva la posición de la máquina, y todo se hace sin apagar su Arduino. Las únicas veces que un restablecimiento suave podría perder posición es cuando surgen problemas y los pasos a seguir fueron asesinados mientras se movían. Si es así, informará si se perdió el seguimiento de Grbl de la posición de la máquina. Esto se debe a que una desaceleración incontrolada puede llevar a pasos perdidos, y Grbl no tiene retroalimentación sobre cuánto perdió (este es el problema con los steppers en general). De lo contrario, Grbl simplemente volverá a inicializarse, ejecutará las líneas de inicio y continuará de manera feliz. Tenga en cuenta que se recomienda hacer un restablecimiento suave antes de comenzar un trabajo. Esto garantiza que no haya ningún modo de código G activo que no sea jugar o configurar su máquina antes de ejecutar el trabajo. Por lo tanto, su máquina siempre comenzará fresca y constantemente, y su máquina hará lo que usted espera.