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:
Fiz as algumas alterações, será que estou no caminho certo?
P.S.: Já arrumei o nome do motor!
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
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.
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
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por