Olá pessoal,
Estou tentando desenvolver uma máquina para corte e decape de cabos e criei este código, nem sei se está muito bom, sou novo com Arduino. Mas a minha questão é: como mudar da biblioteca Stepper do Arduino para a AccelStepper, haja visto que irei usar um driver a 3 fios (PUL, ENA, DIR)? Também pretendo adicionar um controle de velocidade com potenciômetro.
Será que alguém poderia ajudar? Estou lendo e tentando aprender a AccelStepper
Segue o código em anexo.
Grato!
Edgar
Tags:
Confere Rui.
EJ, vamos reduzir as áreas de problemas.
Vamos primeiro fazer o motor girar usando um sketch simples.
Teste com este:
e depois conte o resultado.
Rui
Testei, e não rodou. Tem Enable(pino 7), tem Dir (pino 3), mas não tem nada na saida do PUL(pino 2). testei com led de teste.
EJ, acho que esta linha:
stepper.move(200);
está escrita errada.
No exemplo que encontrei é assim:
stepper.moveTo(200);
Modifique e teste aí.
Vou testar com LED aqui também
PS. acho que não é não kkkkkk
Rui
Creio, pelo que entendi e necessito, são posições relativas em relação à anterior, e não absolutas.
Mas mesmo move, quanto moveTo não mudou em nada, parece que só dá um passo, e já passa para a etapa do cilindro.
Descobri o erro, o Enable tem que ser nível baixo (LOW). descobri pq testei um sketch que funcionou, e o Enable não acendia o LED..
Só falta regular os passos, estão muito pequenos..
Opa,
que bom
Ajuste os passos, e depois vá acrescentando funções devagar no sketch
Rui
Finalmente finalizei! Lendo sobre a biblioteca vi que o run() ou o runSpeed() dão só um passo e permite que o programa prossiga, passando para a próxima etapa. Nunca ia dar.
Então pesquisei e vi que teria que ter uma lógica para fazer completar o número de passos, inclui esta:
stepper.move(passosCorte); // Avanca o motor para Corte
while (stepper.distanceToGo()!=0)
{
stepper.setSpeed(veloc);
stepper.runSpeed();
}
Ou seja, enquanto o motor não chegar ao passo desejado, ele não avança para a próxima etapa.
Agradeço imensamente ao Véio (Rui) e ao José Gustavo pela força e paciência. Sem vocês eu ia demorar a achar uma solução. Muito grato!!!
Segue sketch para quem precisar.
Beleza ! Parabéns !
Edgar bom dia,
Você configurou o Driver DM442 com a corrente máxima 3 Ampéres RMS e o modo de 1/2 passo com 400 passos por revolução.
No seu programa, especificou que uma revolução tem 200 passos (Full step - passo completo).
Recomendo que para efeito de teste, modifique as chaves para Passo Completo .
SW5, SW6, SW7 e SW8 = ON
O motor 23HS2003-25 que esta usando, aguenta 3 Ampéres ?
Sim José, mudei essas configurações, agora estou usando 2,69A (ON-OFF-OFF) de corrente, segundo o fornecedor o motor é de 3A. E mudei para passo completo (200 PPR).
Grato!
Segue o link que me inspirei pra fazer: https://www.youtube.com/watch?v=N1wveAZX-Ks
Que legal esse cortador de fios !
Você vai usar para cortar fios também ?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por