Академический Документы
Профессиональный Документы
Культура Документы
Hablaremos en los temas siguientes acerca de la fuente libre y abierta Grbl un software de
alto rendimiento para controlar el movimiento de mquinas, que hacen las que las cosas
se muevan, y que se ejecuten desde el Arduino a travs de Motores paso a paso.
La mayora de las impresoras 3D de cdigo abierto tienen Grbl en sus corazones. Ha sido
adaptado para su uso en cientos de proyectos, incluyendo cortadoras lser, mquinas
CNC, escritores de mano automtico, los perforadores de agujeros, pintores de grafiti y
mquinas de dibujo excntricos. Debido a su requisito de hardware frugal rendimiento,
simplicidad, el Grbl ha crecido poco a poco hasta convertirse en un fenmeno de cdigo
abierto.
En 2009, El autor original del firmware GRBL es el noruego Simen Svale ^_
Skogsrud (http://bengler.no/grbl) apareci en la comunidad de cdigo abierto con la
liberacin de las primeras versiones de Grbl (inspirados por el intrprete GCode en el
Arduino de Mike Ellery ). Desde 2011, Grbl sigue adelante como un proyecto de cdigo
abierto impulsado por la comunidad bajo la direccin pragmtica de Sungeun K. Jeon.
La teora es sencilla. Necesitamos unos motores paso a paso, unas varillas, unas coples,
unos drivers y un Arduino que controle todo. No hay nada que nos fascine ms que tener
nuestra propia mquina controlada por ordenador. Quiero mi CNC =)
ndice
Lenguaje G-CODE
Lenguaje G-CODE
La teora de los motores paso a paso es sencilla. Cuando el Arduino manda
un pulso al driver del motor, este avanza un pasito. La tcnica es muy
popular en las mquinas robotizadas porque como sabes cuantos pulsos
has enviado, sabes cunto ha avanzado la mquina. Lo que necesitas es
pasar de un lenguaje de pulsos, a algo ms 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 as es difcil saber lo que va
a hacer la mquina exactamente. Lo que queremos es decir avanza 10
centmetros. Mucho ms til.
La forma ms o menos estndar de comunicarse con un robot es usando el
lenguaje G Code. Es un sencillo sistema de texto con los movimientos de la
mquina. Es uno de los formatos ms veteranos, ya que su primera versin
se remonta a los aos 50.
Las mquinas robotizadas se denominan CNC, y viene de Computador de
Control Numrico. El lenguaje universal de las mquinas CNC se llama GCode. Es un fichero de texto con todos los movimientos de la mquina.
No voy a entrar en los detalles del g code, pero para que tengas una idea,
un ejemplo de los comandos:
G00 X0Y0Z0
Esto nos lleva a la posicin 0,0,0
G01 Z1 F5
Esto avanza lentamente la altura 1 mm, a la velocidad de 5 mm/minuto (feed
rate)
G00 es avance rpido.
Avanza todos los ejes de tal forma que llegue lo antes posible.
Qu ocurre en ese caso? Que la velocidad de movimiento es la mxima,
pero los movimientos no van en lnea recta. Si los motores X e Y avanzan
la velocidad mxima (por ejemplo, a 200 mm por minuto) la mquina hace
una lnea de 45, hasta que uno de los motores llega al borde.
Asi que, con un Arduino, una placa preparada para CNC (hablaremos de
esto en muy poco tiempo!), unos drivers como los Pololu A4988 o los ms
potentes DRV8825, y unos motores paso a paso, ya tienes toda la
electrnica para empezar.
La primera vez que pensamos en mover motores paso a paso, nos
imaginamos el arduino enviando un pulso para mover el motor. Pero aqu
hay un problema: la inercia.
Cuando el motor est parado, cuesta mucho trabajo hacer que la mquina
pase de estar en reposo a estar en movimiento. Por este motivo, tenemos
que ir acelerando poco a poco (igual que cuando arrancamos el coche).
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.
Lo que hace el GRBL es convertir cada movimiento en una lista
de trapecios.
Compilar GRBL
Este proyecto est muy testeado y ya ha pasado por varias revisiones
completas. Afortunadamente, el cdigo se compila sin problema desde el
IDE de Arduino.
Lo primero de todo es descargar el cdigo fuente de GRBL
desde github.com
Lo que vamos a hacer es agregar el GRBL como una librera. Para ello,
aadimos la carpeta grbl desde el men add library en el IDE de Arduino.
Una vez hagamos esto, si queremos compilar el GRBL, tenemos que ir al
men de programas de ejemplo de Arduino, y buscar el grbl (s, al agregar
la librera, te agrega automticamente el GRBL como programa de
ejemplo!)
Recordad que hay que seleccionar la placa Arduino Uno! (GRBL por defecto
viene preparado para esta placa).
Y antes de compilar, seleccionamos el puerto serie donde tenemos
conectado el Arduino.
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
conectndonos al puerto serie (recuerda que la velocidad es de 115200
baudios)
Esquema
de
1234: