El ELM327 es un microcontrolador programable diseñado para traducir la interfaz de diagnóstico a bordo (OBD) presente en la mayoría de los automóviles modernos. El protocolo de comandos del ELM327 es uno de los estándares de interfaz PC-OBD más populares y también lo implementan otros fabricantes.
El ELM327 original se implementó en el microcontrolador PIC18F2480 de Microchip Technology . [ 1 ]
Mientras estuvo en el mercado, ELM Electronics también vendió otras variantes del producto, con números de pieza ligeramente diferentes, que implementaban solo un subconjunto de los protocolos OBD. [ 1 ]
En junio de 2020, ELM Electronics anunció que cerraría el negocio en junio de 2022. [ 2 ]
Usos
El ELM327 abstrae el protocolo de bajo nivel y presenta una interfaz simple que puede ser llamada a través de una UART , normalmente por una herramienta de diagnóstico portátil o un programa de computadora conectado por USB , RS-232 , Bluetooth o Wi-Fi . [ 3 ] Las nuevas aplicaciones incluyen teléfonos inteligentes. [ 4 ]
Hay una gran cantidad de programas disponibles que se conectan al ELM327. [ 5 ] [ 6 ]
La función de dicho software puede incluir instrumentación complementaria del vehículo , generación de informes y borrado de códigos de error.
Funciones del ELM327:
- Lea los códigos de diagnóstico de fallas, tanto genéricos como específicos del fabricante.
- Borra algunos códigos de error y apaga la luz indicadora de avería (MIL, por sus siglas en inglés, también conocida como luz de control del motor ).
- Mostrar datos actuales del sensor
- RPM del motor
- Valor de carga calculado
- Temperatura del refrigerante
- Estado del sistema de combustible
- Velocidad del vehículo
- Ajuste de combustible a corto plazo
- Ajuste de combustible a largo plazo
- Presión del colector de admisión
- Avance de tiempo
- Temperatura del aire de admisión
- Caudal de aire
- Posición absoluta del acelerador
- Voltajes del sensor de oxígeno /ajustes de combustible a corto plazo asociados
- Presión de combustible
Protocolos compatibles
Los protocolos compatibles con ELM327 son: [ 7 ]
- PWM SAE J1850 (41,6 kbit/s )
- SAE J1850 VPW (10,4 kbit/s)
- ISO 9141-2 (inicialización a 5 baudios, 10,4 kbit/s)
- ISO 14230-4 KWP (inicio de 5 baudios, 10,4 kbit/s)
- ISO 14230-4 KWP (inicio rápido, 10,4 kbit/s)
- CAN ISO 15765-4 (ID de 11 bits, 500 kbit/s)
- CAN ISO 15765-4 (ID de 29 bits, 500 kbit/s)
- CAN ISO 15765-4 (ID de 11 bits, 250 kbit/s)
- CAN ISO 15765-4 (ID de 29 bits, 250 kbit/s)
- SAE J1939 (250 kbit/s)
- SAE J1939 (500 kbit/s)
Conjunto de comandos
El conjunto de comandos ELM327 [ 8 ] [ 9 ] es similar a los comandos AT de Hayes .
Otras versiones

El ELM327 es un microcontrolador PIC personalizado con el código propietario de ELM Electronics que implementa los protocolos de prueba. Cuando ELM Electronics vendió la versión 1.4 de su ELM327, no habilitó la función de protección contra copia del microcontrolador PIC. En consecuencia, cualquiera que hubiera comprado un ELM327-v1.4 original podía usar un programador de dispositivos para leer el firmware propietario del microcontrolador de ELM como un blob binario . Los piratas podían producir fácilmente un clon del ELM327 comprando el mismo chip microcontrolador y programándolo con el blob copiado. [ 10 ] [ 11 ] Se vendieron ampliamente copias del ELM327 en dispositivos que afirmaban contener un dispositivo ELM327, y se han reportado problemas con las copias. [ 12 ] Los problemas reflejan errores que estaban presentes en el microcódigo de la versión 1.4 de ELM; quienes fabrican los clones pueden continuar vendiendo la versión antigua.
Aunque estas copias pueden contener el código ELM327 v1.4, pueden informar erróneamente el número de versión como la versión actual proporcionada por el ELM327 genuino, y en algunos casos informan una versión aún inexistente. [ 1 ] Las versiones de software publicadas para el ELM327 son 1.0, 1.0a, 1.1, 1.2, 1.2a, 1.3, 1.3a, 1.4, 1.4b, 2.0, 2.1, 2.2 y 2.3 solamente. [ 13 ] Las funciones reales de estas copias están, sin embargo, limitadas a las funciones del ELM327 v1.4 original, con sus deficiencias inherentes.
Esquema de versiones
v1.0 Lanzamiento público inicial, el ELM327 v1.0 admitía: – SAEJ1850 PWM y VPW, – ISO 9141-2 (10,4 y 9,6 kbit/s), – ISO 14230-4 (10,4 y 9,6 kbit/s), – ISO 15765-4 CAN (250 y 500 kbit/s) – Las velocidades de transmisión RS232 eran solo de 9,6 kbit/s o 38,4 kbit/s.
v1.0a – Ajuste de sincronización J1850 VPW para algunas camionetas GM de 1999 a 2000.
v1.1 – Se introdujeron parámetros programables – Se añadieron comandos de control de flujo
v1.2 – Las velocidades de transmisión RS232 son ajustables a 500 kbit/s – Los parámetros programables se pueden restablecer con un puente – Se introdujo la sincronización adaptativa – Se agregó compatibilidad con SAE J1939 (protocolo A) – Se agregaron los protocolos CAN B y C definidos por el usuario – Se modificaron los protocolos KWP para permitir encabezados de cuatro bytes
v1.2a – Se modificó la detección de errores para detectar encabezados KWP de 4 bytes si no hay datos o suma de verificación. – Se agregó una verificación para evitar la corrupción de la máscara CAN en ciertos envíos de control de flujo.
v1.3 – Sincronización adaptativa ajustada de forma ligeramente diferente – Varias mejoras en J1939 – Nuevos comandos CAN CRA para ayudar a configurar máscaras y filtros – Nuevos comandos CAN D0/D1 para imprimir el mensaje dlc – Nuevo comando CAN RTR para enviar el mismo – Se agregó control de caracteres de espacio en las respuestas – Nuevo mensaje STOPPED para interrupciones de usuario durante las búsquedas – Se introdujo el mensaje LV RESET para reinicios por bajo voltaje – Nuevos comandos @2 y @3 para almacenar el identificador único – Se agregó la capacidad de indicar el número de respuestas deseadas
v1.3a (aún disponible) – Se agregaron comprobaciones de cableado para cuando los pines CAN J1962 se utilizan para otras funciones.
v1.4 – Se agregó el modo de bajo consumo (función de suspensión) – Se agregó el modo de direccionamiento extendido para protocolos CAN – Se agregó compatibilidad con ISO 9141 e ISO 14230 a 4800 baudios – Permite el control manual sobre el inicio de ISO 9141 e ISO 14230 – Se proporcionó un byte de EEPROM para el almacenamiento de datos de usuario – Todas las interrupciones ahora muestran DETENIDO (no solo durante la búsqueda) – Muchos parámetros programables nuevos y añadidos
v1.4a Elm Electronics nunca fabricó una versión v1.4a
v1.4b (ya no disponible) – Nuevo comando CSM para monitorización CAN activa o pasiva – Nuevo comando CRA para restablecer rápidamente máscaras y filtros modificados – Varias actualizaciones SAE J1939
v1.5 Elm Electronics nunca fabricó una versión 1.5
v2.0 – Nuevo monitor de actividad que supervisa los pines OBD – La función de recuperación desde bajo consumo ahora conserva la configuración – Los AT CRA aceptan valores "no me importa" (X) – Los nuevos PP proporcionan un control ISO/KWP extenso – Se aumentó el búfer de transmisión RS232 a 512 bytes – El voltaje de reinicio por caída de tensión se redujo a 2,8 V
v2.1 – Aumenta la velocidad – Procesa las respuestas 'Respuesta pendiente' (7F xx 78) – Las búsquedas CAN ahora miden la frecuencia y requieren una coincidencia.
v2.2 – El comando AT CS ahora muestra la frecuencia CAN – Se agregaron velocidades de transmisión ISO/KWP de 12500 y 15625 bit/s – El nuevo comando AT CER hh permite definir la dirección CEA Rx – Los nuevos modos IFR 4, 5 y 6 controlan el envío de J1850 IFR durante la monitorización – Se agregó PP 1F para permitir que la longitud de KWP incluya el byte de suma de verificación – Se aumentó PP19 de 31 a 4F
v2.3 (última versión) – El nuevo comando AT FT añade otra capa de filtrado – Se han añadido tres modos de control de flujo CAN para experimentadores – La función Response Pending ahora funciona con el direccionamiento extendido CAN – Nuevos comandos AT IA y C0/C1 – Mayor tolerancia al ruido en RS232 Rx
Se pueden consultar cambios ligeramente más detallados en su última hoja de datos, en el capítulo de historial de versiones (págs. 94-95). [ 14 ]
Véase también
Referencias
- 1 2 3 "Información del producto ELM327" . ELM Electronics.
- ↑ "Página principal de ELM Electronics" . Archivado del original el 11 de junio de 2020. Consultado el 12 de julio de 2021.
...hemos decidido cesar nuestras actividades y cerrar el negocio a partir de junio de 2022.
- ↑ Miller, Tim (8 de agosto de 2021). "Adaptadores Bluetooth WIFI USB ELM327" . OBD Advisor . Consultado el 22 de noviembre de 2021 .
- ↑ Miller, Tim (15 de septiembre de 2021). "Aplicaciones ELM327 para Android/iOS" . OBD Advisor . Consultado el 22 de noviembre de 2021 .
- ↑ Miller, Tim (31 de octubre de 2021). "Software ELM327 para PC" . OBD Advisor .
- ↑ "Software compatible con ELM327" . Consultado el 15 de diciembre de 2020 .
- ↑ "ELM Electronics" . ELM Electronics .
- ↑ "Comandos AT del ELM327" (PDF) . ELM Electronics. Archivado del original (PDF) el 27 de febrero de 2012. Consultado el 6 de mayo de 2012 .
- ↑ "ELM327 v2.2 Intérprete OBD a RS232" (PDF) . ELM Electronics. Archivado del original (PDF) el 15 de enero de 2018.
- ↑ "83427-elm327-usb-vehicle-obd-2-scanner-tool" . Foro Priuschat . Consultado el 6 de mayo de 2012 .
- ↑ "Miniguía del ELM327 de eBay" . Reseña de usuario . eBay . Consultado el 6 de mayo de 2012 .
- ↑ "Por qué no deberías comprar un clon de Elm327" . Scantool . Consultado el 6 de mayo de 2012 .
- ↑ "Versiones de software ELM327" . ELM Electronics . Consultado el 28 de mayo de 2020 .
- ↑ "Hoja de datos ELM327 v2.3" (PDF) . ELM Electronics. Archivado del original (PDF) el 8 de marzo de 2021. Consultado el 28 de mayo de 2020 .
Enlaces externos
- Hojas de datos . ELM Electronics. Archivado del original el 10 de julio de 2020.
- Microcontroladores
- electrónica automotriz