Motor a pasos 28BYJ-48 y driver ULN2003

Motor a pasos 28BYJ-48 y driver ULN2003

$60.00$120.00

ST28BYJ48

Unl2003

SKU: ST28BYJ48 Categoría: Etiqueta:
Comparte!

Descripción

Motor A Pasos 5v 28byj-48 Con Driver Unl2003

El 28BYJ-48 es un motor paso a paso pequeño con 5 voltios para su operación. Debido a la relación de reducción de engranajes de aproximadamente 64: 1 ofrece un par de torsión decente de aproximadamente 15 rotaciones por minuto (RPM).

El motor tiene 4 bobinas de cable que se activan en una secuencia para hacer girar el eje magnético del motor. Cuando se usa el método de paso completo, 2 de las 4 bobinas se activan en cada paso.

La placa de control del motor paso a paso ULN2003 le permite controlar fácilmente el motor desde un microcontrolador, como el Arduino Uno. A un lado la placa tiene un zócalo de 5 cables donde se engancha el cable del motor paso a paso y 4 LED para indicar qué bobina está alimentada actualmente.

Voltaje nominal: 5VDC

Número de Fase 4

Relación de variación de velocidad 1/64

Ángulo de paso 5.625 ° / 64

Frecuencia 100Hz

Resistencia DC 50O ± 7% (25)

Frecuencia de entrada inactiva> 600Hz

Frecuencia de fuera de tracción inactiva> 1000Hz

Torque en la tracción> 34.3mN.m (120Hz)

Par de auto-posicionamiento> 34.3mN.m

Par de fricción 600-1200 gf.cm

Tire de torque 300 gf.cm

Grado de aislamiento A

Código

//definicion de pines
const int pinMotor1 = 8;    // 28BYJ48 – In1
const int pinMotor2 = 9;    // 28BYJ48 – In2
const int pinMotor3 = 10;   // 28BYJ48 – In3
const int pinMotor4 = 11;   // 28BYJ48 – In4
//definicion variables
int velocidadMotor = 1000;  // variable para determinar la velocidad
// 800 maxima – minima 1000 o mas
int contadorPasos = 0;      // contador para los pasos
int pasosPorVuelta = 4076;  // pasos para una vuelta completa
// Tablas con la secuencia de encendido
// quitar signo de comentar a la necesaria)
//secuencia 1-fase usar velocidadMotor = 2000
//const int cantidadPasos = 4;
//const int tablaPasos[4] = { B1000, B0100, B0010, B0001 };
//secuencia 2-fases usar velocidadMotor = 2000
//const int cantidadPasos = 4;
//const int tablaPasos[4] = { B1001, B1100, B0110, B0011 };
//secuencia media fase usar velocidadMotor = 1000
const int cantidadPasos = 8;
const int tablaPasos[8] = { B1000, B1100, B0100, B0110, B0010, B0011, B0001, B1001 };
void setup()
{
//declarar pines como salida
pinMode(pinMotor1, OUTPUT);
pinMode(pinMotor2, OUTPUT);
pinMode(pinMotor3, OUTPUT);
pinMode(pinMotor4, OUTPUT);
}
void loop()
{
for (int i = 0; i < pasosPorVuelta * 2; i++)
{
sentidoHorario();
delayMicroseconds(velocidadMotor);
}
delay(200);
for (int i = 0; i < pasosPorVuelta * 2; i++)
{
sentidoAntihorario();
delayMicroseconds(velocidadMotor);
}
delay(200);
}
void sentidoHorario() // en dirección de las agujas del reloj
{
contadorPasos++;
if (contadorPasos >= cantidadPasos) contadorPasos = 0;
escribirSalidas(contadorPasos);
}
void sentidoAntihorario()// en dirección contraria a las agujas del reloj
{
contadorPasos;
if (contadorPasos < 0) contadorPasos = cantidadPasos 1;
escribirSalidas(contadorPasos);
}
void escribirSalidas(int paso)
{
digitalWrite(pinMotor1, bitRead(tablaPasos[paso], 0));
digitalWrite(pinMotor2, bitRead(tablaPasos[paso], 1));
digitalWrite(pinMotor3, bitRead(tablaPasos[paso], 2));
digitalWrite(pinMotor4, bitRead(tablaPasos[paso], 3));
}

Diagrama

 

 

Información adicional

Código

Solo driver Unl2003, Solo motor 28BYJ48, Motor y Driver

Valoraciones

No hay valoraciones aún.

Sé el primero en valorar “Motor a pasos 28BYJ-48 y driver ULN2003”