Marlin Ajuste do avanço


9

Estou usando o firmware Marlin (1.1.0-RC7 - 31 de julho de 2016) para uma impressora 3D. Atualmente, a impressão não é perfeita devido a pequenas imprecisões nos movimentos ao longo dos eixos xe y. Estou tentando alterar a taxa de avanço para velocidade ao longo do eixo xy enquanto a impressora está em operação para garantir que a impressora pare na hora e imprima com precisão.

Eu tenho algum código para controlar o avanço, mas o problema é que não tenho certeza de onde devo fazer esses ajustes. No arquivo configuration.h, vejo este código: (linhas 742 e 753)

/*line 742*/ #define HOMING_FEEDRATE_XY (50*60) 
/*line 753*/ #define DEFAULT_MAX_FEEDRATE {300, 300, 5, 25}  // (mm/sec)

Provavelmente estou entendendo mal algo, mas parece que isso define o avanço para um valor padrão que é o mesmo que o máximo.

Se o avanço mudar durante a impressão, acho que seria feito no Marlin_main.cpp, mas não tenho certeza de qual parte ele realmente muda. Alguém pode me apontar na direção certa aqui?


A taxa de alimentação é definida pelo código g que você fornece, por que não definir a taxa de alimentação de impressão mais baixa? A única coisa que você vai mudar no firmware sem modificá-lo são as taxas de alimentação máxima e de retorno.
Tjb1

Respostas:


3

Você pode alterar o avanço máximo permitido em Configuration.h, mas o avanço real usado não é determinado pelo seu firmware. O avanço é especificado no arquivo G-Code. Um comando como

G0 X10.0 Y15.0 Z3.0 F9000

indica uma mudança para (10,15,3) a uma velocidade de avanço de 9000 mm / min. Se F não for especificado, o último avanço usado será usado.

Você apenas precisa fornecer os comandos de código G apropriados com a taxa de alimentação que deseja neles. Não há motivo para modificar o firmware para obter uma taxa de alimentação diferente.


Então, o avanço precisaria ser o mesmo para todos os eixos x, ye z? Você também conhece qual parte do Marlin_main.cpp é responsável pela leitura dos comandos do arquivo G-Code?
faça acontecer

Não, o avanço para os eixos individuais é calculado para que o avanço total seja de 9000 mm / s (por exemplo, a distância euclidiana entre os pontos divididos pelo tempo para o movimento é igual ao avanço). Se você passar de 0,0 para 2,1, o avanço para X será duas vezes maior que o avanço para Y. Não sei o que você está tentando alcançar, mas alterar o firmware provavelmente não é a opção certa . Se você insiste, provavelmente deveria estar olhando para a prepare_movefunção.
Tom van der Zanden

Você não pode definir o avanço dos eixos de forma independente, pois um eixo pode atingir seu destino antes de outro. Você quer uma mudança de X, Y para X ', Y' para resultar em uma linha reta. Portanto, os avanços dependem um do outro.
Tom van der Zanden 30/10

2

Parece que você pode querer observar as etapas por linha de mm.

#define DEFAULT_AXIS_STEPS_PER_UNIT

Essa linha é onde você calibra o número de etapas por mm. Para calibrar, marque um ponto ao longo de um eixo e mova esse eixo em algo como 100 mm. Se não se moveu 100 mm exatamente, faça uma alteração

(how far it moved)       (how far it should have moved)
------------------   =   ------------------------------
(current steps/mm)         (new steps/mm) --> find this

1

Você tem as linhas para ajustar a taxa de alimentação. O primeiro (linha 742) é relevante para a taxa máxima de alimentação XY durante o retorno à página inicial (não durante a impressão). Eu acho que isso não é um problema no seu caso específico e você pode deixar como está.

O segundo (linha 753) é a taxa de alimentação durante a impressão para XY. Particularmente, os números entre colchetes se referem a (X, Y, Z, E). Se sua impressora estiver em movimento, isso poderá afetar XY mais que Z e E. Portanto, tente ajustar os dois primeiros números.

Devido à situação muito específica, é impossível fornecer uma taxa de alimentação com base no cálculo, porque você está lidando com acelerações externas causadas pela situação móvel. Você precisará tentar ajustá-lo até acertar.

Outra configuração que também pode ajudá-lo a compensar a aceleração externa, se houver, é a aceleração desses dois eixos. Você deve encontrar duas linhas como estas:

#define DEFAULT_MAX_ACCELERATION {1500,1500,50,250}    
#define DEFAULT_ACCELERATION 1500 // Aceleração máxima de X, Y, Z e E em mm / s ^ 2 para movimentos de impressão

No entanto, a aceleração dos eixos pode afetar a qualidade da impressão.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.