Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2020
Las impresoras 3D son máquinas basadas en microprocesadores, así como lo son las
computadoras o teléfonos celulares de hoy en día. Todos los dispositivos basados en
microprocesadores tienen un lenguaje máquina específico basados en unos y ceros (lenguaje
binario).
Como este lenguaje es poco entendible por nosotros y es específico para cada
procesador, no es muy práctico trabajarlo directamente. Lo mejor es un lenguaje un
poco menos complejo y más genérico.
Aunque Gcode es el lenguaje más usado para el control de las impresoras 3D, no es el único.
x3g es otro lenguaje usado por impresoras 3D como la ReplicatorG y la MakerBot. Sin
embargo, x3g es un lenguaje binario (basado en unos y ceros) más difícil de entender que
Gcode.. Por otro lado, G code es más usado por las impresoras DIY y Open Source.
Para que tu nueva impresora 3D pueda correr este lenguaje de instrucciones, el firmware de
la impresora debe soportar el formato .gcode.
G1 X10 F3600
Esto representa una línea de código y es una instrucción única para la impresora 3D.
También podemos crear muchas líneas de código, cada una indicando una instrucción
distinta a la impresora. Por ejemplo,
Utilizamos cookies...
2 G1 Z10 F1200 ; mover el eje Z a la posición Z=10 mm, a una velocidad de 1200 mm/min.
Ok Leer más
3 G1 X30 E10 F1800 ; pasa 10 mm a través de la boquilla mientras mueves el extrusor a la
posición X=30 mm.
Estas 3 líneas de código le indican a la máquina 3D que debe moverse a las provisiones
indicadas en los comentarios y a la velocidad indicada.
Cada línea de código está compuesta por diferentes combinaciones de letras y números.
Cada combinada le indican algo específico a la impresora. A continuación, vemos el
significado de cada letra:
X/Y/Z = Ejes de coordenadas. Indican que el extrusor debe moverse en alguna de los ejes X,
Y o Z.
F = Velocidad del movimiento. Se usa para indicar la velocidad a la que debe moverse el
extrusor de la impresora 3D.
E = Extrusión de filamento. Se usa para indicar la cantidad de filamento que debe ser
pasado a través de la boquilla del extrusor.
Cada letra va acompañada de uno o varios números que representan el valor a ejecutar o un
argumento que complementa el comando.
Más abajo vemos cómo el número puede influenciar bastante la ejecución de la tarea de
impresión 3D.
El signo de punto y coma (;) se usa para agregar comentarios al código sin que esto
afecte la programación. Es decir, el compilador no toma en cuenta nada que esté después del
punto y coma.
Los números indican el valor del comando a ser ejecución. En el caso de los comandos con G
y M, los números cambian el tipo de comando. Veamos algunos casos:
F3600. El número 3600 indica el valor de velocidad a la que debe moverse el brazo de la
impresora 3D. En este caso, es 3600 mm/min.
E20. El 20 representa la cantidad de filamento que debe ser pasada a través del extrusor. En
este caso, es 20 mm.
X15, Y10. En este caso, el 15 indica los milímetros que debe moverse el extrusor en el eje X,
mientras que el 10 indica que debe moverse 10 mm en el eje Y.
Z10. En este caso, la impresora debe elevar el extrusor 10 mm hacia arriba en el eje Z.
G1. En este caso, el 1 no representa un valor geométrico. Solo se usa para indicar el tipo de
comando que se quiere enviar. En este caso, G1 indicar que el comando es un movimiento
lineal. Utilizamos cookies...
Ok Leer más
M104. Al igual que en el caso del comando G, El número 104 del comando M no representa
un valor geométrico sino que se usa para indicar una función que se debe realizar. El M104 es
un comando de máquina usado para iniciar el calentamiento del extrusor.
S255, S0, S127. Cuando se usa el comando S para representar la velocidad de ventilación, el
número que lo acompaña puede estar entre 0 y 255. 0 representa el 0% de velocidad, es
decir, apagado, y el 255 representa el 100 % de la velocidad, es decir, velocidad máxima.
Los comandos G y M pueden requerir argumentos para que la instrucción sea completada.
El resto de los comandos E, F, X, Y o Z junto con sus números de valor sirven de argumentos
para los comandos G y M. Por ejemplo,
G1 E10 F800
G1 es el comando G que especifica un movimiento lineal. E10 y F800 son los argumentos del
comando que especifican empujar el filamento 10 mm a través de la boquilla y hacerlo a una
velocidad de 800 mm/min, respectivamente.
Utilizamos cookies...
Ok Leer más
Un movimiento absoluto requiere indicar la posición específica dónde quieres que vaya
el.extrusor sobre la cama. En estos casos, los valores indicados en X, Y y Z representan valores
exactos en milímetros sobre la plataforma de impresión.
Al pedir una ubicación relativa, le dices a la máquina 3D que se mueva ciertos milímetros
desde la ubicación actual del extrusor.
El movimiento absoluto es mayormente usado en los códigos G ya que los slicers suelen
conocer la posición cero de la impresora 3D y suelen determinar previamente las opciones
exactas a dónde moverse.
El comando G90 pide un movimiento absoluto, mientras que el comando G91 pide un
movimiento relativo. Más adelante, veremos ejemplos de estos comandos.
El comando E – Extrusor
El extrusor es controlado como si fuera un eje adicional en la impresora 3D. En este caso, la
letra E se usa para representar el eje del extrusor y suele ser usada en muchos comandos de
movimiento como un eje más.
G1 Z18 F2400
Se usa para pedir un movimiento lineal del eje Z. La impresora 3d debe elevar el extrusor 18
mm hacia arriba a una velocidad de 2400 mm/min.
Está instrucción pide un movimiento lineal de los ejes X y Y en un solo comando. El extrusor
debe moverse hasta la posición X=10 mm y Y=10 mm de la cama de impresión. En ambos
casos, debe ejecutarse a una velocidad de 1200 mm/min.
Por otro lado, como el extrusor es tratado como un eje adicional, se puede usar el comando E
dentro de las instrucciones para pedir el empuje de filamento a través de la boquilla, como se
Utilizamos cookies...
muestra a continuación:
Ok Leer más
G1 X30 E10 F1800 ; pasar 10 mm de filamento a través de la boquill
G2 inicia el movimiento del extrusor en el sentido de las agujas del reloj hasta una posición
determinada. Cómo argumento se establecen las coordenadas de la ubicación final del
extrusor y su eje de rotación con los parámetros I y J.
Por ejemplo,
G2 X15 Y5 I0 J-12
Se pide que el extrusor realice un movimiento circular en el sentido de las agujas del reloj. El
eje central lo tendrás desplazando 0 mm en el eje X y -12 mm en el eje Y. El movimiento
termina cuando el extrusor alcance las posiciones X=15 mm y Y=5 mm.
El comando G3 usa los mismo parámetros pero específica que el movimiento circular se
ejecutar en sentido contrario al de las agujas del reloj. Por ejemplo,
G90
El movimiento relativo implica que el extrusor avanzará ciertos milímetros en alguno de los
ejes desde su provisión actual. Esto se especifica con el comando G91, tal como se muestra
en el siguiente ejemplo:
G91
El comando G92 se usa para ajustar el valor actual de alguno de los ejes o funciones a un
valor deseado. Por ejemplo, puedes indicar a la impresora 3D que el filamento se ubique en
la posición 0 mm en el extrusor como se muestra a continuación:
Con código Gcode se puede hacer iniciar la secuencia de Home con el comando G28, como
se muestra a continuación:
G28
Este es el comando sin el uso de argumentos y totalmente válido para llevar a los 3 ejes a su
posición de Home.
Si queremos llevar el extrusor a una posición específica de forma rápida, podemos usar el
comando G0 e indicar las coordenadas del movimiento. Al usar G0, la impresora mueve el
extrusor a las coordenadas indicadas usando la máxima velocidad de viaje de la máquina.
Por ejemplo,
Utilizamos cookies...
G0 X5 Y10 Ok Leer más
Comandos G17, G18 y G19 – Establecer planos de circunferencia
Aunque se usan poco, los comandos G17, G18 y G19 te permiten establecer los planos para
circunferencias de tus impresiones tridimensionales. Es decir, cambia el plano de referencia
para la impresión.
G17 establece el plano en los ejes X y Y. En este caso, el círculo va alrededor del eje Z. Este es
el plano predeterminado en todas las impresoras 3D.
G18 establece el plano en los ejes X y Z, mientras que G19 establece el plano en los ejes Y y
Z. Ambos comandos cambian el significado de los parámetros I, j y k para los comandos G2 y
G3.
Estos comandos se usan cuando realizar interpolación circular y, para ello, deben estar
acompañados de los comandos G02 y G03.
G18
Si estás en USA seguro quieres que tus impresiones sean en pulgadas, pero si estás en el
resto del mundo quieres que las medidas de tus coordenadas sean en milímetros.
El comando G20 establece que las medidas sean en pulgadas, mientras que G21 las establece
en milímetros. Sería algo así para pulgadas,
G20
Utilizamos cookies...
Ok Leer más
G0 X5 Y13
Así sería para milimetros,
G21
G0 X5 Y13
Los comandos M
Los Comandos M son comandos a nivel de máquina que permiten ejecutar acciones no
geométricas. Por ejemplo, encender o apagar el ventilador, subir o bajar temperatura de la
boquilla, etc. Los comandos M arrancan con una M ( de allí su nombre).
El comando M104 inicia el calentamiento del extrusor y al mismo tiempo permite la ejecución
de otras acciones por parte de la impresora 3D. Por ejemplo:
Utilizamos cookies...
Ok Leer más
Recordemos que el comando S representa la temperatura deseada en grados centígrados y T
se usa cuando existe más de un extrusor en la impresora.
El comando M109 ejecuta el calentamiento del extrusor pero no permite ejecutar otras
actividades hasta que se alcance la temperatura programada.
Para controlar el ventilador que apunta hacia el objeto impreso podemos usar el comando
M106 de la siguiente forma:
En este caso, S especifica la velocidad del ventilador y 255 es el valor de velocidad máxima,
siendo 255 = 100 % de la velocidad.
En el ejemplo siguiente, la velocidad del ventilador es ajustada a 50% con el 127 (255/2)
acompañando a la S.
M106 S127
M106 S0
Utilizamos cookies...
Ok Leer más
Comando M112 – Parada de emergencia
Cuando las cosas se salen de control, se puede usar el comando M112 para detener
inmediatamente el proceso de impresión. Los motores y los calentadores se enfrían cuando
se activa este comando.
Cuando queremos calentar la cama caliente podemos usar los comandos M140 y M190, los
cuales funcionan de forma similar a los comandos M104 y M109.
Por otro lado, el comando M190 se usa para bloquear cualquier otro comando hasta que se
alcance la temperatura programada. En el ejemplo, a continuación, se muestra como
programar el comando M190:
Utilizamos cookies...
En el programa slicer, configuras los parámetros de temperatura, velocidad de ventilador, etc.
Ok Leer más
Todo lo haces con ventanas fáciles de manejar.
Cuando haces la compilación del código y lo envías a la impresora 3D, el slicer
convierte esos parámetros en comandos M.
El slicer también filetea el modelo 3D (que vino en formato stl) y lo convierte en código
G (Comandos G).
Para las impresoras Open source RepRap se suele usar el muy popular firmware Marlin. Todas
las impresoras 3D DIY que tienen este firmware respetan los comandos estándares de código
G indicados al principio de este artículo.
Para crear tu código G desde cero solo necesitas un editor de texto como notepad++ y
empezar a escribir las instrucciones y comandos para el firmware de tu impresora 3D.
Nota: no recomendamos realizar la creación de Gcode desde cero a menos que estés muy
especializado en programación de lenguaje máquina. Ten en cuenta que un comando mal
colocado puede causar daños a tu impresora.
Slicers como Simplify3D, Cura o Slic3r tienen herramientas para la edición y prueba de las
instrucciones que vas creando paso a paso
Todos los ejemplos fueron tomados desde la página oficial del firmware Marlin.
Ejemplo
Por un lado, G2 inserta un movimiento en forma de arco en el sentido de las agujas del reloj,
mientras que G3 agrega un movimiento en el sentido contrario al de las agujas del reloj.
Ejemplos
Utilizamos cookies...
G3 X125 Y32 I10.5 J10.5
Ok Leer más
G4 – Pausa
Ejemplo
Se encarga de retraer el filamento de acuerdo con los ajustes del código M107.
Ejemplo
G10 ; Retraer
Inicia el proceso de limpieza de la boquilla con alguno de los siguientes patrones de limpieza.
Trazos rectos.
Zigzag.
Trazos circulares.
Ejemplos
Ejecuta el Home de uno o todos los ejes enviándolos hasta sus topes o puntos de origen.
Ejemplos
Contenido
Utilizamos cookies...
Ok Leer más