# data[].attributes.attachment_link.readable_text
¿Qué es un L298N?

El L298N es un controlador (driver) de motores, que permite encender y controlar dos motores de corriente continua desde Arduino, variando tanto la dirección como la velocidad de giro.

Como comentamos frecuentemente Arduino, y en general todos los autómatas, no disponen de potencia suficiente para mover actuadores. De hecho, la función de un procesador no debe ser ejecutar acciones si no mandar ejecutar acciones a drivers que realicen el "trabajo pesado".

El L298N también puede controlar un único motor de paso a paso aunque, en general, preferiremos usar dispositivos específicamente diseñados para motores paso a paso.

La corriente máxima que el L298N puede suministrar a los motores es, en teoría, 2A por salida (hasta 3A de pico) y una tensión de alimentación de 3V a 35V.

Sin embargo, el L298N tiene una eficiencia baja. La electrónica supone una caída de tensión de unos 3V, es decir, la tensión que recibe el motor es unos 3V inferior a la tensión de alimentación.

Estas pérdidas se disipan en forma de calor lo que se traduce en que, a efectos prácticos, es difícil que podamos obtener más de 0.8-1A por fase sin exceder el rango de temperatura de funcionamiento.

El L298N incorpora protecciones contra efectos que pueden producirse al manejar motores de corriente continua. Dispone de protecciones contra sobre intensidad, sobre temperatura, y diodos de protección contra corrientes inducidas (flyback).

El controlador L298N es ampliamente usado en proyectos electrónico y robótica, por su sencillez de uso, bajo coste, y buena calidad precio.

Precio

Es controlador L298N es un componente barato, podemos encontrarlo por 1,40€ en vendedores internacionales de AliExpress o eBay.

¿Cómo funciona un L298N?

Básicamente un L298N consiste en dos puentes-H, uno para la salida A y otro para la salida B.

Un puente-H es un componente ampliamente utilizado en electrónica para alimentar una carga de forma que podemos invertir el sentido de la corriente que le atraviesa.

Internamente un puente-H es una formación de 4 transistores, conectados entre Vcc y GND, con la carga a alimentar entre ellos. Dibujado en esquema el conjunto tiene forma de "H", de la que recibe su nombre su nombre.

Actuando sobre los 4 transistores, activando los transistores opuestos en diagonal de cada rama, podemos variar el sentido en el que la corriente atraviesa la carga

Conectando simultáneamente los transistores superiores o inferiores, podemos poner la carga Vcc o Gnd respectivamente, configuración que usaremos como freno.

Por último, nunca debemos encender ambos transistores de un mismo ramal (izquierda o derecha), ya que estaremos provocando un cortocircuito entre Vcc y GND.

La placa L298N incorpora electrónica que simplifica la conexión al puente H, agrupando las conexiones en 3 pines accesibles (por cada salida) y eliminando la posibilidad de generar un cortocircuito.

Dos de estos pines, IN1 y IN2 (IN3 y IN4 para la salida B), controlan el encendido de los transistores de cada una de las dos ramas, encendiendo el ramal superior o inferior de la misma.

El tercer pin (IEA/IEB) desactiva simultáneamente todos los transistores del puente-H, desconectando la carga por completo.

Esquema montaje

La placa de conexión del L298N incorpora una entrada de voltaje, una serie de jumpers para configurar el módulo, dos salidas A y B, y los pines de entrada que regulan la velocidad y el sentido de giro.

La entrada de tensión proporciona el voltaje que alimentará a los motores. El rango de entrada admisible es de 3V a 35V y se suministra mediante los 2 terminales izquierdos de la clema de conexión entrada.

El tercer terminal de la clema de conexión, Vlógico, está conectado con la electrónica del L298N y es necesario que tenga un valor entre 4.5 y 5.5V para que la placa funcione correctamente.

Para ello el módulo incorpora un regulador de voltaje que suministra la tensión necesaria en Vlógico. Este regulador puede desactivarse quitando el jumper de la placa. Desactivaremos el regulador cuando la tensión de alimentación sea inferior a 5V o superior a 15V.

Por tanto:

Si el regulador está activado (jumper cerrado) Vlógico es una salida de 5V que podemos emplear para alimentar otros dispositivos.

Si el regulador está desactivado (jumper abierto), Vlógico es una entrada a la que tendremos que proporcionar un voltaje de 4.5 a 5.5V.

Por otro lado, tenemos las dos clemas de conexión A y B que suministran la salida a los motores.

Por último, tenemos los pines de entrada que controlan la dirección y velocidad de giro.

Los pines IEA, IN1 e IN2 controlan la salida A.

Los pines IEB, IN3 e IN4 controlan la salida B.

Los pines IN1, IN2, y IN3 e IN4, controlan la dirección de giro, respectivamente, de la salida A y B.

Los pines IEA y IEB desactivan la salida. Podemos conectarlos permanentemente mediante el uso de un jumper, o conectar una señal PWM para controlar la velocidad de giro.

En el caso de querer usar ambas fases, y poder elegir tanto el sentido de giro como la velocidad, y alimentar desde una fuente de 12V, el esquema de conexión a Arduino sería el siguiente.

Mientras que la conexión, vista desde el lado de Arduino, sería la siguiente.

La alimentación de Arduino en este caso podría realizarse desde la fuente de 12V al pin Vin de Arduino (usando el regulador de voltaje de Arduino), o desde el pin Vlogico del L298N al pin 5V de Arduino (usando el regulador del L298N).

Ejemplos de código

Para controlar los dos motores, debemos activar correctamente las salidas digitales conectadas a los pines IN1 y IN2 (salida A), o los pines IN3 e IN4 (salida B).

Las posibles combinaciones son:

Respecto a los pines IEA y IEB, usaremos una salida PWM para controlar la velocidad de giro.

El siguiente código mueve hacia adelante el motor de la salida A al 80% de velocidad.

El código necesario para controlar el L298N no es complicado pero si no somos limpios puede crecer rápidamente de tamaño, lo cuál será un problema cuando lo integremos en proyectos más grandes, como vehículos o robots.

Por tanto resulta conveniente agrupar y reutilizar el código en funciones que simplifiquen su uso.

El siguiente código enciende ambos motores en un sentido, a continuación en sentido contrario, y finalmente los para por completo, para después volver a iniciar el ciclo.

Como vemos, con las funciones que hemos hecho resulta sencillo mover un robot adelante y atrás, e incluso es sencillo usarlas para hacer que gire o haga trayectorias. En un proyecto complejo, funciones similares estuvieran integradas dentro de nuestro modelo de objetos.

Usaremos el controlador de motores L298N frecuentemente en nuestros proyectos, y dentro de poco veremos algún proyecto como robots o vehículos que hacen uso del L298N.

Descarga el código

Todo el código de esta entrada está disponible para su descarga en Github.

# data[].attributes.attachment_link.title
Controlar motores de corriente continua con Arduino y L298N

# data[].attributes.attachment_link.description
Aprendemos a controlar dos motores de corriente continua con Arduino y el driver L298N, que nos permite variar el sentido de giro y la velocidad

# data[].attributes.attachment_link.readable_text
Si eres un aficionado a la electrónica o estás interesado en el mundo de la tecnología, debes saber que tarde o temprano necesitarás en tus proyectos realizar algún tipo de movimiento, y para ello nada mejor que un motor.

En un artículo anterior vimos los conceptos fundamentales de un Motor DC con Arduino, ahora continuamos con el stepper motor o motor paso a paso (PaP), su funcionamiento básico, sus características y la forma de controlarlo utilizando Arduino y los drivers ULN2003 y L298N.

Puedes ingresar a la segunda parte de este artículo, donde hablamos sobre los drivers A4988, DRV8825 y TMC2209.

El motor paso a paso es muy utilizado actualmente ya que podemos obtener con él un control de movimiento y un posicionamiento preciso, algo que no podemos lograr con un motor DC. Lo podemos encontrar en todo tipo de impresoras, máquinas CNC, escáneres, lentes de cámaras, equipos biométricos y un largo etcétera.

Así que, prepárate una buena taza de café y empecemos.

¿Qué es y para qué sirve un motor paso a paso?

Un motor paso a paso es un dispositivo electromecánico que convierte unos pulsos eléctricos en movimientos mecánicos discretos, es decir, que su eje gira por saltos o pasos cada vez que unos pulsos eléctricos se aplican en él correctamente. Cada paso es una rotación en un ángulo determinado por el fabricante del motor.

El motor paso a paso es un motor DC sin escobillas ( brushless) y se utiliza cuando se necesitan giros lentos y de precisión. Estos beneficios no se pueden lograr con un motor DC convencional, debido a la inercia al momento de arrancar o parar y ese es un valor difícil de determinar ya que depende de muchas variables. Su torque o par motor, es mayor a baja velocidad y se decrementa a las velocidades altas.

En la imagen inferior observamos la forma física característica de un motor paso a paso.

Son muchas las aplicaciones que podemos dar a un motor paso a paso. Debido a que se puede colocar y alinear de forma muy precisa, es la solución ideal en cualquier proceso automatizado. Se utiliza en el posicionamiento de la unidad láser de Blu-Ray, impresoras de todo tipo, automóviles, robots, drones, equipos médicos y en maquinaria industrial, entre otros.

Como puedes ver, los usos del motor paso a paso van desde nuestro hogar hasta la industria aeroespacial.

En la imagen superior, observamos el motor paso a paso de la unidad de alimentación de filamento ( feeder drive) en la extrusora de una impresora 3D.

¿Cómo funciona un motor paso a paso?

Al igual que un motor DC, un motor paso a paso consta de una parte fija llamada estator donde están colocadas las bobinas y una parte móvil llamada rotor que puede o no estar construido de un imán permanente. Aquí podemos encontrar una primera diferencia respecto a un motor DC común donde el estator es un imán permanente y el rotor tiene las bobinas.

Podemos observar en la imagen superior los múltiples polos, tanto en el estator como en el rotor.

Aunque parece que en el estator hay 8 bobinas diferentes, en realidad solo hay 2, divididas en varias bobinas pequeñas.

Para comprender el funcionamiento de un motor paso a paso, repasemos unos conceptos básicos.

Magnetismo

Algunos materiales naturales o sintéticos, tienen una propiedad llamada magnetismo. Esta característica les permite atraer o repeler a cierto tipo de materiales. Generalmente, llamamos a los materiales que poseen magnetismo, imanes.

Los imanes pueden tener diversas formas, pero notamos que en sus extremos, llamados polos, aparecen dos letras N (norte) y S (sur). Estos polos surgen de micro corrientes internas que dan lugar a líneas de campo magnético cerradas que salen del material y vuelven a entrar en él, por sus polos.

Ahora bien, una propiedad fundamental de la interacción entre los imanes es que los polos iguales se repelen o rechazan y los polos opuestos se atraen.

Electromagnetismo

Al estudio conjunto de los fenómenos eléctricos y magnéticos se le llama electromagnetismo. El motor eléctrico es uno de los muchos dispositivos que se basan en el principio electromagnético.

Ahora bien, los motores tienen en su interior bobinas o inductores, que son componentes eléctricos que debido al fenómeno de autoinducción, generan un flujo o campo electromagnético cuando se hace circular por ellas una corriente eléctrica.

Si observamos el campo electromagnético generado en una bobina cuando por ella circula corriente eléctrica, como se muestra en la imagen inferior, y lo comparamos con las líneas de campo magnético de un imán, notaremos una gran similitud. Se coloca un núcleo de material ferromagnético a la bobina para concentrar las líneas de campo electromagnético.

También vemos la generación de polos norte y sur. Podemos decir que una bobina mientras sea recorrida por una corriente eléctrica, se vuelve un imán, por eso se le suele llamar electroimán o solenoide (del griego "solen", que significa tubo).

Luego de este rápido repaso, volvamos al motor paso a paso y analicemos su funcionamiento básico, indicaremos acá el llamado de paso completo, también existe el medio paso y el micro paso, como veremos más adelante.

Una representación gráfica simplificada para nuestro motor sería como la que se muestra en la imagen inferior.

Tenemos la Bobina 1, con sus dos terminales llamados A y B, por otro lado, la Bobina 2 y sus terminales C y D. Observamos también el rotor, que en nuestro caso es un imán permanente con sus polos norte y sur.

Para hacer rotar el motor paso a paso 90° a la izquierda, coloquemos una tensión en la Bobina 1.

El campo electromagnético generado en la Bobina 1 atraerá al polo norte del rotor, haciéndolo girar 90°.

Ahora energicemos la bobina 2.

El campo electromagnético generado en la Bobina 2 atraerá al polo norte del rotor, haciéndolo girar otros 90°.

Ahora invirtamos la polarización de las bobinas como se muestra en la figura inferior; esto hará fluir su campo electromagnético en dirección contraria al anterior y ahora atraeremos al polo sur del rotor.

Finalizamos el giro completo de 360° alimentando a la Bobina 2, pero con la polaridad opuesta como se indica abajo.

Aunque la explicación está bastante simplificada, es suficiente para concluir que si ajustamos cuidadosamente la polarización de las bobinas podemos hacer girar el motor paso a paso en la dirección deseada y al variar la frecuencia de esos pulsos, lograremos el control de la velocidad del motor.

Seguro estarás pensando que con saltos de 90°, nuestro motor imaginario sería bastante torpe en su movimiento :) y tienes razón. La solución para lograr movimientos más suaves se logró de manera ingeniosa.

En la práctica, para suavizar el movimiento de nuestro motor imaginario, debemos dividir internamente las dos bobinas 1 y 2 como muestra la figura inferior y también hacer múltiples hendiduras o dientes tanto en el rotor como en el estator, logrando de esta forma micro polos magnéticos. Para mejorar su alineación magnética y por tanto su precisión, el rotor tiene más dientes que el estator y no todos los dientes del rotor y del estator se alinean al mismo tiempo.

En este ejemplo y para simplificar el funcionamiento del motor paso a paso, explicamos uno que da saltos de 90°; allí alimentamos solo una bobina (monofásico), pero generalmente se energizan las dos bobinas (bifásico) en forma adecuada, logrando así aumentar la velocidad y el torque, claro que con un mayor consumo de potencia.

Hacer girar un motor paso a paso no es tan simple como hacer girar un motor DC, se requiere un circuito de control que deberá ajustar las señales de avance de paso, sentido de giro y velocidad con la correcta secuencia de energización de las bobinas.

Pasos por revolución en un motor paso a paso

Según como se polaricen las bobinas de un motor paso a paso, podemos tener tres tipos de funcionamiento:

También llamado movimiento por ola ( wave drive). Aquí se excita una bobina y luego la otra, se consigue un buen torque y consumo medio de potencia.

Sabemos que el círculo se divide en 360° y el eje de un motor paso a paso al hacer un giro completo, puede hacerlo en una determinada cantidad de pasos, que dependerán del fabricante del motor.

Para calcular el número de grados por cada giro completo del eje del motor paso a paso, usamos la siguiente fórmula:

Por ejemplo, el motor paso a paso NEMA 17, que es uno de los más utilizados, gira una revolución completa en 200 pasos y por tanto si dividimos 360°/200, resulta que cada paso del motor equivale a 1.8°.

Otro motor paso a paso muy utilizado es el 28BYJ-48, da 64 pasos por revolución, por tanto 360°/64 nos resulta 5.62° para cada paso del motor.

En ocasiones nos darán el número de grados y nos pedirán el número de pasos o saltos para realizar una vuelta completa.

Si nuestro motor paso a paso gira en saltos de 90° ¿cuál será el número de pasos en un giro completo del eje?

Es decir, el número pasos para dar un giro completo son 4.

Aquí se excitan dos bobinas simultáneamente, se consigue el máximo torque, pero también el mayor consumo de potencia.

En este caso el número de grados por paso se divide entre dos. Por ejemplo, un motor paso paso NEMA 17 gira una revolución completa en 200 pasos o 1.8° por paso, trabajando en modo paso completo, en funcionamiento de medio paso sería de 0.9° por paso o 400 pasos por giro.

Para lograr esto y como se muestra en la imagen superior se deben energizar las dos bobinas con las polaridades adecuadas para colocar el rotor en una posición intermedia por estar atraído por ambas bobinas.

En el caso que ya hemos estudiado de paso completo, eran 4 pasos por giro completo del motor, ahora serán 8. Como consecuencia, al duplicar la resolución angular, lograremos mayor torque y suavidad en el desplazamiento.

En este modo el ángulo de paso natural de un motor paso a paso puede ser dividido en ángulos mucho menores, generalmente entre 10 y 256.

Como ejemplo el motor paso a paso NEMA 17, que gira 1.8° por cada paso, con una división entre 10 se movería a 0.18° por paso, lo que equivale a 2000 pasos por revolución.

Para trabajar en modo micropaso, la corriente que se proporciona a las dos bobinas del motor paso a paso debe ser limitada y debe ser controlada en forma secuencial. Un método que se utiliza para lograrlo es mediante la técnica de modulación de ancho de pulso PWM ( Pulse Width Modulation).

En el funcionamiento por micropasos se logra la mayor suavidad en el desplazamiento y la mayor resolución en los pasos del motor.

Ventajas y desventajas de un motor paso a paso
Ventajas:

Al ser un motor sin escobillas es más confiable y duradero

Trabaja en lazo abierto, no necesita retroalimentación (encoders)

Excelente respuesta en el arranque y en la parada del motor

Mayor facilidad para controlar su velocidad

Mejor precisión en los desplazamientos

Gran rango en la velocidad de rotación

Aunque el par motor disminuye al aumentar la velocidad, es superior en baja velocidad a un motor DC

Torque de detención, que significa que se mantiene firme en su posición cuando no está girando

Rápido arranque por el torque elevado a baja velocidad

Desventajas:

No son convenientes si la inercia del sistema es alta, o sea, que el tiempo de aceleración y desaceleración sea largo.

No hay forma de conocer dónde está ubicado el motor paso a paso en el momento del arranque, por eso necesita algún tipo de sensor de fin o inicio de carrera, los servomotores superan esta dificultad; aunque al colocar el motor paso a paso en un circuito de lazo cerrado, esta dificultad queda salvada y se mejoran las características del motor paso a paso.

Necesitan de una programación (software) específico para la activación secuencial correcta de las fases del motor, para lograr su adecuado funcionamiento.

Mayor gasto de energía, al consumir en reposo y en funcionamiento.

Tipos de motores paso a paso

Según su construcción, podemos decir que un motor paso a pas o puede ser de tres tipos:

Motor paso a paso de imán permanente

El rotor es un imán permanente magnetizado radialmente

El par motor es alto

El paso puede estar entre 45 y 90° (baja resolución)

Aumentando los polos del rotor, el paso puede bajar a 7.5°

La velocidad es relativamente lenta

Motor paso a paso de reluctancia variable

El rotor es dentado y de hierro dulce

Buen torque de retención

Alta velocidad

Son poco usados

Bajo par

Motor paso a paso híbrido

Es el más usado

El rotor es de imán permanente magnetizado axialmente

Alto torque

El paso puede estar entre 0.9 a 5° (buena resolución)

Pueden ser operados a alta velocidad de pasos

Según la configuración de sus bobinas podemos tener:

Motor paso a paso unipolar

Funciona con una polaridad de corriente

Pueden tener 5 o 6 cables (uniendo o no los cables comunes)

Es más simple de controlar

La interfaz de potencia o driver es sencilla

Para reconocer las bobinas del motor paso a paso unipolar se debe utilizar el multímetro y medir la resistencia de los devanados, se puede reconocer el punto común o derivación central ya que su resistencia será la mitad con respecto a los extremos de la bobina.

Motor paso a paso bipolar

Funciona con dos polaridades de corriente

Este tipo de motor paso a paso tiene 4 cables

Más complejo de controlar ya que para realizar un movimiento requieren un cambio en la dirección del flujo de corriente en las bobinas en una secuencia apropiada

Como interfaz de potencia o driver necesita 2 puentes H

Al no tener derivación central las dos bobinas de un motor paso a paso bipolar, es fácil medir la resistencia eléctrica de las mismas con un multímetro. También se puede colocar un diodo emisor de luz (LED) y girar el eje del motor paso a paso, invirtiendo el LED de ser necesario, hasta lograr la iluminación del mismo.

Características a la hora de elegir un motor paso a paso

Las características más importantes para escoger un motor paso a paso para nuestros proyectos son:

Es la más importante ya que de este parámetro dependen todas las demás características del listado. Podemos encontrarlo en el chasis del motor.

Aquí se hace referencia a si es bipolar o unipolar.

Es la cantidad de cables que vemos salir del motor paso a paso.

Hace referencia al número de bobinas a las que podemos acceder, no necesariamente de forma independiente, ya que pueden tener derivaciones centrales independientes o las mismas estar unidas en las dos bobinas con una salida común.

Es la resistencia eléctrica de los bobinados y determina el consumo de corriente del motor. A menor resistencia, mayor corriente podrá circular.

La inductancia es una propiedad de las bobinas que nos indica cuánto se opone la bobina a los cambios de la corriente a través de ella. La unidad de medida es el Henrio o una fracción de él (mH).

Muestra el rango de tensiones posible que se puede aplicar al motor paso a paso; como siempre debemos respetar esos valores especificados por el fabricante.

Cuántos saltos o pasos debe dar el motor para que su eje realice un giro completo.

De los 360° del giro completo, cuántos grados gira el eje del motor paso a paso en cada paso.

Este dato nos indica las revoluciones o vueltas por minuto (rpm) que da el eje del motor paso a paso.

Algunos motores paso a paso poseen caja reductora, así disminuye su velocidad y aumenta su torque; el factor de reducción nos indica cuántas vueltas debe girar el motor paso a paso para que podamos ver un giro completo en el eje exterior de la caja reductora.

Se mide en Amperios o en mA y nos indica el consumo de corriente de cada bobina del motor paso a paso.

Al ser el motor paso a paso un dispositivo mecánico debe vencer ciertas inercias y por tanto se debe tener en cuenta la frecuencia de los pulsos que se le apliquen. Si es superior a la que debe tener el motor para su funcionamiento correcto, puede girar erráticamente o vibrar y no arrancar.

Se refiere a la fuerza del motor. Aunque podemos definir varios torques:

Torque de retención ( detent torque): se refiere al torque máximo aplicado cuando el motor está sin energizar y que no provoque la rotación del eje.

Torque de arranque ( pull in torque): es el torque máximo para arrancar el motor paso a paso y vencer su inercia para alcanzar la velocidad deseada.

Torque de giro ( pull out torque): nos indica el máximo torque que el motor paso a paso puede proporcionar sin perder pasos.

Torque de anclaje ( holding torque): es el torque máximo aplicado al motor paso a paso estando detenido y energizado sin provocar la rotación de su eje.

Importante para conseguir la polea del motor paso a paso.

Para poder acoplar la polea al eje del motor paso a paso, debemos conocer la forma del eje del mismo.

Se especifica la longitud del eje en milímetros y su forma, los más comunes son los redondos y en forma de D.

Otras características deseables pueden ser la potencia, el código de colores de los cables para identificar las bobinas, el peso y el tamaño del motor, temperatura de operación, entre otras.

Como siempre, lo más indicado en caso de dudas, es recurrir a la hoja de datos técnica ( datasheet) del fabricante del motor paso a paso.

Motores NEMA 17 y NEMA 23

Es probable que si estás empezando en la tecnología o en el mundo de Arduino, no hayas escuchado hablar de la Asociación Nacional de Fabricantes Eléctricos ( National Electrical Manufacturers Association, NEMA).

NEMA es una asociación estadounidense de fabricantes de equipos eléctricos y electrónicos que define un conjunto de normas en la manufactura de estos equipos, que rigen en Estados Unidos y Canadá, pero el resto de países los emplea y se ajusta a sus normas.

Estas normas cubren varios aspectos, tales como nomenclatura, composición, construcción, dimensiones, tolerancias, seguridad, entre otras.

Cuando hablamos de un motor paso a paso NEMA, hacemos referencia a que su construcción aprobó los estándares de fabricación exigidos por la asociación.

Los motores paso a paso NEMA 17 y NEMA 23, son muy utilizados en impresoras 3D, máquinas CNC y robótica de precisión.

El número 17 o 23 se refiere al diámetro que tiene el motor, o sea el tamaño del marco ( frame size); por ejemplo el NEMA 17 tiene dimensiones de encapsulado de 1.7 x 1.7 pulgadas, el motor paso a paso NEMA 23 mide 2.3 x 2.3 pulgadas.

Comparemos las características principales de estos dos motores:
Motor paso a paso NEMA 17

Modelo: 17HS3001-20B

Tipo de motor: bipolar

Número de conductores: 4

Fases: 2

Resistencia del devanado: 1.7 Ω

Tensión de alimentación: 3.3-24 VDC

Pasos por revolución: 200

Ángulo de paso: 1.8°

Consumo de corriente: 1.2 A / fase

Torque: 0.4 Newton/metro o 4 kg/cm

Motor paso a paso NEMA 23

Modelo: 57H1876-420-8-21B

Tipo de motor: bipolar

Número de conductores: 4

Fases: 2

Resistencia del devanado: 0.6 Ω

Tensión de alimentación: 5-36 VDC

Pasos por revolución: 200

Ángulo de paso: 1,8°

Consumo de Corriente: 4.2 A / fase

Torque: 1.8 Newton/metro o 18 kg/cm

Hemos tomado diez de las características técnicas básicas y podemos observar que la mayor diferencia la encontramos en el torque y la corriente (aunque estas diferencias varían de acuerdo con el modelo del motor paso a paso analizado); por estas características el motor paso a paso NEMA 17 es muy utilizado en impresoras 3D y cortadoras láser, donde no es necesario un gran torque y el motor paso a paso NEMA 23 es utilizado en Routers CNC y máquinas que requieran mayor torque, esto se verá también reflejado en el costo del motor.

Motor paso a paso 28BYJ-48 y driver ULN2003

Como has visto, al momento de trabajar en nuestros proyectos con motores paso a paso hay que tener en cuenta varios detalles. Lo más importante es definir qué controlador o driver y que motor paso a paso necesitaremos.

Para el controlador nada mejor en nuestro caso que utilizar el Arduino que tengamos a disposición.

Ya que un motor paso a paso consume una corriente elevada y puede necesitar una tensión mayor a los 5 VDC de nuestro Arduino, no podemos realizar una conexión directa entre ellos. Se requiere un manejador ( driver) o interface para brindar al motor la tensión y la corriente necesarias.

Una de las parejas motor paso a paso- driver más utilizadas en proyectos donde la velocidad y el torque que se requieran no sean muy altos, es el motor paso a paso 28BYJ-48 y como driver el circuito integrado ULN 2003. Por comodidad, al momento de realizar los proyectos, se utiliza el módulo ULN2003.

En la imagen superior observamos al motor paso a paso 28BYJ-48. Este modelo en particular es de 5VDC.

Vemos que el eje del motor paso a paso 28BYJ-48 es excéntrico debido a la caja reductora que posee, la cual reduce la velocidad y aumenta el torque.

Resumen de las características principales del motor paso a paso 28BYJ-48

Veamos las especificaciones técnicas del motor paso a paso 28BYJ-48

Modelo: 28BYJ-48

Tipo de motor: unipolar

Número de conductores: 5

Fases: 4

Resistencia del devanado: 50 Ω

Tensión de alimentación: 5-12 VDC

Potencia: 20 W

Pasos por revolución del eje del motor: 32 (paso completo)

Ángulo por paso: 11.25°

Reducción de velocidad: 1:64 (por la caja reductora)

Consumo de corriente: 240 mA

Frecuencia máxima: 100 Hz que equivale a un delay de 10 ms

Torque: 0.034 Newton/metro o 0.34 kg/cm

Temperatura de operación: -45°C a +125°C

Hay que tener en cuenta que la caja reductora reduce la velocidad del motor en una relación de 1:64. Es decir, el motor interno gira a 2048 pasos por vuelta en paso completo o 0.175° por paso.

En la imagen inferior el módulo ULN2003.

Veamos sus características principales

Puede funcionar con 5-12 VDC

4 LED que indican cuando se excita una bobina

4 resistencias para proteger los LED

Chip ULN2003 en una base o zócalo

1 condensador de desacoplo en los pines de alimentación del chip

4 entradas para el controlador, por donde entran los pulsos

Puentes (jumpers) para seleccionar el voltaje de funcionamiento (5V o 12V)

Hay que puentear el voltaje que no se utiliza

Conector Molex para el motor; no hay forma de equivocarse en su conexión

Driver para motores paso a paso ULN2003

El corazón del módulo driver ULN2003 es el circuito integrado ULN2003; como vemos en la imagen inferior está compuesto por 4 búfer ( buffer) inversores de señal independientes; de manera resumida, cada búfer está conformado por transistores Darlington que amplifican e invierten la señal de entrada. Es decir, un nivel lógico bajo (0) en la entrada IN1 obtendrá un nivel alto (1) en la salida A y viceversa.

El motor paso a paso 28BYJ-48 tiene 5 cables, el código de color dado por el fabricante es:

Azul y amarillo para una bobina y rosa y naranja para la otra bobina. El punto común a las dos bobinas es de color rojo y va al positivo de la fuente de alimentación, por tanto, para excitar una bobina se debe aplicar un alto al driver ULN2003 ya que este invierte la señal de entrada y con el nivel bajo a la salida, se excitará la bobina.

Conectar motor paso a paso a Arduino

Para realizar las conexiones que aparecen en el diagrama pictórico inferior, utilicemos como guía la siguiente tabla.

Programando el motor paso a paso

Como de costumbre podemos programar utilizando una librería o de forma manual. Empecemos sin usar librerías realizando pruebas con el motor paso a paso 28BYJ- 48 y el driver ULN2003.

Debido a que el 28BYJ-48 es un motor unipolar (4 bobinas), lo podemos mover de tres maneras diferentes, movimiento por ola o paso completo, movimiento normal y movimiento de medio paso. Veamos como funcionan cada uno de estos movimientos.

Aquí utilizaré unos códigos creados por nuestro amigo Luis del Valle Hernández.

Programación manual de un motor paso a paso 28BYJ-48 y driver ULN2003
Paso completo
A esta altura del artículo podemos hablar ya un poco técnicamente y seguro lo puedes entender.

Podemos lograr el paso completo del motor paso a paso unipolar 28BYJ-48 de dos formas:

1. Movimiento por ola, como muestra la tabla inferior. Al energizar solo una bobina por paso, el torque y consumo son moderados.

2. Movimiento Normal (par maximo) . Como recomienda el fabricante según muestra la tabla de abajo, donde vemos que con un pequeño "truco" se logra el paso completo alimentando las dos bobinas en solo 4 pasos, logrando mayor torque, pero mayor consumo de potencia.
Movimiento de medio paso
Es una solución intermedia, que logra un movimiento lento y suave. Conseguimos el medio paso del motor paso a paso unipolar 28BYJ-48 alimentando sus 4 bobinas como muestra la tabla inferior:

Programación del motor paso a paso a través de una librería

Las librerías nos facilitan mucho la existencia, lo comprobamos con este sencillo programa que utiliza la librería Stepper.

Driver para motores paso a paso L298N

Para controlar un motor paso a paso bipolar, uno de los módulos más populares es el L2 9 8N.

Analicemos los componentes y la función de los pines del módulo L298N.

El circuito integrado L298N es el driver que utiliza el módulo, tiene un doble puente H completo, lo que le permite manejar dos motores DC o un motor paso a paso bipolar

La corriente máxima que soporta es de 2 amperios

Los diodos de protección del driver, se encuentran en el módulo

Necesita una tensión interna o externa de 5 V para su lógica

La tensión de entrada al módulo (Vin), está comprendida entre 5 V hasta los 35 V

Si usamos un Vin hasta 12V dejamos colocado el puente (J)

Posee un regulador de tensión de 5 V (78M05), cuya salida está marcada como 5 V en la bornera

Si usamos un Vin mayor de 12 V quitamos el puente (J) y el terminal marcado como 5 V actúa como entrada y debemos colocar allí una fuente de tensión de 5 V para la lógica del driver L298N

Los pines habilitadores (EnA y EnB) activan los motores con HIGH (puentes conectados)

Aspectos generales en un motor paso a paso bipolar

Como sabemos un motor paso a paso bipolar tiene cuatro cables, dos para cada bobina, requieren que el flujo de corriente cambie de dirección en las bobinas en secuencias adecuadas y un circuito de control y drivermás complicados que el de un motor paso a paso unipolar.

Los motores unipolares mantienen su punto común a positivo y por tanto la corriente no cambia de sentido, de allí su nombre. Con los bipolares necesitamos como driver dos Puente H, uno para cada bobina. La característica del puente H es que puede hacer circular la corriente de un motor en dos direcciones. También podemos usar un controlador- driver especializado para un motor paso a paso bipolar.

La tabla para controlar un motor bipolar se muestra en la imagen inferior.

Cómo controlar un motor paso a paso con Arduino y L298N

Podemos utilizar el motor paso a paso 28BYJ-48, que como sabemos es unipolar, pero no usaremos su terminal común de color rojo; también debemos separar la pista de cobre que une las dos derivaciones centrales de cada bobina, para ello quitamos la tapa donde están las soldaduras de los cables, como muestra la imagen inferior; de tal forma se comportará como si fuera un motor paso a paso bipolar.

O podemos usar un motor paso a paso NEMA 17, que es uno de los más populares.

Diagrama de conexiones

Recordemos que estamos alimentando con una fuente de tensión de 12 VDC y debe estar conectado el puente que habilita la salida de 5 V que usaremos para polarizar el Arduino.

Recuerda hacer comunes las tierras, (GND) del módulo driver L298N y GND de Arduino.

Código

Para facilitar el control de un motor paso a paso bipolar usamos la librería Steeper que viene en el IDE de Arduino y modificamos un poco uno de los ejemplos que incluye la librería.

La librería Stepper es básica y no permite realizar muchas funciones al motor paso a paso. Usaremos aquí el ejemplo para mover el motor paso a paso.

Invocamos a la librería Stepper.

Configuramos el motor: el primer parámetro es el número de pasos, como usamos el NEMA 17 será 200. Luego los 4 pines que usaremos del Arduino, 8, 9, 10, y 11, que irán a los pines del driver L298N llamados IN1, IN2, IN3 e IN4 respectivamente.

En la función principal setup() definimos la velocidad del motor con la función setSpeed().

En la función principal loop() hacemos girar una cantidad determinada de pasos, puede ser desde 0, o sea nada, hasta los giros que desees; media vuelta sería 100, por ejemplo. Para eso usamos la función step(). Aquí daremos una vuelta completa al eje del motor paso a paso en una dirección y hacemos una pausa de un segundo, antes de invertir el giro.

Finalmente hacemos girar el motor paso a paso una vuelta completa en dirección opuesta y hacemos una pausa nuevamente.

La librería stepper tiene otros ejemplos, como el MotorKnob (perilla del motor). En el mismo, se indica el enlace al sitio web oficial de Arduino, allí se explica la forma de controlar la velocidad del motor paso a paso unipolar o bipolar usando un potenciómetro y una entrada análoga.

Para simplificar el uso del motor paso a paso bipolar, se utilizan varios modelos de controlador- driver especializados, uno de los más usados es el A4988, también conocido como "Pololu". Este módulo es fiable y de bajo costo.

Con el módulo A4988 podemos controlar la resolución de los pasos del motor desde el paso completo hasta 1/16 de paso y limitar la corriente de las bobinas del motor paso a paso, el Arduino solo debe utilizar dos puertos de salida, uno para la dirección del motor y otro para generar un paso con la frecuencia deseada. Esto se logra sin incluir secuencias de pasos ni librerías.

Otro controlador muy utilizado es el TMC2208 o su versión actualizada el TMC2209.

Conclusiones sobre el motor paso a paso

Ha sido un poco extenso el artículo :) pero el tema de motores paso a paso y sus controladores lo ameritan.

Espero que hayas recordado un poco acerca de este tipo de motores o si apenas empiezas en el mundo maker hayas aprendido de este interesante tema.

Gracias por leer y hasta un próximo artículo.

Gracias a Depositphotos por la cesión de las imágenes.

# data[].attributes.attachment_link.title
Motor Paso a Paso 28BYJ-48 con Arduino junto al driver ULN2003 y el L298N

# data[].attributes.attachment_link.description
Aquí verás que es y como funciona un motor paso a paso, como el 28BYJ-48 o los motores NEMA. Además, se usa el driver ULN2003 y el L298N junto a Arduino

# data[].attributes.attachment_link.description
Escornabot es un proyecto de código/hardware abierto cuyo objetivo es acercar la robótica y la programación a los niños y niñas.

# data[].attributes.body
Club robotica granada