Está en la página 1de 16

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

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


Modo de movimiento
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
G43.1, G49
herramienta

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:

<Idle,MPos:5.529,0.560,7.000,WPos:1.529,-5.440,-0.000>

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.