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

Exibições: 1791

Anexos

Responder esta

Respostas a este tópico

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

Anexos

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.

Anexos

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 ?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço