Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin:
Tras ver el bus CAN y el diagnstico de automviles OBD (On Board Diagnostics), en
esta sesin se utilizar un cable interface USB-OBD conectado a un emulador del vehculo
para probar modos y pids bsicos y entender el funcionamiento. Seguidamente se har un
pequeo programa demo en LabVIEW y, finalmente, se podr comprobar una herramienta
comercial que utiliza dicho cable.
Para realizar la prctica se contar con un cable ELM327 que sirve de interface entre
el PC (USB) y el vehculo. Este cable utiliza el circuito integrado ELM327 que se ha visto en
clase y que se conectar con un emulador de ECUs del vehculo para intercambiar
informacin simulando que la misma se enva a un vehculo.
Planteamiento:
https://www.ozenelektronik.com/canbus-obd-ecu-simulator-p.html
Por otra parte se utilizar un adaptador ELM327 USB, que realiza el interface entre el
PC y el vehculo (en nuestro caso el emulador del mismo)
En este sentido nos resultar de inters el manual del ELM327 que podremos
descargar de la web (ELM327DS.pdf).
Comandos que comienzan con AT, van dirigidos al circuito integrado y ste los
interpretar como rdenes de configuracin, peticiones, reset, (por ejemplo, el
comando AT Z provocar su reset y nos responder con su modelo y versin.
Por su parte, el emulador de ECUs dispone de 5 potencimetros con los que podremos
simular los valores respectivamente de la temperatura del refrigerante (ECT), las revoluciones
(RPM), la velocidad (Speed), el sensor de oxgeno (O2) y el sensor de caudal de aire (mass air
flow sensor (MAF)). As mismo disponemos de un pulsador para provocar un fallo y
encender el indicador MIL (led ROJO).
Con este sistema podremos probar los modos (comandos), PIDs (parmetros) y DTCs
(cdigos de error).
La siguiente tabla nos muestra algunos PIDs estndares, de los que hemos marcado los
que emula la tarjeta:
As mismo se indica la frmula para obtener los valores de los parmetros respectivos
a partir de los bytes recibidos (A, B, ..)
Mediciones:
Para esta parte utilizaremos como terminal la utilidad serial.prj que lanzaremos desde
CVI (Directorio samples de CVI). Al ejecutarla nos aparecer un primer panel de
configuracin:
Elegiremos el puerto COM que haya instalado el driver del cable. Si ste es mayor que
COM8 abrir las propiedades de sistema del PC y en Hardware abrir las propiedades de puerto
serie y, en las mismas, en Avanzadas, modificar el puerto eligiendo uno inferior al COM9 (no
usar ni el COM1 ni el COM2 que puede que existan fsicamente).
Nota: Como el ELM327 nos exige que todo comando acabe en CR lo fijaremos como carcter
terminador en las transmisiones. Para las recepciones, como puede haber respuestas mltiples
con varios CR, para evitar que se interrumpan, pondremos sin carcter terminador y 200 bytes
a leer. Como ninguna respuesta ser de 200, cuando pidamos leer acabar saltando el timeout,
por eso lo pusimos a mnimo (1 segundo).
Comandos al ELM327:
Enviar : AT Z
Vemos que se reciben dos respuestas (ms la cabecera que indica que es un comando 01 con
PID 05), ello se debe a que el ELM327 emula que hubiera varias ECUs en el bus (una de
motor, una de transmisin y una de ABS). (Nosotros vamos a trabajar con la primera que es el
motor). (Temperatura => 55 Hex = 85 Dec Temperatura = 85 40 = 45 C)
Si se quiere preguntar cul es la temperatura del motor, el primer byte ser el modo01 que muestra flujo de datos y el segundo byte es el PID
05. En el documento SAE J1979 se establecen todas las regulaciones sobre OBD. As siguiendo el ejemplo, para conocer la temperatura la
comunicacin a nivel de bytes se realiza de la siguiente manera:
>01 05 Pregunta
>41 05 7B Respuesta
En la respuesta recibida, se suma en hexadecimal 40+01=41, a continuacin el PID =05 y despus la respuesta recibida ser 7B. Este nmero en
decimal es el 123, el cual corresponde en la frmula de obtencin del dato al byte A. Por lo que:
Temperatura motor=A-40=123-40=83C
https://es.wikibooks.org/wiki/El_OBDII_Completo/OBD_En_Breve/PID_a_fondo
- R.P.M.
- Velocidad
- O2
- Caudal de aire
Enviar un comando 03 sin PID, si no est el MIL encendido hemos de recibir :
Lo que significa que ninguna de las tres ECUs tiene cdigos de error.
Activar el MIL (pulsando el pulsador de la placa ECU), deber encenderse el LED rojo.
La respuesta recibida ahora es distinta de 00 y el emulador nos enva una serie de errores que
tendramos que decodificar a partir de la especificacin OBD (SAE J2012). En nuestro caso
nos quedamos con que hemos recibido errores
En el bucle principal hemos implementado dos posibilidades a elegir con el botn BORRA
MIL. Si el botn no est pulsado, enviamos un comando 01 0D que es leer la velocidad y
hemos puesto un indicador (create indicator) en la salida para ver la misma. A partir de esa
informacin hemos observado que los caracteres ASCII de la respuesta son los
correspondientes a la velocidad (de 00 a FF) por lo que los extraemos de la respuesta, los
convertimos de ASCII a valor y los ponderamos a base 16 para obtener el valor que
representamos directamente en un indicador.
Si el BORRA MIL est activo, la secuencia que seguimos es simplemente enviar un cdigo
04 que es borrar el MIL. Aunque no procesamos la respuesta, la extraemos de la FIFO de
recepcin para que sta no se llene.
As mismo hemos puesto algunos indicadores para ver con ms detalle diferentes partes.
Se puede implementar este mismo programa pero leer la temperatura en lugar de la velocidad
e indicarlo con un termmetro en lugar de con el cuadro de aguja.
Cuestin 11: Describir los cambios realizados para leer la temperatura en lugar de la
velocidad.
Una vez que nos hemos familiarizado con el sistema, la realidad es que en talleres y
concesionarios lo que se utilizan son herramientas y programas ya desarrollados con una
amplia gama de opciones y resultados.
Ahora el programa nos decodifica los DTCs por lo que podremos comprobar los errores que
nos devuelve el emulador si provocamos un error (pulsador):
Resultados:
Entregar el ANEXO relleno (no es necesario imprimir el cuadernillo completo)
OBSERVACIONES / COMENTARIOS:
GRUPO: ___________ FECHA: _______________________
ANEXO RESULTADOS
Cuestin 1: Respuesta al comando AT Z:
- R.P.M.
- Velocidad
- O2
- Caudal de aire
Cuestin 6: Respuesta a comando 03 con MIL encendido:
Cuestin 11: Describir los cambios realizados para leer la temperatura en lugar de la
velocidad.