Usos y fundamentos del ODB2


¿Ha notado que la luz indicadora de mal funcionamiento aparece en su tablero de instrumentos? Pues ese mensaje  le dice que hay un problema y que debe visitar a un mecánico. En el pasado, esto solo indicaría un problema, ¡pero hoy en dia gracias al interfaz ODB2  hay  más orientación pues  su mecánico utilizará un escáner OBD2 para identificar la causa, para lo cual  conectará el lector OBD2 al conector OBD2 de 16 pines cerca de la rueda del conductor y  esto le permitirá leer los códigos OBD2 AKA Códigos de diagnóstico de problemas (DTC) y comprender el problema. ¡Sin desarmar el coche!

El diagnóstico a bordo (OBD) es el sistema de autodiagnóstico incorporado en la mayoria de los  vehículos modernos indicando cuando hay un error a través de la ‘luz indicadora de mal funcionamiento’ permitiendo a un mecánico (o a usted) solucionar problemas al escanear códigos de diagnóstico de problemas (DTC) .OBD2 se ejecuta en bus CAN en la mayoría de los vehículos hoy y  lo mas importante; se puede acceder al sistema OBD2 a través de un conector OBD2 de 16 clavijas que se encuentra a 0,61 m del volante lo cual dará  muchas posibilidades para un sinfin de aplicaciones

 

 

 

Historia

El sistema se origina en California, donde la Junta de Recursos del Aire de California(CARB) que requirió en todos los automoviles nuevos a partir de 1991 para fines de control de emisiones determimando  que todos los automóviles a gasolina contaran con OBD (On Board Diagnostics), el cual  controlara los límites máximos de emisiones y además un autocontrol, el On Board Diagnostics de componentes relevantes de las emisiones de gas a través de dispositivos de mando electrónicos. Ademas ,para que el conductor detectese  un mal funcionamiento del OBD se impuso la obligación de tener una lámpara que indique fallos (MIL – Malfunction Indicator Lamp).

Medidas más estrictas en los límites de emisiones en 1996 llevó a la creación del OBD II.  El estándar OBD2 fue recomendado por la Society of Automotive Engineers (SAE) y los DTC estandarizados y el conector OBD en todos los fabricantes ( SAE j1962 )  y desde 1996 el OBD II es un requisito legal para automóviles nuevos en Estados Unidos. 

En Europa se introdujo el OBD ajustándose al OBD-II americano y con base en esta regla americana se impuso en los noventa la inclusión de sistemas de diagnóstico también para los automóviles destinados al mercado europeo,mas concretamente según la Directiva 98/69EG, los automóviles a gasolina del año 2000 en adelante, los diésel de 2003 en adelante, y los camiones de 2005 en adelante tienen que estar provistos de un OBD. La interfaz estándar del OBD-II no solamente es utilizada por el fabricante para sus funciones avanzadas de diagnóstico sino también por aquellos que van más allá de lo que la ley exige.

 

A partir de ahí, el estándar OBD2 se implementó paso a paso :

  • 1996: OBD2 se hizo obligatorio en Estados Unidos para automóviles y camiones ligeros.
  • 2001: Requerido en la UE para automóviles de gasolina.
  • 2003: Requerido en la UE también para autos diesel (EOBD)
  • 2005: OBD2 fue requerido en los EE. UU. Para vehículos de servicio mediano
  • 2008: los autos de los EE . UU. Debían usar ISO 15765-4 (una variante de CAN) como base para OBD2
  • 2010: Finalmente, se requirió OBD2 en vehículos pesados ​​de EE. UU.

¿Mi coche tiene OBD2?

La siguiente etapa planeada es el OBD-III, en el que los propios automóviles se comunican con las autoridades si se produce un empeoramiento de las emisiones de gases nocivos mientras está en marcha. Si esto sucede, se pedirá a través de una tarjeta indicativa, que se corrijan los defectos

Interfaz de diagnóstico OBD1

OBD I fue la primera regulación de OBD que obligaba a los productores a instalar un sistema de monitorización de algunos de los componentes controladores de emisiones en automóviles. Obligatorios en todos los vehículos a partir de 1991, sin embargo fue creada esta tecnología en 1983 así como implementada en algunos vehículos americanos en 1987 y 1988, los sistemas de OBD I no eran tan efectivos porque solamente monitorizaban algunos de los componentes relacionados con las emisiones, y no eran calibrados para un nivel específico de emisiones.

OBD II

OBD II es la segunda generación del sistema de diagnóstico a bordo, sucesor de OBD I. Alerta al conductor cuando el nivel de las emisiones es 1.5 mayor a las diseñadas. A diferencia de OBD I, OBD II detecta fallos eléctricos, químicos y mecánicos que pueden afectar al nivel de emisiones del vehículo. Por ejemplo, con OBD I, el conductor no se daría cuenta de un fallo químico del catalizador. Con OBD II, los dos sensores de oxígeno, uno antes y el otro después del catalizador, garantizan el buen estado químico del mismo.

El sistema verifica el estado de todos los sensores involucrados en las emisiones, como por ejemplo la inyección o la entrada de aire al motor. Cuando algo falla, el sistema se encarga automáticamente de informar al conductor encendiendo una luz indicadora de fallo (Malfunction Indication Lamp (MIL), también conocida como Check Engine o Service Engine Soon).

Para ofrecer la máxima información posible para el mecánico, guarda un registro del fallo y las condiciones en que ocurrió. Cada fallo tiene un código asignado. El mecánico puede leer los registros con un dispositivo que envía comandos al sistema OBD II llamados PID (Parameter ID).

Generalmente el conector OBD II suele encontrarse en la zona de los pies del conductor, consola central o debajo del asiento del copiloto.

Actualmente se puede conectar con la máquina de diagnosis de diferentes maneras, mediante Bluetooth, WiFi, USB, cayendo en desuso el protocolo de conexión por el puerto serie (RS232). Este enlace, unido a un software ejecutándose desde un ordenador o un terminal móvil permite la monitorización en tiempo real de códigos de error y diversos parámetros directamente de la centralita del motor tales como las revoluciones del motor, el consumo de combustible en tiempo real (sin que el automóvil lleve equipado ordenador de a bordo) o la temperatura del aceite, entre muchos otros parámetros dependiendo del modelo. El controlador ELM327 es el más extendido para establecer dichos enlaces entre la centralita del motor y el dispositivo con el software instalado.

Existen controladores más avanzados, clones del software original de los fabricantes, que permiten adicionalmente programar ciertas configuraciones del vehículo, como el equipamiento y la realización de testeos. OP-COM, VAG-COM, etc son algunos ejemplos.

EOBD

EOBD es la abreviatura de European On Board Diagnostics (Diagnóstico de a Bordo Europeo), la variación europea de OBD II. Una de las diferencias es que no se monitorizan las evaporaciones del depósito de combustible. Sin embargo, EOBD es un sistema mucho más sofisticado que OBD II ya que usa «mapas» de las entradas a los sensores basados en las condiciones de operación del motor, y los componentes se adaptan al sistema calibrándose empíricamente. Esto significa que los repuestos necesitan ser de alta calidad y específicos para el vehículo y modelo.

JOBD

JOBD es una versión de OBD-II para los vehículos vendidos en Japón.

 

 

Conector SAE-J1962

El conector OBD2 le permite acceder fácilmente a los datos de su automóvil, pero ¿qué es realmente?

El estándar OBD2 (SAE J1962) especifica dos tipos de conector hembra de 16 pines OBD2 (A y B).

A continuación se muestra un ejemplo de un conector pin OBD2 tipo A (también conocido como conector de enlace de datos, DLC):

 

pin descripción
2
SAE J1850 Bus +
4
Chasis
5
Señal de Masa (signal Ground)
6
ISO 15765-4 CAN BUS High
7
ISO9141 K Line
10
SAE J1850 Bus –
14
ISO 15765-4 CAN bus Low
15
ISO9141 L-Line
16
+12V  procedentes de  la bateria  del vehiculo   (siempre  activo)

Los pines 1,3,8,9,11,13  no se usan

El DLC OBD2 debe ubicarse en el compartimiento del pasajero o del conductor en el área delimitada por el extremo del conductor del panel de instrumentos a 300 mm (~ 1 pie) más allá de la línea central del vehículo, acoplado al panel de instrumentos y de fácil acceso desde el asiento del conductor . La ubicación preferida es entre la columna de dirección y la línea central del vehículo. 

 

De acuerdo con la norma SAE J1962, el DLC tipo A «debe estar ubicado en el compartimiento del pasajero o del conductor en el área delimitada por el extremo del conductor del panel de instrumentos a 300 mm (~ 1 pie) más allá de la línea central del vehículo, unido al panel de instrumentos y fácil para acceder desde el asiento del conductor. La ubicación preferida es entre la columna de dirección y la línea central del vehículo «. El DLC tipo B «se ubicará en el compartimiento del pasajero o del conductor en el área delimitada por el extremo del conductor del panel de instrumentos, incluido el lado exterior, y una línea imaginada de 750 mm (~ 2.5 pies) más allá de la línea central del vehículo. Será conectado al panel de instrumentos y de fácil acceso desde el asiento del conductor o desde el asiento del copiloto o desde el exterior. El conector del vehículo debe montarse para facilitar el acoplamiento y el desacoplamiento «.

 


El conector OBD2 está cerca del volante, pero puede estar oculto detrás de las cubiertas / panelesNo todos los conectores macho se adaptan a todos los enchufes hembra OBD2; verifique el tipo y las clavijas OBDEl pin 16 suministra energía a través de la batería del automóvil, a menudo también cuando el encendido está apagadoLos pines 6 (CAN-H) y 14 (CAN-L) son más relevantes ya que CAN (ISO 15765-4) es estándar en la mayoría de los automóviles modernos (incl. EVs)

 casi todos los vehículos modernos cuentan  con una interfaz OBD2 / EUOBD.  Para conocer si su  vehículo  lo es  puede abrir el capó del motor y debería encontrar una pegatina, si la etiqueta tiene la letra “OBDII CERTIFIED”, significa que puede instalar el HUD.   No obstante , aunque el vehículo no cuente con esta pegatina, lo normal es que si es un vehículo del 2010  en adelante , esta característica la soporte. 

ond2.PNG

Para verificar el conector de diagnóstico del vehículo debajo del volante, puede encontrar la  toma de 16 pins del vehículo.

figura2
IMG_20180120_162125[1].jpg

 

 

 

¿Por qué debería preocuparse por los datos OBD2?

Los mecánicos obviamente se preocupan por los DTC (quizás usted también lo haga), mientras que las entidades reguladoras lo necesitan para controlar las emisiones.

Pero OBD2 en realidad admite una amplia gama de ID de parámetros estándar (PID) que se pueden registrar en la mayoría de los automóviles lo cual  significa que, por ejemplo, puede obtener datos OBD2 en vivo legibles para el ser humano desde su automóvil en velocidad, RPM, posición del acelerador y más, datos que podemos vusualizar  bien en un HUD  en el parabrisas o  usando  una app movil( ODDB2 doctor por ejemplo)   por medio de un  dispositivo  odb2 con bluettoth .

 

 
OBD2 es la forma más sencilla de obtener datos básicos legibles por personas desde su vehículo.

Pero, ¿no puede obtener estos datos directamente del bus CAN? No necesariamente, ya que los datos CAN sin procesar en la mayoría de los autos son propietarios; para obtener más información, expanda lo siguiente:Decodificación – OBD2 vs CAN Bus Data

Wikipedia tiene un excelente artículo sobre los PID OBD2 estandarizados. También existe una herramienta de conversión en línea OBD2 donde puede ingresar un mensaje para devolver la información PID y los datos convertidos.

OBD2 PIDS Y MENSAJES EXPLICADOS

Para comenzar a grabar datos OBD2, es útil comprender los conceptos básicos de la estructura del mensaje .

En términos simplificados, un mensaje OBD2 se compone de un identificador y datos .

Además, los datos se dividen en modo, PID y bytes de datos Ah, Bh, Ch, Dh (en valores hexadecimales) – cf. la figura de abajo.

OBD2 PIDs Desglose de la estructura del mensaje OBD-ii explicado

Un ejemplo de un mensaje CAN de solicitud / respuesta para el PID ‘Velocidad del vehículo’ con un valor de 50 km / h puede verse así:

Solicitud: 7DF 02 01 0D 55 55 55 55 55 
Respuesta: 7E8 03 41 0D 32 aa aa aa aa aa

(Aquí el 32 es el valor hexadecimal de 50) .

 

A continuación, se explica cada parte del mensaje OBD2:

  • IDENTIFICADOR: Para los mensajes OBD2, el identificador es estándar de 11 bits y se utiliza para distinguir entre » mensajes de solicitud » (ID 7DF) y » mensajes de respuesta » (ID 7E8 a 7EF). Tenga en cuenta que 7E8 normalmente será donde el motor principal o la ECU responda.
  • LONGITUD: Esto simplemente refleja la longitud en número de bytes de los datos restantes (03 a 06). Para el ejemplo de Velocidad del vehículo, es 02 para la solicitud (ya que solo siguen 01 y 0D), mientras que para la respuesta es 03, ya que siguen 41, 0D y 32.
  • MODO: Para solicitudes, esto será entre 01-0A. Para las respuestas, el 0 se reemplaza por 4 (es decir, 41, 42, …, 4A). Hay 10 modoscomo se describe en el estándar SAE J1979 OBD2. El Modo 1 muestra los Datos actuales y, por ejemplo, se usa para observar la velocidad del vehículo en tiempo real, RPM, etc. Otros modos se utilizan para, por ejemplo, mostrar o borrar códigos de diagnóstico de problemas almacenados y mostrar datos de imágenes congeladas.
  • PID: para cada modo, existe una lista de PID OBD2 estándar, por ejemplo, en el Modo 01, PID 0D es la Velocidad del vehículo Cada PID tiene una descripción y algunos tienen una fórmula de conversión / mínimo / máximo especificada. La fórmula para la velocidad es, por ejemplo, simplemente A, lo que significa que el byte de datos Ah (que está en HEX) se convierte a decimal para obtener el valor convertido en km / h (es decir, 32 se convierte en 50 km / h arriba). Para, por ejemplo, RPM (PID 0C), la fórmula es (256 * A + B) / 4. 
  • > Ah, Bh, Ch, Dh: Estos son los bytes de datos en HEX , que deben convertirse a formato decimal antes de que se usen en los cálculos de la fórmula PID. Tenga en cuenta que el último byte de datos (después de Dh) no se utiliza.

 

¿CÓMO REGISTRAR DATOS OBD2?

El registro de datos OBD2 funciona de la siguiente manera:

  • Conectar un escáner OBD2 o un registrador de datos OBD2 al conector OBD2 de 16 pines.
  • A través de la herramienta, usted ingresa “ mensajes de solicitud ” (consultas) transmitidos a través del bus CAN
  • Las ECU relevantes reaccionan y envían » mensajes de respuesta » a través del bus CAN

Esto es importante:

Esto significa que no verá datos OBD2 si simplemente conecta un registrador o interfaz «pasivo» a su automóvil.(Sin embargo, esto produciría datos CAN sin procesar ya que se «difunde»).

Para registrar mensajes de respuesta OBD2 , su registrador de datos OBD2 debe poder enviar los mensajes de solicitud.

Solicitud de datos OBD2 de Car Response PID Velocidad del vehículo OBD-II

 

 

¿QUÉ GRABADORA OBD2 NECESITO?

Existen varias opciones: a continuación, describimos las principales categorías de analizadores OBD2 :

ESCÁNERES OBD2 / LECTORES DE CÓDIGO: se utilizan principalmente en la lectura / eliminación estática de códigos de diagnóstico de problemas. Por ejemplo, los mecánicos los utilizan para buscar el problema subyacente detrás de una lámpara indicadora de mal funcionamiento (MIL). 

REGISTRADORES DE DATOS OBD2: se utilizan para registrar datos OBD2 de un automóvil a lo largo del tiempo, por ejemplo, en una tarjeta SD ; esto puede ser útil para el análisis posterior y, por ejemplo, para analizar patrones, correlaciones, etc. Además, para fines de diagnóstico / optimización, un registrador de datos proporciona un cuadro «vista de patrones de datos antes y después de que un código de diagnóstico se haya activado.

Los registradores de datos OBD2 con Bluetooth o WiFi también se utilizan, por ejemplo , en la gestión de la flota de vehículos para mejorar la eficiencia del combustible, evitar la conducción insegura y permitir diagnósticos remotos proactivos a través de los parámetros compatibles con OBD2.

INTERFACES DE DATOS OBD2: Se utilizan para proporcionar datos en tiempo real en tiempo real sobre varios parámetros OBD2. Las aplicaciones pueden incluir pantallas / aplicaciones visuales que guían al conductor en cuanto a eficiencia de combustible o rendimiento, o como un chequeo de estado en vivo.

Las interfaces OBD2 más avanzadas también se pueden usar para transmitir datos OBD2 junto con datos de bus CAN patentados, que pueden ser útiles para el rastreo de CAN y el pirateo de automóviles .

Además, también existen híbridos : la serie CLX000 puede, por ejemplo, actuar como un registrador de datos y una interfaz OBD2 .

Diagnosis de su coche con Raspberry Pi


OBD-II PID ( Diagnóstico a bordo de parámetros IDs ) son códigos utilizados para solicitar datos de un vehículo, que se utiliza como herramienta de diagnóstico  que tradicionalmente se ha reservado a los  técnicos automotrices que usan PID con una herramienta de análisis conectado al conector OBD-II del vehículo.

  • El técnico entra en el PID
  • La herramienta de análisis lo envía al del vehículo red controlador-área (CAN) la parada de microbus, VPW, PWM, ISO, KWP . (Después de 2008, sólo CAN)
  • Un dispositivo en el bus reconoce el PID como uno es responsable de, y reporta el valor para ese PID al bus
  • La herramienta de análisis lee la respuesta, y lo muestra al técnico

Un  adaptador   OBD-II  funciona  en cierta manera  como el USB de un ratón que usamos con el ordenador, ya que se conecta a la centralita del coche y convierte los datos que lee en información que podemos procesar desde nuestro móvil.

Estos adaptadores se puede encontrar  fácilmente en internet y a precios que empiezan en los 6 euros y van subiendo hasta los varios cientos, dependiendo de la calidad y cantidad de opciones que necesitemos. Pero para un uso completamente ‘amateur‘, tenemos suficiente con los más económicos. Eso sí, antes de comprarlo debe   compruebe que la centralita de su coche tiene la conexión de 16 pines del estándar y es compatible  con dicho  interfaz.

 

 

Adaptadores ODB2 bluetooth

elm37

Algunas centralitas de vehículos puede soportar más o menos funciones que otros.,pero en todo caso  no olvide  que la aplicación necesita un adaptador Bluetooth OBD2 para trabajar.

Estos  adaptadores  son  pequeños y se conectan a la toma de diagnóstico en el coche que le da a su acceso a los teléfonos.Uno de los adaptadores mas usados  es el modelo el ELM327 OBD2 el cual funciona igual de bien que otros aparatos similares de tamaño mucho mayor y   aún precio bastante menor (como por ejemplo el  adaptador Scantool.net, el adaptador de OBDKey y PLX Kiwi ).

El modelo ELM 327  es el clásico lector de parámetros del motor y de códigos de error OBD II mini, en carcasa de plástico transparente  de  reducido tamaño(otros modelos mayores  estorban en la zona de los pedales)   que es capaz de enviar los datos vía Bluetooth   y que se puede adquirir  a muy buen precio.

Para usarlo, hay que enchufar el dispositivo  al conector que suelen traer casi todos los coches modernos  junto a la fusiblera principal que suele estar  debajo del volante.

Después hay que instalar  la aplicación  Torque en su smartphone   ( en su versión gratuita o de pago )  y automáticamente al ejecutarla  debería empezar a ver en la app  una cantidad ingente  de información sobre el funcionamiento de su vehículo.

Los usuarios  se abruman   del  impresionante volumen de datos aportado pues aplicación es 100% configurable para mostrar los parámetros que prefiera. De hecho los datos ofrecidos son prácticamente similares a una maquina de diagnosis de cualquier taller en sus manos, aportando ademas de un sinfin de parámetros informativos sobre el estado de motor, consumos, temperaturas, posibles averías etc

Resumidamente  estas son algunas de las utilidades  de la combinación  del adaptador  ELM327 OBD2 junto con el programa  Torque:

  • Leer los códigos diagnóstico, genéricos y específicos del fabricante, y mostrar su significado (sobre 3000 definiciones genéricas del código en la base de datos).
  • Borrar los códigos de problemas y apagar el MIL (“Check Engine” de luz)
  • Mostrar los datos actuales del sensor

Según el modelo de coche podrá ver más o menos datos, pues eso no depende de este aparato  en su .De hecho ,hay usuarios que no han conseguido hacerlos funcionar con determinados modelos de vehículos, pero en cambio en otros modelos  funciona perfectamente:

 

Por cierto ,esta versión  del  ELM327  se puede comprar por menos de 6€  con gastos de envió incluidos  aqui (Amazon.es)

Adaptadores ODB2 USB

Hay muchos ejemplos de entusiastas que  están usando estos adaptadores ODB2 no solo desde dispositivos Android sino incluso desde PC standard ,pero ¿ y si se pudiera usar desde otros dispositivos  como por ejemplo desde una Raspbery Pi?

Pues en  efecto desde pistonheads.com  nos demuestra como es posible desde una RPi de  leer datos de su moto a través de un lector USB OBD-II  usando  como registrador de datos para una moto gracias  a que cabe perfectamente  debajo del asiento

Para ello , se usa un   cable USB -> OBD2 , el cual  soporta muchas versiones diferentes del puerto estándar OBD2

La RPi toma la  alimentación  una conexión micro del USB que se alimenta a su vez  de la batería (lo ideal es desde luego hacerlo desde  la llave de encendido / apagado, pero esto llevar mucho más trabajo y se corre el peligro de  dañar el cableado de la moto) así que el usuario opto  por compro un interruptor y un fusible  que  termina en un puerto USB hembra lo cual permite  apagar la RPpi al final de un viaje

Lo siguiente es  el código, basado en  la  librería python  desarrolla en 2009 llamado pyobd. Esta fue  la  base para lo que quería hacer, encontrando algunos errores en el código pues , en general, estaba escrito para ser utilizado por una aplicación  grafica GUI que venía con ella. Como el autor no quería una aplicación GUI, obviamente, bajo su asiento se bajo su repositorio y comenzó a trabajar en hacerlo más parecido a un datalogger

El trabajo esta en su  repositorio : https://github.com/roflson/pyobd

 

Gracias al trabajo excelente de Salgar , Martin quiso ir mas lejos  conectando ademas una cámara ,    utilizando  los datos OBD para superponer mph, rpm, temperatura y la posición del acelerador sobre el vídeo tomado con la placa de la cámara construyendo realmente un dispositivo bastante interesante

Resumidamente  el  proceso de desarrollo de  la nueva herramienta fue muy similar a la anterior adaptación de Salgar , basándose también en un  adaptador  USB al cable de interfaz de OBD2 del tipo ELM 327 1.5V USB CAN-BUS Scanner ELM327 , por cerca de £ 10 disponibles en  amazon.com o amazon.co.uk .( en España un no esta )

Otro elemento importante es conectar la cámara a su Raspberry Pi 2 usando el conector propietario especifico

Un modelo asequible compatible con la Raspberry Pi2   es el Módulo de cámara Raspberry Pi de SainSmart  que cuesta unos 14€ 

 

Luego  una vez adquirido el hardware , descargo el  software de salgar de su repositorio github, https://github.com/roflson/pyobd , como base para el nuevo programa (el software de salgar es una bifurcación de un proyecto llamado pyobd, https://github.com/peterh/pyobd , que es una aplicación basada en GUI para leer datos OBD-II).

Utilizo el autor  este  nuevo software  como base para un programa que se conectaría a través de la interfaz OBD-II, interrogando al coche qué sensores soportaba y luego leyendo los sensores de datos en un bucle cada 0,5 segundos  escribiéndolos en la pantalla de modo que la RP2 no solo registra el video , también registra  los  datos dinámicos superponiendolos al video cumpliendo pues una doble función

Descargar y ejecutar

El autor   finalmente  ha puesto a la disposición de todos los usuarios su  sw  de modo que puede descargar el código directamente desde github  en ,https://github.com/martinohanlon/pyobd ,

 

Resumidamente estas son las instrucciones de instalación:

 

Si le «pica»la curiosidad en el vídeo podemos ver la Rp2 con el sw en acción