Este driver de motor de passo é incrivelmente pequeno, robusto e útil para diversas aplicações. Não conhece? Ele pode solucionar os seus problemas com drivers. Vamos logo para algumas especificações:
▪ Capacidade de controlar motores bipolares até 35v e 2A
▪ Detecção e seleção automática do modo decaimento de corrente
▪ Retificação síncrona para minimizar perdas e dissipação de calor
▪ UVLO Interno
▪ Proteção de corrente de Crossover
▪ Compatível com lógica de controle de 3.3 e 5 V
▪ Circuito de proteção térmica
▪ Proteção contra curto circuito para o terra
▪ Proteção contra curto circuito da carga
▪ 5 modos de passo selecionáveis: full, 1/2(half), 1/4, 1/8, e 1/16 (microstepping)
Datasheet: A4988
Descrição:
O A4988 é um driver controlador completo dotado de “microstepping” para motor de passo, possuindo internamente um tradutor de pulsos para facilitar a operação. Ele serve para operar motores de passo bipolares nos modos full, 1/2(half), 1/4, 1/8, e 1/16 (microstepping), com uma capacidade de saída de até 35 V and ±2 A. Ele também controla o decaimento da corrente utilizando tempo fixo de desligamento através dos modos Lento(slow) ou mixado(mixed). O tradutor de pulsos é a chave para a fácil implementação do A4988. Simplesmente um pulso no pino de STEP faz o motor avançar um micro passo(microstep). Não existem tabelas de sequências, linhas de controle de alta freqência, ou interfaces complexas para programar. Ou seja, com apenas dois pinos pode-se controlar o motor, um controla o sentido de giro e o outro os micro passos. Utilizando o sistema mixado de controle de corrente reduz o barulho produzido pelo motor, aumenta a precisão do passo e reduz as perdas em dissipação de calor.
Placas com o chip A4988
Ele se popularizou por estar contido nas placas vendidas pela polulu que foram amplamente utilizadas em impressoras 3D e mais atualmente em CNCs. A pinagem da placa virou digamos que um “padrão” atual.
Esquema da placa:
Esquema de ligação:
Explicando o esquema de ligação…
Enable: ativa ou desativa a placa.
MS1,MS2,MS3: configuram o modo de operação do passo. Conforme tabela abaixo:
MS1 | MS2 | MS3 | Resolução do Microstep |
0 | 0 | 0 | Full |
1 | 0 | 0 | 1/2(Half step) |
0 | 1 | 0 | 1/4(Quarter step) |
1 | 1 | 0 | 1/8(Eighth step) |
1 | 1 | 1 | 1/16(Sixteenth step) |
Reset: Reinicia a placa(reinicia a tabela interna, desliga as saídas e ignora pulsos na entrada ) OBS: este pino deve ser mantido com tensão de Vdd para que a placa funcione.
Sleep: Entra no modo baixo consumo(Dica: após sair do Sleep, esperar 1ms).
Step: O motor avança a cada pulso aplicado neste pino para o sentido escolhido em Dir.
Dir: Seleciona o sentido de giro do motor quando, para esquerda ou direita.
Vmot e GND: Alimentação para o motor(até 35v).
2B e 2A: Ligar em uma das bobinas do motor.
1A e 1B: Ligar na outra bobina do motor.
Vdd: Alimentação do circuito de controle (3.3 ou 5v).
Gnd: Terra do circuito de controle(0v).OBS: cuidado ao ligar esse terra com o terra do motor. Podem ocorrer interferências.
Dica 1: Através do trimpot é possível definir a corrente desejada de trabalho.
Dica 2: Nunca utilize sem o mini dissipador em cima do chip A4988. Sabemos que ele tem proteção de sobretemperatura, mas quando ela ativa o chip se desliga e isso causará parada na maquina em que o motor opera. Na maioria dos casos será necessário colocar um cooler(mini ventilador) para evitar o chip se desligar.
Configurando a Corrente de trabalho:
Para conseguir altas velocidades em um motor de passo a tensão deve ser bem acima da indicada no motor. O que não podemos ultrapassar é a corrente de trabalho, se não o motor frita 🙂 . Como a placa possui um controle de corrente ativo, podemos utilizar por exemplo 12v em um motor de 5v, desde que respeitada a sua corrente de trabalho. Tipicamente um motor de passo de 5v com uma bobina de 5Ω tem corrente de trabalho 1A. Então não ultrapasse a corrente indicada pelo fabricante e você não terá problemas.
Alerta: A referência da corrente está intimamente ligada a Vdd, então se você variar Vdd a corrente também irá variar! Se escolher 5v para Vdd e depois for trabalhar com Vdd em 3.3v lembre de regular a corrente novamente!
Alerta 2: Não meça a corrente através da alimentação que vem para o motor (linha Vmot). O valor de corrente sempre será diferente do valor de corrente no motor. Por exemplo: se Vmot estiver ligado a uma fonte de 12v e for medido 0,3A… o motor na realidade pode estar recebendo mais de 1,2A por bobina! O método correto é medir a corrente em série com uma da bobinas conforme explicado mais abaixo.
O controle de corrente do A4988 é feito através do trimpot (mini resistor variável) que fica na parte superior da placa. Existem basicamente duas formas de regular a corrente:
1-Método: Configurar para Full step (ms1,ms2,ms3 em 0v) e medir a corrente através de uma das bobinas do motor(simplesmente escolha um dos fios do motor plugue um amperímetro em série e meça a corrente que está passando) e não mande pulsos para a porta STEP durante esse processo. A corrente medida será 70% do limite desejado(isso acontece pois a placa reduz pra 70% a corrente quando está em espera). Dessa forma, se deseja 1A regule para leitura do amperímetro ser 0,7A.
2-Método: Outro método é medir a tensão no pino “ref” e calcular a corrente resultante sobre os resistores de que detectam a corrente do motor (os resistores que medem a corrente são de 0.05Ω). Em alguma placas a tensão de referência “ref” fica embaixo em um circulo feito um “teste point”, outras placas você vai ter de procurar o pino do meio do trimpot. A tensão medida está relacionada com a corrente através da fórmula abaixo:
Limite de corrente = VREF * 2.5
Como a corrente em full step fica em 70% do limite, e isolando Vref, então a equação fica:
VREF= (Limite de corrente / 0,7) *2,5
Então se, por exemplo, você deseja regular para limite de 1A, então ficaria:
Vref = (1/0,7)*2,5 , o que que resulta em Vref= 0,56v. Leia o datasheet do A4988 para mais informação.
Atanaildo
como eu faço para verificar qual a corrente desejada de trabalho? a medida que eu vou regulando a mesma? em quais pinos eu devo medir?
Almir
Atanaildo, fiz uma atualização no post. Espero ter respondido suas perguntas.
Leandro Gazabini
Muito bom, parabéns pelo trabalho, me ajudou muito!
Roberto de Paula
Almir
Show de bola, vai me quebrar um galho enorme. Apenas um detalhe, é para motores bipolares, unipolar não ?
Bruno
Este drive também funciona com motores unipolares de 6 ou 8 fios, com motores de 5 não funciona. Você pode dá uma olhada de como fazer a ligação nesse link: https://www.pololu.com/product/1182/faqs
Almir
Justamente. Basicamente unipolar e bipolar é uma questão de ligação de bobinas. Até os motores unipolares de 5 fios internamente são bipolares. Há casos de poder até cortar a ligação interna de um unipolar e transformá-lo em um Bipolar e vice-versa. Sinceramente não sei o motivo de um motor ser chamado de unipolar de seis fios se no caso poderia ser um bipolar de 6 fios =). Esse caso é igual aos motores trifásicos de 6 fios que podem ser ligados em estrela ou triângulo.
WALLYSSON PEREIRA
Consigo ligar um motor de 5 fios nesse drive a4988 “um motor de passo retirado de uma câmera wifi”
Almir
Opa tudo bem? Motores de passo de 5 fios estaão ligados de forna unipolar. Esse driver A4988 é para motor bipolar. Alguns motores de 5 fios podem ser convertidos em bipolar. Você pode procurar por conversao de motor de passso unipolar em bipolar no google. Ou usar um driver unipolar nesse motor de 5 fios…
Edgard de Freitas Filho
Olá, O pino ENABLE colocado em tensão alta, 5V, faz com que o driver fiquei inativo, parando o motor. Retirando esta tensão, ele volta ao GND por conta de um resistor interno neste potencial, é isso?
O pino DIR, alterna o sentido de direção conforme GND ou 5V, é isso?
Aguardo.
Almir
Sim. O enable liga ou desliga os fets da saída. Indicado apenas quando o motor for ficar muito tempo parado e não tenha carga, pois se tiver algo que mova o eixo quando desligar a saída você vai perder a posição do eixo.
Sim. Em 0V motor gira para um lado e em 5V gira em outro sentido. O ideal é escolher o sentido de giro e depois mandar os pulsos no pino “STEP”
Edgard de Freitas Filho
Desculpa, esqueci de perguntar: Mantendo STEP fixo, por um gerador de PWM, posso determinar a parada, inversão de rotação no DIR e partida no ENABLE novamente. É possível fazer a mesma coisa interrompendo o STEP no lugar do ENABLE?
Obrigado.
Almir
O funcionamento mais comum é ativar o “enable”, dessa forma “ligando o motor”. Depois escolher o sentido de giro no “DIR” e assim o motor ficará “pronto para girar”. E finalmente enviar quantos pulsos forem necessários no “STEP” fazendo o motor ir para posição desejada. Quando quiser parar o motor… só parar os pulsos no “STEP”. Quer inverter o sentido? Para os pulsos no “STEP, inverte “DIR” e volta com os pulsos no “STEP”. Importante: o “enable” desativa os FETS de saída e… desativar em operação vc vai perder o controle da posição do motor… ele vai ficar sem “as forças dele” =D