Los Motores Unipolares (Stepper)

PROLOGO.

Esta documentación, pretende ser una aproximación práctica a las formas de control de motores paso a paso, también conocidos en la terminología inglesa como, stepper’s. Hemos de distinguir entre dos tipos de motores paso a paso, podemos encontrar motores bipolares y motores unipolares. Este, es el que vamos a tratar en este artículo, los motores unipolares.

motor04Fig. 1

En este sitio, puede encontrar un artículo mío, de hace algunos años que, trata extensamente sobre los motores paso a paso, donde puede disipar cualquier duda sobre los mismos. En ese documento, se hace un análisis de los tipos de motores paso a paso, su constitución, su lógica y además se presentan algunos ejemplo, con el uso del puerto paralelo del PC. La característica principal de los motores paso a paso, es el hecho de poder moverlos un paso con cada impulso aplicado. Los pasos necesarios para dar un giro de 360º, depende de la constitución de cada motor, pueden variar desde 90º cada paso, a pasos de 1’8 grados por pulso.

Doy por sentado que el lector tiene conocimientos básicos sobre los motores paso a paso. En esta ocasión, vamos a abordar el tema desde la perspectiva práctica en la que se propone la puesta en servicio de un control para un motor paso a paso del tipo unipolar.

Motor Unipolar.

Esta sería, una descripción muy acertada sobre los motores paso a paso, podemos considerar que son una serie de electroimanes que rodean una armadura, formada por un imán. Piense en una brújula con un eje conectado al centro de la aguja. La aguja se convierte en el rotor del motor. Para girar el rotor, se encienden y se apagan los electroimanes, por la parte exterior de la brújula, haciendo que la aguja de un “paso” (o punto) de un electroimán al siguiente. Esta imagen mental, puede ayudar a ilustrar el movimiento dentro de un motor paso a paso.

Los motores paso a paso unipolares, básicamente, se componen de dos bobinas, cada una con una derivación en el centro. Las derivaciones del centro son llevadas fuera del motor como dos cables separados (como se muestra en la Figura 2) o conectados entre sí internamente y llevados fuera del motor como uno de los cables. Como resultado, los motores unipolares tienen 5 o 6 cables. Independientemente del número de cables, los motores unipolares son manejados de la misma manera. El cable de toma central (s) está ligado a una fuente de alimentación y los extremos de las bobinas son llevados alternativamente a tierra.

Los motores unipolares paso a paso, como todos los motores de imán permanente e híbridos, funcionan de manera diferente de los motores de reluctancia variable. En lugar de funcionar, minimizando la longitud de la trayectoria del flujo entre los polos del estator y los dientes del rotor, en la dirección del flujo de corriente a través de los bobinados del estator, es irrelevante, estos motores funcionan mediante la atracción de los polos norte o sur permanentemente el rotor magnetizando a la polos del estator.

Así, en estos motores, la dirección de la corriente a través de las bobinas del estator, determina que polos del rotor se sentirán atraídos por los polos del estator. La orientación de corriente en los motores unipolares, depende de que mitad de una bobina se energiza. Físicamente, las dos mitades de las bobinas se enrollan paralelas entre sí. Por lo tanto, una de las partes o devanado, ya sea polo norte o sur, dependiendo de cual es la mitad que se alimenta.

La figura que sigue, muestra la sección transversal de un motor paso a paso unipolar de 30 grados. El bobinado número 1 del motor se distribuye entre los polos, parte superior e inferior del estator, mientras que la bobina número 2 del motor, se distribuye entre los polos izquierdo y derecho del motor. El rotor es un imán permanente con seis polos, tres al norte y tres al sur, como se muestra en la figura.

unipolarFig. 2  Motor básico unipolar

La diferencia entre un motor paso a paso de imán permanente y un motor paso a paso híbrido, radica en cómo se construyen el rotor multipolar y estator multipolar. Esta sería una secuencia de 12 pasos para mover el motor.

Ejemplo secuencia 1
Devanado 1a: 100010001000
Devanado 1b: 001000100010
Devanado 2a: 010001000100
Devanado 2b: 000100010001

Nota: Sólo la mitad de cada bobina se activa en un tiempo en la secuencia anterior. Como antes, la siguiente secuencia girará el motor hacia la derecha 12 pasos o una revolución.

Ejemplo secuencia 2
Devanado 1a: 110011001100
Devanado 1b: 001100110011
Devanado 2a: 011001100110
Devanado 2b: 100110011001

A diferencia de la primera secuencia descrita, en la segunda secuencia, dos mitades de la bobina se energizan al mismo tiempo. Esto le da al motor más par motor, pero también aumenta el consumo de energía del motor. Cada una de las secuencias anteriores describe pasos simples o paso nominal en su tamaño paso a paso del motor (en este caso 30 grados). La combinación de estas dos secuencias permite la mitad del paso del motor paso a paso. La secuencia combinada se muestra en el ejemplo 3 (24 pasos por vuelta).

Este método mueve el motor en pasos que son la mitad de su tamaño de paso nominal. Es importante tener en cuenta que el par generado por el motor durante esta secuencia no es constante, como medidas alternas tienen mitad de uno y dos de un bobinado energizado, respectivamente.

Ejemplo secuencia 3
Devanado 1a: 11000001110000011100000111
Devanado 1b: 00011100000111000001110000
Devanado 2a: 01110000011100000111000001
Devanado 2b: 00000111000001110000011100

La figura anterior, muestra el motor unipolar más básico. Para mayor resolución angular, el rotor debe tener más polos. Se han hecho rotores de imanes permanentes con 100 polos y esa cifra de polos es comúnmente logrado para los rotores híbridos, usando dientes de tapas finales en un simple imán permanente bipolar. Cuando el rotor tiene un recuento alto de polos, los polos del estator son siempre dentados de modo que cada bobina del estator va en contra de un gran número de polos rotor.

Para hacer girar un motor unipolar, se aplican impulsos en secuencia a sus devanados, la secuencia de estos impulsos, se aplican con un controlador electrónico externo. Los controladores se diseñan de manera que el motor se pueda mantener en una posición fija y también para que se le pueda hacer girar en ambos sentidos. Los motores unipolares, se pueden hacer avanzar a frecuencias de audio, lo que les permite girar muy velozmente. Este es el motivo por que se suele decir que un motor “canta”, debido a la frecuencia a la que se produce la conmutación. Con un controlador apropiado, se les puede hacer arrancar y detenerse en cualquier instante y en una posición determinada. Este es en teoría, el símbolo de un motor unipolar.

Haré hincapié en este punto, el punto decisorio para mover un motor unipolar, estriba en la secuencia que se aplica a los devanados del mismo.

Como ya se ha comentado, estos motores, tienen varios bobinados que, para producir el avance de un paso, deben ser alimentados en una secuencia adecuada. Al invertir el orden de esta secuencia, se logra que el motor gire en sentido opuesto. El torque de detención hace que, un motor unipolar con tensión, se mantenga firme en su posición cuando no está girando.

Si adquirimos un motor paso a paso, es bastante sencillo conocer las características del motor, sin embargo, lo más común es que nos encontremos ante un motor de desguace. Cómo distinguir ante que motor nos encontramos; el procedimiento es bastante sencillo, el primer paso es mirar en el cuerpo del motor si permanece alguna leyenda que nos pueda servir de orientación como puede ser, el fabricante, modelo, la tensión o alguna otra pista que nos indique las características más inmediatas.

Si no se dispusiera de dichas indicaciones, generalmente presentan varios cables de conexión. Los motores paso a paso unipolar generalmente con seis cables, en dos tríos, cada trío alimenta una bobina con toma central. En ocasiones, encontraremos un motor unipolar con sólo cinco cables, aquí los dos “comunes” se han unidos internamente.

Identificar los bobinados, es bastante fácil la identificación, cada uno usa su propio método, uno puede ser este, aplicando una tensión entre dos terminales, se pueden identificar los correspondientes a cada bobinado, teniendo en cuenta que hay un común para cada bobina, según se muestra en la figura que sigue. La nomenclatura de los cables (A, B, C, D) es totalmente arbitraria.

unipolar2Fig. 3

Otra forma de identificación es mediante un Ohmetro, comparando la resistencia entre pares de cables, teniendo en cuenta que cada devanado tiene una toma intermedia. Debido a que estos motores, disponen de un imán permanente, con la aplicación de una tensión entre los terminales de una bobina, el flujo de corriente a través de la bobina, hará mover el eje en una dirección, observando el siguiente movimiento en la misma dirección, nos indicará los pasos de la secuencia, siga probando con la bobina del otro devanado hasta completar la secuencia de los cuatro pasos necesarios. Cuando tenga los cuatro pasos, dispondrá de la secuencia para girar en esa dirección.

unipolar1Fig. 4

Como ya se ha comentado, hay tres tipos de secuencias posibles para manejar motores unipolares. Siguiendo dicha secuencia, el motor avanzará en un sentido hasta llegar al cuarto u octavo paso. Para invertir el sentido de giro, simplemente se deben ejecutar las secuencias en modo inverso.

La configuración de los motores unipolares, requiere que las bobinas reciban corriente de encendido-apagado en secuencia y no como los motores bipolares, que reciben corriente en ambos sentidos. Un motor unipolar, requiere menos componentes que conectar y para no utilizar un controlador (L293 o ULN2003), utilizaremos algunos transistores universales NPN para proporcionar la corriente necesaria a los devanados.

SECUENCIA SIMPLE.

En esta secuencia, se activa solo una bobina a la vez. En algunos motores, esto brinda un funcionamiento mas suave. La contrapartida es que al estar solo una bobina activada, el torque de paso y retención es menor.

En esta secuencia se alimenta sólo una bobina a la vez, lo que proporciona un menor par motor y una menor potencia de entrada. Al mover un paso en la secuencia a la siguiente, hace mover el motor un paso. Si vamos hacia adelante en la secuencia, el motor se mueve hacia adelante un paso y si lo hacemos al revés, el motor se mueve un paso atrás.

secuencia_simpleFig. 5

Es momento de realizar algún ejercicio que ilustre tanta teoría. Empezaremos por presentar un código que ya esta en la red, cuya autoría queda reflejada en el propio código. Creo que es suficiente como ejemplo y está probado.

Control Motor Unipolar.

Secuencia simple.

Como es de costumbre, puede copiar dicho código y probar su efectividad, pulse sobre “Seleccionar todo” y proceda como viene haciendo en anteriores casos.

SECUENCIA EN ONDA.

Esta es la secuencia que generalmente recomienda el fabricante. Con esta secuencia el motor avanza un paso por impulso y debido a que siempre hay al menos dos bobinas activadas, se obtiene un alto torque de paso y retención, es la secuencia más usada.

secuencia_ondaFig. 6

En esta segunda secuencia, se alimentan dos bobinas a la vez y produce un par motor de aproximadamente un 40% mayor que el de la secuencia anterior, mientras que también, consume el doble de energía, ver la tabla anterior.

Stepper Unipolar avanzado.

Secuencia en onda.

En esta ocasión, el código a utilizar contiene unas funciones que, conviene tener en cuenta en nuestros propios códigos. Este código, también hace referencia al autor al que pertenece.

Quiero destacar, algunos aspectos que se aportan en este código, por ejemplo: en la declaración de pines de salida para el motor, se ha empleado una matriz (array) de cuatro elementos y esta es la forma que tiene:

int motorPins[] = {8, 9, 10, 11};

Otro aspecto a destacar, se refiere al uso de los bucles for , como vemos en esta secuencia del código:

 for (count = 0; count < 4; count++) {
   pinMode(motorPins[count], OUTPUT);
 }

y los if, como en este caso:

if ((count2 == 0) || (count2 == 1)) {
  count2 = 16;
 }

Deben entenderse bien estos procedimientos, para poder utilizarlos en nuestros códigos, esto, los hará más compactos y cortos, si bien no los utilizo a menudo, para dar una mayor claridad a quien la necesite.

SECUENCIA DE MEDIO-PASO.

Esta secuencia es, la resultante de añadir a cada paso de la secuencia anterior, un paso, en otras palabras, es la suma de las dos secuencias anteriores. Esto significa que esta secuencia, consta de ocho paso, justo el doble que cada una de las dos anteriores, veamos la tabla.

secuencia_mediopasoFig. 7

Esto, se traduce en un giro más suave y preciso de modo que, el avance dependerá de la frecuencia en que se aplican los pulsos. Dicho esto, es conveniente no olvidar la inercia que presentan estos motores, por lo que, hay tener en cuenta el tiempo del impulso y la frecuencia de los pulsos. Si no se pone cuidado en la frecuencia de los pulsos, el motor puede reaccionar de modo inesperado, tal que no gire o que gire de modo arbitrario.

La frecuencia de los pulsos a aplicar, depende de factores como; la inercia del rotor, la tensión de trabajo y sobre todo el ancho del pulso, esto se puede obtener mediante, ensayo/prueba/error. Para obtener un arranque suave y preciso, conviene comenzar con una frecuencia de pulso baja e ir aumentándola gradualmente hasta alcanzar la velocidad deseada, sin superar la máxima tolerada por el motor. El cambio de dirección de giro, debe realizarse primero, bajando la velocidad de giro y luego cambiar el sentido de rotación.

CONEXIONADO DE UN MOTOR UNIPOLAR.

Se puede mover un motor unipolar, de distintas formas, en algunos casos lo podemos hacer utilizando cuatro salidas del micro, en otros casos, debido a tener limitadas las salidas, debemos utilizar sólo dos y en este caso, debemos cumplimentar de algún modo las dos bobinas que quedan libres. Como de costumbre, unos pequeños ejemplos ilustrarán mejor lo descrito.

CONTROL CON CUATRO CABLES.

unipolar4_cablesFig. 8  Unipolar con 4 hilos

En este ejemplo el código es muy sencillo y descriptivo, en primer lugar, se definen los pasos necesarios para girar 360º, sigue la configuración de los pines a utilizar del motor y el resto del corto código, para que gire en ambos sentidos, separado por una pequeña pausa.

Motor con cuatro cables.

La sencillez del código es debido principalmente al uso de la librería <Stepper.h> que, nos facilita el trabajo. Aunque es cierto que esta librería es muy básica, queda claro que es suficiente para este caso.

CONTROL CON DOS CABLES.

unipolar2_cablesFig. 9  Unipolar con 2 hilos

En este segundo ejemplo, el código es igual de sencillo. La diferencia estriba en lo que en la propia librería llaman construcción del motor (se refiere a la definición de los pines utilizados como salidas para el motor), he coloreado en el código, la línea que corresponde a dicha definición.

Motor con dos cables.

Como se puede comprobar he utilizado el mismo código. El cambio reside en la declaración de lo que se ha dado en llamar constructor del motor. Si revisamos la mencionada librería Stepper.h, podemos observar que dispone de dos tipos de constructores de motor:

// constructors:
Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2);
Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2, int motor_pin_3, int motor_pin_4);

Es bastante explicito. Veamos ahora un caso más sofisticado.

CONTROL DE DIRECCIÓN Y VELOCIDAD.

El siguiente esquema, representa el esquemático que voy a utilizar, en esta ocasión para controlar el avance o retroceso del giro de un motor unipolar. Dispondré de dos pulsadores, para iniciar los sentidos de giro y mediante el potenciómetro, modificaré la velocidad a voluntad en cada momento. He utilizado la rutina “parar todo” para hacer una parada antes de iniciar cada modo de giro, tiempo suficiente para vencer la inercia adquirida por el motor.

stepper_arduinoFig. 10

He aquí un pequeño ejemplo de conexión del uso de la plataforma Arduino, para controlar las cosas en el mundo real, sin necesidad de utilizar las librerías “Stepper.h”. Sigue, el listado del código que se encarga de generar los ocho pasos de la secuencia, descritos en los párrafos anteriores.

Motor Unipolar con pot.

Secuencia de medio-paso.

En este ejemplo, he utilizado la opción de aplicar una salida de Arduino, a cada uno los cuatro drivers del ULN2003 y sus salidas a cada devanado del motor unipolar. El terminal común, se aplica al positivo de la tensión que necesita el motor, en mi caso, al positivo +12V, recordar que sólo los negativos de ambas alimentaciones deben estar unidos. Con este método, no se requiere la librería que habitualmente se utiliza para controlar el motor unipolar.

UNIPOLAR FRENTE BIPOLAR.

Imán permanente y los motores paso a paso híbridos están disponibles con bobinas unipolar, bipolar o bifilar, esta última se puede utilizar en configuraciones unipolar o bipolar. La elección entre el uso de un sistema de accionamiento unipolar o bipolar se basa en cuestiones de la simplicidad y la unidad de potencia / peso.

Motores bipolares tienen aproximadamente un 30% más de par que un motor equivalente unipolar del mismo volumen. La razón de esto es que sólo la mitad de una bobina es energía en un momento dado en un motor unipolar. Un motor bipolar utiliza la totalidad de una bobina cuando está energizado.

El par más alto generado por un motor bipolar se no obtiene sin un precio. Los motores bipolares requieren circuitos de control más complejo que los motores unipolares. Esto tendrá un impacto en el costo de una aplicación. En caso de duda, un motor unipolar o el motor bifilar son buenas opciones. Estos motores se puede configurar como un motor unipolar o bipolar y la aplicación de pruebas con los motores que operan en cualquiera de los modos.

PAR NOMINAL O TORQUE.

El torque es una consideración crítica al elegir una motor paso a paso. Los motores paso a paso tienen diferentes tipos de par nominal. Estos están en:

  • Par de bloqueo – Al torque requerido para girar el eje del motor a la vez que las bobinas se energizan.
  • Par de palanca – El par contra el que un motor puede acelerar desde cero sin perder ningún paso, cuando se maneja a una velocidad constante paso a paso.
  • Par Extraíble – A la carga que un motor puede mover cuando está en velocidad de funcionamiento.
  • Par de Retén – Al torque requerido para girar el eje del motor, mientras que las bobinas no están energizados.

Los fabricantes de motor paso a paso, especifican varios o todos de estos momentos de torsión en sus hojas de datos para sus motores.

MOTORES HÍBRIDOS.

Los motores híbridos comparten los principios de funcionamiento de ambos motores paso a paso, imán permanente y de reluctancia variable. El rotor de un motor paso a paso híbrido es la cabeza de arranque múltiple, como el motor de reluctancia variable y contiene un imán magnetizado axialmente concéntrico alrededor de su eje. Los dientes en el rotor proporcionan una camino que ayuda a guiar el flujo magnético a lugares preferidos del entrehierro…

Bueno, esto ya se sale del cometido de este tutorial. Si está interesado en el tema, le aconsejo que lea la nota de aplicación AN907 (Stepper).

Este, ha sido un artículo en el que se ha intentado presentar, distintas formas de controlar el movimiento de un motor paso a paso unipolar. En los códigos, se presenta tres formas de activar las bobinas y de alguna forma los rendimientos de cada uno de los códigos.

Como es de costumbre, puede copiar dicho código y probar su efectividad, pulse sobre “CODIGO: Seleccionar todo” y proceda como viene haciendo en anteriores casos.

Esto es todo, por este simple tutorial.

Los Motores Unipolares (Stepper)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *