El CAN bus es la red de dos cables por la que la batería, la máquina y el cargador se cuentan lo que necesitan saber: cuánta carga queda, cuánta corriente se puede pedir, a qué tensión hay que cargar o si hay una alarma. Cuando una batería de litio y una máquina no "hablan" el mismo CAN, aparecen los problemas típicos de una integración: la máquina no arranca, el indicador de carga no marca bien o el cargador no carga a la corriente adecuada.
En este artículo explicamos qué es el CAN bus, qué información viaja por él, cómo funciona lo justo para entenderlo y cuáles son los fallos más habituales al conectar una batería, tanto si vas a sustituir la batería de una máquina como si estás diseñando un vehículo nuevo.
El CAN bus, en una frase
Es un idioma común y un cable compartido para que todos los equipos electrónicos de una máquina se comuniquen entre sí sin necesidad de un cable para cada conversación.
Lo desarrolló Bosch en los años 80 para el automóvil, donde el número de centralitas y de cables crecía sin control. Hoy está en coches, carretillas elevadoras, AGV, maquinaria agrícola y de obra, y en casi cualquier equipo industrial con varias centralitas.
Qué se dicen la batería, la máquina y el cargador
El BMS (el sistema de gestión de la batería) es uno de los nodos de la red. Lo habitual es que envíe, varias veces por segundo, mensajes como estos:
- Estado de carga (el porcentaje que ves en el indicador) y estado de salud de la batería.
- Tensión, corriente y temperatura de la batería.
- Corriente máxima de descarga y de carga permitida en ese momento.
- Alarmas y avisos: temperatura alta o baja, celda fuera de rango, fallo de aislamiento…
La corriente permitida es la parte que más se nota en el día a día. Si la batería está fría, el BMS reduce la corriente de carga que acepta y el cargador se adapta automáticamente. Si una celda se acerca a su límite durante una subida de rampa, el BMS reduce la corriente de descarga y la máquina limita su potencia antes de que haga falta desconectar. Sin esa conversación, la única protección posible es cortar, y la máquina se para de golpe.
Cómo funciona, lo justo

Dos cables y una diferencia de tensión. La red son dos hilos trenzados, CAN_H y CAN_L. Para transmitir un 0 (bit "dominante"), CAN_H sube a unos 3,5 V y CAN_L baja a unos 1,5 V: hay unos 2 V de diferencia. Para transmitir un 1 (bit "recesivo"), los dos se quedan en torno a 2,5 V y la diferencia es prácticamente cero. Como los receptores solo miran la diferencia entre los dos hilos, una interferencia eléctrica que afecte a los dos por igual (por ejemplo, la de un motor de tracción cercano) no altera el mensaje.
Todos escuchan a todos. No hay un equipo que mande sobre los demás. Cada mensaje lleva un identificador que dice qué contiene (por ejemplo, "estado de la batería") y cada nodo decide si le interesa. El identificador también marca la prioridad: si dos equipos empiezan a transmitir a la vez, gana el de identificador más bajo, sin que se pierda el mensaje ni se repita nada. El otro espera y lo intenta justo después.
Mensajes cortos y comprobados. En el CAN clásico cada mensaje lleva como máximo 8 bytes de datos, más un código de comprobación (CRC) que permite a los receptores detectar errores de transmisión, y una confirmación de que alguien lo ha recibido. Un nodo que acumula errores se desconecta solo de la red, para no bloquear la comunicación del resto.
Resistencias en los extremos. Cada extremo de la red lleva una resistencia de 120 Ω. Sin ellas, la señal rebota al llegar al final del cable, como un eco, y se mezcla con los bits siguientes.
Las normas y los "idiomas" del CAN
La norma de referencia es la ISO 11898: la parte 1 define cómo se forman y se arbitran los mensajes, y la parte 2, la capa física del CAN de alta velocidad, hasta 1 Mbit/s, que es el que se usa en vehículos y maquinaria.
Lo que esa norma no dice es qué significa cada mensaje. Que dos equipos tengan CAN es como que dos personas tengan teléfono: pueden llamarse, pero no garantiza que hablen el mismo idioma. Encima del CAN se usan protocolos que lo definen:
- CANopen, muy extendido en maquinaria industrial y carretillas. La asociación CiA publica perfiles específicos para módulos de batería (CiA 418) y cargadores (CiA 419).
- SAE J1939, el estándar de los vehículos pesados, la maquinaria agrícola y la de obra.
- Protocolos propios de cada fabricante de máquinas, descritos normalmente en una lista de mensajes o en un archivo DBC.
Casi todo el trabajo de integración de una batería está aquí: en que la batería envíe los datos que la máquina espera, con el identificador, el formato y la frecuencia que espera.
Los fallos más habituales al integrar una batería
1. Velocidades distintas. Todos los nodos de la red tienen que trabajar a la misma velocidad: 125, 250, 500 kbit/s o 1 Mbit/s son las más comunes. Una batería configurada a 250 kbit/s en una máquina que trabaja a 500 kbit/s llena la red de errores y nadie se entiende.
2. Terminación incorrecta. Se comprueba en un minuto con un polímetro: con todo apagado, la resistencia entre CAN_H y CAN_L debe rondar los 60 Ω (dos resistencias de 120 Ω en paralelo). Si mides 120 Ω, falta una. Si mides unos 40 Ω, sobra una, algo que pasa a menudo cuando la batería nueva trae su propia resistencia activada y la máquina ya tenía las dos.
3. Identificadores duplicados. Si la batería nueva usa un identificador que ya usa otro equipo de la máquina, los mensajes chocan y la información llega mezclada.
4. Cableado. Cable no trenzado, derivaciones largas desde la línea principal hasta cada nodo, malla mal conectada a tierra o el cable de comunicación tendido junto al de potencia del motor.
5. Protocolo distinto. La parte física funciona y los mensajes circulan, pero la máquina no entiende lo que dice la batería porque espera otro protocolo u otro formato. Es el caso más frecuente al sustituir una batería original por otra de otro fabricante.
La longitud de la red también limita la velocidad: como referencia, unos 40 m a 1 Mbit/s, unos 100 m a 500 kbit/s y unos 250 m a 250 kbit/s. En una carretilla o en un AGV las distancias son cortas y no suele ser un problema, pero sí lo son las derivaciones largas.
Qué preguntar sobre el CAN antes de comprar una batería
- ¿Qué protocolo usa? ¿CANopen, J1939 o uno propio? ¿Coincide con el de mi máquina y mi cargador?
- ¿A qué velocidad trabaja? ¿Se puede configurar?
- ¿Pueden adaptar los mensajes al protocolo de mi equipo? Un fabricante que desarrolla su propio BMS puede hacerlo; uno que lo compra a terceros depende de otro.
- ¿Hay documentación de los mensajes? La lista de mensajes o el archivo DBC es lo primero que pedirá tu equipo de ingeniería.
- ¿La batería lleva resistencia de terminación? ¿Se puede desactivar?
- ¿Qué hace la batería si se pierde la comunicación? Debe pasar a un modo seguro y avisar, no quedarse a ciegas.
El CAN bus en NCPower
Desarrollamos nuestro propio BMS, y se comunica a través de CAN bus con la máquina y con el cargador. En vehículos y maquinaria la conversación es con la centralita del equipo; en AGV y robots móviles, la integración se hace por CAN bus con el PLC del vehículo. Al ser un BMS propio, podemos adaptar los mensajes al protocolo que usa cada máquina, en lugar de obligar a la máquina a adaptarse a la batería.
Si estás diseñando un vehículo, en nuestro artículo sobre las claves de la integración del BMS en vehículos eléctricos tienes el resto de puntos a revisar, y en la guía qué es un BMS y por qué decide la vida de tu batería de litio, todo lo que hace el BMS además de comunicar. Más detalles sobre nuestro BMS con comunicación CAN bus en nuestra página de tecnología.
¿Por dónde empezamos?
¿Sustituyes una batería de plomo? Mándanos una foto de la placa de tu batería actual y el modelo de máquina y cargador. Te decimos qué batería de litio le corresponde y cómo se comunicará con tu equipo.
¿Diseñas un vehículo o un AGV? Pásanos el protocolo y la lista de mensajes de tu controlador, y nuestros ingenieros te explicarán cómo integrar la batería y su BMS. También puedes pedirnos un asesoramiento preliminar.
Escríbenos desde la página de contacto de NCPower y te respondemos.
