¿Qué es el código G?
RS-274, más comúnmente conocido como G-Code, es un lenguaje de programación para CNC (control numérico por computadora) utilizado en la fabricación asistida por computadora. La esencia básica del lenguaje es que le dice a una herramienta/dispositivo que «vaya allí y haga esto».
G-Code se puede utilizar con muchos tipos diferentes de máquinas, desde cortadoras láser, tornos, fresadoras y la Las mejores impresoras 3D. Para las impresoras 3D, el código G generalmente se crea cuando «cortamos» un objeto para imprimirlo. Cortar convierte un objeto en una serie de capas, que usan comandos de código G para mover la herramienta para imitar el contorno y la estructura interna del objeto. Los cortadores comunes, como Cura y PrusaSlicer, harán todo el trabajo duro por nosotros, pero si tuviéramos que escribir nuestro propio G-Code, podríamos crear scripts para modificar y ajustar nuestra impresora 3D para obtener el mejor servicio posible.
En este tutorial aprenderemos a escribir G-Code, específicamente usando un Creality Ender 2 Pro como nuestra máquina de prueba. Escribiremos un script que será útil al nivelar manualmente la plataforma de impresión. El código creado para este procedimiento está hecho a medida para la Ender 2 Pro y deberá modificarse para su impresora 3D.
Escribir un script de código G
G-Code no requiere un editor de texto elegante o IDE, todo lo que necesitamos es un editor de texto simple, como Notepad, o nuestra preferencia, Notepad ++.
Cada línea de G-Code es una instrucción para una parte del dispositivo y los comandos se escriben utilizando la referencia del comando, seguidos de los parámetros del comando (si corresponde). Para hacer un comentario necesitamos prefijar el comentario con un punto y coma.
1. Abra su editor de texto y cree una línea de comentario para explicar el propósito del código.
; Ender 2 Pro Example Control G-Code
2. Use el comando G90 para configurar el posicionamiento absoluto. Esto significa que cada movimiento se calcula desde el mismo punto de partida.
G90; Absolute positioning
3. Utilice el comando M117 para mostrar un mensaje en la pantalla LCD de la Ender 2 Pro. La cadena (mensaje) se encuentra directamente después de emitir el comando y no requiere ningún parámetro.
M117 Tom's Hardware; Prints the string to the LCD screen
4. Use el comando G4 (permanencia) para pausar el guión durante tres segundos.
G4 P3000; Wait for 3 seconds
5. Use los comandos M117 para mostrar un mensaje y G4 para pausar el script el tiempo suficiente para que el usuario lo lea.
M117 Heating bed; Prints the string to the LCD screen
G4 P1000; Wait for 1 second
6. Use el comando M190 para calentar la cama de impresión a 60 grados Celsius (S60). Este comando detendrá la ejecución del script mientras la cama alcanza la temperatura requerida.
M190 S60; Set the bed temperature to 60C and wait until it hits that temperature
7. Home todos los ejes de la impresora con el mando G28.
G28; Home all axis
8. Establezca la velocidad de movimiento en 1500 mm / minuto. Esto asegurará que la cama y el extremo caliente se muevan a la misma velocidad. Podemos ir más alto, 3000 mm/minuto es posible, pero empezar despacio; de esa manera usted tiene tiempo para reaccionar a los problemas.
G1 F1500; Set Feedrate (tool movement) to 1500 mm/min
9. Levante el eje Z 8 mm usando el comando G1 para que la boquilla quede fuera de la cama de impresión. No queremos que la boquilla se estrelle contra la cama de impresión, ya que eso dañaría la boquilla y la cama.
G1 Z8; Lift Z Axis 8mm
10 Use el comando G1 para mover la boquilla a una posición X e Y establecida. En este caso, la posición está directamente encima de la rueda de ajuste de cama delantera izquierda.
G1 X28 Y35; Move to position 1
11 Imprima una instrucción para el usuario usando M117.
M117 Level the bed #1
12 Espere la entrada del usuario usando M0. Tenga en cuenta que este comando no funciona en todas las impresoras 3D. Si no funciona para usted, reemplácelo con G4 y use una espera larga.
M0; Stop, wait for user input
<<If your 3D printer does not support M), use this for a 20 second wait>>
G4 P20000
13 Repite el mismo proceso de levantar la boquilla, pasar a la siguiente posición, instruir al usuario y esperar la entrada. Recuerde cambiar M0 por G4 si su impresora no lo admite. Esto moverá la boquilla para que quede por encima de la rueda de ajuste de la cama delantera derecha.
G1 Z8 ; Lift Z Axis 8mm
G1 X140 Y35; Move to position 2
M117 Level the bed #2
M0; Stop, wait for user input
14 Otra repetición, esta vez en la posición 3, la rueda de ajuste de la cama trasera derecha.
G1 Z8 ; Lift Z axis
G1 X140 Y130; Move to position 3
M117 Level the bed #3
M0; Stop, wait for user input
15. Otra repetición, esta vez en la posición 4, la rueda de ajuste de la cama trasera izquierda.
G1 Z8; Lift Z axis
G1 X28 Y130; Move to position 4
M117 Level the bed #4
M0; Stop, wait for user input
dieciséis. Use el comando G28 para llevar a casa todos los ejes y luego muestre un mensaje de finalización (M117) en la pantalla LCD.
G28; Home all axis
M117 Complete; Bed leveling is completed
17 Guarde el código como Ender2-Pro-Test.gcode en una tarjeta micro SD.
18 Retire la tarjeta e insértela en la impresora.
19 Presione el dial de control para abrir el menú.
20 Desplácese hacia abajo hasta Adjuntar tarjeta y presione el dial. Esto preparará la tarjeta para su uso.
21 Desplácese hacia abajo hasta Imprimir desde tarjeta y presione el dial.
22 Seleccione Ender2-Pro-Test.gcode y presione el dial.
23 Seleccione Imprimir y presione el dial para comenzar. La impresora ahora seguirá los pasos en el archivo G-Code.
El código pasará por cada paso del proceso, imitando un proceso de nivelación de la cama, pero con la boquilla fuera de la cama de impresión.
Una vez que tenemos el proceso perfeccionado, podemos bajar la boquilla y usarla para realizar el nivelado de la cama de forma semiautónoma.
Listado completo de códigos
; Ender 2 Pro Example Control G-Code
G90; Absolute positioning
M117 Tom's Hardware; Prints the string to the LCD screen
G4 P3000; Wait for 3 seconds
M117 Heating bed; Prints the string to the LCD screen
G4 P1000; Wait for 1 second
M190 S60; Set the bed temperature to 60C and wait until it hits that temperature
G28; Home all axis
G1 F1500; Set Feedrate (tool movement) to 1500 mm/min
G1 Z8; Lift Z Axis 8mm
G1 X28 Y35; Move to position 1
M117 Level the bed #1
M0; Stop, wait for user input
G1 Z8 ; Lift Z Axis 8mm
G1 X140 Y35; Move to position 2
M117 Level the bed #2
M0; Stop, wait for user input
G1 Z8 ; Lift Z axis
G1 X140 Y130; Move to position 3
M117 Level the bed #3
M0; Stop, wait for user input
G1 Z8; Lift Z axis
G1 X28 Y130; Move to position 4
M117 Level the bed #4
M0; Stop, wait for user input
G28; Home all axis
M117 Complete; Bed leveling is completed
Agregar código G a través de un Slicer
Agregar un código G personalizado a su cortadora brinda control sobre cada faceta de su proceso de impresión. Podemos agregar una toallita de boquilla adicional antes de una impresión, precalentar la cama a una temperatura personalizada y ajustar muchas otras configuraciones para obtener la impresión perfecta. Aquí se explica cómo editar el código G en dos de los cortadores más comunes, Prusa Slicer y Cura.
Agregar código G a través de Prusa Slicer
1. Haga clic en Configuración de la impresora y luego haga clic en Experto. Esto revelará todas las funciones de Prusa Slicer, así que ten cuidado.
2. Haga clic en Código G personalizado.
3. Se puede insertar un código G personalizado para el inicio y el final de una impresión. Esto afectará a todas las impresiones que se corten con Prusa Slicer.
4. Haga clic en Plater para volver a preparar el objeto para la impresión.
Agregar código G a través de Cura Slicer
1. Abra Cura y haga clic en Configuración >> Impresora >> Administrar impresoras.
2. Haga clic en Configuración de la máquina.
3. El código G de inicio y finalización de la impresora ahora se puede editar directamente.
4. Haga clic en Extrusora 1 para editar el código G para la extrusora.
5. Cierre la ventana para guardar y salir del cuadro de diálogo Configuración de la máquina, luego cierre el cuadro de diálogo Preferencias. Volverá a la pantalla Preparar, listo para cortar una nueva impresión.
Comandos comunes de código G
Dominio | Descripción | Ejemplo |
---|---|---|
G1 | Un movimiento lineal entre dos puntos en la superficie de trabajo. | G1 Z8; Levante el eje Z 8 mm |
Establece el avance (velocidad) al que se mueven los motores en mm/minuto. | G1 F1500; Ajuste la velocidad a 1500 mm por minuto | |
Extruya 25 mm de filamento en una línea de 50 mm. (Útil para limpiar la boquilla antes de imprimir) | G1 X50 E25 | |
G4 | Habitar. Agregue una pausa, en milisegundos a la secuencia. | G4 P1000 |
G20 | Establecer la unidad de medida en pulgadas | G20 |
G21 | Establecer la unidad de medida en milímetros | G21 |
G28 | Inicio todos los ejes | G28 |
G90 | Posicionamiento absoluto. Todas las coordenadas se interpretan como un espacio de coordenadas lógicas. | G90 |
M0 | Espere la entrada del usuario, normalmente una pulsación de botón. Nota: ¡Este comando no funciona para todas las impresoras 3D! | M0 |
M18 | Deshabilitar motores paso a paso. | M18; Todos los escaladores |
M18 ZE; Deshabilite el paso a paso del eje Z y el paso a paso del extrusor. | ||
M117 | Muestre un mensaje en la pantalla de la impresora 3D. Los mensajes son cadenas que pueden contener letras, números y algo de puntuación. | M117 ¡Hola mundo! |
M190 | Establezca la temperatura de la cama, en grados Celsius. | M190 S60 |
M410 | Parada rápida. Una parada de emergencia de todos los motores paso a paso. Nota: Los motores paso a paso estarán fuera de posición después de este comando y todos los ejes deberán estar en la posición inicial. | M410 |
M500 | Guarde todas las configuraciones en la EEPROM. Úselo con precaución ya que sobrescribirá la configuración actual. | M500 |
M701 | Cargue el filamento girando el motor paso a paso del extrusor durante un tiempo determinado. | M701 |
M702 | Descargue el filamento, que se utiliza al cambiar los rollos de filamento. | M702 |