Radares Mirando al Sur

Fundamentos, Tecnologías, Aplicaciones, Historia y Memoria

BMS: el secreto de cómo proteger tus baterías

Hoy vamos a hablar de los Battery Management Systems, esos guardianes silenciosos que evitan que tus preciosas celdas de litio acaben convertidas en un bonito adorno humeante. Si has montado algún proyecto con baterías Li-ion o LiFePO₄, sabrás de lo que hablo. Y si no, prepárate, porque esto te va a interesar.

¿Qué es un BMS?

Un Battery Management System (Sistema de Gestión de Baterías) es, en esencia, el cerebro que vigila constantemente el estado de un paquete de baterías. No es solo un «protector»; es un sistema que monitoriza voltajes, corrientes y temperaturas, y toma decisiones en tiempo real para mantener las celdas dentro de sus límites seguros. Piensa en él como el ángel de la guarda de tus baterías: siempre atento, siempre listo para cortar la corriente ante el menor síntoma de peligro.

Su función va más allá de la protección. Un BMS también se encarga de equilibrar las celdas (balanceo) para que todas tengan el mismo nivel de carga, de estimar el estado de carga (State of Charge, SOC) y el estado de salud (State of Health, SOH). Pero hoy nos vamos a centrar en lo que realmente importa para el maker: las protecciones.

Las 4 protecciones básicas de un BMS

Aunque los BMS comerciales incluyen muchas más funcionalidades, hay cuatro protecciones fundamentales que no pueden faltar en ningún sistema digno de ese nombre. Son las que marcan la diferencia entre una batería que dura años y una que dura… bueno, menos.

1. Protección por sobrecarga (Overcharge Protection)

El enemigo número uno de las baterías de litio es el exceso de voltaje. Cuando una celda Li-ion supera los 4.2 V (o 3.65 V en el caso de las LiFePO₄), empiezan a producirse reacciones químicas irreversibles que pueden llevar a la fuga térmica y, en el peor de los casos, al incendio. El BMS monitoriza el voltaje de cada celda y, si detecta que alguna ha alcanzado el límite, desconecta la carga.

2. Protección por sobredescarga (Over-discharge Protection)

El otro extremo es igual de peligroso. Dejar que una celda de litio baje de 2.5 V – 3.0 V provoca daños internos que reducen drásticamente su capacidad y vida útil. El BMS corta la descarga cuando el voltaje cae por debajo del umbral seguro. Esa es la razón por la que muchos dispositivos se apagan de golpe en lugar de dejar que la batería se agote por completo.

3. Protección por sobrecorriente (Overcurrent Protection)

Tanto en carga como en descarga, una corriente excesiva puede generar calor y dañar las celdas. El BMS incluye un temporizador y un umbral: si la corriente supera el valor permitido durante un tiempo determinado, se abre el circuito. En algunos sistemas, esta protección se divide en dos niveles: sobrecorriente y cortocircuito, siendo este último una respuesta casi instantánea.

4. Protección por sobretemperatura (Overtemperature Protection)

El calor es el asesino silencioso de las baterías. El BMS incorpora sensores de temperatura (normalmente NTC) que monitorizan tanto la temperatura de las celdas como la del entorno. Si la temperatura supera los límites establecidos (por ejemplo, 45 °C en carga o 60 °C en descarga), el sistema detiene la operación.

Modelos de BMS para el ecosistema Arduino

Aquí es donde la cosa se pone interesante para nosotros, los makers. Existen básicamente dos enfoques para integrar un BMS con Arduino: usar módulos BMS comerciales ya cerrados, o construir nuestro propio sistema con circuitos integrados especializados.

Módulos BMS comerciales

Son la opción más rápida y económica para proyectos que no requieren un control fino. Los encontrarás en todas partes bajo nombres como «BMS 4S 40A» o «HX-4S-D20». Estos módulos incluyen los cuatro tipos de protección descritos y, a menudo, también balanceo pasivo. Se conectan directamente al paquete de baterías y ofrecen conectores para carga y descarga.

Algunos de los más comunes son:

  • BMS 1S: Para una sola celda, normalmente integrado en el famoso módulo de carga TP4056.
  • BMS 2S, 3S, 4S: Para paquetes de 2, 3 o 4 celdas en serie, con corrientes que van desde los 10 A hasta los 40 A o más.
  • BMS para LiFePO₄: Específicos para este tipo de química, con voltajes de corte diferentes a los de las Li-ion estándar.

La pega de estos módulos es que no suelen ofrecer comunicación con el microcontrolador. Son «cajas negras» que hacen su trabajo sin que podamos leer los datos de las celdas.

BMS programables con Arduino

Aquí es donde brilla el verdadero espíritu open source. Podemos construir nuestro propio BMS utilizando circuitos integrados específicos y controlarlos desde un Arduino. El rey indiscutible en este terreno es la familia bq769x0 de Texas Instruments.

Estos ICs (bq76920 para hasta 5 celdas, bq76930 para hasta 10, y bq76940 para hasta 15) son analog front-ends que se encargan de medir voltajes, corrientes y temperaturas, y de controlar los MOSFETs de protección. Se comunican con el Arduino mediante I²C, y existe una excelente librería que facilita enormemente su uso.

Con esta configuración, no solo tenemos todas las protecciones, sino que además podemos:

  • Leer el voltaje de cada celda individualmente.
  • Estimar el estado de carga (SOC) y el estado de salud (SOH).
  • Ajustar los umbrales de protección mediante software.
  • Implementar balanceo activo o pasivo.
  • Enviar los datos a una pantalla, a la nube, o a un sistema de monitorización remota.

Otro IC interesante es el LTC6804 de Analog Devices, que se utiliza en sistemas más profesionales y también tiene soporte para Arduino.

BMS con comunicación UART

Existen también módulos BMS comerciales que incluyen comunicación UART (como los de la marca JBD), lo que nos permite leer su estado desde un Arduino sin tener que diseñar el hardware nosotros mismos. Estos módulos ya incluyen todas las protecciones y el balanceo, y además nos proporcionan datos como el porcentaje de carga, la corriente, y el estado de las protecciones.

¿Por qué deberías construir tu propio BMS?

La respuesta es sencilla: control. Un BMS comercial te da protección, pero no te dice qué está pasando realmente dentro de tus baterías. Con un Arduino y un bq769x0, puedes saber en todo momento el voltaje de cada celda, la temperatura, la corriente, y tomar decisiones informadas. Además, puedes ajustar los parámetros a las necesidades específicas de tu proyecto, algo que con un módulo cerrado es imposible.

Orlando L. Rodríguez González, Ingeniero Eléctrico, graduado en el Instituto de Ingenieros del Transporte de Moscú. PhD en Procesamiento de las Señales de Radar por la CUJAE. Profesor Titular de Electrónica en la Universidad de Camagüey.

Y no nos engañemos: también tiene su punto maker. Montar tu propio BMS, programarlo y verlo funcionar es una satisfacción que ningún módulo chino te va a dar. Te leo en los comentarios y cualquier consulta, aquí estamos

Comentarios

Deja una respuesta

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