Você está na página 1de 7

Esta página tenta descrever o significado do G-codes usado pelo firmware

da RepRap e como ele trabalha. O principal objetivo é a fabricação aditiva


usando processos FFF/FDM. Códigos para movimentar a cabeça da
impressora seguem o padrão NIST RS274NGC G-cod, assim firmwares
RepRap são úteis em fresadora CNC e também em aplicações similares.

Como há muitos firmwares e seus desenvolvedores tendem a


implementar novas características sem discutir estratégias e sem analisar o
que outros fizeram antes dele, há muitas sub-implementações de códigos
específicos criados ao longo dos anos para a Impressora 3D.

Um típico fragmento de G-code enviado a uma máquina RepRap pode ser


igual a este:

N3 T0*57
N4 G92 E0*67
N5 G28*22
N6 G1 F1500.0*82
N7 G1 X2.0 Y2.0 F3000.0*85
N8 G1 X3.0 Y3.0*33

O significado de todos estes símbolos e números (e mais) é explicado


abaixo.

Para encontrar quais gcode/s específico foi implementado em um


determinado firmware, há uma pequena tabela com a descrição dos comando.
Igual a esta:

FiveD Teacup Sprinter Marlin Repetier


Support
yes automatic yes yes experimental

Eis os significados:

Yes

Totalmente suportado.
Experimental

Há algum suporte, Faz-se necessário checar frequentemente trechos de


códigos fontes diferente do padrão ou trocar determinadas chaves de
configuração.

Automatic

O firmware lida com esta funcionalidade automaticamente, portanto não


há necessidade de enviar o comando; você recebe este recurso
independentemente.

No

Não há suporte para esta funcionalidade no firmware.

Uma consideração técnica, o final da linha é marcado por um <nl> e


opcionalmente um <cr>. Então, O Unix trabalha o final de linha tal como o
Windows.

RepRap G Code Fields

Esta seção explica o campo (coluna) Letras. Os números nos campos são
representados por nnn. Numeros podem ser inteiros, ou podem conter um
ponto decimal, dependendo do contexto. Por exemplo, uma coordenada X
pode ser inteiro (X175) ou fracionada (X17.62), enquanto a tentativa de
selecionar o extrusor com o numero 2.76 não faria sentido.

Letra Significado

Gnnn Comando GCode padrão, tal como mover para um ponto


Mnnn Comando definido para RepRap , tal como ligar o ventilador da refrigeração
Tnnn Selecionar ferramenta nnn. Na RepRap, ferramentas são extrusores
Snnn Parâmetro de comando, tal como enviar a tensão para o motor
Pnnn Parâmetro de comando, tal como o tempo em milissegundos.
Xnnn Uma coordenada X, usada para deslocamento (mover para)
Znnn Uma coordenada Z, usada para deslocamento (mover para)
Innn Parâmetro – atualmente não usado
Jnnn Parâmetro – atualmente não usado
Avanço em milímetros por minuto. (A velocidade do movimento da cabeça de
Fnnn
impressão)
Rnnn Parâmetro - usado para temperaturas
Qnnn Parâmetro – Atualmente não usado
Comprimento extrudado em mm. Este é exatamente igual ao X, Y e Z, mas
para o comprimento do filamento a extrudar. Melhor: SkeinForge 40 e acima
Ennn interpreta este como o comprimento total de filamento a consumir na entrada,
mais do que o comprimento de saída extrudado.

Número de linha. Usado para requisitar uma retransmissão no caso de erro


Nnnn
de comunicação.
*nnn Checksum. Usado para verificar erros de comunicação.

Buffered G Commands

O firmware RepRap armazena estes comandos em um espaço interno


para execução. Isto significa que não é (notado) um atraso enquanto um
comando é reconhecido e o próximo e transmitido. Por sua vez, isto significa
que os segmentos de linha podem ser plotados sem interrupção entre um e
outro. Logo que um desses comandos armazenados é recebido ele é
reconhecido e guardado localmente. Se o local de armazenamento estiver
cheio, então o reconhecimento é pausado até que o espaço para armazenar
esteja disponível. Eis como o controle de fluxo é realizado.

G0: Rapid move

FiveD Teacup Sprinter Marlin Repetier


Support
??? yes yes yes yes

Exemplo: G0 X12

Neste caso move rapidamente para X-12mm. De fato, O firmware RepRap


usa exatamente o mesmo código de movimentos controlados (veja G1 abaixo)
para movimentos rápidos, para uma máquina RepRap – isto é tão eficiente
como não fazê-lo. Esta diferenciação vem de antigas máquinas que usavam o
movimento rápido onde o eixo não seguisse uma linha reta. Para elas G0
permitia qualquer movimento no espaço para chegar ao destino o mais rápido
possível.
G1: Controlled move

Exemplo: G1 X90.6 Y13.8 E22.4

Vá em linha reta do ponto atual (X,Y) para o ponto (90.6, 13.8),


extrudando material enquanto o movimento acontece, do atual comprimento
extrudado para um comprimento de 22.4mm.

RepRap faz coisas sutis com avanço, . Assim

G1 F1500
G1 X90.6 Y13.8 E22.4

Irá estabelecer um avanço de 1500 mm/minuto, então fará o movimento


descrito acima enquanto avança. Mas

G1 F1500
G1 X90.6 Y13.8 E22.4 F3000

Irá estabelecer um avanço de 1500 mm/minuto, então faz o movimento


descrito acima acelerando até um avanço de 3000 mm/minuto. A extrusão irá
acelerar durante o movimento X,Y mantendo todo o mecanismo sincronizado.

RepRap assim trata o avanço como uma outra variável simples( iguais a
X,Y,Z e E) são interpolados linearmente. Ele oferece total controle através das
acelerações e desacelerações ao longo do caminho, garante que todos se
movam juntos e faz com que o volume correto de material seja extrudado ao
longo dos pontos.

Nota: nem todos os firmwares implementam isto, e.g. atualmente o Marlin


vai usar o novo avanço desde o início do movimento e não irá mudá-lo.

O primeiro exemplo mostra como se mover com uma velocidade


constante, O segundo, como acelerar ou desacelerar. Desta forma

G1 F1500
G1 X90.6 Y13.8 E22.4 F3000
G1 X80 Y20 E36 F1500

Irá fazer o primeiro movimento acelerando tal como antes, e o segundo


desacelerando de 3000mm/minuto regredindo até 1500 mm/minuto.

Reverter o extrusor para um dado volume (por exemplo, reduzir a pressão


interna enquanto ele faz um movimento no ar de modo que ele não pingue)
simplesmente use G1 para enviar um valor E menor que o comprimento atual
extrudado.

Algumas implementações e RepRaps permitem que se detecte o


chaveamento dos “endstops” em “on” e “off” durante os movimentos.
Adicionando um campo S possibilita isto: G1 X300 S1 irá mover X para 300
verificando se alcançou o final de curso e parando caso aconteça. G1 X300 S0
irá fazer o mesmo sem a checagem. Por padrão não há verificação

G28: Move to Origin


FiveD Teacup Sprinter Marlin Repetier
Support
yes yes yes yes yes

Exemplo: G28

Este faz com que a máquina RepRap mova-se de volta a posição zero de
final de curso X, Y e Z, um processo conhecido como “homing”. Faz isto
acelerando, de modo que chegue rapidamente. Mas quando ele chega, ele
retrocede cerca de 1mm em cada direção vagarosamente, então se move para
trás lentamente até parar. Isto garante um posicionamento preciso.

Se você adicionar coordenadas, então apenas os eixos com coordenadas


especificados serão zerados. Assim:

G28 X0 Y72.3

Irá zerar os eixos X e Y, mas não o Z. Os valores das coordenadas


vigentes serão ignorados.

G29-G32: Bed probing


G29 Especifica Z-Probe
sonda a cama em 3 pontos.

G30 Sondagem simples do Z

A forma mais simples de sondar a cama em uma localização XY atual.

Algumas implementações permitem um comportamento mais


generalizado: Se um campo Pn é especificado os valores da sondagem X,Y e Z
serão armazenados como n pontos na cama calculando a distância do plano.
Geralmente n é 0, 1, ou 2. Se os valores X, ou Y, ou Z são especificados (e.g.
G30 P1 X20 Y50 Z0.3) então estes valores são usados ao invés das
coordenadas atuais da máquina. Um valor absurdo do Z (inferior a -9999.0) faz
com que a máquina sonde com o valor do Z atual, não apenas o valor dado. Se
um campo S é especificado (e.g. G30 P1 Z0.3 S) o plano da cama e
computado por compensação e guardado. A combinação destas opções
permitem que a máquina se mova através dos pontos usando comandos G1, e
então sonde a cama, ou para o usuário posicionar o bocal amigavelmente e
usar estas coordenadas. O usuário também pode gravar esses valores e
colocá-los em um arquivo de configuração Gcode para execução automática.

G4: Dwell
Exemplo: G4 P200

Neste caso permanece quieto sem fazer nada por 200 milissegundos. Durante
a espera o estado da máquina (por exemplo a temperatura de seus estrusores)
será contudo preservado e controlado.

Comments
Cometários G Code

N3 T0*57 ;This is a comment


N4 G92 E0*67
; So is this
N5 G28*22

Será ignorado pelo RepRap, como as linhas em branco. Mas é melhor retirar
esta parte do computador “host” antes de enviá-la. Economiza largura de
banda.

Texto original em língua Inglesa:


http://reprap.org/wiki/Mendel_User_Manual:_RepRapGCodes

Tradução por: spTaciano


Versão 1.0

Última Alteração 10/03/2014

Você também pode gostar