Troca de Filamento Durante a Impressão

3,432 views
Skip to first unread message

Miguel D'Avila

unread,
Dec 28, 2013, 6:25:11 AM12/28/13
to repr...@googlegroups.com
meus amigos,

tenho visto algumas "coisas" para imprimir que fazem uso de 2 ou mais
cores, orientando a troca de filamento nas camadas tal, tal e tal...

eu não tenho a mínima idéia de como pausar a impressão em
determinada camada; seria editando o gcode? eu uso o cura pra fatiar;

outra coisa: eu já reparei que, quando eu mando pausar a impressão,
mesmo mandandosubir o bico, sempre fica um cocozinho de plástico
na peça, no ponto em que o bico estava antes de pausar; como seria
possível pausar, fazer essa troca e continuar de onde estava?

miguel d'avila .'.

Luís Andrade

unread,
Dec 28, 2013, 7:59:14 AM12/28/13
to repr...@googlegroups.com
Se estiver usando o repetier host, basta colocar um @pause no gcode. 

Faça um retract antes de mandar subir o bico. 

--
Página da Lista: http://groups.google.com/group/reprapbr/about?hl=pt-BR
Versão Forum: https://groups.google.com/forum/?fromgroups#!forum/reprapbr
---
Você está recebendo esta mensagem porque se inscreveu no grupo "RepRapBR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para reprapbr+u...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/reprapbr.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Rogerio Pellarin

unread,
Dec 28, 2013, 8:02:29 AM12/28/13
to repr...@googlegroups.com
Miguel, eu também não sei como colocar os comandos de pausa no gcode, por isso, minha resposta vai pela metade.
Eu já precisei trocar o filamento no meio da impressão, mas no meu caso não foi troca de cor, e sim, filamento acabando e sendo trocado por outro.
Neste caso, eu deixei no jeito um alicate de cutícula (aqueles que tem a pontinha bem aguda e cortam pra caramba, usados por manicures) e um cartão de visitas.
Pausei a impressão no momento do preenchimento, num ponto longe de alguma camada externa, para não correr o risco de deixá-la deformada.
Ao pausar, rapidamente subo o eixo Y uns 30cm. Mesmo assim, ele cria isso q vc chamou de "cocozinho", por isso, eu uso o alicate para cortar bem rente a peça, enqto o plástico ainda está quente.
Coloco o cartão de visitas sobre a peça, para que não caia mais nada sobre ela, troco o filamento, e mando extrusar bastante, até que eu tenha certeza que o novo filamento tenha substituído o velho (no seu caso, até que comece a sair a nova cor).
Então, eu retiro toda a sujeira que está sobre a peça (filamento e cartão) e retiro o pause.
Uns 10mm antes do bico voltar a encostar na peça, pode ser que tenha saído um pouco de filamento, por isso, eu uso uma pinça e limpo o bico segundos antes.
A impressão volta ao normal e aparentemente fica perfeito.
Não destrave os motores, pois eu já fiz isso e o motor saiu fora de posição e começou a imprimir a peça totalmente torto.
Bom, eu tenho certeza que os colegas da lista têm outras técnicas para a troca, inclusive devem ter os gcodes para pausar e subir eixo Y automaticamente, mas essa minha técnica funcionou quando faço peças com grande perímetro.
Abraço e boa sorte!



Em 28/12/13 09:25, Miguel D'Avila escreveu:

Bruno Cabral

unread,
Dec 28, 2013, 8:05:36 AM12/28/13
to repr...@googlegroups.com
Após mecher (ou se sair de posição) dê HOME do X e Y (mas não do Z) que ele volta pro local certo.

!3runo

--
http://f2link.f2b.com.br/impressora3d



Miguel D'Avila

unread,
Dec 28, 2013, 10:49:31 PM12/28/13
to repr...@googlegroups.com
então, eu deveria localizar, no gcode, a linha em que eu quero trocar
o filamento, e colocar quais comandos exatamente, além do pause,
para que ele retraia o filamento e vá para uma posição segura de troca,
sem deixar o cocozinho de plástico na peça? e depois, o que eu faço
para que ele continue? eu uso o pronterface...

Luís Andrade

unread,
Dec 28, 2013, 11:11:57 PM12/28/13
to repr...@googlegroups.com
Com pronterface, nada feito, você vai ter que fazer tudo no mão. 

Com o repetier host, depois do pause é só clicar no continuar. 



On Saturday, December 28, 2013, Miguel D'Avila wrote:
--

Marcos Duque Cesar

unread,
Dec 29, 2013, 12:57:29 AM12/29/13
to repr...@googlegroups.com
  1. pressione pausa
  2. mova a cabeca para o lado
  3. troca o filamento
  4. extrusa
  5. home X, home Y
  6. presione resume

voce pode criar botoes no pronterface

Miguel D'Avila

unread,
Dec 29, 2013, 8:27:05 AM12/29/13
to repr...@googlegroups.com
nesse caso, eu tenho dois problemas: o primeiro, é que quando se dá pausa,
se não der o comando retract imediatamente antes, fica um cocozinho de plástico
no lugar onde ele estava, e estraga a peça; o outro é que na mão, vai ficar difícil saber
onde exatamente interromper, até porque o pronterface demora um pouco a responder
ao comando de pausa, provavelmente porque ele já passou vários comandos para a
placa eletrônica processar; dessa maneira, eu teria de editar o gcode e colocar os
comandos de retract, suspender o bico, mover pro canto, e dar pausa, para então
eu proceder à troca de filamentos; depois então eu daria o comando manual de
resumir, para continuar do ponto que parou; o problema é que eu não sei nada
de gcode; se alguém puder me indicar uma fonte de referência, seria ótimo...

Alex Borro

unread,
Dec 29, 2013, 8:59:04 AM12/29/13
to repr...@googlegroups.com
vamos lá... só um esboço, hein, não vou testar. No ponto onde vc quer parar:

G91                 ; Coloca as coordenadas em modo relativo
G1 E-100 F600 ; Reverte o extrusor 100mm.. isso geralmente é suficiente para expulsar o filamento anterior. Caso não, aumente a distância.
G1 Z20 F180     ; Sobe o extrusor 20mm pra distanciar o hotend da peça.
G28                  ; Coloca o hotend na origem
M84                  ; Desliga os motores.
M117 Troque Filamento ; Exibe essa mensagem no LCD
M0                   ; Pausa e espera vc apertar o botão DO LCD para continuar. Se vc não tem LCD... humm.. so sorry.. não sei como fazer.
G28                  ; Refaz o homing
G1 Z-20 F180    ; volta o hotend para a altura original
G90                  ; Volta para modo absoluto

Quando o código for executado, basta vc colocar o novo filamento, empurre um pouco com a mão até começar a extrusar e "limpar" a cor anterior e aperte o botão do LCD para retomar a impressão de onde parou.

Após esse código, precisa vir um código de posicionamento, senão o extrusor não sabe onde ir.. Geralmente nas mudanças de camadas, os primeiros códigos são de posicionamento.

No seu Slic3r, em Custom G-Code coloque:

;Layer #[layer_num]

Isso vai colocar uma marcação em cada mudança de layer. Veja uma peça q fatiei abaixo:



G1 X80.668 Y91.678 E5.34398
M204 S3000
G1 Z3.400 F18000.000
;Layer #16
G1 F3000.000 E0.34398
G1 Z3.600 F18000.000
G92 E0
G1 X80.963 Y92.000 F18000.000
G1 X146.018 Y86.228 F18000.000
G1 Z3.400 F18000.000
G1 E5.00000 F3000.000
M204 S600
G1 X146.597 Y84.986 E5.02881 F1200
G1 X146.830 Y84.654 E5.03734
G1 X147.116 Y84.367 E5.04587


No caso do código q escrevi acima, creio q o melhor lugar pra colocar seria logo APÓS a linha marcada em vermelho, pois ele após isso ele vai fazer o retract, posicionar o hotend no lugar certo, fazer o prime do filamento e voltar a imprimir.

Abraços..




--
Página da Lista: http://groups.google.com/group/reprapbr/about?hl=pt-BR
Versão Forum: https://groups.google.com/forum/?fromgroups#!forum/reprapbr
---
Você está recebendo esta mensagem porque se inscreveu no grupo "RepRapBR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para reprapbr+u...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/reprapbr.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.



--
"Não é o mais forte da espécie que sobrevive, nem o mais inteligente. É aquele que se adapta melhor as mudanças"  ( Charles Darwin )

Alex Borro

Marcos Duque Cesar

unread,
Dec 29, 2013, 10:41:42 AM12/29/13
to repr...@googlegroups.com
Voce pode usar o Pronterface para saber a altura da camada, sabendo isso basta acrescentar no seu gcode o que lhe interessa, no gcode que você salvar procura linha com G1 Z, ex; G1 Z25.000 eh na altura de 25mm da sua peca nesse ponto basta colocar o comando que voce quer. Pode usar o Netfabb para saber também altura, o bom de mexer nisso eh que voce pode fazer muita coisa legal, trabalhar com determinados parâmetros para cada altura da peca, o aspecto final melhora e muito.

Cláudio Sampaio

unread,
Dec 29, 2013, 11:42:05 AM12/29/13
to repr...@googlegroups.com
Gente, curiosidade. Nesse thread eu vi um monte de dicas interessantes mas todos envolvendo o controle da impressora 3D pela USB com algum programa como o pronterface ou semelhante.

E pela impressão usando o LCD com SD Card? Nas vezes em que tentei trocar filamento no meio de uma impressão, depois de eu extrudar e dar um 'continue', ele dava um retract imenso e cuspia o filamento novo fora. Existem estratégias como as ilustradas aqui para o controle da USB que sirvam pro LCD?

[]s,
--
Cláudio "Patola" Sampaio
IRC: ptl  - Yahoo: patolaaa
Campinas, SP - Brazil.

Alex Borro

unread,
Dec 29, 2013, 11:45:57 AM12/29/13
to repr...@googlegroups.com
O código q eu fiz é pra ser usado exclusivamente com LCD e SD Card.


--
Página da Lista: http://groups.google.com/group/reprapbr/about?hl=pt-BR
Versão Forum: https://groups.google.com/forum/?fromgroups#!forum/reprapbr
---
Você está recebendo esta mensagem porque se inscreveu no grupo "RepRapBR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para reprapbr+u...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/reprapbr.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Marcelino Andrade

unread,
Dec 29, 2013, 11:50:41 AM12/29/13
to repr...@googlegroups.com

1)     Iniciar impressão: arquivo único de g-code;

2)     Acionar “pause”: momento desejado para troca, sendo que a parada pode não ser imediata;

3)     Acionar “home x”: realizar a troca em região fora da peça;

4)     Iniciar a Trocar de filamento: motores travados;

5)     Acionar “Motors Off”: extruso o novo filamento no manual para deixar no ponto;

6)     Acionar “home x”: reposicionar para não perder a referencia;

7)     Acionar “resume”: reinicia impressão.

//

Exemplos:

http://www.thingiverse.com/thing:184971

http://www.thingiverse.com/thing:171898

Uma entre estrategia, entre outras, e igual ou similar a muitas outras!!

Cordialmente,

Marcelino Andrade

Miguel D'Avila

unread,
Dec 29, 2013, 2:18:22 PM12/29/13
to repr...@googlegroups.com
eu não tenho lcd/sdcard; stou pensando em comprar...
será que se eu usar o comando "resume" do pronterface,
vai substituir o botão de continuar, no m=comando "M0"?

Marcos Duque Cesar

unread,
Dec 30, 2013, 5:28:49 AM12/30/13
to repr...@googlegroups.com
Experimenta e nos fala. Em CNC M0 é usado para intervenção manual (limpeza, inspeção, troca de algo..) ele não da um "reset" na programação , todo dado continua retido, tem uma chave na CNC chamada Cycle Start e o processo só é resumido através dela, talvez usando o resume do Pronterface tenha o mesmo resultado. Legal vc ter interesse na programação manual do Gcode, muito importante isso.

Marcos Duque Cesar

unread,
Dec 30, 2013, 5:30:16 AM12/30/13
to repr...@googlegroups.com

Alex Borro

unread,
Dec 30, 2013, 6:05:55 AM12/30/13
to repr...@googlegroups.com
Miguel, vamos aos pontos:

1) O comando M0 funciona no Marlin... No repetier eu não faço idéia..

2) Esse comando nem é compilado no firmware se vc não tem LCD.

3) Se vc não tem LCD, providencie um imediatamente. Vc nunca vai ter uma impressora decente sem LCD/SDCard. E quem falar o contrário, é pq nunca imprimiu a partir de SDCard. Depois de cansar de perder impressões por problemas de comunicação na USB e/ou no Windows, vc vai me dar razão.

4) Provavelmente os hosts tem algum comando de pausa.... já disseram aqui q Repetier-Host tem o @pause.. provavelmente o pronterface tem algo parecido.

Abraços.


Em 30 de dezembro de 2013 08:30, Marcos Duque Cesar <hep...@gmail.com> escreveu:
Experimenta e nos fala. Em CNC M0 é usado para intervenção manual (limpeza, inspeção, troca de algo..) ele não da um "reset" na programação , todo dado continua retido, tem uma chave na CNC chamada Cycle Start e o processo só é resumido através dela, talvez usando o resume do Pronterface tenha o mesmo resultado. Legal vc ter interesse na programação manual do Gcode, muito importante isso.

--
Página da Lista: http://groups.google.com/group/reprapbr/about?hl=pt-BR
Versão Forum: https://groups.google.com/forum/?fromgroups#!forum/reprapbr
---
Você está recebendo esta mensagem porque se inscreveu no grupo "RepRapBR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para reprapbr+u...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/reprapbr.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Thiago Peixoto

unread,
Dec 30, 2013, 7:11:04 AM12/30/13
to repr...@googlegroups.com
Estou aprendendo muito neste tópico. 
Retornando com uma dúvida do Miguel que ainda não foi respondida:

"será que se eu usar o comando "resume" do pronterface,
vai substituir o botão de continuar, no m=comando "M0"?"

Eu também tenho interesse na resposta, me parece que o botão PAUSE no pronterface é mais como um STOP, porque ainda não consegui retomar de onde parou.

Abs,


Thiago Peixoto
Analista de Suporte

Alex Borro

unread,
Dec 30, 2013, 7:14:04 AM12/30/13
to repr...@googlegroups.com

Não Thiago, pelo menos no Marlin, o botão resume do pronterface não funciona para continuar a parada do M0.

Thiago Peixoto

unread,
Dec 30, 2013, 7:35:27 AM12/30/13
to repr...@googlegroups.com
-1 para pronter... logo agora que estava em love com ele... rs

Vou iniciar a saga da instalação do LCD, cansado de perder impressão por capricho do driver USB.



Thiago Peixoto
Analista de Suporte


Miguel D'Avila

unread,
Dec 30, 2013, 10:14:34 AM12/30/13
to repr...@googlegroups.com
na realidade, o pause funciona perfeitamente, pois já consegui pausar
e continuar de onde parei, porém o resultado é sofrível, já que, por falta
do retract adequado, fica o famoso cocozinho de plástico na peça...

miguel d'avila .'.




Pedro Henrique

unread,
Dec 30, 2013, 10:28:42 AM12/30/13
to repr...@googlegroups.com

Faz o pause no infill e não no perímetro.

 

Assim fica escondido qualquer defeito que der no final/inicio da troca.

 

Coloca um @pause no Gcode, no lugar que quiser parar.. faz home do X, desliga os motores, troca o filamento.

 

Extruda filamento manualmente até sair somente a nova cor.

 

Manda fazer home do X novamente e continua a impressão.

 

Eu já fiz isso para trocar o filamento quando acabou, mas é a mesma coisa.

 

Observe também se terá diferença na temperatura de extrusão.

 

Neste caso ajuste a temperatura, antes de mandar fazer o home X e continua.

 

Ex. Se for imprimir branco/preto, provavelmente teria uma diferença da temperatura de extrusão de cada um...

 

Isso tudo conectado, sem desligar a impressora e sem aperta o parada de emergência.

 

 

 

PEDRO H. QUAGLIO

phq...@terra.com.br

(16) 8821-1910 / 3975-6027

Miguel D'Avila

unread,
Dec 30, 2013, 6:33:06 PM12/30/13
to repr...@googlegroups.com
mas esse comando de @pause aceita no marlin?
e pra continuar, pode ser o resume do pronterface?

Luís Andrade

unread,
Dec 30, 2013, 6:40:50 PM12/30/13
to repr...@googlegroups.com
Isso só funciona com o repetier host. Não é nem enviado pra impressora. 

Pedro Henrique

unread,
Dec 30, 2013, 7:08:18 PM12/30/13
to repr...@googlegroups.com

Não sei informar.

 

O comando @pause é do repetier host... mas não custa nada testar.

Miguel D'Avila

unread,
Jan 1, 2014, 9:57:00 PM1/1/14
to repr...@googlegroups.com
M600 - Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]

vi essa linha na documentação do gcode para marlin, mas não entendi
bulhufas sobre o uso; alguém tem idéia sobre onde conseguir help mais
detalhado para o gcode do marlin?

Marcos Duque Cesar

unread,
Jan 2, 2014, 1:30:20 AM1/2/14
to repr...@googlegroups.com
Voce continua precisando do LCD, Miguel pra usar isso :D. tem um fork que faz um melhor uso  desse comando M600, no arquivo original voce usando apenas M600 nao tem reinicio e nao estrusa apos troca de filamento, no fork colocaram isso M600/M601
 https://github.com/buildrob/Marlin_M600

Essas sao as linhas do fork:

// Define default values for the park/unpark head command (M600 & M601) argument values
#ifdef PARK_HEAD_ENABLE
  #define PARK_HEAD_XPOS 5          // location to park extruder head (X)
  #define PARK_HEAD_YPOS 5          // location to park extruder head (Y)
  #define PARK_HEAD_ZADD 5          // amount to lift extruder head by (Z)
  #define PARK_HEAD_RETRACT -3      // amount to retract before lifting head (R)
  #define PARK_HEAD_EXTRUDE 3       // amount to extrude after moving head (E)
 
  #define UNPARK_HEAD_RETRACT -3    // amount to retract before returning into position (R)
  #define UNPARK_HEAD_EXTRUDE 3     // amount to extrude after returning into position (E)
 
  #ifdef ULTIPANEL
    // Whether to enable automatic extruder park/unpark when an SD Print is paused/resumed from the LCD menu
    // (there's no reason not to enable by default - pausing a print without parking the head is almost always destructive)
    #define ENABLE_PARK_ON_SD_PRINT_PAUSE_MENU_ACTION
 
    // These values relate to the "Change Filament" LCD menu command
    #define FILAMENTCHANGE_LONGRETRACT "-75"        // amount to retract after head has been parked
    #define FILAMENTCHANGE_LONGEXTRUDE "75"         // amount to extrude after LCD button has been pressed
    #define FILAMENTCHANGE_LONGEXTRUDE_RATE "300"   // mm/min rate to extrude (extruding too fast can strip the filament)
  #endif 
#endif

Marcos Duque Cesar

unread,
Jan 2, 2014, 1:49:15 AM1/2/14
to repr...@googlegroups.com

Marcos Duque Cesar

unread,
Jan 2, 2014, 1:51:42 AM1/2/14
to repr...@googlegroups.com
Nao tem como editar....mas aqui tem um video
http://www.youtube.com/watch?v=1xVTGK_3Jnc&feature=youtu.be

Andre Alexandre

unread,
Jan 2, 2014, 12:13:20 PM1/2/14
to reprapbr
Se tiver com o Marlin e o Repertier Host comandando ele, é o meu caso, funciona filé.



2013/12/30 Pedro Henrique <phq...@terra.com.br>

Marcial Perez

unread,
Apr 8, 2017, 7:11:57 PM4/8/17
to RepRapBR
Miguel, podes dar pausa e, em vez de usar o Z, use o X, pois o carro da extruzora corre pro lado e não deixa marcas. É assim que faço. Sei que tem como colocar no gcode, mas estou buscando buscando essa informação no google.
Espero ter ajudado. eu usa o repetier.


Em sábado, 28 de dezembro de 2013 08:25:11 UTC-3, Miguel D'Avila escreveu:
meus amigos,

tenho visto algumas "coisas" para imprimir que fazem uso de 2 ou mais
cores, orientando a troca de filamento nas camadas tal, tal e tal...

eu não tenho a mínima idéia de como pausar a impressão em
determinada camada; seria editando o gcode? eu uso o cura pra fatiar;

outra coisa: eu já reparei que, quando eu mando pausar a impressão,
mesmo mandandosubir o bico, sempre fica um cocozinho de plástico
na peça, no ponto em que o bico estava antes de pausar; como seria
possível pausar, fazer essa troca e continuar de onde estava?

Reply all
Reply to author
Forward
0 new messages