Arduino Motor Shield L298D

Arduino Motor Shield L298D

Control de un motor a pasos de 4 hilos con Motor Shield

 

Introducción:

El modulo Arduino Motor Shield es un tarjeta especial para el control de motores, Dicha tarjeta cuenta con dos canales, canal A y canal B. Estas salidas pueden ser usadas para controlar dos motores de DC o se pueden combinar ambos canales para controlar un motor a pasos.

Características Generales:

Operating Voltage5V to 12V
Motor controllerL298P, Drives 2 DC motors or 1 stepper motor
Max current2A per channel or 4A max (with external power supply)
Current sensing1.65V/A
Free running stop and brake function

Arduino Motor shield L298D

En esta ocasión se realizara un ejemplo para el control de un motor a pasos de 4 hilos, el cual consistirá en girar en un solo sentido. Cada par de cables se deberá de conectar en su respectivo canal de la Shield (esto dependerá de los colores de los cables de su  motor).

Materiales:

Motor Código de colores:

  • Rojo: A+
  • Verde: A-
  • Amarillo: B+
  • Azul: B-

Características:

  • Precisión del angulo de paso: + – 5%(paso completo, sin carga)
  • Precisión de la resistencia + – 10%
  • Precisión de la inductancia + – 20%
  • Incremento de temperatura: 80deg Max(corriente nominal,2 fases activas)
  • Resistencia de aislamiento:100MΩ Min,500VDC
  • Fuerza del aislamiento——-500VAC por 1 minuto
  • 6.35mm OR 10mm diametro del embolo
Motor a pasos NEMA 23 23HS5628 12.6 kg/cm

Motor a pasos NEMA 23 23HS5628 12.6 kg/cm

Diagrama de Conexión:

Motor a pasos_Conexion

Diagrama de Conexión

Funcionamiento:

bobinas

Activación de las bobinas

Para poder hacer que el motor pueda girar es necesario ir activando sus bobinas de forma secuencial.

En la siguiente imagen se puede mostrar como son activadas las bobinas del motor para que pueda generarse el giro de la flecha.

Código:

int motor1 = 13;       // Bobinas del Motor
int motor2 = 12;
int motor3 = 3; 
int motor4 = 11;  
int tiempo = 300;       // Delay que determina la velocidad de giro

void setup() {
pinMode(motor1, OUTPUT); // Configuración de los PINes como salida digital
pinMode(motor2, OUTPUT);
pinMode(motor3, OUTPUT);
pinMode(motor4, OUTPUT);
}

void loop() {
digitalWrite(motor1, HIGH);   // Los pines se activan en secuencia
digitalWrite(motor2, HIGH);
digitalWrite(motor3, LOW);
digitalWrite(motor4, LOW);
delay(tiempo);
 
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW); 
delay(tiempo);

digitalWrite(motor1, LOW);
digitalWrite(motor2, LOW);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, HIGH);
delay(tiempo);
 
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, LOW);
digitalWrite(motor4, HIGH); 
delay(tiempo);
}

Escríbenos tus dudas o comentarios

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Usamos Cookies en nuestro sitio WEB

Por favor confirma, si aceptas nuestras cookies de rastreo. También puedes negar el uso de cookies de rastreo y seguir navegando sin que ninguna información sea enviada a servicios de terceros.