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?
fonte
Respostas:
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):
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.
fonte
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:
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:
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.
fonte
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.
fonte