Guía definitiva de Marlin G-Code - Como usalos para a impresión 3D

Roy Hill 06-08-2023
Roy Hill
O comando M104 establece unha temperatura obxectivo para o hotend da impresora e comeza a quentalo. Despois de establecer a temperatura de destino, o comando non espera a que o hotend alcance a temperatura.

Inmediatamente pasa a executar outros comandos G-Code mentres o hotend se quenta en segundo plano. Necesita cinco parámetros, que son:

  • [S< temp (°C )>]: Especifica a temperatura obxectivo para o extrusor en Celsius.
  • Índice [T< (0

    Os códigos G son moi utilizados na impresión 3D, especialmente a través do firmware Marlin. Moita xente pregúntase como usar os códigos G para o seu beneficio, polo que decidín escribir este artigo para axudar aos lectores.

    Hai algúns detalles útiles sobre o código G no resto deste artigo, así que continúa lendo. para máis información.

    Que son os códigos G na impresión 3D?

    O código G é simplemente unha linguaxe de programación para máquinas CNC (control numérico por ordenador) como impresoras 3D, Fresadoras CNC, etc. Contén un conxunto de comandos que utiliza o firmware para controlar o funcionamento da impresora e o movemento do cabezal de impresión.

    Ver tamén: Como engadir peso ás impresións 3D (recheo) - PLA e amp; Máis

    Como se crea o código G?

    Código G para impresoras 3D créase mediante unha aplicación especial chamada slicer. Este programa toma o teu modelo 3D e córtao en capas finas 2D.

    A continuación, especifica as coordenadas ou o camiño polo que pasa o cabezal de impresión para crear estas capas. Tamén controla e configura funcións específicas da impresora, como acender o quentador, os ventiladores, as cámaras, etc.

    Os slicers populares do mercado inclúen PrusaSlicer e Cura.

    Tipos de código G

    Aínda que o nome xeral dos comandos CNC é Código G, podemos dividir os comandos en dúas categorías en liñas xerais; Inclúen:

    • G-Code
    • M-Code

    G-Code

    G-Code significa código de xeometría. A súa función principal é controlar o movemento, a posición ou o camiño do cabezal de impresión.

    Con código G, pode mover a boquilla nunalcanzar a temperatura obxectivo antes de devolverlle o control ao host.

    A cama segue quentándose en segundo plano mentres a impresora executa outras liñas de Código G. Necesita un parámetro, que é:

    • [S< temp (°C )>]: Este parámetro establece a temperatura obxectivo para a cama en Celsius.

    Por exemplo, para quentar a cama ata 80 ° C, o comando é M140 S80.

    Marlin M190

    O comando M190 establece unha temperatura obxectivo para a cama e agarda ata que a cama a alcance. Non devolve o control ao host nin executa ningún outro código G ata que a cama alcanza esa temperatura.

    Nota: Se estableces a temperatura obxectivo co S , só espera mentres quenta a cama UP ata a temperatura establecida. Non obstante, se a cama ten que arrefriar para alcanzar esa temperatura, o anfitrión non espera.

    Para que o comando espere mentres quenta e arrefría, debes establecer a temperatura obxectivo co R parámetro. Por exemplo, para arrefriar a cama a 50 ° C e esperar ata que alcance esa temperatura, o comando é M190 S50.

    Marlin M400

    O comando M400 fai unha pausa na cola de procesamento do G-Code ata que se completen todos os movementos actuais no búfer. A cola de procesamento agarda nun bucle ata que se completen todos os comandos.

    Despois de completar todos os movementos, a impresora continúa executando o código G.Despois desta altura, a impresora deixa de usar a compensación de malla.

Por exemplo, digamos que quere imprimir os datos da segunda malla na EEPROM en formato CSV. O comando correcto para usar é: M420 V1 I1 T1

Marlin M420 S1

O M420 S1 é un subconxunto do comando M420 . Permite a nivelación da cama da impresora usando unha malla válida que recupera da EEPROM.

Se non hai unha malla válida na EEPROM, non fará nada. Normalmente atópase despois do comando de referencia G28 .

Marlin G0

O Marlin G0 é o comando de movemento rápido. Move a boquilla dunha posición a outra das placas de construción a través da distancia máis curta posible (liña recta).

Non deposita ningún filamento mentres se move, o que lle permite moverse máis rápido que o comando G1. . Estes son os parámetros necesarios:

  • [X< pos >], [Y < pos >], [Z< ; pos >]: Estes parámetros definen a nova posición á que se moverá nos eixes X, Y e Z.
  • [F< mm /s >]: A taxa de avance ou velocidade do cabezal de impresión. A impresora utilizará automaticamente a velocidade de alimentación do último comando G1 se non se deixa fóra.

Entón, se quere mover o cabezal de impresión rapidamente á orixe a 100 mm/s, o comando é G0 X0 Y0 Z0 F100.

Marlin G1

O comando G1 move a impresora dun punto a outro da placa de construción de forma linealcamiño. Coñécese como comando de movemento lineal porque extrue filamento mentres se move entre os puntos.

Isto diferénciao do movemento rápido ( G0 ), que non deposita filamento mentres se move. Necesita varios parámetros, incluíndo:

  • [X< pos >], [Y < pos >], [Z< ; pos >]: Estes parámetros definen a nova posición á que se moverá nos eixes X, Y e Z.
  • [E< pos. >]: Establece a cantidade de filamento a extruir mentres se move ao novo punto.
  • [F< mm/s >]: A taxa de avance ou velocidade do cabezal de impresión. A impresora usará automaticamente a velocidade de alimentación do último comando G1 se non se deixa fóra.

Por exemplo, para colocar o filamento en liña recta entre dous puntos a unha velocidade de 50 mm/s, o dereito o comando é G1 X32 Y04 F50 E10.

Marlin G4

O comando G4 detén a máquina durante un período definido. A cola de comandos ponse en pausa durante este tempo, polo que non executa ningún novo comando G-Code.

Durante a pausa, a máquina aínda mantén o seu estado. Todos os quentadores manteñen as súas temperaturas actuais e os motores seguen acendidos.

Precísase dous parámetros, que son:

  • [P< tempo(ms) >]: Especifica o tempo de pausa en milisegundos
  • [S< tempo(s) >]: Establece a pausa tempo en segundos. Se ambos parámetros están configurados, o S tomaprecedencia.

Para pausar a máquina durante 10 segundos, pode utilizar o comando G4 S10.

Marlin G12

O comando G12 activa o procedemento de limpeza de boquillas da impresora. En primeiro lugar, move a boquilla a un lugar predefinido da impresora onde está montado un pincel.

A continuación, move o cabezal de impresión de forma agresiva polo pincel para limpar os filamentos pegados nel. Estes son algúns dos parámetros que pode tomar.

  • [P]: Este parámetro permítelle escoller o patrón de limpeza que desexa para a boquilla. 0 é recto cara atrás e cara atrás, 1 é un patrón en zigzag e 2 é un patrón circular.
  • [S< contar >]: O número de veces quere que o patrón de limpeza se repita.
  • [R< raio >]: O raio do círculo de limpeza se escolle o patrón 2.
  • [T< conta >]: Isto especifica o número de triángulos no patrón en zigzag.

Se quere limpar a súa boquilla no pincel nun patrón de ida e volta, o comando correcto é G12 P0.

Cura ofrece un xeito de usar este comando na súa configuración experimentais. Podes ler máis sobre o comando de boquilla de limpeza neste artigo que escribín sobre Como usar a configuración experimental en Cura.

Marlin G20

O comando G20 configura o firmware da impresora para interpretar todas as unidades como polgadas. . Así, todos os valores de extrusión, movemento, impresión e incluso aceleración seráninterpretado en polgadas.

Así, a impresora terá polgadas para movemento lineal, polgadas/segundo para velocidade e polgadas/segundo2 para aceleración.

Marlin G21

A G21 O comando configura o firmware da impresora para interpretar todas as unidades como milímetros. Polo tanto, os movementos lineais, as velocidades e a aceleración estarán en mm, mm/s e mm/s2, respectivamente.

Marlin G27

O comando G27 estaciona a tobera nun nivel predefinido. posición nas placas de construción. Agarda ata que se completen todos os movementos da cola e, a continuación, aparca a boquilla.

Isto é moi útil cando queres deter a impresión para facer axustes na impresión. Podes aparcar a boquilla para evitar pasar o rato sobre a impresión e fundila.

É necesario un parámetro, que é:

  • [P]: Isto determina a localización do parque Z. Se escolle 0, o firmware elevará a boquilla ata a posición do parque Z só se a altura inicial da boquilla é inferior á localización do parque Z.

Se escolle unha, a boquilla aparcará no parque Z. localización sen importar a súa altura inicial. Se escolle 2, a tobera aumenta a cantidade de parque Z, pero limita a súa altura Z a unha altura inferior á Z máx.

Se utiliza o comando G27 sen ningún parámetro, o valor predeterminado é P0.

Marlin G28

O comando G28 fai que a impresora estableza unha localización coñecida na orixe. Homing é o proceso polo cal a impresora atopa a orixe (coordenada [0,0,0]) doimpresora.

Faino movendo cada eixe da impresora ata que toquen os seus respectivos interruptores de límite. Onde cada eixe activa o seu interruptor de límite é a súa orixe.

Aquí están algúns dos seus parámetros:

  • [X], [Y], [Z]: Pode engadir calquera destes parámetros para restrinxir a referencia a estes eixes. Por exemplo, G28 X Y alberga só os eixes X e Y.
  • [L]: Restablece o estado de nivelación do leito despois do punto de referencia.
  • [0]: Este parámetro omite o home se xa se confía na posición do cabezal de impresión.

Por exemplo, se quere situar só os eixes X e Z, o comando correcto é G28 X Z. Para colocar todos os eixes, podes usar só o comando G28 .

Marlin G29

O G29 é a cama automática comando de nivelación. Desprega o sistema de nivelación de camas automático ou semiautomático instalado na túa máquina para nivelar a cama.

En función da marca da impresora, podes ter un dos cinco sistemas complexos de nivelación de camas no teu firmware. Inclúen:

  • Nivelación de cama de malla
  • Nivelación automática de cama
  • Nivelación de cama unificada
  • Nivelación automática de cama (lineal)
  • Nivelación automática da cama (3 puntos)

Cada un ten parámetros específicos para traballar co hardware da impresora.

Marlin G30

O comando G30 proba a compilación placa nun punto específico coa sonda dun sistema automático de nivelación da cama. Fai isto para determinar a altura Z dese punto (odistancia da boquilla á cama).

Despois de obter a altura, pon a boquilla á distancia adecuada sobre a placa de construción. Necesita algúns parámetros, que inclúen:

  • [C]: Establecer este parámetro nun permite a compensación da temperatura xa que a maioría dos materiais se expanden mentres se quentan.
  • [X< pos >], [Y< pos >]: Estes parámetros especifican as coordenadas onde quere sondar.

Para sondar a cama na posición actual da boquilla, pode usar o comando sen ningún parámetro. Para probalo nun lugar específico como [100, 67], o comando correcto é G30 X100 Y67.

Marlin M76

O comando M76 detén o temporizador do traballo de impresión. .

Marlin G90

O comando G90 configura a impresora no modo de posicionamento absoluto. Isto significa que todas as coordenadas do Código G interprétanse como posicións no plano XYZ relativas á orixe da impresora.

Ver tamén: Mellor filamento para Ender 3 (Pro/V2): PLA, PETG, ABS, TPU

Tamén configura a extrusora en modo absoluto a menos que o comando M83 o anule. Non toma ningún parámetro.

Marlin G92/G92 E0

O comando G92 establece a posición actual da boquilla nas coordenadas especificadas. Podes utilizalo para excluír determinadas áreas da túa cama de impresión e tamén establecer compensacións para a túa impresora.

O comando G92 incorpora varios parámetros de coordenadas. Inclúen:

  • [ X< pos >], [Y< pos >], [Z< pos >]: Estesos parámetros toman as coordenadas para a nova posición do cabezal de impresión.
  • [E< pos >]: Este parámetro toma un valor e defínao como a posición da extrusora . Podes usar o comando E0 para restablecer a orixe da extrusora se está en modo relativo ou absoluto.

Por exemplo, digamos que queres que o centro da túa cama sexa a nova orixe. Primeiro, asegúrate de que a túa boquilla estea no medio da cama.

A continuación, envía o comando G92 X0 Y0 á túa impresora.

Nota: O comando G92 mantén os límites físicos establecidos polos topes. Non podes usar G92 para moverte fóra do interruptor de límite X nin por debaixo da cama de impresión.

Entón, iso é todo! Os códigos G anteriores representan unha parte pequena pero esencial da biblioteca de códigos G que todos os entusiastas da impresión 3D deben coñecer.

A medida que imprimas máis modelos, podes atopar máis comandos de códigos G que podes engadir ao teu biblioteca.

Moita sorte e feliz impresión!

liña recta, colócala nun lugar específico, súbea ou baixa, ou mesmo móvaa por un camiño curvo.

Van precedidas por un G para mostrar que son código G. .

M-Code

M-Code significa Comandos varios. Son comandos da máquina que controlan outras funcións da impresora ademais do movemento do cabezal de impresión.

Os responsables dos que se encargan inclúen; acender e apagar os motores, axustar a velocidade do ventilador, etc. Outra cousa da que se encarga M-Code é configurar a temperatura da cama e a temperatura da boquilla.

Van precedidas por un M, que significa varios.

Que son os "Sabores" do Código G?

O sabor do Código G refírese á forma en que o firmware da súa impresora (sistema operativo) espera que sexa o seu Código G. formateado. Existen diferentes sabores debido aos diferentes estándares e firmware G-Code que usan varias marcas de impresoras.

Por exemplo, os comandos estándar como mover, acender, etc., son comúns entre todas as impresoras. Non obstante, algúns comandos de nicho non son os mesmos, o que pode provocar erros de impresión se se usa coa máquina incorrecta.

Para contrarrestar isto, a maioría dos segmentos teñen opcións para configurar o seu perfil de impresora para que poida escoller o o sabor axeitado para a súa máquina. A continuación, o slicer traducirá o ficheiro 3D ao código G axeitado para a súa máquina.

Algúns exemplos de sabores de código G inclúen RepRap. Marlin, UltiGcode, Smoothie,etc.

Lista de códigos G principais na impresión 3D

Hai numerosos comandos de código G dispoñibles para diferentes firmwares de impresoras 3D. Aquí tes algúns dos comúns que podes atopar ao imprimir e como utilizalos.

Marlin M0 [Parada incondicional]

O comando M0 coñécese como comando de parada incondicional. Detén o funcionamento da impresora despois do último movemento e apaga os quentadores e os motores.

Despois de deter o funcionamento da impresora, atópase en suspensión durante un período determinado ou agarda a que a entrada do usuario volva estar en liña. O comando M0 pode tomar tres parámetros diferentes.

Estes parámetros son:

  • [P < tempo(ms) >]: esta é a cantidade de tempo que quere que a impresora estea en suspensión en milisegundos. Por exemplo, se quere que a impresora estea en suspensión durante 2000 ms, empregará o M0 P2000
  • {S< tempo(s) > ]: Esta é a cantidade de tempo que desexa que a impresora estea en suspensión en segundos. Por exemplo, se queres que a impresora estea en suspensión durante 2 segundos, utilizará a M0 S2
  • [ mensaxe ]: Ti pode usar este parámetro para mostrar unha mensaxe na pantalla LCD da impresora mentres está en pausa. Por exemplo, M0 Preme o botón central para reiniciar a impresión .

Nota: O M0 o comando é o mesmo que o comando M1 .

Marlin M81

O comando M81 apaga a PSU da impresora(unidade de alimentación). Isto significa que todos os quentadores, motores, etc. non poderán funcionar.

Ademais, se a placa non ten ningunha fonte alternativa de enerxía, tamén se apaga.

Marlin M82

O comando M82 pon a extrusora en modo absoluto. Isto significa que se o Código G solicita que a extrusora extruya 5 mm de filamento, extruirá 5 mm independentemente dos comandos anteriores.

Anullá os comandos G90 e G91.

O comando afecta só aos comandos anteriores. extrusora, polo que é independente doutros eixes. Por exemplo, considere este comando;

M82;

G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ;

G1 X0.4 Y20 Z0.3 F1500.0 E30;

O extrusor está configurado en modo absoluto usando M82 na liña 1. Na liña 2, debuxa a primeira liña extruíndo 15 unidades de filamento.

Despois da liña 2, o valor de extrusión non se volve a cero. Así, na liña 3, o comando E30 extrue 30 unidades de filamento usando o comando E30 .

Marlin M83

O comando M83 establece o extrusora da impresora ao modo relativo. Isto significa que se o Código G solicita unha extrusión de filamentos de 5 mm, a impresora extrude 5 mm de forma acumulativa, baseándose en comandos anteriores.

O comando M83 non toma ningún parámetro. Por exemplo, executemos o comando do último exemplo con M83 .

M83;

G1 X0.1 Y200.0 Z0 .3 F1500.0 E15;

G1 X0.4 Y20Z0.3 F1500.0 E30;

Despois do comando E15 na liña 2, o valor E non se volve a cero; queda en 15 unidades. Entón, na liña 3, en lugar de extruir 30 unidades de filamento, extruirá 30-15 = 15 unidades.

Marlin M84

O comando Marlin M84 desactiva un ou máis dos pasos e motores de extrusora. Podes configuralo para que os desactive inmediatamente ou despois de que a impresora permaneza inactiva durante algún tempo.

Pode levar catro parámetros. Inclúen:

  • [S< tempo(s) >]: Isto especifica a cantidade de tempo de inactividade antes de que se active o comando e desactive o motor. Por exemplo, M84 S10 desactiva todos os pasos despois de estar inactivos durante 10 segundos.
  • [E], [X], [Y], [Z]: Podes usar un ou máis destes para escoller un motor específico para ir en ralentí. Por exemplo, M84 X Y deixa inactivos os motores X e Y.

Nota: Se non utiliza ningún parámetro co comando, inmóbilo inmediatamente. todos os motores paso a paso.

Marlin M85

O comando M85 apaga a impresora e o firmware despois dun período de inactividade. Leva un parámetro de tempo en segundos.

Se a impresora está inactiva sen movemento durante máis tempo que o parámetro de tempo establecido, a impresora apagarase. Por exemplo, se queres apagar a impresora despois de que estea inactiva durante 5 minutos, podes usar o comando:

M85 S300

Marlin M104

Oinclúa a temperatura real e obxectivo dos quentadores dispoñibles.

  • T – Temperatura da extrusora
  • B – Temperatura do leito
  • C – Temperatura da cámara

Marlin M106

O comando M106 acende o ventilador da impresora e establece a súa velocidade. Pode seleccionar o ventilador e establecer a súa velocidade mediante os seus parámetros.

Estes parámetros inclúen:

  • [S< 0-255 > ]: Este parámetro establece a velocidade do ventilador con valores que van de 0 (desactivado) a 255 (velocidade máxima).
  • [Índice P< (0, 1,... ) >]: Determina o ventilador que queres acender. Se se deixa en branco, o valor predeterminado é 0 (ventilador de refrixeración da impresión). Podes configuralo en 0, 1 ou 2 dependendo do número de ventiladores que teñas.

Por exemplo, se queres axustar o ventilador de refrixeración da boquilla ao 50 % da velocidade, o comando é M106 S127. O valor S é 127 porque o 50 % de 255 é 127.

Tamén podes usar o comando M106 sen ningún parámetro para configurar a velocidade do ventilador de refrixeración ao 100%.

Nota: O comando de velocidade do ventilador non entra en vigor ata que se fagan os comandos do Código G anteriores.

Marlin M107

O M107 apaga un dos ventiladores da impresora á vez. Leva un único parámetro, P , que é o índice do ventilador que queres apagar.

Se non se indica o parámetro, P é o valor predeterminado. a 0 e apaga o ventilador de refrixeración da impresión. Por exemplo, oo comando M107 apaga o ventilador de refrixeración da impresión.

Marlin M109

Como o comando M104 , o comando M109 establece unha temperatura obxectivo para o hotend e quéntao. Non obstante, a diferenza de M104 , agarda a que o hotend alcance a temperatura de destino.

Despois de que o hotend alcance a temperatura de destino, o host continúa executando comandos de código G. Toma os mesmos parámetros que o comando M104.

Non obstante, engade un extra. Ese é:

  • [R< temp (°C )>]: Este parámetro establece a temperatura obxectivo para quentar ou arrefriar o hotend para . A diferenza do comando S , agarda ata que a impresora quente ou arrefríe a boquilla ata esta temperatura.

O comando S agarda ao quentarse pero non ao arrefriar. .

Por exemplo, se quere que a boquilla se arrefríe a 120 °C desde unha temperatura máis alta, o comando é M109 R120.

Apagar Marlin M112

O M112 é un comando G-Code de parada de emerxencia. Unha vez que o host envía o comando, detén inmediatamente todos os quentadores e motores da impresora.

Calquera movemento ou impresión en curso tamén se detén inmediatamente. Despois de activar este comando, terás que reiniciar a túa impresora para retomar a impresión do teu modelo.

No firmware de Marlin, o comando pode quedar atascado na cola e tardar un pouco en executalo. Para evitar isto, pode activar a marca EMERGENCY_PARSER para executar ocomando inmediatamente despois de enviarse á impresora.

Pode activar isto accedendo ao ficheiro de configuración avanzada da impresora (Marlin/Configuration_adh.v) e despois elimina algún texto do seguinte xeito:

// Enable an emergency-command parser to intercept certain commands as they // enter the serial receive buffer, so they cannot be blocked. // Currently handles M108, M112, M410 // Does not work on boards using AT90USB (USBCON) processors! //#define EMERGENCY_PARSER

Terá que eliminar o // antes de #define EMERGENCY_PARSER e recompilar as fontes.

Podes obter máis información sobre a actualización do firmware de Marlin no seguinte vídeo.

Marlin M125

O comando M125 detén a impresión e aparca o cabezal de impresión nun lugar de aparcamento preconfigurado. Tamén garda a posición actual da boquilla na memoria antes de aparcar.

Normalmente hai unha posición de aparcamento preconfigurada definida no firmware da impresora. Podes aparcar a boquilla nesta posición usando só o comando M125 .

Non obstante, podes cambiala mediante un ou máis destes parámetros.

  • [L< longitud >]: Isto retrae unha lonxitude determinada de filamento da boquilla despois de estacionar
  • [X< pos >], [Y< pos >], [Z < pos >]: Pode combinar un ou máis destes parámetros de coordenadas para establecer un nova posición de aparcadoiro para o cabezal de impresión.

Se quere aparcar a boquilla na orixe e retraer 9 mm de filamento, o comando é M125 X0 Y0 Z0 L9.

Marlin M140

O comando M140 establece unha temperatura obxectivo para a cama e continúa executando outras liñas de Código G inmediatamente. Non agarda a camadespois desa liña. Por exemplo, mira o código G a continuación:

M400;

M81;

A liña 1 detén o procesamento ata que realízanse todos os movementos actuais e, a continuación, a liña 2 apaga a impresora 3D mediante o M81 apaga o código G.

Marlin M420

O comando M420 recupera ou establece o estado de nivelación da cama da impresora 3D. Este comando só funciona con impresoras que dispoñen de sistemas automáticos de nivelación da cama.

Despois da nivelación, estas impresoras crean unha malla desde a cama de impresión e gárdana na EEPROM. O comando M420 pode axudar a recuperar estes datos de malla da EEPROM.

Tamén pode activar ou desactivar a impresora para que non use estes datos de malla para imprimir. Pode tomar varios parámetros, que inclúen:

  • [S< 0

Roy Hill

Roy Hill é un apaixonado entusiasta da impresión 3D e un gurú da tecnoloxía cun gran coñecemento sobre todo o relacionado coa impresión 3D. Con máis de 10 anos de experiencia no campo, Roy dominou a arte do deseño e impresión 3D e converteuse nun experto nas últimas tendencias e tecnoloxías de impresión 3D.Roy é licenciado en enxeñería mecánica pola Universidade de California, Los Ángeles (UCLA), e traballou para varias empresas reputadas no campo da impresión 3D, incluíndo MakerBot e Formlabs. Tamén colaborou con varias empresas e persoas para crear produtos personalizados impresos en 3D que revolucionaron as súas industrias.Ademais da súa paixón pola impresión 3D, Roy é un ávido viaxeiro e un entusiasta do aire libre. Gústalle pasar tempo na natureza, facer sendeirismo e acampar coa súa familia. No seu tempo libre, tamén é mentor de novos enxeñeiros e comparte a súa riqueza de coñecementos sobre impresión 3D a través de varias plataformas, incluíndo o seu popular blog, 3D Printerly 3D Printing.