Por que precisamos de uma rampa para motor de passo?

9

Eu sou um novato e tentando entender como posso executar um motor de passo. O conceito que eu tinha em mente era que os steppers precisam de pulsos digitais para rodar, e eu tentei também. Eu era capaz de executar o stepper que estou usando com muita facilidade. Mas ultimamente me deparei com um link em que eles usavam uma rampa para iniciar um stepper justificando-o dizendo que

"se tentarmos dar partida no motor de passo com pulsos rápidos, ele simplesmente fica lá e cantarola sem girar. Precisamos dar um passo devagar e aumentar gradualmente a velocidade dos degraus (subindo)." Fonte: http://www.societyofrobots.com/member_tutorials/book/export/html/314

Minha pergunta é por que o stepper começa com pulsos quadrados regulares? Por que precisamos de uma rampa? Todos os outros fóruns e tutoriais sempre falam sobre o fornecimento de pulsos digitais ao stepper para iniciá-lo, por que o conceito de geração de rampa não é discutido lá? É uma prática ruim executar stepper com pulsos digitais?

alexhilton
fonte
2
Eu acho que você está confundindo a "rampa" com as formas de "onda quadrada". O controle ainda é por onda quadrada, apenas a velocidade / taxa de alteração dessas etapas de controle é aumentada de zero para as etapas pretendidas por segundo ou qualquer velocidade que você está tentando obter.
KyranF
Digamos que sua onda quadrada pareça um sinal de 3KHz. Em vez de passar de um ponto morto para o plano, você deve começar com uma frequência baixa (ou um intervalo maior entre pulsos). O acionamento do pedal do acelerador do carro leva cerca de meio segundo e fuma pneus (em marcha baixa) ou leva um tempo para responder (em marcha alta).
Alan Campbell
Sim, eu confundi a rampa com os pulsos, obrigado pelo feedback pessoal!
Alexhilton

Respostas:

8

Quando o controlador pisa no motor, o rotor precisa se mover o suficiente (ângulo) para que, quando a próxima bobina (ou par de bobinas) for energizada, ele puxe o rotor na direção correta. Se o rotor não se mover através de um ângulo suficiente, as bobinas puxarão o rotor para trás e o motor ficará parado e vibrará. Você pode encontrar muitas ilustrações e animações on-line que explicam como a operação normal funciona - imagine se o rotor movesse apenas uma fração da quantidade pretendida.

O rotor, o eixo e tudo o que está conectado ao eixo têm inércia e há atritos de vários tipos.

A velocidade máxima que o stepper pode girar o eixo está relacionada ao torque disponível no motor e ao torque necessário para girar o eixo (o torque disponível cai à medida que as RPM aumentam e o torque necessário geralmente aumenta à medida que as RPMs aumentam). Isso não está diretamente relacionado à inércia.

Para realmente atingir o máximo (ou alguma fração dele), você só pode acelerar o RPM tão rápido sem perder etapas. A aceleração máxima está relacionada à inércia e ao excesso de torque disponível em uma determinada RPM. Se o motor estiver fazendo todo o possível para acompanhar as RPM atuais, você não poderá mais acelerar. Se as RPMs forem baixas o suficiente, você não precisará aumentá-las, basta instruí-las a avançar, mas isso normalmente será apenas uma fração das RPMs que o motor é capaz. Rampas lineares geralmente são usadas para simplificar, mas uma curva mais convexa seria ideal.

Aqui está uma curva de torque do motor da Oriental Motor (uma grande fabricante japonesa):

http://www.orientalmotor.com/technology/articles/article-speed-torque-curves-for-step-motors.html

Para prever a taxa máxima de aceleração, você precisa conhecer o torque e o momento de inércia da massa . Se você exceder a taxa máxima de aceleração em uma determinada carga, o motor perderá etapas, portanto, uma boa margem de segurança é uma boa idéia.

Spehro Pefhany
fonte
Obrigado Sphero por uma resposta tão detalhada, eu estava realmente me confundindo com duas coisas importantes, vou trabalhar em uma maneira de selecionar a frequência das etapas para compor uma rampa!
Alexhilton
Você tem alguma literatura?
Carlton Banks
@CarltonBanks Confira o link acima para a Oriental Motor.
Spehro Pefhany
Não menciona nem sempre por que é melhor fazer rampas do que não (se é que mencione apenas a seleção o máximo que posso ler), quero dizer, tanto quanto entendo que alguém poderia pisar no motor e não acelerar, a diferença seria o torque não sendo tão poderoso.
Carlton Banks
Se você não se importa com a velocidade máxima, não há razão para subir. A rampa permite obter uma velocidade máxima mais alta para uma dada inércia + torque sem perder etapas.
Spehro Pefhany
2

Parece que a descrição que você leu está falando sobre aumentar a velocidade , em outras palavras, a frequência das etapas. Os pulsos para cada etapa ainda são quadrados.

A razão é que um motor de passo pode gerar apenas tanto torque. Quando excedemos esse torque máximo, o motor perde etapas.

Além disso, acelerar o motor requer torque pela segunda lei do movimento de Newton : força é igual a massa vezes a aceleração:

F=muma

Para um sistema rotativo, os termos mudam um pouco, mas na maior parte são análogos: torque é igual ao momento de inércia vezes a aceleração angular:

τ=Euα

A conseqüência é que, para acelerar instantaneamente, o motor exigiria torque infinito, o que não é possível. Portanto, devemos limitar a aceleração, ou seja, "acelerar" a velocidade, para limitar o torque necessário a algo que o motor pode gerar sem perder etapas.

Phil Frost
fonte
1

Dois anos depois ... Eu queria adicionar alguns detalhes sobre a velocidade típica versus vibração / ruído para qualquer motor de passo.

Ao pisar muito devagar, como um por segundo, o eixo será movido para o novo local e o overshoot será ultrapassado muitas vezes até estabilizar nessa etapa. O processo se repete a cada nova etapa.

A tensão / corrente elétrica deve ser suficiente para a carga e o tamanho do motor precisa ser selecionado para corresponder ao torque necessário.

Uma vez que o motor não precisa se mover, a tensão / corrente pode ser reduzida em cerca de 50% a 75% para manter essa posição. Nos casos em que o atrito é dominante, ou usando algum tipo de engrenagem, o motor pode ser completamente desenergizado. Isso é semelhante aos relés que precisam, por exemplo, de 12 volts para serem ativados, mas mantêm facilmente o contato ativado com apenas 9 volts.

Ao aumentar a velocidade para cerca de 20 por segundo, a vibração / ruído atinge o máximo. Essa é uma velocidade que a maioria dos engenheiros tentará evitar.

À medida que a velocidade aumenta, a vibração / ruído diminui, pelo torque também cai. Se você plotar o ruído versus a frequência, a forma mostrará uma direção clara com alguns máximos locais, geralmente na frequência harmônica.

Vamos supor que, com um valor típico acima de 100 passos por segundo, a vibração seja baixa o suficiente para ser tolerável e digamos que o torque se torne muito fraco para uma operação confiável acima de 500 hertz.

Você pode iniciar um motor de passo usando qualquer uma dessas frequências imediatamente, sem aumentar a velocidade de 100 Hz a 500 Hz. Da mesma forma, você pode interromper abruptamente as etapas, independentemente da frequência. A corrente de retenção é suficiente para travar o motor nessa etapa.

A rampa é necessária quando você deseja exceder a frequência máxima. Dado o número "típico" acima, você pode achar que seu motor ainda possui torque suficiente, quando acelerado suavemente, para trabalhar de 500 Hz a 700 Hz. O truque para uma operação confiável é iniciar a rampa em algum lugar como 400 Hz e depois aumentar para 700 Hz. Mantenha-o nessa velocidade até se aproximar da posição alvo.

Em seguida, desacelere suavemente de 700 Hz a 450 Hz. Se a posição alvo ainda não for atingida, mantenha o motor nessa velocidade. Então, a partir de 450 Hz, você pode parar. Mantenha o motor energizado na corrente / tensão máxima por 0,1 segundo a 1 segundo para garantir que todas as fontes de vibração sejam dissipadas.

A rampa linear é mais fácil de criar. Mas o ideal é a forma "S". Você começa na frequência segura, aumenta lentamente no início e altera a taxa de aumento exponencial da velocidade até atingir o máximo.

Quando é hora de desacelerar, aplica-se o mesmo algoritmo, diminuindo a velocidade lentamente e alterando exponencialmente a taxa de velocidade diminuindo, pare de diminuir a velocidade ao atingir a velocidade segura, o que permite parar o motor abruptamente.

O código real fazendo tudo isso, usando um microcontrolador motorola 68HC05, estava ocupando cerca de 500 bytes (a EPROM interna era de 8K no total e a RAM era de 128 bytes). Foi escrito em assembler.

Se você tiver o hardware para micro-passos, poderá ignorar toda a menção sobre ruído e vibração. Você ainda precisa de uma aceleração de forma "S" se quiser exceder a velocidade máxima usual. Mas como não há vibração, não importa a velocidade, você pode deixar a desaceleração tão baixa quanto desejar.

As lições aprendidas com a unidade de onda quadrada ainda se mantêm. Ou seja, para a maneira mais eficiente de chegar ao destino, você deseja que a desaceleração fique na frequência logo abaixo do ponto em que o torque do motor é suficiente para uma parada e partida bruscas.

Christian Gingras
fonte