Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos

Componentes y suministros

ComponenteCantidadNotas
Arduino UNO1Placa principal
Shield CAN-BUS SparkFun1Interfaz CAN para Arduino
Header macho 36 posiciones 1 fila (0.1")1Para el shield CAN-BUS SparkFun
Cable OBD-II a DSUB-9 (SparkFun)1Estándar internacional para makers
Cable OBD-II a DSUB-91Estándar alemán/europeo para makers
CANdiy-Shield v2 CAN-Bus Shield1Voltaje de E/S seleccionable 3.3V/5V, compatible con placas de 3.3V
Caja para Arduino1Agotada en tienda oficial, disponible en distribuidores

Aplicaciones y servicios online

Sobre este proyecto

Intención

Conduzco un coche eléctrico, un smart fortwo electric drive. La salud de la batería de tracción es esencial y se mantiene mediante un sistema de gestión de baterías (BMS). Este monitoriza las 93 celdas durante la carga y descarga, asegurando un equilibrio de voltaje uniforme. Normalmente, solo las herramientas de servicio pueden leer información de esta ECU.

El coche lleva un módem GSM para acceder a datos de estado como el estado de carga (SOC), la autonomía disponible y otra información básica. Durante un tiempo, el módem estuvo en modo extendido recopilando información de diagnóstico del vehículo. Por curiosidad, intenté escuchar el bus CAN para saber qué se transmitía.

Inspirado por proyectos similares para otros coches eléctricos, como el Nissan Leaf, registré todo el tráfico del bus CAN mientras conducía o cargaba el coche. Las primeras capturas incluían esos datos de diagnóstico, pero ¿cómo decodificarlos?

Encontrarás detalles sobre el sniffing del bus CAN y la ingeniería inversa en un artículo separado.

Qué se necesita

Consigue el hardware necesario. En coches modernos, la capa física se realiza mediante bus CAN. Hay al menos dos shields CAN disponibles (ver lista de componentes). Debes conectar al puerto de diagnóstico del coche (conector OBD), así que compra un cable o haz el tuyo propio. NOTA: Existen dos estándares para cables OBD a DSUB-9; elige el correcto. Ver imágenes abajo:

ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos
ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos
ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos
ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos

Al fabricar tu propio cable, es buena idea usar un cable de red de par trenzado viejo. Usa uno de esos pares para CAN-H y CAN-L, mejorando la integridad de la señal. También NO superes 1 metro de longitud para minimizar reflexiones de señal.

Primeros pasos

Paso 1: Preparar el hardware

Prepara el hardware y busca una caja adecuada para las placas.

ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos
ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos

Paso 2: Descargar y programar

Descarga el proyecto desde mi repositorio de GitHub. Consulta los detalles de instalación allí. Compila el código y flashea el Arduino.

Paso 3: Conectar al coche

Conecta al coche y enciéndelo. Inicia la sesión de diagnóstico y obtén información útil sobre tu paquete de baterías.

ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos
ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos

Paso 4: Análisis de datos

Usa una hoja de cálculo para encontrar datos correlacionados. Por ejemplo, compara el SOC (Estado de Carga, del salpicadero) con el SOC real del BMS. O grafica los voltajes de las celdas y observa cómo algunas limitan el paquete durante la carga al alcanzar primero el límite de corte.

ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos
ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos

Paso 5: Mejoras y personalización

Mejora el código si lo deseas. El shield SparkFun tiene lector de tarjeta SD, así que podrías construir tu propio registrador de bus CAN. O crea un frontend/app bonito para visualizar los datos.

¡Espero que esta herramienta sea útil! ¡Diviértete!

Código

Software ED_BMSdiag para Arduino

https://github.com/MyLab-odyssey/ED_BMSdiag.git

Esquemáticos

Para shield CAN-BUS SparkFun:
ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos

Para CANdiy-shield:
ED BMSdiag – Kit de diagnóstico Arduino CAN‑BUS y OBD‑II para vehículos eléctricos

Proceso de manufactura

  1. Guía Profesional de Animación Bitmap en Pantalla Táctil ILI9341 2.4″ con Shield para Arduino
  2. Sistema de Iluminación DMX Controlado por Web – Controlador Maestro Arduino
  3. Construye un Spybot controlado por Bluetooth con Arduino
  4. FlickMote: Mando IR por gestos para Smart Home
  5. TV‑B‑Gone DIY con Arduino: Mando universal para apagar cualquier TV
  6. Construye un Reloj Maestro LED Personalizado con Alarma – Visible desde 12 Metros
  7. Reloj HSV: Reloj Vibrante y Personalizable para Entusiastas de Arduino
  8. Vehículo Controlado por Android con Raspberry Pi, Arduino y Motor Shield: Guía Completa
  9. Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth
  10. Soluciones de Alimentación Optimizadas para Proyectos Arduino
  11. Tres en raya con Arduino, matriz LED MAX7219 y carcasa de cartón