Controlando motores: Motor de passo




Este tutorial tem como objetivo explicar algumas características importantes para a utilização de um motor de passo, além de disponibilizar os esquemáticos de ligação dos motores e alguns códigos básicos.

Lista de Materiais

Observação: a lista acima contém os itens dos dois projetos dessa página.

O que é ?

É um tipo de motor voltado para projetos que demandam precisão, como CNCs, impressoras 3D, etc. Sua principal diferença dentre os motores é a quantidade de pólos que o motor possui, que por sua vez define o número de passos por revolução, ou seja, quantos passos o motor deslocará para realizar uma volta.

Atualmente existem 3 tipos de motores de passo: relutância variável, ímã permanente e híbridos. A diferença é a forma que os motores são construídos, sendo que os motores híbridos são os mais comuns e com melhores características. Isso ocorre porque este tipo reúne as vantagens dos demais modelos, como a quantidade de pólos de um motor de relutância variável e a utilização de um ímã permanente, característica dos motores de ímã permanente.

A imagem abaixo mostra todas as peças de um motor de passo hibrido. Veja que o motor é composto basicamente por um rotor (peça central) e um estator (peça à direita).

Peças de um motor de passo hibrido

Quando olhamos para o estator, observamos vários enrolamentos de fio de cobre, mais conhecidadas como bobinas, que por sua vez compõem fases, responsáveis por gerar um campo magnético que movimenta o rotor. A movimentação é definida pela forma que controlamos a ordem de acionamento das fases e o sentido da corrente. O controle das fases é classificado em três formas:
  • "Full-Step", como o próprio nome indica, é o tipo de acionamento que movimenta o motor com passos completos, podendo ocorrer de duas formas: acionando uma ou duas fases por ciclo.

    1. Uma fase (one phase on), é a forma mais simples de acionar um motor de passo, visto que em cada ciclo é acionada apenas uma bobina. Este é o acionamento que obtém o menor torque do motor.

    2. Fonte: https://www.rs-online.com/designspark/stepper-motors-and-drives-what-is-full-step-half-step-and-microstepping

    3. Duas fases, semelhante ao método de uma fase, porém cada passo é feito com o acionamento de duas fases simultaneamente, o que confere ao motor um aumento no torque.

    4. Fonte: https://www.rs-online.com/designspark/stepper-motors-and-drives-what-is-full-step-half-step-and-microstepping


  • "Half Step" une os dois métodos anteriores, sendo possível dobrar o número de passos e consequentemente melhorar a resolução. Porém, quando se comparado o torque com o acionamento Full-Step com duas bobinas, o torque é menor.

  • Fonte: https://www.rs-online.com/designspark/stepper-motors-and-drives-what-is-full-step-half-step-and-microstepping

  • "Microstep", controla a ordem do acionamento das bobinas e a intensidade do campo magnético, permitindo que se obtenha movimentações fluidas e resoluções maiores do que o modo Half Step. Um exemplo é o driver AKDMP16-4.2A, que pode dividir uma volta em 25600 partes, ou seja, uma resolução de 0,014° para motores com 200 passos por revolução. Lembrando que esta resolução pode ser limitada pela mecânica do motor.

Ligações

Quando ligamos um motor de passo, a primeira coisa que observamos é a quantidade de cabos do motor. Esta característica é importante, pois ela indica se há a possibilidade de ligar o motor de forma bipolar ou unipolar. A diferença básica entre as duas ligações é o uso do centro das fases, que obviamente influencia em alguns parâmetros do motor, como por exemplo o torque, que é maior para ligações bipolares. Outra questão importante e vantajosa (agora para as ligações unipolares) é a complexidade do circuito empregado neste tipo de acionamento. Um exemplo é o motor 28BYJ-48, que por possibilitar ligações unipolares, pode ser acionado por um circuito menos complexo, como com a placa ULN 2003, que se trata de um conjunto de transistores. Lembrando que mesmo sendo circuitos mais simples, motores maiores com acionamento unipolar precisam de circuitos mais robustos.

Como dito anteriormente, as ligações unipolares e bipolares se diferenciam pelo uso do centro das fases, sendo unipolar as ligações com uso do centro da fase e bipolar sem. Com isso podemos determinar as possibilidades de cada motor e como ligá-los. Por exemplo, motores de 4 fios tem duas fases e nenhuma derivação, isso indica que o motor pode ser ligado apenas em configuração bipolar. Motores com 6 fios possibilitam tanto a ligação unipolar como bipolar, visto que, se quisermos usá-lo com ligação bipolar usamos apenas os cabos das extremidades de cada fase, isolando os cabos intermediários. Para usá-lo com ligação unipolar usamos os cabos das extremidades para o acionamento, o centro das fases ligadas ao GND ou ao Vcc da fonte de alimentação.

Veja a imagem abaixo para entender como são as ligações internas dos motores com 4, 5, 6 e 8 fios.

Fonte: https://learn.adafruit.com/all-about-stepper-motors/types-of-steppers

Torque x Passo

Depois de entender do que se trata um motor de passo, notamos que muitas variáveis podem influenciar seu torque, como o modo em que as fases são acionadas, o tipo de ligação e o circuito utilizado. Porém outro fator que devemos nos preocupar é a rotação, dada em PPS (passos por segundo).
Fonte: http://www.linengineering.com/wp-content/uploads/2015/10/Unipolar_Vs_Bipolar.jpg

Como é possível observar no gráfico acima, quanto maior é o PPS, menor é o torque do motor independente do tipo da ligação. Em termos práticos, isso ocorre devido à inercia do rotor, que limita o seu tempo de resposta, comparado com o campo magnético gerado pelo estator. É por isso que os motores de passo não são recomendados para velocidades elevadas.

O torque é um detalhe importante no dimensionamento do motor de passo. Quando o eixo de um motor com escova, por exemplo, é travado, a corrente aumenta consideravelmente e é possível detectar a imobilidade. No caso do motor de passo, se o eixo for travado, o acionamento continua igual, mas o rotor "pula" passos. Isso significa que o torque do motor de passo deve ser sempre superior ao esforço necessário, senão ele deixa de ser preciso e requer algum tipo de sensoriamento, como um encoder.

Vantagens e desvantagens

Até o momento pudemos verificar que os motores de passo tem muitas vantagens como:
  • Precisão de posicionamento
  • Excelente repetibilidade
  • Ótimo controle de velocidade, visto que a velocidade do motor está diretamente relacionada com a frequência de acionamento das fases
  • Permite que o sistema de controle seja aberto, pois na maioria dos casos dispensa realimentação
  • Pode manter-se imóvel sem causar danos
  • Elevado torque de retenção e para rotações baixas
Mas nada é perfeito e por isso não podemos esquecer que este tipo de motor também tem suas desvantagens:
  • O torque diminui rapidamente com o aumento da rotação
  • Ocorrência de ressonância se o controle do motor for inadequado
  • Baixa efficiência
  • Pode perder passos se não for bem dimensionado

Drivers para motor de passo


Como a placa microcontrolada não fornece corrente suficiente para o acionamento de qualquer motor, é necessário usar um driver ou algum tipo de circuito intermediário. Este circuito é a unidade controladora do motor (driver). Alguns exemplos que inclusive se encontram na loja da Robocore são o ULN 2003, AKDMP5-2.2A e Driver A4988. O modelo ULN 2003, como dito anteriormente, é um circuito mais simples, que é um conjunto de transistores. Nesse caso o controle do acionamento das bobinas é feito totalmente através do Arduino, ou seja, o desenvolvedor deverá se preocupar com o desenvolvimento do código responsável pela ordem de acionamento dos pólos, a velocidade, sentido, etc. Já os modelos AKDMP5-2.2A e A4988, como se tratam de drivers específicos para motores de passo, são capazes de fazer o controle da corrente e ordem de acionamento das bobinas, possibilitando um controle mais simples.

Exemplo de acionamento de motor de passo usando ULN 2003.

Com este código o motor de passo é acionado usando o método "one phase on", onde as bobinas do motor são acionadas sequencialmente. Veja que existem dois laços "for" dentro do código, responsáveis pelo acionamento do motor no sentido horário e anti-horário. Repare também que a ordem é feita pelo código.
Outros métodos, como Half Step e Full Step com duas fases, devem ser desenvolvidas em código.

Código:

Esquemático:



Exemplo de acionamento de motor de passo usando driver A4988 ou AKDMP5-2.2A.

Agora iremos utilizar drivers específicos para motores de passo, e com isso você verá que o código fica ligeiramente mais simples pois não é necessário configurar a ordem de acionamento das bobinas, basta enviar um pulso para cada passo (STEP) e um sinal que define o sentido de rotação (DIR). Esses modelos possibilitam o acionamento dos motores com melhores resoluções, pois possuem o modo de operação em microstepping. A mudança de resolução, ou passos por resolução, nos modelos AKDMP é feita pelas micro chaves do driver. Por exemplo, para o modelo AKDMP5-2.2A a alteração é feita nas chaves k4,k5 e k6, lembrando que esta nomenclatura pode mudar de modelo para modelo, por isso é importante consultar o datasheet de cada driver. Já o driver A4988 tem a configuração dos passos feita pelos pinos digitais MS1, MS2 e MS3, permitindo que um passo seja dividido em até 16 partes.

Código:


Esquemático:

OBS: Mesmo que os modelos de drivers A4988 e AKDMP não se pareçam externamente, quando é observado a pinagem de ambos em seus respectivos datasheets é possível concluir que as ligações dos mesmos são similares, por essa razão este tutorial se reservou em apresentar apenas as ligações com do driver A4988.


Conclusão

Vimos neste tutorial como identificar alguns modelos de motores de passo, seu funcionamento e alguns exemplos de controle com as placas Blackboard/Arduino Uno. Esses exemplos podem ser tomados como base para o desenvolvimento de projetos que utilizem estes motores.

Motores de passo são uma ótima alternativa para quando se quer um movimento preciso, pois o controle é simples e não necessitam de um sensor de realimentação, como um encoder. No entanto, isso é limitado para velocidades baixas. Além disso, motores de passo são ótimas alternativas quando se faz necessário um torque relativamente alto em uma carcaça robusta, com uma operação confiável.