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: 1790

Anexos

Responder esta

Respostas a este tópico

Fiz as algumas alterações, será que estou no caminho certo?

P.S.: Já arrumei o nome do motor!

Anexos

Boa noite, 

Curiosidade, qual driver estará usando ? 

Se for usar um driver externo ( com 3 Fios Pulso, Enable e Direction) é  configure assim:

Essa Biblioteca é difícil de compreensão, para iniciantes ! Muito mal explicada !

http://www.airspayce.com/mikem/arduino/AccelStepper/classAccelStepp...

AccelStepper::AccelStepper ( uint8_t  interface = AccelStepper::FULL4WIRE,
uint8_t  pin1 = 2,
uint8_t  pin2 = 3,
bool  enable = true 

AccelStepper::DRIVER (1)   - uso de driver externo (seu caso) 

Use também setEnablePin() 

pin1 = 2,   Conecte ao D2 Arduino - Step (passo) 

pin2 = 3,   Conecte ao D3 Direction (direção) 

enable = true 

Acho que é isso. O Enable PIN eu não achei qual seria o recomendado. Acho que você pode escolher qualquer porta.  D4 por exemplo. 

#include <AccelStepper.h> 

AccelStepper stepper1(1, 2, 3);

http://labdegaragem.com/profiles/blogs/uso-da-biblioteca-accelstepp...

 

Utilizarei um Motor 23HS2003-25e um Drive DM442.

Sim, coloquei o Modo 1 no stepper. Pelo que observei em outros circuitos, o ENA e o DIR são ligados juntos (jump).

Uma dúvida, eu estava usando o moveTo(), mas preciso de posições relativas, e não absolutas, então comecei a usar apenas move(). É isso? E adicionei o run(), acho que estava faltando.

segue arquivo

Anexos

Bom dia , 

Não pode conectar os pinos ENA e DIR juntos !

Se a direção tiver um sentido inverso , o motor não irá girar. 

Acho que você conecta o pino ENA em uma porta Digital do Arduino (por exemplo D4) .

E terá que defini-la no Sketch.

setEnablePin (4)    (acho que é assim) 

Nunca usei o AccelStepper. 

Recomendo que leia : 

http://www.airspayce.com/mikem/arduino/AccelStepper/classAccelStepp...

Um dia eu farei um Tutorial sobre essa Biblioteca AccelStepper. 

Muita gente tem dúvidas.

Sim, estou lendo o site recomendado, mas realmente, é bem mal explicado.

Quanto ao Enable entendi, acho que até vou utilizar o Enable separado mesmo, mas no meu caso não haverá inversão de sentido, então poderiam estar "jumpeados".

Digo que vou usar o Enable porque quero implementar mais ou menos o que mostra esse site, exceto a inversão de sentido.

http://blog.baudaeletronica.com.br/como-ligar-driver-tb6600-com-ard...

Você já fez o teste com o programa do link que enviou?

Recomendo que faça a mesma montagem e use o mesmo programa do link. 

E informe se funcionou. 

Depois que estiver funcionando, faça as suas alterações. 

Ok, Farei um teste amanhã.

Esse programa funcionou, estava lento, então multipliquei por a velocidade por 2, mais que isso o motor trava.

OK ! Dá para se concluir que aparentemente a montagem esta correta. 

Com a mesma montagem, teste agora com o seu programa e nos informe o problema. 

Aparece alguma mensagem de erro na IDE do Arduino ? 

O estranho é com a biblioteca AccelStepper nao consigo fazer movimentar o motor, nem com o mais simples exemplo. e com este que funcionou nao sei como controlar o número de passo, senão abandonaria a Accel.

Bom dia EJ.

Aqui onde estou não tenho como testar com motor de passo, mas vou simular um com LEDs, portanto cole um ARQUIVO com o seu  mais atual

sketch pra que eu possa simular aqui e tentar descobrir porque não funfa ai com vc.

Rui

esse é o último sketch

Anexos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço