Control de MOTOR A PASOS de 6 HILOS con L298N


controlmotorstepperbotonl298n.jpg

Video

En esta práctica programaremos un control para un motor a pasos de 6 cables/hilos usando pulsadores con el módulo L298N y un Arduino UNO.

Control de MOTOR A PASOS de 6 CABLES/HILOS con L298N, ARDUINO y PULSADORES


- Materiales:


Para realizar el circuito necesitas:

• 2 pulsadores,
• 2 resistencias de 10k,
• 1 fuente de alimentación entre 6v y 12v,
• 1 módulo puente h L298N,
• 1 motor a pasos de 6 cables/hilos (STH-39D1976021204, Shinano Kenshi),
• 1 Protoboard y Jumpers.

- Código

Para encontrar el programa tenemos que dirigirnos a la pestaña de Archivo, luego Ejemplos-> Stepper->stepper_oneRevolution.
Nos abrirá un código creado por Tom Igoe donde incluye la librería Stepper.h, para poder manipular el motor a pasos correctamente.

Al inicio del programa modificaremos los stepsPerRevolution acorde a nuestro motor, en esta práctica lo dejaremos en 200.

#include <Stepper.h>

const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor

En la inicialización de Stepper no modificaremos nada. Debajo de este fragmento, definiremos los pines donde estarán conectados los pulsadores y las variables que almacenarán los estados de los botones.

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

int pulse1=2;
int pulse2=3;
int value1;
int value2;

Dentro del void setup() borraremos la inicio del puerto serial y agregaremos los pines de los pulsadores como entradas.
Cuando establecemos la velocidad del motor, está debe estar acorde con los rpm del motor, si no, no funcionará bien el código.

void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(300);
pinMode(pulse1,INPUT);
pinMode(pulse2,INPUT);
}

Para el void loop(), estructuraremos todas las instrucciones que debe hacer el Arduino. Primero obtendremos los estados de ambos pulsadores almacenándolos en sus respectivas variables enteras.

void loop() {
value1= digitalRead(pulse1);
value2= digitalRead(pulse2);

Posteriormente, crearemos una condicional if para que el Arduino actúe de distinta manera cuando cierto pulsador este presionado. Para el primer pulsador haremos que el motor gire en sentido horario y el segundo en sentido antihorario.

void loop() {
value1= digitalRead(pulse1);
value2= digitalRead(pulse2);
if(value1==HIGH){
myStepper.step(1);
//delay(500);
}else{
if(value2==HIGH){
myStepper.step(-1);
//delay(500);
}else{
myStepper.step(0);
}
}
}

La lógica dentro del loop() es similar cuando se realizó la práctica de motores DC con pulsadores y potenciómetros. AQUÍ TE DEJO EL ENLACE PARA VER LA PRÁCTICA.

- Instrumentación


Colocaremos primero los pulsadores. Los pulsadores los pondremos en un extremo de la protoboard. En cada pulsador, conectaremos una de las patas a 5v y el otro haremos un nodo donde estará una pata de la resistencia de 10k y el puente donde lo conectaremos al pin digital de Arduino. El extremo que falta por conectar de la resistencia lo pondremos en GND.

Puenteamos el pin de 5v del Arduino a la línea Vcc y GND a la línea de tierra de la protoboard para alimentar los pulsadores.

Conectamos a las entradas del MOTOR A y MOTOR B del L298N las bobinas principales del motor a pasos, dejando sin conectar los comunes y enlazamos con jumpers IN1, IN2, IN3, IN4 a los pines digitales 8, 9,10 y 11 del Arduino. Finalizamos la instrumentación colocando la fuente de alimentación 6v-12v al módulo L298N.

DESCARGAS


LINK DE DESCARGA

Imágenes

controlmotorstepperbotonl298n.jpg
controlmotorstepperbotonl298n2.jpg
controlmotorstepperbotonl298n3.jpg

APRENDE LO QUE NECESITAS

NUESTROS CURSOS


cursoarduinoyandroid.jpg

Creación de un HMI en Android Studio y Arduino

Nivel: Básico 2 horas y 30 min (146 min.)

Diseña, maqueta y programa un HMI completo en Android Studio vinculado a un Arduino mediante Bluetooth.

cursodispensadorautomatico.jpg

CONSTRUYE un DISPENSADOR AUTOMÁTICO CASERO sin ARDUINO desde CERO

Nivel: Básico 27 minutos

Construye desde cero un dispensador automático casero sin Arduino desde cero, utilizando pura electrónica.

cursocarritorobot4wd.jpg

Creación de carrito robot desde cero usando mando de PS4

Nivel: Básico 2 horas y 19 min (139 min.)

Construye desde cero un carrito robot con arduino manipulado por un control de PS4 y un teléfono Android.