Tutorial Motor Paso Puente H
Tutorial Motor Paso Puente H
Tutorial Motor Paso Puente H
1. INTRODUCCIÓN
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 tan solo 1.8°, es decir, que se necesitarán 4 pasos en el
primer caso (90°) y 200 para el segundo caso (1.8°), para completar un giro
completo de 360°.
Estos motores poseen la habilidad de poder quedar enclavados en una posición o
bien totalmente libres. Si una o más de sus bobinas están energizadas, el motor
estará enclavado en la posición correspondiente y por el contrario quedará
completamente libre si no circula corriente por ninguna de sus bobinas.
En este capítulo trataremos solamente los motores P-P del tipo de imán permanente,
ya que estos son los más usados en robótica.
Básicamente estos motores están constituidos normalmente por un rotor sobre el que
van aplicados distintos imanes permanentes y por un cierto número de bobinas
excitadoras bobinadas en su estator.
1
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
Las bobinas son parte del estator y el rotor es un imán permanente. Toda la
conmutación (o excitación de las bobinas) deber ser externamente manejada por
un controlador.
2
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
Bipolar: Estos tiene generalmente cuatro cables de salida (ver figura 1).
Necesitan ciertos trucos para ser controlados, debido a que requieren del
cambio de dirección del flujo de corriente a través de las bobinas en la
secuencia apropiada para realizar un movimiento. En figura 3 podemos
apreciar un ejemplo de control de estos motores mediante el uso de un
puente en H (H-Bridge). Como se aprecia, será necesario un H-Bridge por
cada bobina del motor, es decir que para controlar un motor Paso a Paso de 4
cables (dos bobinas), necesitaremos usar dos H-Bridges iguales al de la
figura 3 . El circuito de la figura 3 es a modo ilustrativo y no corresponde
con exactitud a un H-Bridge. En general es recomendable el uso de H-
Bridge integrados como son los casos del L293 (ver figura 3 bis).
3
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
4
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
Existen tres secuencias posibles para este tipo de motores, las cuales se detallan a
continuación. Todas las secuencias comienzan nuevamente por el paso 1 una vez
alcanzado el paso final (4 u 8). Para revertir el sentido de giro, simplemente se
deben ejecutar las secuencias en modo inverso.
5
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
Secuencia del tipo wave drive: En esta secuencia se activa solo una bobina a la
vez. En algunos motores esto brinda un funcionamiento más suave. La contrapartida
es que, al estar solo una bobina activada, el torque de paso y retención es menor.
Secuencia del tipo medio paso: En esta secuencia se activan las bobinas de tal
forma de brindar un movimiento igual a la mitad del paso real. Para ello se activan
primero 2 bobinas y luego solo 1 y así sucesivamente. Como vemos en la tabla la
secuencia completa consta de 8 movimientos en lugar de 4.
6
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
7
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
Como comentario final, cabe destacar que debido a que los motores paso a paso son
dispositivos mecánicos y como tal deben vencer ciertas inercias, el tiempo de duración y la
frecuencia de los pulsos aplicados es un punto muy importante a tener en cuenta. En tal
sentido el motor debe alcanzar el paso antes que la próxima secuencia de pulsos comience.
Si la frecuencia de pulsos es muy elevada, el motor puede reaccionar en alguna de las
siguientes formas:
Puede que no realice ningún movimiento en absoluto.
Puede comenzar a vibrar pero sin llegar a girar.
Puede girar erráticamente.
puede llegar a girar en sentido opuesto.
Para obtener un arranque suave y preciso, es recomendable comenzar con una frecuencia de
pulso baja y gradualmente ir aumentándola hasta la velocidad deseada sin superar la
máxima tolerada. El giro en reversa debería también ser realizado previamente bajando la
velocidad de giro y luego cambiar el sentido de rotación.
Cuando se trabaja con motores P-P usados o bien nuevos, pero de los cuales no tenemos
hojas de datos. Es posible averiguar la distribución de los cables a los bobinados y el cable
común en un motor de paso unipolar de 5 o 6 cables siguiendo las instrucciones que se
detallan a continuación:
8
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
Esto es debido a que el cable común tiene una bobina entre ella y cualquier otro cable,
mientras que cada uno de los otros cables tienen dos bobinas entre ellos. De ahí la mitad
de la resistencia medida en el cable común.
b) Identificando los cables de las bobinas (A, B, C y D): aplicar un voltaje al cable
común (generalmente 12 volts, pero puede ser más o menos) y manteniendo uno de los
otros cables a masa (GND) mientras vamos poniendo a masa cada uno de los demás
cables de forma alternada y observando los resultados.
Para recordar
Un motor de paso con 5 cables es casi seguro de 4 fases y unipolar.
Un motor de paso con 6 cables también puede ser de 4 fases y unipolar, pero con 2
cables comunes para alimentación. pueden ser del mismo color.
Un motor de pasos con solo 4 cables es comúnmente bipolar.
Nota: El pin 9 del ULN2803C debe estar conectado a la tierra de la tarjeta de Arduino.
Arduino con Motores P-P Bipolares (módulo L298N):
10
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
11
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
Código en C para Arduino que funcionan con los circuitos anteriores (Usando
arquitectura):
Código en lenguaje C
//---------------------------------------------------------------------
//Definicion de variables
uint8_t m_aux, var;
//---------------------------------------------------------------------
void setup() {
void loop() {
while(1)
{
//---------Algoritmo de control puente H (Trasistorizado)---------------
/*
PORTD=0b00010000;//apago motor
PORTD=0b00011000;// Enciendo motor y Giro a la izq
delay(1000);
PORTD=0b00000000;//apago motor
delay(1000);
PORTD=0b00000000;//apago motor
PORTD=0b00001000;// Enciendo motor y Giro a la der
delay(1000);
PORTD=0b00000000;//apago motor
delay(1000);
*/
//---------Algoritmo de control puente H (L293C / L298N)-----------------
/*
PORTC=0b00001001; //Giro a la horario motores A y B
delay(1000);
PORTC=0b00000000; // Apago motores
delay(1000);
delay(1000);
PORTC=0b00000000; // Apago motores
delay(1000);
*/
12
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
13
TUTORIAL MOTOR PASO-PASO Y PUENTE H CON ARDUINO
Código en lenguaje C
//---------------------------------------------------------------------
//Definición de variables
uint8_t m_aux, var;
//---------------------------------------------------------------------
void setup() {
pinMode(4, OUTPUT);//def el pin4 como salida digital
pinMode(3, OUTPUT);//def el pin3 como salida digital
digitalWrite(3, LOW); //Apago motor
}
void loop() {
while(1)
{
delay(1000);
digitalWrite(3, LOW); // Apago motor
delay(1000);
delay(1000);
digitalWrite(3, LOW); // Apago motor
delay(1000); */
*/
//-----------------------------------------------------------------------------------------------------
}
}
14