Ingeniería de Sistemas
GUIA DE LABORATORIO # 3
I. IDENTIFICACIÓN
CARRERA INGENIERÍA DE SISTEMAS
ASIGNATURA ROBOTICA INDUSTRIAL
EXPERIENCIA CONTROL DE MOTORES CON
DOCENTE L298N ELIAS ALI ALVAREZ
CONSULTAS Celular : 72577809
e-mail : e3_ali@[Link]
II. TITULO
CONTROL DE MOTORES CON L298N
III. OBJETIVO
Este laboratorio tiene por objetivo controlar motores DC utilizando el driver
L298N y arduino.
IV. FUNDAMENTO TEÓRICO
L298N
Esta placa nos permitirá mover hasta dos motores hacia delante o atrás, y controlar su
velocidad a través de los pines de Arduino, que irán conectados al controlador.
V. MATERIALES Y EQUIPOS
Docente: Ing. Elias Ali Alvarez
Ingeniería de Sistemas
2 Motores DC
Arduino UNO
Driver L298N
Potenciómetro de 10kΩ
PC previa instalación del IDE de Arduino.
Cables de conexión.
Fuente de tensión regulable.
Pinzas y alicates
Multimetro digital
Protoboard
VI. PROCEDIMIENTO EXPERIMENTAL
Siga el siguiente procedimiento:
1. Implemente las siguientes conexiones
2. Vamos a crear un código simple que moverá el motor hacia delante y
hacia atrás a una velocidad constante.
Implemente el siguiente sketch.
#define EA 10
#define I1 9
#define I2 8
void setup()
{
pinMode(EA, OUTPUT);
pinMode(I1, OUTPUT);
pinMode(I2, OUTPUT);
}
void loop()
{
//Establecemos la velocidad a 200
analogWrite(EA, 200);
Docente: Ing. Elias Ali Alvarez
Ingeniería de Sistemas
//Hacia delante
digitalWrite(I1, HIGH);
digitalWrite(I2, LOW);
delay(2000);
//Y para atras
digitalWrite(I1, LOW);
digitalWrite(I2, HIGH);
delay(2000);
}
3. Los métodos de ejemplo que aparecen este código son muy
estándar: adelante, atrás y parar.
#define EA 10
#define EB 5
#define I1 9
#define I2 8
#define I3 6
#define I4 7
void adelante(int motor, int velocidad)
{
if(motor == 1)
{
analogWrite(EA, velocidad);
digitalWrite(I1, HIGH);
digitalWrite(I2, LOW);
}
else
{
analogWrite(EB, velocidad);
digitalWrite(I3, HIGH);
digitalWrite(I4, LOW);
}
}
void atras(int motor, int velocidad)
{
if(motor == 1)
{
analogWrite(EA, velocidad);
Docente: Ing. Elias Ali Alvarez
Ingeniería de Sistemas
digitalWrite(I1, LOW);
digitalWrite(I2, HIGH);
}
else
{
analogWrite(EB, velocidad);
digitalWrite(I3, LOW);
digitalWrite(I4, HIGH);
}
}
void parar(int motor)
{
if(motor == 1)
{
digitalWrite(I1, LOW);
digitalWrite(I2, LOW);
}
else
{
digitalWrite(I3, LOW);
digitalWrite(I4, LOW);
}
}
void setup()
{
pinMode(EA, OUTPUT);
pinMode(I1, OUTPUT);
pinMode(I2, OUTPUT);
pinMode(EB, OUTPUT);
pinMode(I3, OUTPUT);
pinMode(I4, OUTPUT);
}
void loop()
{
adelante(1, 100);
delay(1000);
atras(1, 100);
delay(1000);
adelante(2, 100);
delay(1000);
atras(2, 100);
delay(1000);
adelante(1, 100);
adelante(2, 100);
Docente: Ing. Elias Ali Alvarez
Ingeniería de Sistemas
delay(1000);
atras(1, 100);
atras(2, 100);
delay(1000);
}
4. Realice las pruebas y correcciones pertinentes.
VII. CRITERIOS PARA FORMACIÓN DE GRUPOS
Trabajo individual.
VIII. INFORME
1. Anexe a su informe programas, simulaciones de los circuitos
funcionando correctamente.
2. Investigue si existen otros Drivers controladores de motores.
3. Describa el circuito integrado del L293N.
4. Describa como controlar un motor paso paso con el Driver L293N.
5. Mencione algunas aplicaciones de este laboratorio.
6. Conclusiones y observaciones.
Docente: Ing. Elias Ali Alvarez