Esta página contiene:
El gcode es el lenguaje que entiende tu impresora y que usa no solo para imprimir, sino para hacer muchas cosas más. El firmware (=programa interno) que está almacenado en el interior de la placa base, está preparado para recibir esas instrucciones y hacer lo que se indica en ellas. Para ver cómo es el gcode, solo tienes que abrir un archivo generado por tu programa "slicer" favorito, como Cura, Slice3R, Simplify3D, IdeaMaker, Craftware, etc. El código gcode es lo que el programa slicer genera cuando cargas el archivo STL y lo conviertes y grabas en la tarjeta SD antes de imprimir. Es lo que ralmente tu Tevo tarantula utiliza en última instancia. Tu Tevo no entiende lo que es un archivo STL, pero si un archivo que contiene g-code
Te voy a poner un ejemplo de gcode. La orden que recibe la impresora la pondré destacada en negrita. Suelen ser órdenes que empiezan normalmente por G o por M. Y luego haré a continuación un comentario tras poner un punto y coma ";" que es el modo habitual de hacer los comentarios. Estos comentarios no son tenidos en uenta por tu impresora.
No obstante, puedes obtener mucha más información desde ESTE ENLACE DEL GCODE
; GCode generated by CraftWare Esto empieza por ; y por tanto se considera un comentario que la impresora ignora por completo
G28 : Esto hace un autohome de todos los ejes, el X, Y y el Z. Si se quiere hacer un autohome de algunos ejes determinados, hay que dar las órdenes que veis a continuación
G28 X0 Y0 ; esto hace un autohome de los ejes X e Y, llevándolos al valor 0 para los valores X e Y que se definen en la Tevo con los interruptores de paradas
G28 Z0 ; esto hace un autohome del eje X. Se podía haber hecho en la línea anterior
M190 S60 ; Hace que la cama se caliente a 60 grados y espera a que se consigan los 60 grados antes de seguir la siguiente orden. El valor S es la forma que se tiene para indicar un valor.
M109 S215 ; Hace que la boquilla se caliente a 215 grados y espera a que esta temperatura se alcance antes de seguir con la siguiente orden.
; ------------------------------------
; Raft Layer #0
; ------------------------------------
G21 ; Indica a la impresora que se han de usar mm como referencia de distancias. Se puede escoger pulgadas.
G90 ; Indica a la impresora que ha de usar como referencia unidades absolutas considerando los valores de X, Y y Z que sean cero, es decir, considerando el origen de la propia máquina. Esto quiere decir que si se indica un movimiento X50, la boquilla irá a 50mm en el eje X usando como origen el punto de la cama donde se hizo el auto home (el G28) en la que X tiene un valor 0.
Nota: Con la orden G91 las medidas son relativas en relación a la posición actual o que en ese momento tenga la boquilla. Si se indica G91 X50, la boquilla se moverá 50mm desde su posición actual hacia la dirección del eje X. Los movimientos G91 no tienen en cuenta el orifen de la cama, ni dónde se hizo el G28.
G92 E0 ; Faltaba por indicar el valor cero de referencia del extrusor (E) en unidades absolutas. Pues con esta orden se consigue obtener.
M106 S0 ; Pon el ventilador regulable que enfría las capas a cero. Se puede tener un valor entre 0 (apagado) y 256 (al 100% de velocidad)
;segType:Raft. Esto es un comentario que indica que es una capa, una raft, o lo que sea
G0 F4800 E-1.0000 ; Esto hace retraer (ir hacia atrás) el extrusor (E) una distancia de 1mm con una velocidad (F) de 4800 mm/min (80mm/s). Se sabe que es retraer porque el valor de E es negativo (-1.0).
G0 F300 Z0.300 ; Esto hace mover el eje Z 0.3mm hacia arriba con una velocidad F de 300 mm/min (5 mm/s). Un valor de Z negativo hace bajar la boquilla.
G1 X91.643 Y129.728 E7.9242 F600 ; Esto hace moverse la boquilla a las coordenadas X e Y indicadas. Además, mueve el extrusor de filamentos 7.9242 mm para hacer salir filamento por la boquilla y lo hace a una velocidad de 600 mm/min (10mm/s)
G1 X91.643 Y99.871 E9.4137 ; Esto mueve la boquilla a otra posición e impulsa de nuevo el extrusor. Las dos ordenes siguientes son similares. Ya está haciendo la impresión. Como ha habido una orden G90 antes, todas estas coordenadas se entienden que usan como origen de referencia el punto donde se hizo el autohome
G1 X95.460 Y99.357 E9.6059 ; más de lo mismo, son órdenes de impres.ión
G1 X95.460 Y130.500 E11.1596 ; idem
Pero con los gcode se pueden hacer muchas cosas más. Y en este caso es importante indicar algo. La Tevo Tarantula, tal y como viene de fábrica, viene con lo que se llama el EEPROM inactivado. Esto significa que si tu cambias algunos ajustes como los steps o pasos de los motores para ajustar la máquina, o los parámetros que definen cómo se ha de calentar la cama y la boquilla, no lo puedes guardar en la memoria de la placa controladora. Si no sabes lo que puedes hacer, tendrás que volver a meter estos valores cada vez que apagues y enciendas de nuevo la impresora.
Estos cambios de ajustes en los parámetros de impresión y de ajustes de la máquina se pueden hacer de varios modos:
Voy a poner unos cuantos ejemplos:
A partir de ahora puedes hacer al menos cuatro cosas:
M301 P19.56 I0.71 D134.26
Cuando se usa un sensor de auto nivelado, sea cual sea, hay que incluir un parámetro para indicar la altura relativa de lo que mide el sensor respecto a la cama y a la punta de la boquilla. Quiero decir que el sensor siente la cama a determinada distancia, y ese valor ha de tenerse en cuenta para dejar la boquilla a la distancia correcta de la cama. Este valor debe incluirse en el archivo Configuration.h del firmware Marlin, pero lo que voy a contar aquí es como hacerlo mucho más cómodamente usando gcode.
G28 ; esto hace un auto home, define el valor cero que tienes en los ejes X, Y y Z
G0 Z0 ; asegura de poner el eje Z en el valor cero que tengas definido con el interruptor de parada
M851 Z-X ; esto cambia el offset del eje Z
M500 ; esto almacena este valor en la EEPROM
G28 Z0 ; esto hace un autohome en el valor del eje Z
G0 Z0 ; asegura mover el eje Z en el valor 0 pero esta vez teniendo en cuenta el offset
M851 Z-X.x
M500
G28 Z0
G0 Z0
M851 Z-X.xx
M500
G28 Z0
G0 Z0
Todos los programas slicers (Cura, Simplify3D, IdeaMaker, Craftware, etc), te permiten añadir e incluir tu propio código gcode tanto al principio como al final del código que el propio programa genera para imprimir la pieza. Existen millones de combinaciones y posibilidades, pero me voy a atrever a poner el que yo tengo, que por otro lado estoy cambiando de forma continua. Yo uso Simplify3D (aunque ahora creo que no es el mejor de todos ni por asomo) y os voy a poner un par de imágenes con el código gcode que incluyo yo al principio, y con el gcode que yo mismo pongo al final.
En este código, que está en la parte Starting Script (Script del inicio), tengo poca cosa puesta.
El caso de Cura. Dónde colocar el g-code personalizado
EL caso de Slice3R. Dónde colocar el g-code personalizado
El gcode final es mucho más elaborado (Ending Script)
Hay gcodes de inicio mucho más sofisticados. Éste lo he obtenido desde esta página. Yo con el mío con el G28 estoy contento, pero fijaros la cantidad de cosas que se pueden hacer. Solo te hace falta saber lo que quieres hacer, y usar la imaginación. Yo en particular veo que este script de abajo hace muchas cosas que no me interesan, pero lo pongo como ejemplo
G21 ;establece las unidades métricas en milímetros
G90 ;establece las medidas absolutas
M82 ;Establece el extrusor en medidas absolutas
M107 ;Comienza con el ventilador de capa en cero (también se puede poner
M106 S0
M109 S180 B210 F1;Activa la temperatura automática con un mínimo de 180 y un max de 210 scaling factor 1 (for PLA)
G28; Haz un autohome para poner en cero los valores de X, Y y Z
G29; Haz un autonivelado automático (necesita de un sensor de autonivelado)
G1 Z5.0 F9000 ;Mueve la cabeza (la boquilla) 5mm hacia arriba a una velocidad de 9000 mm/min
G92 E0 ;establece en cero el extrusor de filamento
M117 Limpiando...;Pone el mensaje Limpiando.... en la pantalla del LCD
G1 X100 Y0 F4000 ; Se mueve 100mm a la derecha, se queda en Y o y lo hace a una velocidad de 4000 mm/min
G1 Z-1 ; Baja la boquilla 1mm
M109 S200 ; Calienta la boquilla a 200 grados y espera a que llegue a esa temperatura para seguir
G4 P10000 ; Espera 10 segundos para que se estabilice la boquilla
G1 E10 ; Extruye 10 mm de filamento
G1 Z15 F12000 E5 ; Sube la boquilla 15mm mientras extruye o expulsa 5mm de filamento y lo hace muy rápidamente
G92 E0 ; vuelve a hacer un cero en el extrusor
Cuando imprimes el cubo de 20x20mm, puedes comprobar si las dimensiones son las adecuadas, y si no lo son, una de las posibilidades que tienes es la de ajustar los steps o pasos que dan los motores. Aquí te pongo un vídeo de RuiRaptor para que veas una de las formas de hacerlo
Si quieres hacer modificaciones, y usas el programa interno o firmware ORIGINAL de la Tevo, no podrás hacer cambios permanentes en la EEPROM que permita modificar estos parámetros de forma permanente. Una forma de arreglarlo es cambiando el firmware por uno que si tenga activado el EEPROM y permita guardar los parámetros. Pero también hay otro modo..
Introduce este código en el gcode, al principio del documento. En el momento en el que se lee el código, los valores que hayas escrito se sustituirán por los nuevos. Esto es muy interante si quieres poner a punto tu impresora, porque puedes hacer cambios sin tener que cambiar el firmware
M92 [E<steps>] [T<index>] [X<steps>] [Y<steps>] [Z<steps>]
Un ejemplo: M92 E669 T1 X500 Y600 Z1500
Que cambiaría los steps del extrusor de filamento (E), afectando el extrusor E1 (T), con los nuevos valores de 500, 600 y 1500 para los ejes X, Y y Z respectivamente
No tienes que usar todos los campos. Si escribes M92 X500 al leer esta orden se empiezan a usar 500 steps para el motor del eje X y los demás parámetros no se modifican.
Si tienes un firmware con el EEPROM activado, puedes guardar estos cambios de forma permanente junto con otros ajustes enviando al equipo una orden M500. Y para cargar esos valores, usa un M501. Eso significa que una vez que hayas grabado los parámetros modificados, deberías incluir una orden M501 para recuperarlos desde esa parte de la memoria
Un poco más de información EN ESTA PÁGINA