Icono del sitio ELECTROALL

Como Controlar un Motor Pasa a Paso

YouTube
YouTube
Instagram
Instagram
GitHub
GitHub

INTRODUCCIÓN

Para poder controlar motores paso a paso, primero se tiene que contar con un microcontrolador; que puede ser de las familias de Arduino, microchip (pic), estos dispositivos anteriormente mencionados nos permiten controlar los paso(pulsos) y la dirección del motor (sentido horario, anti-horario). Seguidamente se tiene que conseguir un dispositivo capaz de suministrar una corriente necesaria para el directo control propiamente de los motores paso a paso, aquí te dejo algunos dispositivos que está diseñado para el control de estos motores; Driver A4988, CI ULN2803. Finalmente se necesita un Motor paso a paso como tal, en realidad existen varios tipos de ellos, que dicho sea de paso estaremos hablando con más profundidad en las siguientes líneas.

 

Para poder entender mejor el funcionamiento de todo el sistema, estudiaremos cada dispositivo.

1 Hablemos del Motor paso a paso

Un motor paso a paso es un dispositivo electromecánico que convierte una serie de pulsos eléctricos en desplazamientos angulares, lo que significa que es capaz de girar una cantidad de grados (paso o medio paso) dependiendo de sus entradas de control.

Los motores paso a paso son ideales para la construcción de mecanismos en donde se requieren movimientos muy precisos. La característica principal de estos motores es el hecho de poder moverlos un paso a la vez por cada pulso que se le aplique. Este paso puede variar desde 90° hasta pequeños movimientos de 1.8°, Es por eso que ese tipo de motores son muy utilizados, ya que pueden moverse a deseo del usuario según la secuencia que se les indique a través de un microcontrolador.

Estos motores poseen la habilidad de quedar enclavados en una posición si una o más de sus bobinas está energizada o bien total mente libres de corriente.

Principio de funcionamiento
El principio de funcionamiento está basado en un estator construido por varios bobinados en un material ferromagnético y un rotor que puede girar libremente en el estator.

Estos diferentes bobinados son alimentados uno a continuación del otro y causan un determinado desplazamiento angular que se denomina “paso angular” y es la principal característica del motor.

Tipos de motores paso a paso

Existen tres tipos de motores paso a paso:

    • De reductancia variable
    • De imán permanente
    • Híbrido

      En esta ocasión solo hablaremos de los motores de imán permanente, lo que usaremos para nuestras prácticas 🙂
Motor paso a paso de imán permanente

Existen dos tipos de motores de imán permanente que son los más utilizados en la robótica:

      • Unipolares
      • Bipolares
Unipolares

Estos motores suelen tener 5 o 6 cables de salida dependiendo de su conexionado interno, suelen ser 4 cables por los cuales se recibe los pulsos que indican la secuencia y duración de los pasos y los restantes sirven como alimentación del motor. Este tipo se caracteriza por ser más simple de controlar.

Con este tipo es lo que vamos a trabajar:

Bipolares

Este tipo de motores por lo general tienen 4 cables de salida, necesitan ciertas manipulaciones para poder ser controlados, debido a que requieren del cambio de dirección de flujo de corriente a través de las bobinas en la secuencia apropiada para realizar un movimiento, es necesario un puente H por cada bobina del motor, es decir que para controlar un motor paso a paso de 4 cables (dos bobinas), se necesitan usar dos puentes H. Esto hace que la tarjeta controladora se vuelva más compleja y costosa. Su uso no es tan común como en el caso de los de tipo unipolar.

2 Hablemos de los cálculos para trabajar con el driver A4988

PASO 01: Saber los datos técnicos del motor paso a paso; por ejemplo, en la siguiente imagen podemos apreciar los datos técnicos del motor que vamos hacer las practicas correspondientes.

PASO 02: Hacer los cálculos correspondientes para sacar el voltaje de referencia (VREF) según la hoja de datos del driver A4988.

VREF = ItripMax(8 x Rs)    ==>> formula

Donde: ItripMax = corriente máximo que consume el motor paso = 0.8A; (imagen parte superior)
 Rs = resistencia sensorial ==>> R100 ;  valor resistivo = 0.1 Ω;  (imagen parte inferior)
——–TOMANDO LOS VALORES DE LA CORRIENTE MAXIMA DE MOTOR Y LA RESISTENCIA SENSORIAL SERIA :

VREF = 0.8 (8 x 0.1 )
VREF = 0.64V

Para paso completos utilicemos el 70% de la corriente máxima, por lo tanto sería:
VREF Real = 0.64 x 0.7
VREF Real = 0.44V

ESQUEMÁTICO ELECTRÓNICO

CIRCUITO FÍSICO IMPLEMENTADO

CÓDIGO ARDUINO

int pasos = 6;  // usamos el  pin 6 para generar pulsos (pasos)
int direc = 7;  // usamos el  pin 7 para la direccion (sentido horario, antihorario)
int tiempo=4;   // tiempo de pulsos altos en ms
void setup() {
 pinMode (pasos, OUTPUT);
 pinMode (direc, OUTPUT);
}

void loop() {
int c_pasos;
for (c_pasos =0; c_pasos <=200;c_pasos ++){  // en el motor que estamos usando nos dice que avanza 1.8° por paso; 360/1.8 =200
 digitalWrite (direc,HIGH);                  //por lo tanto se requiere 200 pasos para dar un vuelta completa 🙂
 digitalWrite (pasos,true);
 delay (tiempo);
 digitalWrite (pasos,false);
 delay (tiempo);  
}
for (c_pasos =200; c_pasos >=0;c_pasos --){
 digitalWrite (direc,LOW);
 digitalWrite (pasos,true);
 delay (tiempo);
 digitalWrite (pasos,false);
 delay (tiempo);  
}
}
Salir de la versión móvil