Go Down

Topic: Motor paso a paso (Read 198 times) previous topic - next topic

YancoAUP

Oct 16, 2018, 02:26 am Last Edit: Oct 16, 2018, 02:07 pm by surbyte Reason: Agregado de etiqueta para Errores y/o códigos
Hola, un saludo, pasa que tengo un motor paso a paso 28BYJ-48 conectado a un arduino, hice la prueba de girar en ambos sentidos
el problema viene cuando gira en sentido anti horario, no gira solo vibra y después ya no gira en ningún sentido (solo con ayuda)
Tengo el siguiente código

Code: [Select]
#define IN1  12
#define IN2  11
#define IN3  10
#define IN4  9

int steps_left=4095;
boolean Direction = true;
int Steps = 0;      

int Paso [ 8 ][ 4 ] =
  {  {1, 0, 0, 0},
     {1, 1, 0, 0},
     {0, 1, 0, 0},
     {0, 1, 1, 0},
     {0, 0, 1, 0},
     {0, 0, 1, 1},
     {0, 0, 0, 1},
     {1, 0, 0, 1}
  };

  void setup()
  { pinMode(IN1, OUTPUT);
    pinMode(IN2, OUTPUT);
    pinMode(IN3, OUTPUT);
    pinMode(IN4, OUTPUT);
  }

  void loop()
  { while(steps_left>0)
       {
          stepper() ;     // Avanza un paso
          steps_left-- ;  // Un paso menos
          delay (1) ;
       }
    delay(300);
    Direction =! Direction;  // Invertimos la direceccion de giro
    steps_left = 4095;
  }

  void stepper()            //Avanza un paso
  {  digitalWrite( IN1, Paso[Steps][ 0] );
     digitalWrite( IN2, Paso[Steps][ 1] );
     digitalWrite( IN3, Paso[Steps][ 2] );
     digitalWrite( IN4, Paso[Steps][ 3] );

     SetDirection();
  }

  void SetDirection()
  {  
     if(Direction)
        Steps++;
     else
        Steps--;

     Steps = ( Steps + 8 ) % 8 ;
  }



Alguien que tenga alguna idea de que pasa?
   

_jose_

has probado con la libreria stepper() que precisamente facilita trabajar con motores a pasos?

Go Up