Documentos de Académico
Documentos de Profesional
Documentos de Cultura
9]
¿No sería increíble que pudieses crear tu propia maquina robotizada casera?
Hoy voy a enseñarte el software que necesitas para convertir un sencillo Arduino en una controladora para tus
motores paso a paso.
No hay nada que nos fascine más que tener nuestro propia máquina controlada por ordenador. Yo mismo me
paso horas asombrado mirando como se mueve la impresora 3D.
En este mega post vas a aprender todo lo que necesitas para configurar tu propia máquina.
La teoría es sencilla. Necesitas unos motores paso a paso, unas correas, unas poleas, unos drivers y un Arduino
que controle todo.
Te encuentras con una cantidad enorme de datos, técnicas, y lo que es peor, líneas y líneas de código fuente.
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 1/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
La teoría de los motores paso a paso es sencilla. Cuando el Arduino manda un pulso al driver del motor, este
avanza un pasito.
Esta técnica es muy popular en las máquinas robotizadas porque como sabes cuantos pulsos has enviado,
sabes cuánto ha avanzado la máquina.
Lo que necesitas es pasar de un lenguaje de pulsos, a algo más sencillo de explicar, como son las coordenadas
de los motores.
Por decirlo de alguna manera, cuando hablamos con el motor, le decimos: quiero que avances 200 pulsos. Pero
asi es difícil saber lo que va a hacer la máquina exáctamente.
Lenguaje G-CODE
La forma más o menos estándard de comunicarse con un robot es usando el lenguaje G Code. Es un sencillo
sistema de texto con los movimientos de la máquina. Es uno de los formatos más veteranos, ya que su primera
versión se remonta a los años 50.
CNC y G-Code
Las máquinas robotizadas se denominan CNC, y viene de “Computador de Control
Numérico”. Es la forma común para no decir “maquina robotizada con motores”.
El lenguaje universal de las máquinas CNC se llama G-Code. Es un fichero de texto
con todos los movimientos de la máquina.
No voy a entrar en los detalles del g code, pero para que os hagáis una idea, os voy a poner unos comandos de
ejemplo:
G00 X0Y0Z0
G01 Z1 F5
Avanza todos los ejes de tal forma que llegue lo antes posible.
¿Qué ocurre en ese caso? Que la velocidad de movimiento es la máxima, pero los movimientos no van en línea
recta. Si los motores X e Y avanzan la velocidad máxima (por ejemplo, a 200 mm por minuto) la máquina hace
una linea de 45º, hasta que uno de los motores llega al borde.
Este comando se usa cuando la CNC no está cortando, y queremos mover el cabezal a una posición concreta, y
no nos importa la ruta que tome, sólo la velocidad.
G01 es avance en línea recta. Se usa cuando estamos cortando y si que nos importa la ruta que tome la
máquina.
Si queremos que la máquina haga una línea recta, uno de los motores tiene que ir más lento que el otro, para que
se mantenga por el rumbo que queremos.
Lo mejor es verlo con esta infografía (no seáis muy malos conmigo): ¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 2/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
La buena noticia es que no tenemos que escribir el G Code a mano. La mayoría de programas tienen formas de
exportar y generar G Code por nosotros.
Puedes diseñar sus logotipos en Adobe Illustrator, Corel Draw o Inkscape (si quieres tener todo Open Source) y
exportar a G-code usando un plugin.
Aqui te dejo un completo tutorial para generar código G-Code desde un logotipo, usando Ink Scape
(https://inkscape.org)
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 3/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
haciéndose popular en aquel tiempo. Además está basado en el chip de Atmel AVR (que estoy seguro que no
sabías que se diseñó en Noruega!)
Poco tiempo después de publicar el código, Sonny Jeon estaba buscando una forma de controlar sus motores, y
descubrió este firmware. En menos de un año, se convirtió en uno de los principales desarrolladores del firmware.
Puedes ver este hangout con Sonny Jeon, contando su experiencia con el firmware, ideas para futuros
desarrollos, etc.
GRBL es un firmware que está funcionando en muchos proyectos, con una base de usuarios importante. Si tienes
dudas o algo no te funciona, va a ser muy fácil encontrar ayuda.
Asi que, con un Arduino, una placa preparada para CNC (hablaremos de esto en muy poco tiempo!), unos drivers
como los Pololu A4988 (https://www.staticboards.es/blog/drv8825-vs-
a4988/#Drivers_basados_en_el_chip_Allegro_A4988) o los más potentes DRV8825
(https://www.staticboards.es/blog/drv8825-vs-a4988/#Drivers_basados_en_el_Texas_Instruments_DRV8825), y
unos motores paso a paso, ya tienes toda la electrónica para empezar.
Pero voy a destacar el más popular de todos: la CNC Shapeoko. Esta CNC tiene un precio muy asequible, sobre
los $1000, y tiene una comunidad muy potente detrás. Es bastante normal ver una Shapeoko en los fablabs más
conocidos.
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 4/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Si quieres algo más lowcost, un proyecto muy barato (menos de $60) es Cartesio
(http://robottini.altervista.org/cartesio-low-cost-cartesian-plotter-robot), un plotter que hace unos dibujos artísticos
muy buenos, con unas piezas impresas en 3D, dos motores paso a paso y un servo.
Al principio del movimiento, el firmware va subiendo la velocidad poco a poco hasta llegar a la velocidad deseada,
y ahí se mantiene hasta que va llegando al final del movimiento. Entonces va decelerando poco a poco hasta que
se para, o comienza un nuevo segmento.
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 5/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
trapecios)
Este es el núcleo del algoritmo de GRBL. Despedazar los movimientos en trapecios para cada motor. Dividir los
movimientos en una lista de líneas rectas y calcular la aceleración y frenada de cada segmento, en cada eje.
La lista de trapecios se envían a la parte más importante del programa, la interrupción de timer, donde se
transforman esos trapecios en pulsos, a una velocidad perfectamente definida para que los motores se muevan
de forma coordinada. Todo esto se tiene que ejecutar de forma perfectamente sincronizada.
El G-Code nos define los movimientos línea a línea. Avanza tantos centímetros a la derecha, ahora avanza en
otra dirección, y así hasta terminar de cortar nuestra pieza
Imagínate que el programa le dice que avance en linea recta a toda velocidad durante un buen rato. El cabezal de
la máquina irá a toda pastilla hasta el final.
La primera opción es que el siguiente movimiento sea un giro brusco, por ejemplo, en una esquina. El cabezal
tiene que empezar a frenar mucho antes de llegar al la esquina, si no, con la inercia, se pasará de frenada y nos
quedará una marca fea.
¿Pero qué pasa si la en vez de un giro brusco, la línea continua pero con una mínima diferencia? Por ejemplo, si
solo nos desviamos unos grados de nuestro rumbo. Entonces no hace falta frenar, el cabezal puede mantener la
velocidad y todo irá más suave. Incluso las marcas serán más limpias.
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 6/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Lo que hace GRBL es leer las siguientes líneas del programa, y recalcular la lista de trapecios y sus
aceleraciones, teniendo en cuenta los siguientes movimientos. De esta forma, el cabezal frenará antes, porque
conoce lo que le va a venir más adelante.
Recalcular la aceleración
GRBL lee los siguientes movimientos de la máquina, y ajusta la aceleración y
frenada para que todo vaya suave y fluido.
En un procesador más avanzado (que ejecuta linux), es el kernel quién gestiona la interrupción del timer, y
bloquea el acceso al resto de programas. Y esto es algo positivo, ya que es lo que permite que podamos usar las
Raspberry Pi o un ordenador normal. Si un programa logra tomar el control de esta interrupción, es posible que
bloquee todo. Y cuando digo todo, digo absolutamente todo: el ratón, la tarjeta de video, la conexión de internet,
etc. Por eso el kernel nos protege para que eso no ocurra.
El kernel de linux asigna un tiempo a cada programa. El servidor web, el gestor de ventanas, etc. Según la CPU
disponible, y los recursos que están usando en ese momento, permite ejecutar un programa u otro.
Por este motivo, dependemos del resto de programas para garantizar que todo se llama a tiempo. Si un programa
pide mucha CPU, el kernel haría que nuestro programa funcionase más lento. Y si estamos cortando un círculo
con la CNC, puede que perdamos pasos, y el circulo se parezca más a un huevo.
En todo lo que tiene que ver con motores usamos un procesador tipo Arduino. Técnicamente lo llamamos de
tiempo real, porque si programas para que se lance una interrupción cada 100 milisegundos, va a hacerlo
exactamente en ese momento.
Linux
Las máquinas con linux no sirven para controlar una máquina CNC por la forma en la
que gestiona la multitarea.
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 7/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Estoy seguro que has escuchado alguna vez sobre el firmware Marlin
(https://github.com/MarlinFirmware/Marlin/tags) para las impresoras 3D. Es el firmware más usado para la
RAMPS 1.4 (https://www.staticboards.es/productos/ramps14sb/), por ejemplo.
Pues si miras el código, sobre todo la parte de movimientos, verás que el Marlin no es más que un GRBL con
vitaminas.
La base es la misma. Lo que han añadido los programadores es toda la gestión de temperaturas, lo que mantiene
el extrusor caliente mientras hacemos la pieza. También han metido la parte del menú y la pantalla LCD, que es
un trabajo importante.
Además de eso, el GCODE tiene una sección de comandos, M (de “machine”). Por decirlo de alguna manera,
cada máquina tiene sus peculiaridades. Por ejemplo, una máquina puede necesitar que hagamos un pitido. En el
caso de Marlin, han programado el comando M300.
Aqui tienes la lista de comandos GCODE que se usan en Marlin (http://reprap.org/wiki/G-code/es) y en los
firmwares más comunes de impresoras 3D.
Pero si estás pensando en usar 4 ejes, y necesitas más potencia, hay versiones adaptadas para Arduino
Mega.
Yo no las he probado, tengo que decirlo, pero me parece interesante mencionar este
enlace: https://github.com/dguerizec/grbl-Mega-4axis (https://github.com/dguerizec/grbl-Mega-4axis)
Compilar GRBL
Este proyecto está muy testeado y ya ha pasado por varias revisiones completas. Afortunadamente, el código se
compila sin problema desde el IDE de Arduino.
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 8/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 9/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Lo que vamos a hacer es agregar el GRBL como una librería. Para ello, añadimos la carpeta grbl desde el
menú add library en el IDE de Arduino.
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 10/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 11/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Ya está! Le damos a compilar y upload, y nos subirá el nuevo firmware a nuestro Arduino.
Ahora podremos ver si está correctamente configurado, simplemente conectándonos al puerto serie (recuerda
que la velocidad es de 115200 baudios)
make clean
make grbl.hex
sudo avrdude -p m328p -D -P /dev/ttyUSB0 -c arduino -b 115200 -U flash:w:grbl.hex
Otro programa que está muy de moda es el bCNC (https://github.com/vlachoudis/bCNC). En windows es algo
más complicado de instalar porque funciona con python, y hay que instalar alguna libería. Te lo recomiendo sólo si
eres un usuario experimentado.
Si utilizas windows, para conectarte por primera vez y ver si el GRBL funciona, te recomiendo usar putty
(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html). Es un ejecutable muy sencillo que nos abre
el puerto serie sin tener que instalar nada.
Esta es una aplicacion en Java que nos permite enviar ficheros gcode e interactuar con nuestra CNC de forma
sencilla.
GRBL interpreta directamente G-CODE, pero para configurar tu CNC, el intérprete incluye una serie de comandos
especiales.
$$ : Esto nos muestra una lista con todos los parámetros que podemos configurar.
Lo primero es ajustar los pasos por milímetro. Esto es, cuantos pasos tiene que enviar el Arduino al motor para
que tu CNC avance 1 mm.
Vamos a hacer los cálculos. El motor stepper normalmente es de 200 pasos. Esto quiere decir que con 200
pasos, el motor da una vuelta completa.
Necesitamos el paso de nuestra varilla roscada. Una varilla de 8mm tiene un paso de 1.25mm. Esto quiere decir,
que en cada vuelta, avanza 1.25mm (tienes que mirar el paso de la varilla que has comprado)
Los drivers suelen tener micropasos. Esto es, que dividen 1 paso completo, en 16 pequeños avances, para que el
movimiento sea más suave y fluido. Asi que, si tenemos una varilla roscada de 8mm, con un motor de 200 pasos,
a 16 micropasos, la fórmula seria : ¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 13/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
$101 = 2560
El siguiente valor que vamos a cambiar es la velocidad por defecto. Esto depende muchísimo de nuestra
máquina. Si está bien engrasada, si usa husillos o patines lineales, etc.
$4 es para la velocidad de avance. Imaginad que estamos cortando madera con la máquina, o metacrilato con el
láser. Con este comando calibramos la velocidad máxima a la que podemos realizar este corte (el comando G1
en gcode). Esto quiere decir que, aunque el gcode diga que vamos a cortar a 1000mm por minuto, nosotros
nunca pasaremos de 500mm/min.
Con esto nos aseguramos que el taladro no se va a romper cuando está cortando, porque pusimos demasiada
velocidad en el gcode, o que el láser va a pasar demasiado rápido sobre el metacrilato, por poner un ejemplo.
$5 es la velocidad de búsqueda. Esto es el movimiento cuando la maquina no está cortando (el comando G0 en
gcode). Por ejemplo, cuando le decimos que vaya a una posición antes de bajar para cortar.
Obiamente, podemos ir más rápido cuando la maquina no está cortando, que cuando estamos cortando.
Si nos pasamos, lo que va a ocurrir es que el motor no es capaz de ir tan rápido, y se bloqueará. Asi que tenemos
que ir buscando la velocidad adecuada.
Si estamos cortando, lo que nos va a pasar es que se va a romper la fresa, o el láser no va a quemar
suficientemente. Pero depende también del material, y de la fresa que estemos usando.
A mi me ha pasado que una máquina parece que está bien calibrada, pero cuando se calienta, por ejemplo, o al
funcionar durante una hora, la fricción hace que le cueste más esfuerzo a los motores moverse, y acaban
bloqueados.
Mi consejo personal aquí es que si estás empezando, no vayas a lo más rápido posible. Primero acostúmbrate
a usar la CNC y céntrate en que el resultado del corte sea bueno y limpio. No pasa nada porque tarde una hora
más en terminar. Cuando esto lo tengas dominado, ya irás subiendo velocidad. Pero tendrás un resultado
anterior para comparar si te merece la pena ir más rápido.
Si quieres profundizar en las opciones que hay disponibles, en este enlace tienes toda la información sobre cómo
configurar GRBL (https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9)
En la propia página del projecto también tenéis una lista de programas para usar GRBL
(https://github.com/grbl/grbl/wiki/Using-Grbl).
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 14/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
— ! (pausar el avance)
Para poder hacer esto, tenemos que incluir unos botones que nos indican donde está exáctamente el principio del
movimiento.
La máquina se mueve despacio hasta que hace click en el botón, y entonces sabe que tiene que empezar desde
ese punto. Por este motivo, los botones se denominan límites.
GRBL comienza buscando la Z máxima (para subir el cabezal si tenemos una fresadora), y asi nos podemos
mover tranquilamente sin saber que vamos a tocar nada. Después buscamos el eje X y el eje Y.
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 15/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
— La mayoría de los límites (microswitches) tienen 3 patas que se llaman: C (common), NO (normally
open), NC (normally closed).
Si activamos el Homing, la máquina estará bloqueada hasta que hagamos el Homing! Esto es importante saberlo.
Yo me pasé un buen rato enviando comandos sin recibir respuesta (forever alone!). Con esto nos defendemos de
error de posicionamiento.
Para activar el Homing, usaremos el comando $22=1 , para ejecutar el homing, usamos el comando $H .
En una CNC casera, ajustar los límites de la X y la Y no es tan crítico, pero el límite de la Z es muy importante.
Nos dice dónde está la punta de la fresa. Y tiene que estar exáctamente en la posición adecuada si quieres que
los cortes tengan la profundidad que has configurado. Mi consejo es invertir un poco en un sensor inductivo (si
tenemos algo de metal) o un sensor capacitivo para que detecte siempre la Z en el mismo punto. Yo he perdido
incontables horas de pruebas y ajustes por culpa de esto.
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 16/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Pero quizás estás montando tu propio proyecto, y vas a conectar los drivers mediante cables, porque quieres
probar antes, o por el motivo que sea.
En ese caso, te dejo el esquema de cómo conectar los pines del Arduino Uno, al driver de los motores, limites,
etc.
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 17/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
(l)
Si realmente quieres llevar tu proyecto al siguiente nivel, y tienes algo de conocimientos de programación, puedes
ir un paso más allá y escribir comandos de GCODE específicos para tu proyecto.
¿A qué me refiero? igual que la impresora 3D tiene comandos para encender y apagar el extrusor o la cama
caliente, tu robot puede necesitar un comando especial para que empiece a bailar o para que se autodestruya
(muahahaha!)
Si miras la parte donde se analizan los comandos de tipo M (de machine), ves que tiene un gran case donde va
configurando los valores. Como es muy especifico de la máquina, hay muy pocos.
Si quieres hacer algo especifico, tienes que asignarte un numero, por ejemplo, el 1234, y escribir:
case 1234:
{
}
Ahi meteríamos el código de lo que queremos ejecutar cuando recibimos el G-CODE M1234 ,por ejemplo,
encender un pin de Arduino, o lo que se te ocurra. (ya te veo pensando la cantidad de cosas que puedes hacer
con este truco!)
Como os he dicho, esto ya depende de vuestro proyecto, y de vuestra capacidad para programar. La ventaja del
GRBL es que ya hace todo lo demás, como el parseado de los comandos o la lectura del puerto serie.
Ahora te toca a tí
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 18/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Madre mía!!!
Si has llegado hasta el final del artículo, entonces sí que tienes ganas de usar GRBL y montar tu CNC casera.
Asi que ya sabes, sólo necesitas unos perfiles de aluminio, unos motores paso a paso, un Arduino, una
controladora, y ganas de montar tu propia máquina.
¿Porqué no escribes un comentario y nos cuentas qué te ha parecido? Tu opinión es lo más importante para
mejorar el blog y los contenidos futuros.
Por ejemplo, si ya conocías el GRBL, o si ya tienes una CNC, nos puedes contar tu experiencia.
Y si además, este post te ha ayudado a decidirte sobre tu próxima CNC, tienes que decirlo!
263 commentarios
1. Sergio Martinez dice:
Es realmente irónico que necesites una llave para ejecutar un programa pirata. No me importaría cambiarla
por algo que sea mas util y fácil de usar. Me leeré el articulo con calma
Responder
dentro de unos dias voy a tener disponible una novedad para que puedas tener una controladora
chula
Responder
yunier dice:
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 19/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Un saludo.
Responder
Responder
OSCAR dice:
Responder
Responder
2. Dani dice:
Responder
Responder
Guillermo dice:
deja a unos mm del papel y continúa haciendo el dibujo en el aire. He revisado la velocidad y
la aceleración para ver si está perdiendo pasos, pero está bien. Agradecería su ayuda.
Responder
saludos!
Responder
Guillermo dice:
yunier dice:
Pau dice:
Responder
3. I dice:
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 21/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
Responder
Responder
Responder
4. Manolopm dice:
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 22/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
efectivamente
aqui tenemos que hablar de la diferencia entre “señal” y “potencia”. El arduino solo enciende y apaga
unos pines, pero apenas permite pasar corriente.
El driver lo que hace es, por un lado está conectado al arduino, pero por el otro, está conectado a
una fuente de alimentación potente. Cuando el arduino le envia el pulso, el driver permite pasar la
corriente al motor.
Por eso, aunque tengas unos mega motores, se pueden mover con un sencillo arduino. Solo
necesitas unos drivers potentes.
Responder
Responder
gracias!
Responder
Responder
Responder
7. Alberto V. dice:
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 23/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
El avance de la polea es Pi veces el diámetro. Asi que seria 200/(17*Pi) = 3.74 pasos, avanza 1 mm.
Si tienes reductora, tendrias que hacer una regla de 3 para calcular cuanto se mueve el eje cuando
la polea del motor da una vuelta completa, y luego dividir por los pasos de una vuelta completa.
Responder
Sabes si hay gente usando GRBL para robots autónomos? En plan bípedos o cuadrúpedos.
Responder
Puedes hacer algo tipo python o asi, y no meterte con temas más complejos a nivel pulsos, etc. El
articulo va por ahí. ¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 24/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
No tema de que GNU/Linux non é bo para xestionar unha CNC ou steppers hai que afondar un pouco máis,
pois existen versións e módulos de kernel RT para procesamento en tempo real que xunto con librerías de
xestión de GPIO como WiringPi poden comandar unha impresora 3D / CNC.
Con todo, coincido que é máis lóxico delegar o control dos motores e funcionalidade crítica a módulos
como Arduino + Drivers con custe reducido e tempo real sen capa de sistema operativo.
Agora si, hai que ter coidado porque a tendencia é engadir máis dispositivos complexos como displays ou
interfaces de rede que sobrecargan con tarefas non críticas ao pobre Arduino que incluso chegan a
invalidar o sistema RT.
Pero iso é outro conto. De momento toca montarse unha CNC e probar GRBL!
Responder
Grazas.
Responder
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 25/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
Responder
Responder
Responder
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 26/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Hola!
El comando para que la máquina espere es G4, que en ingles se lama dwell
Asi que para que el comando quede esperando 5 segundos, tienes que meter un G4 P5000
http://reprap.org/wiki/G-code#M116:_Wait (http://reprap.org/wiki/G-code#M116:_Wait)
Responder
He montado todo con arduino uno, cnc shield y A4988, pero no logro hacer girar unos motores que saque
de impresoras, tengo motores de 4, de 5 y 6 cables, identifique las bobinas y lo conecte a la salida del eje
x, luego desde el gcode sender le doy que mueva 100 pasos el eje x y no va, queda haciendo ruido.
Te consulto, si mido el voltaje de uno de los 4 pines de la salida del eje x mientras el programa está
moviendo el eje no debería cambiar entre 0 y 12v?
Responder
Si queda haciendo ruido, asi como si temblase, puede ser por los pasos por milimetro. Prueba a
bajarselo. Baja tambien la velocidad, por ejemplo G1X100F10, o G1X100F100
Efectivamente, el voltaje debería de variar entre 0 y 12V, pero mejor miralo con el osciloscopio,
porque el multimetro puede que varíe demasiado rápido.
Un saludo.
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 27/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Si eres completamente nuevo, te aconsejo hacer alguna práctica antes de meterte con el GRBL a
este nivel.
Los comandos para encender y apagar el taladro, lo que hacen es esto. M3 enciende el taladro, y M5
lo apaga. Puedes usar el pin para encender y apagar un relé.
Si necesitas algo más avanzado, como comento en el artículo, lo que puedes hacer es meterte en el
codigo del GRBL, y crear tu propio comando gcode, por ejemplo el M5555 y el M6666 para encender
o apagar el pin. Luego envias el comando M5555/M6666 a través del programa del PC. Pero esto ya
requiere alguna experiencia programando.
Un saludo.
Responder
Davier dice:
Responder
saludos
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 28/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
No lo he probado, pero hace un tiempo que el soporte CoreXY está incluido en el codigo fuente del
GRBL
Como te digo, no lo he probado. Si lo consigues hacer funcionar, por favor, pásate por aqui y
comentanos qué tal ha funcionado.
Responder
Responder
https://cadduino.files.wordpress.com/2013/10/arduinogbrl.jpg
(https://cadduino.files.wordpress.com/2013/10/arduinogbrl.jpg)
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 29/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
Responder
sobre el autolevel… en teoria es simplemente un limite más, el de la Z, que salta cuando está cerca
del metal. Autolevel es para las impresoras 3D, que tiene que ajustar el plano donde van a imprimir,
pero en CNC seria mas correcto usar “probe”
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 30/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Para usar la RAMPS 1.4 SB, tienes que usar el Arduino Mega seguro. El GRBL entiendo que
funciona bien. Solo tienes que decirle en el IDE de Arduino que tu placa es un Arduino Mega
(aunque no lo he probado)
Responder
Responder
yo no lo conozco. Normalmente uso programas como inkscape, pero si me entero, lo pongo por aqui.
Voy a ver unos amigos que quizás sepan algo asi. Voy a preguntarles.
Entiendo que lo que buscas es que la CNC haga el mismo movimiento que has dibujado con el dedo,
verdad?
Saludos!
Responder
Julio dice:
Responder
Un saludo!
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 31/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
te aviso, de acuerdo?
Responder
Responder
Responder
El servo funciona por PWM. Asi que puedes hacer este truco (no lo he probado, pero he escuchado
de gente que lo ha probado)
Usa la salida del spindle de PWM. Para ello usa el comando S, que cambia la velocidad del Spindle.
S1000
M3
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 32/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
G4 P5000
M5
Un saludo!
Responder
Responder
Responder
Responder
un saludo
Responder
Estoy usando arduino UNO y la Shield CNC. el punto es que cuando compre la shield me llego con una
placa nueva de Arduino Uno con puerto microUSB. Al instalar todo nunca me funciono el el motor del eje Y
(Z y X funcionan bien). Asi que despues de varios dias de revisar y revisar se me ocurrio cambiar la placa
de arduino por otra que ya tenia (mas viejita) la cual trae puerto USB-B y entonces todo me funcionó.
tu que opinas sera que la placa nueva me llego dañada o que simplemente ese tipo de placa no es
compatible con la shield CNC???
Responder
pues el conector USB no debería de tener nada que ver la CNC. Asi que yo apuesto a que, o la placa
tiene alguna diferencia más, o la placa estaba dañada.
Responder
Aun no tengo la “armadura” o los soportes, también estoy pensando en si usar madera o aluminio.
Por lo demas ya tengo mi Arduino con el GRBL instalado y ajustado para los motores, y con la Shield CNC
tambien con sus 4 placas driver ajustadas con sus VRef según vi en la ficha tecnica, tengo los
microswitches para el famoso Homming, me hacen falta los conectores del motor con los tornillos por que
realmente estan costosos y no los he comprado (Mande a traer unos de china que salieron super
economicos pero se perdieron en el envío, nunca llegaron que triste).
Como pueden ver estoy trabajando en ese proyecto pues estoy comenzando pero ya tengo varias cosillas.
A otra cosa, he decidido usar unos rieles en lugar de las varillas aceradas por costos, pero no se como se
comporte mi CNC en un trabajo final.
Gracias por leerme cualquier consejo es muy apreciado. Una cosa mas no entendi lo de los sensores
capacitativos o inductivos, como es eso, como se usan como se compran.. como son como se instalan y
por que esos en lugar de los mecanicos.
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 34/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Sobre las correas, eso depende de si la maquina va a hacer corte. La verdad, para cortar acrilico o
madera, no te recomendaria usar unas correas, a no ser que sean muy buenas (y caras)
los sensores capacitivos o inductivos lo que hacen es detectar la presencia de metal, o de una
superficie. Son mas exactos que poner un sencillo boton, porque nunca toca, y no depende de que
un boton haga click
para la X y la Y, da un poco igual, pero para la altura, es muy importante que todo vaya en su sitio en
micras.
seguro que los has visto en fotografias. Son los que tienen un boton azul o naranja…
Responder
Responder
la verdad que esto requiere bastante trabajo de programacion. En la interrupcion del tiempo, puedes
comprobar la posicion y leer el pin para saber si tienes que activar un nuevo movimiento.
en gcode, eso no se puede hacer, efectivamente, tienes que ir leyendo la posicion dentro del codigo
del GRBL, e ir actuando en consecuencia.
un saludo!
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 35/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
Responder
el driver ULN2003 es un driver unipolar, y necesita más lineas de control. Quizás hay una forma de
conectarlo, pero yo no la conozco.
un saludo!
Responder
Responder
tienes que entender que el motor de un cdrom es muy fragil y no puede mover apenas nada. Solo
puedo decirte que bajes la velocidad hasta que no pierdas pasos
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 36/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
un saludo
Responder
Responder
un saludo!
Responder
Gracias de antemano
Responder
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 37/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Hola muy buena informacion, te hago una consulta: estoy haciendo mi cnc y tengo en mente hacerlo con
un arduino ATMEGA 2560 porque es el que ya tengo es estos momentos para no comprar un UNO, ya
tengo los Drivers y quiero probar la electronica sin la ramp 1.4. Queria saber si este modelo sirve para el
ARDUINO MEGA 2560 o solo para el modelo UNO? ya que cambian los pines de salida, desde ya muchas
gracias espero tu respuesta. Saludos.-
Responder
Responder
Responder
Entonces, ese pin lo conectas a un rele. Por ejeplo, uno que soporte corriente alterna de 220v.
Entonces, conectas el cable de la fresadora al rele, como si fuese un interruptor. Dejas la fresadora
encendida, y cuando envias el comando, el pin activa el rele, y la fresadora comenzará a girar.
El pin en concreto , en el Arduino Uno, segun viene el GRBL por defecto, es el D11
Un saludo!
Responder
X el motor gira pero el carro no se mueve se queda estatico. No creo que sea el software; pienso que el
problema es mecanico.
Por favor me podrian ayudar?, de Nuevo Gracias.
JAIME.
Responder
si el motor gira, y el carro no se mueve, pues obiamente es un problema de la maquina. Has mirado
que los husillos estén bien apretados? Usas correas?
un saludo
Responder
Responder
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 39/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Cuando usas el comando G0, por ejemplo G0X100, entonces la velocidad es la velocidad travel
máxima que tienes en el GRBL
Cuando usas el comando G1, tienes que especificar la velocidad con la F: G1X100F100 quiere decir
“muevete 100 en la X a 100mm/min)”
Seguramente, tu programa tiene en algun sitio la velocidad de 400MM, y genera el GCODE con un
F400 por ahi. Abre el fichero y busca “F400”.
Un saludo
Responder
Otra duda.
Con el comando “x1” se debe mover 1mm sobre el eje x, cómo podría otener el valor de pasos por mm? se
mueve a travéz de correa. A 200 S/mm cada unidad avanza 4 cm, entonces 200/40 (con un valor de 50
avanza 1cm por unidad) me da el valor de pasos por mm, para que avanze 1mm por unidad? pero si le
pongo el valor de 5 debo incrementar la aceleración y los valores $4 y $5 (arriba de 500)
Responder
Cuando enciendes la máquina, ese será el punto 0. Asi que si no te importa mucho, simplemente
coloca la punta donde quieras, y reinicia el GRBL.
No entiendo lo de que si 200s/mm, cada unidad avanza 4cm? Lo que yo hago es una regla de tres.
Si con 200 pasos/mm, le digo que avance 4cm, y en realidad avanza 6cm, pues el nuevo resultado
será 200*4/6
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 40/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
te refieres a eso?
Responder
Responder
Pues eso es algo que tiene que hacer el programa que genera el GCODE. Cuando comienza el
corte, envia el comando M3, y cuando quieres apagarlo, envia el comando M5 (lo digo de memoria,
el comando es spindle on/spindle off)
Responder
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 41/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
sobre el tema del software, hay varias opciones. En general, el más conocido es el LinuxCNC. Tengo
que decir que no lo he usado, y por lo que conozco, no es nada sencillo.
Otra opción es el Inkskape, con alguno de los plugins para generar gcode, mas una placa con
arduino para controlar los motores. Sacarías las señales de STEP/DIR de la placa. Creo que es la
opción más sencilla en el mundo opensource.
https://www.staticboards.es/productos/arduino-sb-cnc-shield-premium/
(https://www.staticboards.es/productos/arduino-sb-cnc-shield-premium/)
Ánimo con el nieto. Esa edad es cuando más necesitan despertar la curiosidad. Enhorabuena por
poder disfrutar con él de este tiempo.
Responder
Me estoy montando mi cnc y resulta que quiero poner finales de carrera sólo en el eje X y el eje Y pero no
lo quiero poner en el eje Z, ¿esto es posible?
¿Como se tendría que configurar el GRBL?
Un saludo
Responder
si, es totalmente posible. Tienes que ir al fichero config.h, y decirle que cuando haga el home, sólo
use el XY
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 42/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Pues no es posible transformar la placa CNC shield en una placa para impresoras 3D. Precisamente
por este motivo, surge la placa RAMPS, que es una CNC Shield, con la parte para control de
temperatura, calor
Responder
Responder
Yo he usado los comandos T en mi CNC grande, pero no tengo cambiador automático. Lo que hago
es una secuencia donde paro la máquina, cambio la fresa, y continuo. Lo que hago es ordenar todo
los trabajos para tener en cuenta esto
Un saludo!
Responder
me gustaria montarme una yo mismo dado que las que hay en el mundo o no cumplen mis expectativas o
son muy caras y cerradas. Que me recomiendas para empezar? Existe algun sitio donde pueda comprar
frames a medida menos electronica? Creo q toy un poco perdido
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 43/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Hola,
Pues no sabría decirte, porque yo siempre estoy con gente que monta cosas a medida. De todos
modos, la Shapeoko es muy popular, y vas a encontrar mucha información.
Sobre los frames a medida, lo mejor es que busques a alguien cerca de donde vives. Tendrás que
ajustar piezas, y si vas a hacer todo por correo, te va a salir muy caro.
Un sitio para comenzar es el foro de metalaficion. Un referente para este tipo de máquinas
Un saludo!
Responder
Responder
si tienes un multimetro, mejor. Si no, pues con un led y una resistencia, puedes saber si el pin está
activado.
Responder
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 44/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
los motores no se mueven porque los pulsos van muy rápido, y el motor se bloquea.
tambien mira la ‘max feed rate’, y bájalo a una cantidad ridicula, como 10 mm/s, y vete subiendo.
un saludo!
Responder
Felicidades, la verdad es que lo has explicado todo perfectamente. Me estoy haciendo un CNC y el artículo
me está siendo de gran ayuda, pero es muy específica y necesitaría el firmware. En todos lados veo que
solo están para descargarse los archivos.hex de la versión v0.8c. ¿Tu no sabrías dónde puedo encontrar el
firmware completo para poder variarlo a mi antojo, verdad?.
Muchas gracias por todo de antemano, y felicidades de nuevo por el artículo. Un saludo
Rob
Responder
https://github.com/grbl/grbl (https://github.com/grbl/grbl)
descarga el codigo fuente, y compilalo en arduino. El propio programa de arduino te genera el hex
adecuado. Has probado a compilarlo?
Un saludo
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 45/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
un software que me gusta es el bCNC. Te permite editar y dibujar desde el mismo programa, y
controlar la máquina muy fácil.
saludos!
Responder
Ya he terminado la cnc con materiales reutilizados y otros conseguibles en la ferreteria. Lo único importado
son los motores step, arduino uno y el shield cnc con sus drivers pololu. Funcion a la perfeción tallando
algunas, mi problema es cuando trabajan los motores vibran demasiado y se escuchan como tarro al cargar
un gcode, pero cuando muevo los ejes manualmente funciona muy suave. He varia la velocidad de carga
($5) pero sigue igual, por ahí he leído que se debe a la resonancia y se corrige variando el ancho de pulso,
lo he hecho pero nose cuales son los limites de este valor. ¿Podrías ayudarme con esto?
Responder
en el post https://www.staticboards.es/blog/drv8825-vs-a4988/
(https://www.staticboards.es/blog/drv8825-vs-a4988/) explico todo esto de las vibraciones a fondo
un saludo!
Responder
Daniel dice:
Responder
Daniel dice:
Responder
Responder
Puede que el mosfet no se sature del todo, y te limite la corriente. Qué modelo tienes de mosfet? Mi
consejo es que te compres un mosfet que se active a 1.8V.. seguro que en tu tienda de electronica
puedes comprar uno.
Un saludo!
Responder
Manu dice:
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 47/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Sobre el mosfet, el GRBL no usa analogwrite, ya que está basado al 100% en una
interrupción propia para controlar el tiempo.
Se me ha encendido una bombilla, y creo que puede ser tema del máximo. En el
config.h le tienes que decir cual es la velocidad máxima, la que considera el 100% de la
potencia.
Un saludo.
Responder
Manu dice:
Manu dice:
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 48/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
estoy construyendo una cnc con la tipica cnc shield que conectas sobre arduino uno.. mi duda es la
siguiente:
quiero usar Labview para controlar un par de parametros como pararla, boton home reinciiar boton de
emergencia…. mi duda es que pines tengo que poner a 1 para que esto suceda y si pasa algo al conectar
el arduino a labview con el grbl cargado y poner a 1 dichas salidas con el cnc shield conectado,,
Responder
https://www.staticboards.es/productos/arduino-sb-cnc-shield-premium/
(https://www.staticboards.es/productos/arduino-sb-cnc-shield-premium/)
Responder
Responder
quizás es que lo has conectado al revés que el resto? dale la vuelta, y prueba de nuevo!
un saludo
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 49/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
tienes el comando M0, que espera a que pulses el boton de Resume (conecta un boton a los dos
pines de resume)
tambien tienes G4, que es esperar. Puedes decirle que espere unos segundos, por ejemplo, y no
tener que pulsar ningun boton
un saludo!
Responder
Responder
creo que el problema lo tienes al configurar los pasos por mm en el GRBL. Compruebalo
conectandote por el puerto serie, y mandando los comandos gcode
Mide el avance real, y actualiza los pasos por mm usando una regla de tres
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 50/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
agus dice:
Responder
Muchas gracias por leer el artículo. Yo no he calibrado un motor de dvd, asi que tendría
que preguntarte a tí. Cuando logres calibrar el motor, pásate por el blog y coméntalo, asi
aprendemos todos!
un saludo!
Responder
Responder
otro tema es el cable USB. Estas usando un cable largo? a mi me ha pasado alguna vez que el cable
no funcionaba bien. Prueba con otro.
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 51/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
quería hacerte una pregunta, intente realizar el cambio en el archivo que indicastes para poder encender
un pin en el arduino y poder controlar el encendido de un rele, pero al hacer el cambio e intentar subir el
archivo al Arduino mediante el Arduino IDE me tira un error, no se si entendi bien, pero utilize la manera
que conozco para asignar un pin y encenderlo de manera normal, te mostrare como escribi el codigo:
case 03:{int pin=1; pinMode(pin, OUTPUT); digitalWrite(pin,HIGH);}
y todo eso esta dentro del Case que mencionastes,
me dice que no reconoce las funciones de HIGH y OUTPUT
cual podría ser el error que estoy cometiendo?
agradecere tu ayuda
Responder
el GRBL se puede compilar desde el entorno de arduino. Pero no usa nada de las librerias de
arduino. Por eso, digitalwrite y todo eso no te va a funcionar.
Mi consejo es que hagas algun tutorial para programar AVR. No es muy complicado, y con cuatro
guias que te leas, estoy seguro que lo puedes hacer. Cuando lo mires, te podré ayudar con algo más
concreto, sin problema.
Un saludo.
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 52/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
pruebalo y me dices
Un saludo!
Puedo comentarte un poco por encima cómo hacerlo, pero esto requiere de un pequeño
cursillo de programación.
Te recomiendo hacer un programa que encienda y apaque el pin, por separado. Puedes
usar la librería de arduino, con la funcion pinMode y digitalWrite.
Un saludo!
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 53/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Arcaudas dice:
Responder
un saludo!
Responder
Responder
Responder
Tengo un problema con el benbox, que es que la ventana de trabajo es muy pequeña (7’5cmx 4,5cm)
cuando la superficie de trabajo de mi maquina es de 17 x 22cm. He buscado informacion por todo internet,
pero no he encontrado la manera de cómo ampliar ese tamaño y se me queda un area de trabajo ridícula
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 54/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
saludos!
Responder
Responder
Responder
Responder
Cuando avanza en diagonal o en línea recta, lo que cambia es la velocidad de esos pulsos.
Un saludo!
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 55/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Hola Javier, gracias por compartir esta información con todos. Estoy construyendo mi cnc y, quiero poner
finales de carreras en los limites de cada eje. El problema es como hacer reset de la alarma y sacar al eje
de limite alcanzado. Un saludo
Responder
Muchas Gracias.
Responder
mmn, creo que con el GRBL es más complicado. Puedes probar a usar una raspberry pi con una
pantalla. Y usando un programa como el bcnc, mover la máquina
un saludo!
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 56/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
A la hora de exportar el fichero, tienes que usar un software que permita operaciones de cuatro ejes.
Yo conozco el solidworks, con plugins tipo camworks. No es sencillo…
Saludos!
Responder
Responder
pues no veo donde se habla de la opción $19. No entiendo bien la pregunta. Si puedes poner los
comandos que envias al GRBL, podré ayudarte mejor
Responder
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 57/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
si, necesitas el arduino uno, y la cnc shield de staticboards, a parte de al menos 2 drivers para X y
para Y. El plasma entiendo que se enciende cuando le conectas 5V auna entrada, no?
un saludo
Responder
Responder
yo creo que con la cortadora de plasma, 2A es suficiente. El arduino uno+cnc shield te dan una
salida donde conectas el plasma. El cnc shield es más como una ayuda para poder conectar encima
los drivers y tener unos pines para conectar todo.
– arduino uno
– sb cnc shield
– 2 drivers drv8825
instalas el GRBL y con eso puedes mover los motores XY, y encender / apagar el plasma
saludos
Responder
Saludos!
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 58/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
el cambio es con grbl 0.8, que cambia un pin para controlar la salida del taladro con PWM
un saludo
Responder
Responder
saludos!
Responder
he actualizado el articulo, en la parte de compilar GRBL, con capturas paso a paso para
instalar GRBL
Responder
JORGE dice:
Responder
un saludo!
Alguien me podrá ayudar un poco para saber si puedo utilizar la CNC shield con los cuatro motores???
Gracias de antemano
Oscar Acuña
Responder
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 60/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Por un lado está la memoria flash, que es donde se guarda el programa. El programa de Arduino,
cuando pulsas el boton de enviar, ya te borra esa memoria antes de subir la nueva versión de
firmware.
Después está la memoria EEPROM. Esta memoria es como un disco duro que hay dentro de
Arduino. Aqui es donde GRBL almacena los valores de configuración. El problema es que cuando
instales la nueva versión, es posible que coincida algun valor antiguo en alguna versión.
Asi que mi consejo es usar ese código de arduino para borrar la EEPROM (mas bien, para poner
todos los valores a 0). Lo ejecutas una vez, y luego instalas la nueva versión.
Un saludo!
Responder
Responder
Lo tienes que hacer cada vez que comiences el fresado. Ese valor depende de la altura de la fresa,
de la altura del material, etc
un saludo!
Responder
Responder
hay que dedicar tiempo, pero el resultado merece la pena, poder hacer tus piezas!
saludos
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 61/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
Lo metes en el GCODE, y el arduino enciende el pin “Spindle Enable”. Tienes que conectar eso a un
Relé, o al driver del taladro
Un saludo!
Responder
amigo tengo un cnc, el cual tenia un driver a4988en el eje Z pero tenia muchos problemas, y opte por
cambiar el driver y ponerle un tb6560… asi como en los demas ejes…
todo funciona muy bien, pero ahora el problema que tengo es que si mi material a cortar es de 22mm solo
me corta la mitad o unos 12mm… aprox..
donde tengo que modificar el valor para arreglar eso.. te mando la configuracion de mi grbl
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 62/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
$100 = 69.70
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 63/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
Gracias
Responder
https://github.com/grbl/grbl/blob/master/doc/script/simple_stream.py
(https://github.com/grbl/grbl/blob/master/doc/script/simple_stream.py)
Un saludo
Responder
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 64/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
un saludo
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 65/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
un saludo!
Responder
Responder
saludos!
Responder
Responder
saludos
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 66/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
Saludos
Responder
Saludos.
Responder
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 67/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
pero para el Gcode Sender el sigue estando en x30, entonces por eso había pensado usar algo estilo
mandar Gcode pero en vez de usar la comunicación serial entre el pc y el arduino serían comandos
internos directamente con el arduino, te agradeceria si pudieras echarme una mano
Responder
me da que el universal gcode sender tiene algo de eso, para usar un joystick, pero no estoy seguro
Responder
Responder
saludos
Responder
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 68/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
saludos!
Responder
Responder
Responder
Arduino => CNC Shield => driver stepper => motor stepper
firmware lenguaje instruccion bobinas
(GRBL) (G-code) (un/bi-polar) (movimiento)
Pero porfavor me podrías confirmar si hagarré bien la idea: Osea que el GRBL interpreta una serie de
coordenadas en G-code, y elige una ruta que debe seguir el movimiento de… por ejemplo una impresora
3D, cada paso de esa trayectoria se la envia como G-Code a la cnc shield, quien a su vez le dice a los
driver stepper “paso a paso” cuando y como mover los motores paso a paso.
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 69/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
la función del Arduino CNC Shield es para ayudarte con los cables y para tener todo conectado de
forma limpia y sencilla.
un saludo!
Responder
Responder
un saludo
Responder
Responder
saludos
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 70/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
saludos!
Responder
Responder
saludos!
Responder
Mi consulta viene por que no sé como configurar el servo que permite levantar el rotulador o pluma para
que la cnc realice algún tipo de posicionamiento.
Gracias!
Responder
Con el GRBL creo que no es posible. Tendráis que programar un poco, y meter código para el servo.
Has mirado si hay alguna versión de GRBL que soporte servomotores?
saludos
Responder
David dice:
grbl-servo
GRBL 0.9i con soporte de servomotor. Use el PIN D11 para conducir el servo. Utilice los
comandos M03 Sxxx (xxx entre 0 y 255) para girar el servo entre 0-180. El comando M05 gira
el servo a cero grados.
define RC_SERVO_LONG 32 // Señales del temporizador para una duración de pulso de 2.5
ms (39 para 2.5ms)
Probé el código muy bien con 328p (Arduino Uno, Duemilanove etv), no con 2560 (Arduino
Mega), pero creo que también funcionaría bien con el Mega.
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 72/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Me ha encantado la verdad, pero tengo mis dudas y a ver si me las puedes despejar.
Voy hacer mi primer CNC, ya trabajo con 3d printers y puedes ver el proyecto aquí;
https://www.thingiverse.com/thing:790533 (https://www.thingiverse.com/thing:790533).
En este proyecto se usa ramps y arduino mega. NO se que software se usara para manejar el cnc…
Tambien veo la posibilidad de usar cnc shield y arduino uno en grbl, y no se que soft usa cada uno para
mover todo…. unos seran archivos stl y otros rgbl y la verdad no se que usar. NI como hard ni como soft, si
me comentaras un poco… te lo agradecería.
Responder
para generar el gcode, lo puedes hacer desde inkskape, por ejemplo, o corel draw.
saludos!
Responder
Responder
una vez instalado, tienes que configurarlo, con el programa que te permita conectar al puerto serie.
Te conectas con un cable usb al arduino, y ahi te comunicas con un programa de terminal.
saludos
Responder
Responder
saludos
Responder
Responder
Pero necesitas una placa compatible, y suelen ser cerradas, con drivers que no se mantienen ya.
un saludo!
Responder
Responder
Responder
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 74/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
case 1234:
{
digitalWrite ( algunpin , HIGH );
break;
}
case 1235:
{
digitalWrite ( algunpin , LOW );
break;
}
saludos!
Responder
Responder
Saludos, y gracias
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 75/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Desde mi experiencia, mucho mejor en linux.. más sencillo para saber los problemas y todo
saludos!
Responder
102. j dice:
Responder
saludos!
Responder
Responder
saludos
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 76/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
G1X10Z10
G1X100Z100
saludos!
Responder
Responder
saludos!
Responder
Responder
quisiera utilizar correas en vez de perno en el eje z en mi cnc el problema es que cuando el motor se
detiene la por el peso del router el eje cae, moviendo el $7 en el grbl puedo lograr que se quede en su
lugar? o hay otra solución para esto, de antemano gracias por tu respuesta
Responder
saludos
Responder
Responder
saludos
Responder
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 78/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Responder
Responder
Responder
Responder
lo que me preocupa es cómo controlar el giro del destornillador. Tendrías que mirarlo muy bien para
que no se pase de rosca.
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 79/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
que no este dañado,seria genial si me pudieras aconsejar que puedo estar haciendo mal…
saludos
Responder
Responder
Responder
yo haría dos gcodes, si tienes problemas. Primero el disco interior, luego metes unas pinzas o algo
para que el disco no se mueva, y luego el disco exterior.
saludos!
Responder
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 80/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
https://github.com/grbl/grbl/issues/464 (https://github.com/grbl/grbl/issues/464)
saludos
Responder
David dice:
Responder
Deja un comentario
Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *
Comentario
Nombre *
Correo electrónico *
Web
Guardar mi nombre, correo electrónico y sitio web en este navegador para la próxima vez que haga un
comentario.
Í
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 81/82
25/7/2018 Guía definitiva para dominar GRBL [actualizado a la versión 0.9]
Índice
Hablar el mismo lenguaje que el motor paso a paso
Lenguaje G-CODE
GRBL aparece en la escena del Arduino
Porqué deberías usar GRBL
¿Qué proyectos usan GRBL?
¿Quieres una aceleración suave? Este es tu firmware
Qué es el Look Ahead Planning y porqué lo necesitas
Adaptive Multi-Axis Step Smoothing
Linux y Máquinas CNC
Marlin para la Impresora 3D
Versión compatible con Arduino Mega
Ahora te toca Instalar GRBL
Compilar GRBL
Compilar GRBL desde línea de comandos (para usuarios expertos)
Cómo Configurar GRBL
Qué es y cómo configurar el Homing
Conectando los drivers a mano
Cómo Hackear el GRBL y hacer tus propios comandos
Ahora te toca a tí
Últimos Artículos
Cómo ahorrar tiempo (y dinero) con electrónica para la impresora 3d
(https://www.staticboards.es/blog/ovm20lite/)
La guía paso a paso para tunear tu impresora 3D y conseguir piezas de la máxima calidad
(https://www.staticboards.es/blog/marlin-instalacion-configuracion/)
Cómo montar una máquina CNC con un Arduino y poco presupuesto
(https://www.staticboards.es/blog/electronica-cnc-casera/)
La comparativa definitiva de los drivers para motores paso a paso : DRV8825 vs A4988
(https://www.staticboards.es/blog/drv8825-vs-a4988/)
La guía definitiva para comprar los mejores motores paso a paso
(https://www.staticboards.es/blog/motores-paso-paso/)
¿Necesitas ayuda?
https://www.staticboards.es/blog/dominar-motor-paso-a-paso-con-grbl/ 82/82