Unidad de potencia para motores de corriente continua

Vista pictórica del driver con L298, versión simplificada.
Vista pictórica del driver con L298, versión simplificada.

Como anticipado en mi artículo "Como funciona un puente para motores DC", en este post les presento una unidad de potencia doble para controlar motores de corriente continua y baja tensión. El circuito, muy usado para la construcción de pequeños robots, trabaja con el circuito integrado L298, viejo caballo de batalla, que existe en el mercado desde hace ya bastante tiempo. Gracias a la renacida pasión de estos últimos años por los robots didácticos, el L298 goza de una nueva fama.
A través de internet podemos comprar algunos modelos de plaquetas con el L298, todas más o menos parecidas. De cualquier manera, he decidido de proyectar y construir una yo mismo, usando material que se puede encontrar fácilmente en comercio, porque pienso que hacerse las cosas en casa, desde cero, y sin depender de los pocos negocios on-line que centralizan y uniforman el comercio DIY sea una buena cosa.

Foto de la versión simplificada del driver para motores DC con L298 sin disipador.
Foto de la versión simplificada del driver para motores DC con L298 sin disipador.

 

El L298 es fundamentalmente un doble puente "H" de potencia integrado. En mi artículo: "Como funciona un puente para motores DC" he tratado el argumento de los puentes "H" en modo detallado. Por lo tanto, en esta entrada, dedicaré la atención a la construcción práctica del puente. El esquema en bloques del integrado lo pueden observar en la siguiente figura.

Diagrama interno del circuito integrado L298
Diagrama interno del circuito integrado L298.

Cada puente H está constituido por 4 transistores de potencia conectados a puertas lógicas "AND" cuyas entradas se encuentran disponibles para el control de los motores en los dos sentidos de marcha.

La tarjeta de potencia la he desarrollado en dos versiones distintas: una, simplificada para aplicaciones comunes y una más completa para aplicaciones especiales.

Circuito del driver con L298, versión simplificada.
Circuito del driver con L298 en su versión simplificada.

En realidad la diferencia entre ellas es mínima, la versión más completa dispone de pines extra para agregar sensores de corriente y dos terminales de control que permiten de habilitar los puentes. Por el contrario, en la versión simplificada, los puentes se encuentran siempre habilitados y los negativos están conectados directamente a masa.

Circuito del driver con L298, versión completa.
Circuito del driver con L298 en su versión completa.

El L298 puede trabajar con tensiones hasta de 46V y corrientes de 2A por cada canal (4A en total) en modo continuado aunque si es mejor no exceder con la potencia total que le pedimos al integrado. Con motores de potencia superior a 10W es mejor montar un disipador de calor como se ve en la fotografía.

Vista pictórica del driver con L298, versión completa.
Vista pictórica del driver con L298, versión completa.

Analicemos los circuitos electrónicos de la unidad de potencia en sus dos versiones. Más allá del L298 encontrarán pocos componentes. La parte lógica del L298 necesita de una alimentación aparte de 5V, para eso he usado un regulador integrado 78L05 que es el modelo pequeño del clásico 7805 y que permite una corriente de salida máxima de 100mA, más que suficiente para este uso.

Foto de la versión simplificada del driver para motores DC con L298.
Foto de la versión simplificada del driver para motores DC con L298.

Para visualizar la dirección de movimiento de cada motor, he usado leds de dos colores distintos (rojo y amarillo) conectados en paralelo y en oposición entre si. Podemos ver también los 8 diodos de protección necesarios. Ya he explicado para que sirven estos diodos en mi artículo anterior. Para estos diodos, la mejor elección sería la de usar diodos Schottky veloces, especialmente si pensamos usar nuestro driver para controlar motores de media potencia o con control de la velocidad por PWM (modulación por ancho de impulsos). En situaciones más tranquilas, diodos rectificadores del tipo 1N4007 cumplen su función correctamente.

Elenco de componentes (versión simplificada):

4 resistencias de 100 ohms
2 resistencias de 1,8K
1 capacitor de 100nF
2 capacitores de 22uF 25V
8 diodos 1N4007
2 led amarillos 3mm
2 leds rojos 3mm
1 regulador 5V 100mA 78L05
1 circuito integrado L298
4 conectores con bornes de dos vías
1 conector con bornes de 3 vías
1 circuito impreso
1 disipador de calor (opcional)

Circuito impreso del driver para motores DC versión simplificada.
Circuito impreso del driver para motores DC versión simplificada.

Las entradas de control de ambas versiones trabajan con lógica de 5V aunque si podemos usar sin inconvenientes señales de control de 3,3V. Las resistencias de 100 ohms en serie con las entradas sirven solo como protección y pueden ser reemplazadas por puentes hechos de alambre.

Conexiones y tabla de verdad del driver con L298, versión simplificada.
Conexiones y tabla de verdad del driver con L298, versión simplificada.

En las tablas lógicas podemos ver la lógica de control. El modelo simplificado dispone de dos entradas de control para cada motor (MA y MB) mientras que en la versión completa tenemos también la entrada de habilitación (ENA). Estas entradas no es necesario conectarlas a nuestro sistema de control porque los puentes se encuentran ya habilitados gracias a las dos resistencia de pull-up de 4,7K. Para deshabilitar los puentes basta aplicar una tensión cercana a 0V.

Elenco de componentes (versión completa):

6 resistencias de 100 ohms
2 resistencias de 4,7K
2 resistencias de 1,8K
1 capacitor de 100nF
2 capacitores de 22uF 25V
8 diodos 1N4007
2 led amarillos 3mm
2 leds rojos 3mm
1 regulador 5V 100mA 78L05
1 circuito integrado L298
2 puentes con pines de 2 vias
3 conectores con bornes de dos vías
1 conector con bornes de 7 vías
1 circuito impreso
1 disipador de calor (opcional)

Conexiones y tabla de verdad del driver con L298, versión completa.
Conexiones y tabla de verdad del driver con L298, versión completa.

La versión completa del driver incorpora dos puentes que permiten de trabajar midiendo la corriente de los motores. Si esta función no es necesaria, pueden simplemente dejar los puentes conectados (en corto). Si por el contrario sirve medir la corriente, es necesario desconectar los puentes y conectar entre los pines resistencias de Shunt y el respectivo sistema de medición. Existen dos motivos por los cuales puede ser útil medir la corriente de los motores: uno de ellos es el de detectar un consumo excesivo del motor como en el caso de los robots móviles cuando chocan contra un obstáculo.

Circuito impreso del driver para motores DC versión completa.
Circuito impreso del driver para motores DC versión completa.

El segundo motivo es más complejo y consiste en haber una realimentación para un control PWM de alta calidad. Sin embargo, ambos sistemas necesitarán de una electrónica adicional para amplificar la señal de las resistencias de Shunt y de software específico para el microcontrolador que va más allá de los objetivos de este artículo.  Quizás más adelante trataré este argumento en modo más detallado.

Foto del driver para motores DC con disipador de calor montado.
Foto del driver para motores DC con disipador de calor montado.

La versión completa de esta plaqueta puede ser usada también para controlar motores paso a paso (step motor) pero, debido a que cada motor paso a paso necesita de dos puentes de potencia para trabajar, podemos conectar solo un motor por tarjeta.

Para terminar, les cuento que he retomado el uso del baño que estaña los circuitos impresos (hacía tiempo que no lo usaba). Aquí les muestro una foto.

Foto del circuito impreso del driver con L298.
Foto del circuito impreso del driver con L298.

Hasta la próxima!

logo_descarga

Puente_L298_PCB (PDF) (3096 descargas )

Temas relacionados:

- Indice de todos los artículos de Inventable -

 

Los contenidos de este blog son originales y están bajo una licencia Creative Commons BY_NC_SA

Unidad de potencia para motores de corriente continua ultima modifica: 2017-06-12T22:49:08+02:00 da inventable

37 comentarios sobre “Unidad de potencia para motores de corriente continua”

    1. Hola Harry!!
      He usado unos cristales diluidos en agua que compré a la RS (código 567-812). Pones el líquido en un recipiente y sumerges la placa por algunos minutos. Más tiempo la dejas, mayor será el espesor depositado. La cosa importante es que el circuito impreso debe estar bien limpio.
      Hasta luego.

      Gabriel

    1. Hola Suso, si, es correcto lo que dices. He modificado la frase del artículo para que sea más claro este concepto. Gracias!
      Gabriel

    2. Preguntas respecto al motor y cargas
      El motor a controlar pude ser de 12 Vdc / 24 Vdc?
      Al variar la v elocidad el torque permanece costante?
      Que tipo de carga (Torque) puedo controlar con este diseño.
      Por la atención gracias.

      1. Hola Livio, el circuito funciona bien con 12V DC o con 24V DC. Respecto al torque, no entiendo la pregunta. El circuito es de tipo ON/OFF, no hay control de la velocidad salvo que a las entradas de control se aplique un sistema a impulsos (PWM). El torque depende del motor conectado y de eventual caja de reducción.

  1. Excelente y práctico montaje, como nos tienes acostumbrados.
    Felicitaciones Gabriel.

    Una consulta, veo que no le has colocado un disipador al L298.
    ¿no es necesario?
    Nunca he utilizado este integrado, pero algo me dice que debe calentar bastante aunque no se utilice a máxima carga….

    Saludos
    HJ

  2. Perdón, acabo de ver la foto con un buen disipador…. (eso sucede cuando estas viendo el artículo en el teléfono celular… jeje)
    Pero la consulta sigue en pié… me refiero a si no se produce algún estrés térmico el hacerlo andar sin disipador…
    Voy a bajar la hoja de datos y leerlas un poco… cuando pueda hacerme un tiempo…

    Saludos
    HJ

    1. Hola Héctor, he notado que la mayor parte de la gente usa estos puentes para controlar motores de robots móviles medio pequeños con corrientes que no superan los 100mA o 150mA. Con esas corrientes, el L298 calienta poco. Por ese motivo, probablemente, las plaquetas que se compran en Internet tienen disipadores bastante chicos que no pienso que sean muy eficaces con potencias elevadas. En otras aplicaciones donde se necesita mayor potencia me parece que se tiende a usar otro tipo de motores respecto a los CC
      Un abrazo.
      Gabriel

  3. Muy buen articulo, te hago una consulta tengo una aspiradora de mano la cual quiero conectar directamente a un transformador de 12v 4A (La bateria es de 12v) pero al conectarla mido la corriente y tiene un consumo de 10A aproximadamente y el puente de diodos (5A) obviamente se muere si lo dejo mas de 10 segundos conectado, mi pregunta es, no será excesivo este consumo?, o debo hacer un circuito similar a este para poder conectarla ?, desde ya muchísimas gracias por tu futura respuesta, y aguante MAR DEL PLATA !!!

  4. Hola Andrés: jajaja, el de Mardel es Gabriel, seguro que en algún momento te hará algún comentario 🙂
    Bueno, lo primero que hay que saber es cuánto consume la máquina en condiciones normales, es decir, solamente con su batería. El hecho de que sea de mano a veces es engañoso en cuanto al consumo. Lo sé por experiencia propia 🙁
    No creo sinceramente que una aspiradora consuma tanto (en mi caso fue otro aparato), pero sería ideal medir eso antes que nada.
    Te explico porqué: un transformador de «12 V» de los que se compran en cualquier lado, rara vez entregan 12 V (en mi larga experiencia nunca), siempre me vinieron de mayor tensión. Cuando además los rectificás y filtrás, la tensión puede irse fácilmente a 18 V o incluso un poco más. Si el trafo es de muy buena calidad, vas a estar en unos 16 V (más o menos).
    Si la máquina está preparada para 12 V, esto te va a producir un exceso de consumo, pero sin saber nada más es difíl adivinar.

    Tratá de medir dos cosas: el consumo de la máquina tal como te dije antes y además la tensión que entrega tu fuente, a ver si podemos entre todos deducir algo.

    ¡Saludos a Mardel! Hermosísima ciudad (excepto en vacaciones, jeje).

    Saludos,
    Juan

  5. Hola compañeros,
    en primer lugar felicitaros por vuestro site. Excelente.
    y sobre este articulo, yo construí algo parecido con un lm293, que es un puente H tambien.
    despues de tenerlo hecho se me ocurrio añadirle la posibilidad de que los motores giren a 2 velocidades(despacio y deprisa). y teniendo en cuenta que los motores que uso son con escobillas no necesito algo tan complejo como un PWM(que segun creo solo es realmente util si se usa en motores Brushless). Si no me equivoco bastaria con modificar la tension para variar la velocidad.
    le llevo dando vueltas un tiempo y no consigo un diseño que sea «sencillo» para conseguirlo.
    me podeis dar alguna idea?
    gracias de antemano y un saludo.

    1. Hola Juan, un par de preguntas: ¿con que fuente lo alimentas (tensión y corriente) y que tipo de control piensas de usar para elegir la velocidad (microcontrolador, interruptor, etc.)?

      Gabriel

      1. Hola Gabriel!
        en primer lugar gracias por responder.
        releyendo mi pregunta veo que no he sido muy concreto. (y ademas he cometido un typo, he dicho que he usado un LM293, en realidad es un L293) Lo lamento, espero me perdoneis.
        dicho esto, el circuito se alimenta con 4 pilas AA que alimentan al L293. (tanto a la parte lógica como a la parte de alimentación de motores.) por lo que la tensión es de alrededor de 5v(mas o menos) y la corriente es la que puede dar una de estas pilas….que puede ser … 1 amperio, más o menos. En la práctica midiendo con el tester he obtenido 700mA en caso de máxima carga del motor, 200mA en funcionamiento normal del motor y picos de 850mA en el momento de arranque.
        Respecto al control para regular la velocidad……… es donde me pierdo un poco (soy nuevo en este mundillo de electrones para arriba y para abajo… por ahora conozco la ley de Ohm y poco más).
        lo ideal para mi seria algo que funcionara con componentes discretos, o que no sean grandes controladores ..no sé, tal vez algo que se pueda activar a traves de un transistor bipolar, un mosfet o algo así. (corregidme si digo alguna burrada plis).
        Gracias y un saludo.

  6. Hola ,
    dibujando con el falstad he visto que puedo hacer algo similar a esto:

    |——————————————-|5v I —————- |
    | | |
    | | |
    | \ switch |
    | \_ |
    | | |
    | 10 Ohm | |
    |————-/\/\/\/\/——————— (M ) —————- |

    Con el switch abierto, la corriente pasa por la malla exterior atravesando la resistencia por lo que al llegar al motor aparecen resultados de 2.8v y una corriente en el circuito de 200mA.
    al cerrar el switch supongo que la corriente encuentra un camino mas «facil» (puesto que no tiene que atravesar resistencias) y llega al motor con 5v y una corriente en el circuito de 350 mA.
    La diferencia de tensión que aparece entre los dos estados supongo que se debe a que el conjunto de la resistencia de 10 Ohm más el motor (que ofrece su propia resistencia) forma un divisor de tensión.
    Con este arreglo, si cambiamos el switch (mecánico)por un componente electrónico (transistor, mosfet…..)que podamos activar desde nuestra consola podria funcionar? seria un circuito que cumpla con las recomendaciones(best practice) de electrónica?. o más bien una chapuza de principiante?
    Gracias de antemano.
    Un saludo.

  7. Hola ,
    vuelvo a poner el dibujo, que el formulario se ha comido los espacios en blanco. (los sustituyo por O )
    Espero que se entienda.
    |——————————————-|5v I —————- |
    |OOOOOOOOOOOOO |OOOOOOOOOOOOOOOO |
    |OOOOOOOOOOOOO |OOOOOOOOOOOOOOOO |
    |OOOOOOOOOOOO \ switch OOOOOOOOOOOO |
    |OOOOOOOOOOOO O\_ OOOOOOOOOOOOOOO |
    |OOOOOOOOOOOOO | OOOOOOOOOOOOOOO |
    |OOOOOO10 OhmOO |OOOOOOOOOOOOOOO |
    |————-/\/\/\/\/——————— (M ) —————- |

    Gracias de antemano.
    Un saludo.

    1. Yo usaría un regulador con salida de tensión variable como por ejemplo el LM317 y cambiaría automáticamente el valor de la resistencia de regulación, cambiando la tensión de salida.
      Escribí algo del LM317 en un post que se llama minicircuitos

      Gabriel

  8. puedo colocar un Joystick para regular la velocidad de lo motores? puedo hacer giro a 360°?
    Mandar info al mi correo:mbvideoclips@gmail.com

    Saludos

  9. Hola buenas tardes

    Estoy buscando información de la resistencia de sentado de corriente RS1 y RS2. Si mi motor funciona a 0,27A y 7.3v. Bipolar paso A paso, me pueden indicar como se que valores de resistencias van a ese pin?

    1. Hola Carlos, es un argumento medio largo para explicar aquí. El valor de las resistencias debe ser pequeño para no obstaculizar el pasaje de corriente que va a los motores per al mismo tiempo no demasiado porque la tensión que obtendrías no permitiría activar un sistema de detección de corriente. Por ejemplo, por Ley de Ohm, con resistencias de 1 ohm y corriente de 0,27A, en condiciones normales, obtendrías una tensión en la resistencia de 0,27V. Si el motor se bloquea y su corriente aumenta por ejemplo a 1A, la tensión subirà a 1V. Por lo tanto, si conectas la base de un transistor (a través de una resistencia de 1K), este empezaría a conducir cuando la corriente supera ya los 0,6A y podría activar un sistema de protección.
      Gabriel

  10. Hola, vi que Matias publico «»puedo colocar un Joystick para regular la velocidad de lo motores? «»
    Quiero saber si se puede colocar un Joystick para controlar el giro del motor y velocidad?

  11. Hola, como están… Soy nuevo en el estudio de la electrónica… Podrían decirme como se llama el software con el que desarrollan las vistas pictóricas como la «Vista pictórica del driver con L298, versión completa.»
    Me sería muy útil aprender a desarrollar imágenes tan claras como estas… Muchísimas gracias.

    1. Hola Fablo V, aclaro que solo soy un collaborador de Inventable.
      Como Gabriel(Inventable) explica en las FAQ, son imagenes hechas a través de lo años en programas de gráficos vectoriales (tipo Corel Draw).

      Saludos
      HJ

      1. Cito lo que escribió Gabriel enlas FAQ:
        » ¿Que programa se usa en Inventable para hacer los diseños de las vistas pictóricas?

        Yo uso un programa para diseño vectorial bastante común (Coreldraw o Inkscape). Con el tiempo he diseñado muchos componentes electrónicos (lo sigo haciendo ahora) que los uso para crear las vistas de las plaquetas. Es un trabajo largo y complejo pero los resultados que obtengo y la originalidad de los diseños justifica el esfuerzo.»

        Saludos
        HJ

  12. Hola, muy buena la explicación que das sobre el uso del L298.
    Yo tengo un serio problema, debo controlar un motor de 200 Vcc y no encuentro nada de información confiable.
    UD. tendrá algún circuito para esta aplicación?

  13. Hola Omar, soy sólo un colaborador.
    Debería aclararnos el tipo de control que necesita para el motor y su potencia. Son dos datos fundamentales. A partir de eso veremos si entre todos podemos avanzar algo.
    Díganos también, por favor, de dónde es usted.

    Saludos cordiales,
    Juan

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.