Velocidade de passo da vida real

9

Eu estou pensando sobre a velocidade que meus steppers devem atingir em operação regular e quais são os fatores determinantes, desde fatos / limites teóricos de hardware até limitações de software que podem influenciar o desempenho.

Conheço as propriedades básicas dos motores de passo, como a relação do torque com a velocidade, que li há algum tempo atrás desta fonte (para não tropeçar nessa questão mais tarde): https://www.geckodrive.com/gecko/images /cms_files/Step%20Motor%20Basics%20Guide.pdf

Até agora, a Wikipedia ( https://en.wikipedia.org/wiki/Stepper_motor ) exibe facilmente as seguintes declarações com relação à minha pergunta:

Assim, quando controlada por um inversor L / R, a velocidade máxima de um motor de passo é limitada por sua indutância, uma vez que, a alguma velocidade, a tensão U estará mudando mais rapidamente do que a corrente que eu posso acompanhar.

e para drivers de helicóptero:

Isso requer componentes eletrônicos adicionais para detectar correntes de enrolamento e controlar a comutação, mas permite que os motores de passo sejam acionados com torque mais alto a velocidades mais altas do que os inversores L / R

Obviamente, a quantidade de etapas / revelação também mudará a velocidade

No entanto, tudo isso não me ajuda a determinar qual deve ser a velocidade da vida real do meu stepper. Parâmetros de firmware adicionais atrapalham ainda mais meu cérebro (iniciante) (e eu ainda não mergulhei nisso ainda). Em geral, entendo que a frequência que usamos para enviar as etapas para o stepper é o principal fator determinante, também 'reduzido' por micro etapas, se aplicado. Não podemos manter a corrente sempre que necessário devido às propriedades de tempo / indutivas / eletrônicas dos motores, por isso perdemos torque ou, finalmente, as etapas. Uma voltagem mais alta ajuda a aumentar a corrente mais rapidamente, de modo que a inclinação do aumento da corrente também pode limitar a frequência máxima aplicável. A frequência em si é fornecida da placa controladora para o driver do motor, portanto, é definida no firmware.

Em suma, além do que faz sentido utilizar em uma configuração de impressora 3D, quais são os fatores determinantes das velocidades de passo que podem ser realizadas e como elas se transformam em valores reais para nossas impressoras? Também estaria interessado em saber como os fatores determinantes influenciam a confiabilidade e a qualidade da impressão, independentemente das dificuldades mecânicas que surgem com a velocidade de impressão.

/ edit:
Eu achei que eles existiam em elétrons SE:
/electronics/71270/maximum-speed-of-stepper-motor
/electronics/129064/slow Motor-passo-a-passo-motor-velocidade-usando-motorista-passo-drv-8825

No entanto, acho que a questão aqui é relevante e específica o suficiente para a impressão 3D existir aqui ao lado.

Kamuro
fonte

Respostas:

11

Os quatro principais limites de velocidade do motor em uma impressora 3D são:

  • Limites de frequência de geração de etapas de firmware
  • Efeitos do planejador de movimento do firmware
  • Perda de torque e precisão devido a indutância da bobina do motor e efeitos de back-EMF
  • Ressonância de banda média

Os limites da taxa de geração de etapas dependerão do firmware e da placa controladora usada. Há uma faixa significativa, principalmente quando os firmwares de 32 bits e plataformas baseadas em RTOS como o MachineKit são comparados aos firmwares de 8 bits em execução nos AVRs da Atmega. Alguns exemplos:

  • O Marlin em um Atmega de 16 MHz e 8 bits só pode executar a interrupção de passo a 10.000 hz sem atrapalhar o processador e bloquear outros algoritmos críticos (como planejamento de movimento). Ele pode disparar taxas de passo de até 40.000 hz pulsando a linha de passos duas ou quatro vezes por interrupção, o que efetivamente diminui o nível de micro passo no software e executa os motores mais ásperos / mais altos.
  • Repetidor no mesmo Atmega pode executar a interrupção de passo a 12.000 hz, porque é mais otimizado para velocidade de execução do que o Marlin.
  • O repetidor em um ARM Cortex-M3 de 32 bits e 84 MHz pode executar a interrupção de passo a 80.000 Hz.

Esses limites geralmente afetam apenas a velocidade real do passo quando são utilizadas micro-etapas relativamente finas.Considere um exemplo com base em uma configuração de impressora Marlin muito típica. Recomenda-se enfaticamente a utilização de microstepping de pelo menos 1/4 para evitar problemas de ressonância; portanto, vamos começar com o passo 1/16. Isso permite que o recurso de quatro etapas efetivamente produza 1/4 de etapas. Começar com um passo mais fino diminuirá nossa velocidade máxima, e um passo mais alto será mais alto e poderá encontrar ressonância, portanto esse é um bom ponto de partida. Em seguida, assuma uma polia típica de 32 mm por rotação em um motor de passo de 1,8 graus (200 passos / rev). Este sistema possui uma resolução de 200 * 16/32 = 100 etapas / mm. A uma taxa de passo total de 40.000 Hz (passo a passo a 10.000 Hz), teoricamente, podemos viajar a 400 mm / s antes de atingir o limite rígido de Marlin. Provavelmente, essa será uma RPM mais alta do que queremos acionar o motor, portanto não é um limite muito impactante.

Em comparação, se começássemos com 1/128 degraus (como no chip de driver THB6128), nossa velocidade máxima com o Marlin de 8 bits seria de 50 mm / s. Isso é bem lento.

Os planejadores de movimento do firmware podem limitar ainda mais a velocidade do motor, subindo e descendo para fazer curvas e curvas. Se a geometria do modelo tiver muitas curvas acentuadas, é provável que as velocidades desejadas comandadas pelo gcode nunca sejam realmente atingidas. Apenas caminhos longos e retos terão tempo de aceleração suficiente para atingir o objetivo de velocidade. Você pode ver isso imprimindo um modelo muito pequeno em uma variedade de taxas de avanço e cronometrando a duração real da impressão: em um determinado momento, os aumentos na velocidade comandada não farão diferença nos tempos reais de impressão.

Outra restrição que alguns firmwares impõem é exigir a capacidade de desacelerar com segurança até parar dentro do comprimento de todos os comandos de movimento na fila do planejador. Isso permite que a impressora lide com uma perda repentina de entrada, como se o computador host parasse de transmitir comandos USB ou se o cartão SD apresentasse uma série de erros de leitura. Se a impressora parar abruptamente a toda velocidade quando ficar sem comandos, é provável que perca a posição e estrague a impressão. Considerando que, se puder desacelerar para uma velocidade de parada segura, poderá continuar após o reinício do fluxo de comando.

Em termos de comportamento real do motor, a indutância e o EMF traseiro introduzem limites significativos porque diminuem o torque do motor em RPMs mais altas. Isso produz uma curva de torque / RPM que cai em velocidades mais altas:

insira a descrição da imagem aqui http://www.geckodrive.com/support/step-motor-basics.html

Observe na figura que existe uma região plana de "corrente constante" no lado esquerdo em baixas velocidades. Esse é o intervalo em que o driver de corte está limitando a corrente da bobina. No lado direito da curva, a corrente não é capaz de atingir o alvo antes de ser desligada novamente para a próxima etapa. Isso reduz a força do campo e, portanto, o torque.

Há dois efeitos separados a serem considerados aqui:

  • As bobinas do motor são indutoras, o que significa que há um atraso de primeira ordem entre a tensão aplicada e a corrente da bobina. Um motor passo a passo bipolar padrão com um driver de micropasso deve elevar a corrente da bobina de zero a max ou de max a zero a cada passo completo (por exemplo, a cada dezesseis 1/16 de microsteps). Em altas taxas de passo, não há tempo suficiente para carregar completamente a bobina até sua corrente máxima antes que o próximo passo exija a redução da corrente. Sem desenvolver corrente completa da bobina em cada etapa, o torque é perdido.
  • Todo motor também é um gerador, e girar o rotor gera voltagem EMF nas bobinas do motor. Essa forma de onda de tensão é sobreposta na forma de onda de tensão do inversor com uma mudança de fase dependente da posição do rotor em relação à posição de energização da bobina. Em termos simples, essa tensão tenta frear o motor: sempre faz o que for que diminui a velocidade do motor. Isso significa que ele se opõe à tensão de acionamento aplicada quando o motor está aplicando torque à frente ou auxilia a tensão de acionamento aplicada quando o motor está aplicando torque de freio.

Para uma discussão prática dos limites de velocidade, podemos simplificar a situação assumindo que a tensão de back-EMF se oponha à tensão do inversor aplicada às bobinas. Isso significa que há uma corrente de bobina de aumento / redução de tensão menos efetiva, e leva mais tempo para que a corrente mude, e menos corrente de bobina é desenvolvida do que seria o caso sem back-emf. Isso diminui ainda mais a curva de torque / RPM do motor. E quando a tensão de back-EMF é da mesma magnitude que a tensão do inversor, pode ocorrer instabilidade significativa do motor devido a efeitos de feedback complexos entre a posição do rotor e a tensão efetiva da bobina.

Você pode jogar com esses efeitos usando diferentes configurações e velocidades de motor para alguns drivers populares de impressoras 3D usando o meu simulador de drivers: https://github.com/rcarlyle/StepperSim

Em aplicações de circuito fechado com feedback de posição e drivers de ponta que podem amortecer vários modos de instabilidade, pode ser bom executar o stepper por toda a curva de torque em RPMs muito altas. Em aplicações mais comuns de impressoras 3D de circuito aberto, geralmente é melhor manter a parte de baixa RPM da curva de torque antes que a indutância e o EMF traseiro realmente assumam o comportamento do motor. Perder muito torque pode facilmente significar pular etapas e perder posição, arruinando a impressão.

Outro efeito importante para os steppers é a ressonância na banda média . Esta não é uma ressonância mecânica normal, mas na verdade um efeito de ressonância eletromecânica. É bastante complicado, mas a breve explicação é que um stepper tem uma mudança de fase intrínseca de 90 graus entre posição e torque e quando as velocidades aumentam a um ponto em que a indutância da bobina introduz uma mudança de fase adicional de 90 graus entre a corrente da bobina e a tensão aplicada, o sistema eletromecânico possui um atraso de fase de 180 graus altamente instável e, portanto, cria um loop de feedback negativo. Isso pode diminuir rapidamente o torque do motor até que o motor perca a sincronicidade com a tensão aplicada pelo motorista e pare.

A ressonância na banda média ocorre apenas quando a corrente da bobina é limitada pela indutância. Isso não pode ocorrer na faixa do inversor de corrente constante, porque não há atraso de fase suficiente entre a tensão aplicada e a corrente da bobina.

insira a descrição da imagem aqui http://www.geckodrive.com/support/step-motor-basics.html

Infelizmente, as curvas de torque medidas disponíveis pelos fabricantes quase nunca mostram zonas de ressonância, porque as curvas são produzidas carregando motores com freios de fricção que amortecem qualquer tipo de efeito de ressonância na construção. Enquanto uma carga de transmissão da impressora 3D é quase inteiramente inercial (acelerando uma massa), muito mais propensa a ressonância.

Os drivers avançados podem detectar e reduzir automaticamente a ressonância de banda média, mas os drivers de impressora 3D de baixo custo típicos não possuem esse recurso.

É geralmente prudente evitar entrar em uma faixa de RPM em que a ressonância da banda média possa ocorrer. Isso é facilmente conseguido aderindo-se ao lado esquerdo da curva de torque, na região operacional de corrente constante. Isso garante alto torque e boa estabilidade.

Para um exemplo concreto, considere o popular stepper Kysan 1124090 com uma fonte de alimentação de 24V.

insira a descrição da imagem aqui https://ultimachine.com/content/kysan-1124090-nema-17-stepper-motor

Para manter um alto torque e evitar a ressonância da banda média, queremos manter o RPM em cerca de 400 ou menos. Para a mesma polia de 32 mm por rotação mencionada acima, isso limitaria as velocidades a cerca de 200-240 mm / s. Velocidades mais altas são possíveis, mas podem encontrar problemas de confiabilidade.

Essa velocidade, é claro, assume que uma PSU de 24v é usada para coincidir com a curva de torque medida: uma PSU de 12v teria uma velocidade máxima significativamente menor antes que a indutância comece a limitar a corrente da bobina, cerca da metade da velocidade. Tensão de alimentação mais alta aumenta muito a velocidade efetiva máxima para o motor.

Novamente, você pode simular facilmente esse efeito (usando https://github.com/rcarlyle/StepperSim ). Este gráfico de saída do simulador mostra como a indutância e o back-EMF estão impedindo que a bobina atual alcance o alvo:

insira a descrição da imagem aqui

Para um projeto prático do trem de força, um simulador de motor / motorista é realmente a melhor ferramenta na caixa de ferramentas para encontrar o ponto em que o desempenho começará a diminuir devido à incapacidade de atingir os objetivos atuais. É simplesmente muito complexo aplicar equações simples ou regras práticas com precisão. Esses efeitos elétricos e os limites de geração de etapas do firmware provavelmente são as duas principais restrições à velocidade do motor para a maioria das impressoras.

Obviamente, a rapidez com que você pode derreter o plástico tende a limitar significativamente as velocidades de impressão abaixo dos limites reais de velocidade do motor, mas essa é uma discussão diferente. No momento, podemos simplesmente dizer que a velocidade máxima do motor tende a não ser importante para movimentos de impressão em impressoras cartesianas típicas. No entanto, existem algumas instâncias em que eles provavelmente impulsionam o desempenho da impressora:

  • Deltas lineares, onde os carros podem precisar correr várias vezes mais rápido que o efetor para determinadas direções de movimento
  • Extrusoras de engrenagens com alta taxa de redução (por exemplo, muito acima de 5: 1) para altas velocidades de retração
  • Parafusos de avanço de passo curto (ou all-thread) que precisam de altas velocidades de rotação para atingir velocidades lineares moderadas
Ryan Carlyle
fonte
++ Obrigado, isso me ajudou a entender o que está acontecendo muito melhor do que antes!
TextGeek
Essa resposta é épica. O link para a calculadora XLSX também! Eu ia fazer uma pergunta sobre o reaproveitamento do meu antigo stepper, depois de colocar os valores no XLSX, já recebi minha resposta.
FarO 20/11/19