Como usar o driver A4988 com motor de passo Nema 17
Controle motores de passo bipolares com o Driver Motor de Passo A4988, utilizando apenas dois pinos para controle e com a possibilidade de movimentar os motores por meio de “micropassos”, método utilizado em aplicações que exigem um posicionamento exato do motor. Neste post, vamos usar o driver A4988 com motor Nema 17, um conhecido motor de passo muito usado em impressoras 3D. Uma opção também é você usar o Driver motor de passo DRV8825, que tem pinagem muito semelhante e cumpre a mesma função do A4988.
Este módulo é controlado pelo chip Allegro A4988 (datasheet), e pode ser alimentado com tensões entre 3 e 5.5V. Para o motor, permite alimentação externa de 8 à 35V. Um potenciômetro na placa permite a regulagem da corrente de saída.
O módulo driver motor de passo A4988
O controle básico do motor de passo é feito por meio de dois pinos do microcontrolador, ligados aos pinos STEP (passo) e DIR (direção) do módulo A4988, conforme podemos verificar na pinagem do mesmo, mostrada abaixo:
Uma das grandes vantagens desse módulo é a possibilidade de utilizar micropassos, função configurável por meio dos pinos MS1, MS2 e MS3. Acionando esses pinos conforme sequência mostrada na tabela, podemos selecionar os modos full-step, half-step, quarter step (1/4), eight step (1/8) e sixteenth step (1/16).
A utilização do modo micropasso reduz o torque do motor, em média, 30% em comparação com o modo de passo completo (full-step).
Controlando driver A4988 com Arduino
Vamos conectar o driver A4988 ao Arduino Uno e utilizar um programa que, controlado pelos caracteres (números) enviados através do serial monitor, move o motor de passo no sentido horário, anti-horário, ou pára o motor. Para o teste, vamos usar um motor de passo Nema 17, um motor muito utilizado em impressoras 3D e projetos de CNC.
Além dos pinos STEP e DIR, vamos utilizar também o pino ENABLE, para desligar as saídas do motor quando o programa receber o comando de parada. Também deve ser colocado um jumper entre os pinos SLEEP e RESET do módulo:
Atenção para a ligação da alimentação externa do motor, na qual eu utilizei um capacitor eletrolítico de 100 µF. Segundo o fabricante, a placa é muito sensível à picos de tensão, e é altamente recomendável a utilização de um capacitor entre os pinos VMOT e GND.
Programa A4988 com motor Nema 17
Carregue o programa abaixo no Arduino, que utiliza a biblioteca AccelStepper, disponível neste link. Descompacte o arquivo e coloque a pasta AccelStepper dentro da pasta Libraries da IDE do Arduino.
Você também pode instalar a biblioteca diretamente pela IDE do Arduino, no menu Sketch -> Incluir Biblioteca -> Gerenciar bibliotecas. Procure por AccelStepper e clique em Instalar:
Com a biblioteca instalada, carregue o programa abaixo no Arduino:
// Programa : Driver motor de passo A4988 // Autor : Arduino e Cia #include <AccelStepper.h> int velocidade_motor = 100; int aceleracao_motor = 100; int sentido_horario = 0; int sentido_antihorario = 0; int numero = 0; // Definicao pino ENABLE int pino_enable = 10; // Definicao pinos STEP e DIR AccelStepper motor1(1,7,4 ); void setup() { Serial.begin(9600); pinMode(pino_enable, OUTPUT); // Configuracoes iniciais motor de passo motor1.setMaxSpeed(velocidade_motor); motor1.setSpeed(velocidade_motor); motor1.setAcceleration(aceleracao_motor); Serial.println("Digite 1, 2 ou 3 e clique em ENVIAR..."); } void loop() { // Aguarda os caracteres no serial monitor if (Serial.available() > 0) { numero = Serial.read(); { if (numero == '1') { Serial.println("Numero 1 recebido - Girando motor sentido horario."); digitalWrite(pino_enable, LOW); sentido_horario = 1; sentido_antihorario = 0; } if (numero == '2') { Serial.println("Numero 2 recebido - Girando motor sentido anti-horario."); digitalWrite(pino_enable, LOW); sentido_horario = 0; sentido_antihorario = 1; } if (numero == '3') { Serial.println("Numero 3 recebido - Parando motor..."); sentido_horario = 0; sentido_antihorario = 0; motor1.moveTo(0); digitalWrite(pino_enable, HIGH); } } } // Move o motor no sentido horario if (sentido_horario == 1) { motor1.moveTo(10000); } // Move o motor no sentido anti-horario if (sentido_antihorario == 1) { motor1.moveTo(-10000); } // Comando para acionar o motor no sentido especificado motor1.run(); }
Esse programa utiliza o serial monitor para controlar o sentido de rotação do motor de passo:
- Envie 1 para acionar o motor de passo no sentido horário
- Envie 2 para acionar o motor de passo no sentido anti-horário
- Envie 3 para parar o motor, o que coloca o pino Enable em nível alto, desligando as saídas do motor
No serial monitor, utilize a parte superior da janela para enviar os comandos de controle do motor, e acompanhe na parte inferior a resposta aos comandos:
Gostou? Confira outros posts sobre motores aqui no Arduino e Cia!
Uma pergunta a respeito do Capacitor necessário para ligação da entrada de energia externa
Ele necessita ser de 100 µF mas de no mínimo quantos volts?
Seria os 12v básicos ou posso usar 16v mesmo entrando com 12v externo?
Desde já, muito obrigado pela atenção.
Boa noite Elvis,
Pode ser o de 16V mesmo, eu também usei um de maior valor aqui nos testes. Funcionou sem problemas. O que eu não recomendo é usar um valor menor.
abraço !
Um capacitor nunca dever ter tensão de trabalho menor do que a fonte de alimentação. No caso se você sempre alimentar a entrada Vmot com a mesma tensão use um com valor pelo menos 50% maior do que a alimentação principal.
Para aqueles que tem duvida como calcular a tensão do capacitor para um determinado circuito principalmente em fontes n/ao estabilizadas é usar a formula 1,44 x a tensão de saida da fonte ou seja se a fonte é de 12v, 12×1,44=17,28 pode usar de 18 a 25, se tiver um capacitor de 0 ou 50v ode usar ele n vai se carregar com 50v pq a fonte n chega a isso, em casos de fontes variáveis deve se usar como calculo a maior tensão da fonte.
qual motor devo usar para CNC? qual limite
Izonaldo Borges, como estou montando uma de tamanho reduzido os motores Nema 17 de 1,024kgf acredito que sejam suficiente paguei em média R$ 69,00/cada
Comprei neste site:
https://www.robocore.net/modules.php?name=GR_LojaVirtual&prod=567
Elvis, pretendo montar uma CNC e utilizar o GRBL em quais pinos do arduíno devo conectar o A4988?
Olá amigo, segundo o exemplo aqui do próprio Post ele é conectado da seguinte forma
arduino/driver
10 DIR (Direção)
7 STEP (Passo)
4 ENA (Enable)
5v VDD
GND GND
ola, .. eu sou obrigado a usar o pino Enable se eu controlar com outra programação? ou o driver necessita do enable?
Como faço para que o motor nao pare de girar até que eu mande outro comando?
Olá! Gostaria de saber como consigo controlar o angulo de rotação do motor nessa programação? Preciso que meu motor rotacione 45 graus.
É só mudar valor do moto1.moveTo(100)no sentido horário e (-100) no sentido anti-horário , gira no motor NEMA17 exatamente 1 volta , coloque o valor moto1.moveTo(25)e depois moto1.moveTo(-25) para girar 1/4 de volta .
corrigindo …. se escreve motor1.moveTo em vez de moto1.moveTo … desculpe o erro … obrigado .
Olá sou um usuario diferente, porém tinha a mesma duvida. eu modifiquei o eu para motor1.moveTo(50) e moveTo(-50), pois meu motor da 200 passos por volta e eu precisava girar 90 graus, mas ao modificar ele não parou pode me dizer como arrumo?
Olá! Esse drive pode ser usado para controlar o motor nema 23 9,9kgf?
Boa tarde Vitor,
Creio que não, pq o A4988 trabalha com motores de 8 à 35 V, e o nema 23 é de 5,7 volts. Verifique o driver DRV8834.
Abraço!
Gostaria de uma ajuda, pretendo montar um transelevador, e gostaria de utilizar essa bilioteca, só que to tendo problemas com a ordem de acionamento dos motores, disponho de 2 nema 17 ambos com a4988 e um 28by com seu ULN.
Gostaria de poder controlar a ordem de acionamento.
exemplo:
0 28by avança, depois que executado o nema 17 responsável pelo eixo Y, avança elevando a plataforma, depois o 28by retorna e a após a execução o nema 17 responsável pelo eixo X avança, fazendo a plataforma se deslocar horizontalmente.
Olá, boa tarde!
Esse drive funciona para motor de 6V/fase e 1.2A/fase? Obrigado
Olá Wesley, segundo as especificações do site do fabricante (original)
ele funciona numa boa sim…
Pode conferir
https://www.pololu.com/product/1182/specs
Atualmente estou utilizando com os A4988 o seguinte motor
Motor de Passo – NEMA 23 – 4,6 kgf.cm
Tensão: 7,0 Vdc
Corrente: 0,7 A
OBS: Para amperagem a cima de 1A o fabricante recomenda a utilização de heatsink (dissipadores) e/ou um pequeno cooler para resfriar o Driver
Espero ter ajudado.
Boa tarde,
Poderia me responder uma curiosidade?
Tem como com este programa enviar "1,2 e 3" pelo celular?
Att, Obrigada
Bom dia,
você usaria conexão via bluetooth ?
Abraço!
boa noite, como seria o codigo para rodar 2 motores dc ao inves de um motor de passo com esse drive. tecnicamente seria a mesma coisa pois em outros drives, como exemplo a ponte h l293d, funciona os dois tipos de motores.
Teria como adaptar/amplificar um driver e motores maiores para serem controlados pelo arduino?
Oi Marcos,
Tem sim, existem drives para Arduino para motores bem maiores do que esses.
Abraço!
Bom dia.
Como posso saber ao certo do poteciometro de regulagem de corrente que avredito ser para o motor que estara coerente com a especificação do motor que estara sendo usado?
E se isso também serviria para o caso de se usar um Drive de DVD/CD?
Graro. Eduardo
Oi Eduardo,
Realmente não sei te falar essa questão da regulagem, mas vou pesquisar pra ver se descubro.
Quanto ao caso de um motor de drive de DVD/CD, geralmente não são motores muito fortes, mas utiliza um multimetro para ver quanto deles estão puxando de corrente da fonte de alimentação.
Abraço!
Use um multimetro na escala de Amperes e coloques as pontas de prova nas conexoes certas do muitimetro e ligue em serie com o positivo da fonte que alimenta o motor e gire o trimpot pra minimo esquerda, acione o motor e vai acrescentando corrente girando o trimpot pra direita
Como faço para controlar dois motores por esse programa?
Boa noite,
Você vai usar 2 módulos ?
Abraço!
boa noite amigo, montei uma CNC de drivers de DVD utilizei os driver motores Easydriver V4.4, mas agora quero montar uma CNC de medio porte e consegui alguns moteres de impressora industrial de 3,4V e 4,5V 2A e comprei esses drivers e gostaria de saber se esses drivers suportam uma essa tensão baixa na saida?
Bom dia Marcelo,
Creio que não irá funcionar, já que a tensão dos motores nessa placa vai de 8 à 35V.
Abraço!
Olá, estou tendo problemas com o programa. O motor não gira ele fica vibrando. Não acredito que seja falta de corrente pois quando tento forçar o eixo para girar ele é bem duro. Quando o motor esta desligado o eixo gira livremente. Então não é um problema do eixo travado, não é problema na corrente da placa. Troquei de motor e placa e fonte também =X Eu acredito que possa ser a velocidade com que o comando chegue ao motor. Tem como alterar isso? Obrigado.
Olá José,
Estou com o mesmo problema. Você conseguiu solucionar?
Olá amigo, isso é causado quando a combinação do motor esta em ordem errada.
Tente olhar o datasheet do motor para ver qual a combinação correta
Realmente o motor vibra quando as conexões das bobinas não estão corretas. Veja também se a fonte que você está usando tem capacidade de corrente suficiente para alimentar o motor. No meu caso estou usando 12V 1,5A e funciona muito bem.
Prezado Marcelo,
Eu comprei um motor de 7v e 1.2 A,e o A4988 e estou com muita dificuldade de colocar estes motores para funcionar.
Tente aplicar o seu exemplo sem sucesso.
Apliquei o exemplo do arduino (steep motorz) direto na placa controladora e é claro que a corrente não deu conta do motor, más ele deu sinal de vida.
Como não sou técnico as dúvidas são as mais bizarras…eu tenho uma fonte de 12v com os Pinos L, N, Ground, Com e V+…lá vai a pergunta estúpida eu ligo o Vmot no Com e o Ground no V+?
Perfeito para o meu tcc, mas não consigo usar dois drivers para controlar dois motores.. no mesmo arduino, … pois não consigo outra conexão tx0 … o que posso fazer?
att. obrigado
Bom dia,
Você pode usar um outro pino para o "enable" do segundo driver, não ?
Abraço!
Amigo… Confira esse meu vídeo… Liguei 3 no mesmo Arduino
https://www.youtube.com/watch?v=8tYy5OBK7t0
A tensão que alimenta o motor funciona com 5v, pois tenho motores de 5v, ou a tensão minima é 8v mesmo?
Oi Daniel,
Eu só testei com motores de 12V, mas segundo a especificação, 8V é o mínimo mesmo.
Abraço!
Posso ligar o motor de passo nema 16 de 2volts de 0.7 ampers no no drive A4988?
É como faço a ligação dele no Arduíno… se alguém poder me ajudar agradeço!!!
pretendo usar um clp atos para controlar o motor de passo, se eu mandar 24 volts para dir ou step que é a tensão de saída irá funcionar? Se não funcionar qual driver me recomendaria? Por favor me ajude, desde já agradeço
Não faça isso!!! (Se é que ainda não fez….).
24 volts em pinos TTL (que só toleram entre 3,6V e 5V) é queima na certa.
use um resistor de 2.2k em serie com o a saida do CLP e o pino do driver
Como faço para que o motor gire em graus, ao digitar as entradas ?
Amigo, não sei o que está dando errado. já montei várias e várias vezes. Já troquei o NEMA 17 por outro, tambem troquei o arduino, o driver 4988, enfim, tenho 2 peças ou mais de tudo. Minha fonte é 12v 2A. Mas não funciona. :/
Oi Marcelo…
Q estranho.. mas ele nem mexe ? trava ? O que acontece ?
Abraço!
Olá, estou controlando um braço robotico, e quando o motor de passo levanta até o ponto desejado, ele começa a "escorregar" quando o motor para devido ao peso, tem algo para fazer pra que isso não aconteça?
Boa tarde,
Neste caso, recomendo a troca por um motor mais forte.
Abraço!
Tem: Contrapeso. Igual os elevadores. Que só gastam energia e potência somente para "carregar" as pessoas (A "gaiola" não tem peso algum por causa dos contrapesos).
Bom dia,
Estou com motor de passo Nema16 – tensão referencia 2.0V e Corrente de 0,7A. Fiz este esquema de ligação mostrado neste post. Fonte de alimentação ATX ligada no 12V. O motor fica vibrando e não gira e quando gira somente para o mesmo lado, mas sempre vibrando muito e sem nenhuma precisão. Estou fazendo algo errado certamente.
Tentei ajustar o trimpot do A4988, mas no máximo ele gira um pouco sem precisão . Alguém poderia me dar uma orientação.
Caso queiram mais algum detalhe pode perguntar.
Obrigado.
Verifique se o seu motor é bipolar (Esse é o certo para esse drive…) ou unipolar (Não vai funcionar com esse drive).
Como faço para usar 3 motores com 3 módulos? Como fica no programa?
Bom dia!
Excelente Post. Fiz desta forma e funcionou perfeitamente.
Mas preciso fazer meu motor rodar 45º anti-horario a cada 50 minutos em baixíssima velocidade.meu motor é um NEMA 23 com Driver a4988.
Poderiam me ajudar?
Boa tarde, eu consigo fazer o motor rodar e parar por um determinado tempo sem ter que enviar os comandos 1,2 e 3?
Boa noite,
Consegue sim. Retire a parte que faz a leitura da porta serial e coloque os valores 1, 2 e 3 antes de cada if, com um pausa, por exemplo, de 2 segundos.
Abraço!
Fiquei em duvida com as linhas 15 e 16 do programa. Poderia me esclarecer.
Obrigado!
Ola serve para o driver DVR8825?
se a pinagem deles bater da sim verifica no google la tem as pinagens dos 2 modelos
Bom dia!
Estou implementando o controle de uma plataforma móvel (deslocamento x-y) e estou buscando informações a respeito da biblioteca AccelStepper. Gostaria de saber se é possível que acionar os motores sem aceleração/desaceleração.
Boa tarde,
Eu gostaria de controlar um motor de passo utilizando os comandos abaixo:
1º Roda 10 segundos no sentido horário
2º Para 10 segundos
3º Roda 10 segundos no sentido horário
Infinitamente…
Consigo fazer isso com o arduino com base nos códigos do post? Alguém poderia me dar uma luz? rs
Ola boa tarde eu tenho que fazer um projeto em que o controlador tem que ser por porcentagem exemplo ele virar em sentido horário em 5% tem que ser pelo computador se alguém puder me ajuda desde ja agradeço!!
ola boa tarde eu preciso controla o motor de passo em porcentagem e pelo computador por exemplo virar em sentido horário 5% ou sentido anti horário 5% desde ja agradeço obrigado!!!
Poderia me explicar essa parte:
motor1.setMaxSpeed(velocidade_motor);
motor1.setSpeed(velocidade_motor);
motor1.setAcceleration(aceleracao_motor);
Teria como eu colocar 3 motores pra funcionar e entre o funcionamento de um para o outro eu colocar delay?
Olá, boa tarde amigo eu já tenho o EasyDriver eu poderia programar no arduino da forma que o motor gire até chegar no fim de curso e volte batendo em outro fim de curso e fazendo esse movimento até eu desligar ?
Boa noite!! Gostaria de saber porque o reset e jumpeado com o sleep??
Boa noite e com relação à instalação e utilização dos pinos stepPin e dirPin nesse programa? Não vi eles.
olá queria usar o motor para posicionamento gostaria de saber como posso fazer isso com essa biblioteca no caso seria um posicionamento com tres posições usando os angulos de 0 à 180 graus .
Ola, consigo controlar ate quantos motores de passo 17HS4417 com um arduino? Obrigado
Como fasso para configurar motor de Passo de DVD e cd 5v como fasso para configuration is drivers A488
É possível controlar 6 motores NEMA17hs4401 com um arduino mega e 6 drivers A4988?
Outra coisa, consigo utilizar uma unica fonte de alimentação de 12V e 5A para energizar os 6 motores (conectando eles em paralelo), sendo que nunca vou movimentar dois motores ao mesmo tempo, apenas um por vez??
Obrigado
Oi Milena,
Com um mega, vc não teria problemas. Quanto à fonte, vai depender do consumo de cada motor, mas se vc utilizar um de cada vez, aguenta sim.
Abraço!
Adilson
Boa noite!
Eu estou controlando três motores Nema 17hs4401 com driver a4988 através de uma fonte 12v e 5a. Coloquei os motores em paralelo e estou usando um capacitor de 100uf e 16v.
Estou com problema quando conecto a fonte na tomada e logo que plugo na energia os motores dão um "tranco" deslocando uns 2° da posição inicial e comprometendo o funcionamento do projeto.
Como eu faço para ligar os motores sem ter esse tranco?
Se alguém puder ajudar eu agradeço!
É COMUM ESSE MOTOR TREMER?
Boa tarde,
posso utilizar esse drive para um CLP S7 1200?
Boa noite,
Essa vou ficar te devendo, mas verifique o tipo de saída que esse CLP tem. Talvez você precise de algum circuito adaptador.
Abraço!
Adilson
Olá, fiz todas as ligações identicas ao tutorial, incluindo o código, porem o motor nao funciona,ele nao responde aos comandos.
Retirando os jumpers 7 e 4 o motor gira, fora isso ele não está aparentemente recebendo os comandos.
Já verifiquei driver, motor, tudo, e mesmo assim ele não aciona.
O que pode ser??
Abraços
Att
Flávio
Oi Flávio,
Eu tive esse tipo de problema quando usei uma fonte muito fraca para o motor. Como está a alimentação do seu circuito?
Abraço!
Adilson
Bom dia, a minha programação sempre na primeira volta que o motor dá ele dá só a metade de voltas que eeu mando ele fazer, na situação seguinte ele já dá o total de voltas, isso só ocasiona no primeiro pulso.
Alguém poderia me ajudar?
Bom dia, só consigo movTo uma vez em cada direção, se mover sentido horário, só consigo mexer novamente sentido horário depois que mexer sentido antihorario… o que poderia ser? E so consigo realizar moveTo duas vezes na mesma direção se dá um stop, e mesmo assim só move a distancia informada no primeiro moveTo….. Tem algum whatsapp para tirar duvidas? agradeço a atenção
Bom dia Ricardo,
Você está usando o mesmo motor do post? Alimentação externa para o motor?
Abraço!
Adilson
Boa noite, estou usando sim, um nema 17, um driver a4988 e uma fonte 12v 30a, os mesmos equipamentos que uso em minha impressora 3D e funcionam normalmente, ele so gira uma vez horario, e tenho que girar antihorario antes de mover horario novamente… o que pode ser?
Olá, estou com dois problemas. O primeiro é que o motor só gira no sentido horário, digitando 1 ou 2 ele não muda de sentido. O segundo problema é que quando aumento a velocidade de 240 para 250 o motor gira, mas começa a dá umas travadas, mostrando dificuldades em vencer a inércia. Gostaria de saber como solucionar isso.
Oi Erik,
Entendi. Que tipo de fonte você está usando para alimentação do motor? Nos meus testes isso aconteceu com fontes de baixa corrente. Verifique também as conexões pois esse problema de giro me parece algo errado na fiação.
Abraço!
Adilson
Estou usando uma fonte de notebook que varia de 12 a 21 V, acha que devo aumentar a tensão?
Oi Erik,
Não, acho que 12V é o suficiente. aqui eu usei uma de 12V.
Adilson
o meu Nema17 roda certinho com a programação mas ele é extremamente aleatório, pois quando eu aperto 1 ou 2 ele as vezes segue a direçao certa e as vezes ele vai na direçao contraria. O que é?
Oi Giuliano,
Que fonte você está usando? Eu tive que usar uma de 12V nos testes pq senão o motor ficava com uns comportamentos estranhos (travando, por exemplo).
Abraço!
Adilson
boa noite
como sou novo nestas andanças gostaria de uma ajuda se possível. seria possível controlar este esquema sem estar ligado ao pc. um interruptor com fins de curso
Oi Jorge,
É possível sim. Qual placa você vai usar para controlar o circuito?
Abraço!
Adilson
Como eu uso os micropassos com essa biblioteca?
Oi Davi,
Eu não cheguei a usar, mas pelo que eu pesquisei você precisa realizar a configuração dos pinos do driver (pinos MS1, MS2 e MS3) e realizar algumas configurações no programa.
Dê uma olhada neste artigo, por favor: https://forum.arduino.cc/index.php?topic=642380.0
Abraço!
Adilson
Olá Pessoal,
Alguém montou esse circuito acima com o software fornecido e funcionou de verdade ou tiveram algum ajuste? A ligação do Motor acima descrita não confere com a pinagem das bobinas do Nema 17 … Esse é um primeiro ponto… Eu montei todo o circuito do jeito que está descrito e não funcionou nada… Ajustei a pinagem das bobinas do motor. Não funcionou também. Mesmo dando as instruções de 1 para girar em um sentido e 2 para o outro, o Motor nem sequer fica com o eixo rígido ou treme. A única coisa que acontece é do motor tremer quando aproximo os dedos nos terminais de configuração de passo. Provavelmente porque este driver tem Transistors FET. Será que o código acima está correto? Alguém pode me dar uma luz? Existe uma atualização?
Estou com o mesmo problema. O motor não responde.
Oi Caio,
Eu tive esse problema, e era a fonte de alimentação que não estava fornecendo corrente suficiente.
Abraço!
Adilson
Ola pessoal,
Recentemente utilizei o módulo A4988 para micropassos (1/16) com um motor nema17 bipolar, Resistência por bobina de 60 ohms e tensão de trabalho de 12V ( I=0,2A) Dentro dos limites do módulo.
Porém, após inúmeros testes, verifiquei (no osciloscópio) que nos regimes de micropasso (1/2, 1/4, 1/8 e 1/16) embora o módulo considere a contagem dos passos (STEP) {enviados por um microcontrolador (PIC16F628A)}, a Corrente nas bobinas NÃO GRADUA,M conforme recebe novos passos (STEP). De +12V após 16 STEPs (permanecendo em +12v nesse tempo) vai direto para -12V, e continuando os STEPs, permanece em -12V e após mais 16 passos vai direto para +12V, não fazendo a graduação para micropasso!
No osciloscópio, ao invés de uma senoide (conforme indica o datasheet do A4988), o módulo produz uma onda quadrada simétrica em +12 – -12V, permanecendo em cada nível de tensão 16 passos….
Então, a primeira vista parece que funciona, pois o motor gira, mas o regime de rotação do motor sempre é full step!
Nota: Montei vários protótipos, com todas as ligações cuidadosamente a partir do datasheet do A4988 e instruções para uso do módulo. Testei com vários módulos (que adquiri), e em todos os testes sempre o mesmo resultado.
Alberto Russi Júnior
Olá,
Como faço o driver A4988 girar o motor de passo para a direita ou para a esquerda especificamente, ao meu comando?
Colocando GND vai sempre pra um dos lados ou é aleatório? E da mesma forma para Vcc?
Aguardo, obrigado.