ola pessoal estou fazendo um projeto com arduino mega 2560 e um motor de passo minebea, de 10 kgf de 200 passos por volta e um drive A4988 , o projeto consiste em uma mesa giratória  com 18 paradas até completar a volta inteira mas sempre fazer as paradas na mesma posição cada parada ficaria na posição por 10 segundos até ir para próxima posição. podem me ajudar já fis o motor girar girar até dar a volta completa com os 200 passos mas não consigo fazer ele parar nas 18 posições.

podem me ajudar


#define step_pin 7 // Define o pino 3 como pino dos passos
#define dir_pin 2 // Define o pino 2 como pino de direção
#define MS1 5 // Define o pino 5 como "MS1"
#define MS2 4 // Define o pino 4 como "MS2"
# define MS3 6 // Define o pino 6 como "MS3"
int direcao; // Para determinar o sentido do motor
int passos = 200; // Número de passos que você deseja executar (para passos completos, 200 = 1 volta)

void setup() {
// put your setup code here, to run once:
pinMode(MS1, OUTPUT); // Configura "MS1" como saída
pinMode(MS2, OUTPUT); // Configura "MS2" como saída
pinMode (MS3, OUTPUT); // Configura "MS3" como saida
pinMode(dir_pin, OUTPUT); // Configura "dir_pin" como saída
pinMode(step_pin, OUTPUT); // Configura "step_pin" como saída
digitalWrite(MS1, LOW); // Configura divisão de passos do motor (ver acima)
digitalWrite(MS2, LOW); // Configura divisão de passos do motor (ver acima)
digitalWrite(MS3, LOW); // Configura divisão de passos do motor (ver acima)
digitalWrite(dir_pin, LOW);//Sentido (HIGH = anti-horário / LOW = horário) - Também pode ser alterado

}

void loop() {
// put your main code here, to run repeatedly:
while(passos >=0) { // Enquanto o valor de passos for maior ou igual a zero
digitalWrite(step_pin, HIGH); // Envia nível lógico alto para o pino de passos do motor
delay(50);//Aguarda 5ms para o próximo passo
digitalWrite(step_pin, LOW); // Envia nível lógico baixo para o pino de passos do motor
delay(50); // Aguarda 5ms para o próximo passo
passos -- ;

 

Exibições: 76

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço