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?


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.


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.


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.

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.