Академический Документы
Профессиональный Документы
Культура Документы
programador)
https://www.staticboards.es/blog/dominar-motor-paso-a-pasocon-grbl/
Lenguaje G-CODE
Compilar GRBL
Compilar GRBL desde lnea de comandos (para usuarios
expertos)
Ahora te toca a t
No voy a entrar en los detalles del g code, pero para que os hagis
una idea, os voy a poner unos comandos de ejemplo:
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 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 posicin concreta, y no nos importa la ruta
que tome, slo la velocidad.
G01 es avance en lnea recta. Se usa cuando estamos cortando y si
que nos importa la ruta que tome la mquina.
Si queremos que la mquina haga una lnea recta, uno de los
motores tiene que ir ms lento que el otro, para que se mantenga
por el rumbo que queremos.
Lo mejor es verlo con esta infografa (no seis muy malos conmigo):
Linux
Las mquinas con linux no sirven para controlar una mquina CNC
por la forma en la que gestiona la multitarea.
Marlin para la Impresora 3D
Estoy seguro que has escuchado alguna vez sobre el
firmware Marlin para las impresoras 3D. Es el firmware ms usado
para la RAMPS 1.4, por ejemplo.
Pues si miras el cdigo, sobre todo la parte de movimientos, vers
que el Marlin no es ms que un GRBL con vitaminas.
La base es la misma. Lo que han aadido los programadores es toda
la gestin de temperaturas, lo que mantiene el extrusor caliente
mientras hacemos la pieza. Tambin han metido la parte del men y
la pantalla LCD, que es un trabajo importante.
Adems de eso, el GCODE tiene una seccin de comandos, M (de
machine). Por decirlo de alguna manera, cada mquina tiene sus
peculiaridades. Por ejemplo, una mquina puede necesitar que
hagamos un pitido. En el caso de Marlin, han programado el
comando M300.
M300 S300 P1000
Aqui tienes la lista de comandos GCODE que se usan en Marlin y en
los firmwares ms comunes de impresoras 3D.
Ahora te toca Instalar GRBL
GRBL mantiene toda su configuracin en la memoria EEPROM, que
es una memoria permanente que llevan los procesadores. Puede
pasar que en algn caso, los datos que ya estaban almacenado en el
arduino, afecte a la configuracin por defecto. Si has usado el
Arduino antes, es aconsejable borrar la memoria EEPROM.
Compilar GRBL
make clean
make grbl.hex
sudo avrdude -p m328p -D -P /dev/ttyUSB0 -c arduino -b 115200 -U
flash:w:grbl.hex
Cmo Configurar GRBL
Para comunicarnos con el GRBL, lo podemos hacer directamente a
travs de un terminal serie, como minicom. Pero si preferimos algo
ms grfico, podemos usar el programa Universal-G-Code-Sender
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 intrprete incluye una serie de comandos especiales.
$$ : Esto nos muestra una lista con todos los parmetros que
podemos configurar.
Lo primero es ajustar los pasos por milmetro. Esto es, cuantos
pasos tiene que enviar el Arduino al motor para que tu CNC avance 1
mm.
Vamos a hacer los clculos. 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. Si es de
8mm, con 200 pasos avanzaremos esos 8 mm. Dividiendo tenemos
que 25 pasos avanza 1 mm.
Los drivers suelen tener micropasos. Esto es, que dividen 1 paso
completo, en 16 pequeos avances, para que el movimiento sea ms
suave y fluido. Asi que, si tenemos una varilla roscada de 8mm, con
un motor de 200 pasos, a 16 micropasos, la frmula seria :
(200*16) / 8 = 400 pasos!
De este modo, para configurar el eje X, escribiremos:
$0 = 400