domingo, 6 de noviembre de 2022

Motores paso a paso

MOTOR PASO A PASO

Mientras que los motores CC normales, están diseñados para que al alimentarlos giren de forma continua, un motor paso a paso está diseñado para girar un pasito cada vez que alimentas una de las fases

EN LOS KITS DE ARDUINO ENCONTRAMOS EL MOTOR 28BYJ-48 Y DRIVER ULN2003A

 

Aquí les dejo un ejemplo como se utilizan la mayoría de los componentes que fuimos viendo para hacer un auto robot

 

CIRCUITO DE CONEXIÓN

ARDUINO PIN891011
DRIVERIN1IN2IN3IN4

 

 

 

 

 

Controlador (Driver)

 

 

PRINCIPIO DE FUNCIONAMIENTO

 

 

PROGRAMA IDE ARDUINO

int IN1 = 8; // pin digital 8 de Arduino a IN1 de modulo controlador
int IN2 = 9; // pin digital 9 de Arduino a IN2 de modulo controlador
int IN3 = 10; // pin digital 10 de Arduino a IN3 de modulo controlador
int IN4 = 11; // pin digital 11 de Arduino a IN4 de modulo controlador
int demora = 20; // demora entre pasos, no debe ser menor a 10 ms.
// paso completo simple
int paso [4][4] = // matriz (array bidimensional) con la secuencia de pasos
{
{1, 0, 0, 0},
{0, 1, 0, 0},
{0, 0, 1, 0},
{0, 0, 0, 1}
};

void setup() {
pinMode(IN1, OUTPUT); // todos los pines como salida
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}

void loop() {

for (int i = 0; i < 512; i++) // 512*4 = 2048 pasos
{
for (int i = 0; i < 4; i++) // bucle recorre la matriz de a una fila por vez
{ // para obtener los valores logicos a aplicar
digitalWrite(IN1, paso[i][0]); // a IN1, IN2, IN3 e IN4
digitalWrite(IN2, paso[i][1]);
digitalWrite(IN3, paso[i][2]);
digitalWrite(IN4, paso[i][3]);
delay(demora);
}
}

digitalWrite(IN1, LOW); // detiene por 5 seg.
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(5000);

}

 

 

 Programa Arduino Blocks 

 

No hay comentarios.:

Publicar un comentario