Boa noite pessoal, se puderem ajudar.

Estou utilizando um motor de passo nema 17 bipolar controlado pela placa easy driver.

Gostaria de saber como posso fazer para ao invés de utilizar enviar velocidade em RPM, enviar velocidade em passos por segundo.

Segue código enviando velocidade em RPM.

#include <Stepper.h>
int RELEASE = 0;
# define motor_1
void setup()
{}

void loop()
{
motor.setSpeed(255); //Define a velocidade maxima

delay(5000);
motor.setSpeed(0);
motor.run(RELEASE); //Desliga o motor

delay(5000);
motor.setSpeed(50); //Define velocidade baixa

delay(5000);
motor.setSpeed(0);
motor.run(RELEASE); //Desliga o motor

delay(5000); //Aguarda 5 segundos e repete o processo
}

Gostaria de enviar a velocidade em passos por segundo no lugar de RPM.

Em anexo Datasheet do motor de passo utilizado.

Att.

Exibições: 332

Anexos

Responder esta

Respostas a este tópico

Bom dia L2K,
normalmente não auxilio amigos que colam sketch no tópico,
mas como o seu é pequeno, vou reconsiderar.


Seu motor gira 1,8 graus por passo, 200 passos para dar uma volta completa,
você definiu uma velocidade de 255 RPM,
então ele gira 255 * 200 = 51000 passos/minuto, 51000/60 = 850 passos por segundo,
ou 50 * 200 = 10000 passos/minuto, 10000/60 = 167 passos por segundo. (166,66)

Agora tenta assim:

motor.setSpeed((850 * 60)/200); //Define a velocidade maxima;


o valor 850 é o de passos por segundo.

ou

motor.setSpeed((167 * 60)/200); //Define velocidade baixa;

o valor 167 é o de passos por segundo.

Rui

 

Muito Obrigado pela ajuda.

Obrigado pela ajuda.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço