OBD II con ELM327 Interpretación de los Comandos OBD “Hablando al Vehículo”

  • View
    231

  • Download
    7

Embed Size (px)

DESCRIPTION

Los comandos empleados en diagnsticos a bordo de automviles se basan en las ins - trucciones AT, cuya estructura vimos en la edicin anterior.

Transcript

  • Introduccin

    Las normas OBD especificanque cada pedido que se enve alvehculo debe tener un formato esta-blecido.

    El primer byte enviado (conocidocomo el modo) describe el tipo dedatos que se pide, mientras que elsegundo byte (y posiblemente untercero o ms) especifica la informa-cin que se requiere. Los bytes quesiguen al byte de modo se conocencomo identificacin de parmetro obytes de nmero PID. Los modos ylos PIDs se describen en detalle endocumentos tales como SAE J1979o ISO 15031-5 (normas).Inicialmente, la 1 norma defina 9modos de prueba de diagnsticoposible, que son:

    1- Mostrar los datos corrientes.2- Mostrar los datos de cuadro

    congelado.3- Mostrar los cdigos de diag -

    nstico de fallas.4- Anular los cdigos de falla y

    los valores almacenados.5- Probar los resultados , senso -

    res de oxgeno.6- Probar los resultados, no con -

    tinuamente monitoreados.7- Mostrar los cdigos de falla

    pendientes.8- Modo especial de control.9- Pedir informacin del vehculo.

    Los cambios recientes ahoradefinen un 10 modo que se puedeusar con la norma ISO 15765-4(CAN). Este modo (0A) se usa paracdigos de fallas permanentes. No

    se requiere que los vehculos sopor-ten todos los modos, y dentro de losmodos, no se requiere que soportentodos los PIDs posibles. Dentro decada modo, PID 00 se reserva nor-malmente para mostrar qu PIDsson soportados por ese modo, y sepuede usar para determinar culessoporta su vehculo. El modo 01,PID 00 debe ser soportado por todoslos vehculos, y se puede accedercomo sigue:

    Asegure que la interfaz del ELM327 est correctamente conectada asu vehculo y alimentada. La mayo-ra de los vehculos no respondernsin la llave de ignicin en la posicinON, as que prenda la ignicin, perono arranque el motor. Ante elprompt, emita el comando del modo01 PID 00:

    Descripcin de una Interfase OBD II con ELM327Interpretacin de los Comandos OBD

    Hablando al VehculoLos comandos empleados en diagnsticosa bordo de automviles se basan en las ins -trucciones AT, cuya estructura vimos en laedicin anterior. En OBD la computadorasolicita al vehculo un pedido de informa -cin y para que ste responda la sentenciadebe tener un formato establecido.Sabemos que por medio de un sistema CANes posible interconectar todos los subsiste -mas electrnicos y para ello es necesarioconocer la forma de transmitir los datos. Eneste artculo comenzaremos a describir laforma en que se manifiesta el lenguaje en OBD.

    Saber Electrnica

    67

    AUTO ELCTRICO

  • > 01 00

    La primera vez que se accede albus, Ud. puede ver un mensaje deinicializacin del bus, seguido deuna respuesta, que podra ser tpica-mente as:

    41 00 BE 1F B8 10

    El 41 significa una respuestaante un pedido del modo 01 (01 + 40= 41), mientras que el 2 nmero(00) simplemente repite el nmeroPID pedido. En el modo 02 el pedidose responde con un 42, en el 03 conun 43, etc. Los 4 bytes siguientes(BE, 1F, B8 y 10) representan losdatos pedidos, en este caso un dia-grama de bits que muestra los PIDsque son soportados por este modo(1 = soportado, 0 = no). Aunque estainformacin no es muy til para cual-quier usuario, prueba que la cone-xin est funcionando. Otro ejemplopide la temperatura corriente delrefrigerante del motor (EC T). Latemperatura del refrigerante es PID05 en el modo 01, y se puede pediras:

    > 01 05

    La respuesta ser de la forma

    41 05 7B

    El 41 05 muestra que sta esuna respuesta a un pedido de PID05 en el modo 1, mientras que 7B esel dato deseado.

    Al convertir el hexadecimal 7B adecimal, se obtiene 7 x 16 + 11 =123. Esto representa la temperaturacorriente en C.

    Para convertir a la temperaturareal del refrigerante, hay que restar40 al valor obtenido.

    Por lo tanto, 123 - 40 = 83C.Un ejemplo final muestra un

    pedido de los rpm del motor. Esto esPID 0C del modo 01, de modo queante el prompt tipee:

    > 01 0C

    Una respuesta tpica sera:

    41 0C 1A F8

    El valor devuelto (1A F8) es real-mente un valor de 2 bytes que debeconvertirse en valor decimal paraque sea til. Convirtindolo se obtie-ne un valor de 6904, que parece unvalor muy alto para rpm de un motor.Esto se debe a que rpm se enva enincrementos de rpm. Para convertira la velocidad real del motor, tene-mos que dividir 6904 por 4, lo que da1726, lo cual es mucho ms razona-ble. Cuando el ELM 327 enva unpedido, tambin activa un tempori-zador que limita la cantidad de tiem-po que esperar el CI para una res-puesta (Ud. puede ajustar este tem-porizador con el comando AT ST). Sino se obtiene ninguna respuestadurante este tiempo, ver un mensa-je NO DATA, y si se recibe una res-puesta, se imprimir como recinhemos visto. Despus que se harecibido la primer respuesta, eimpresa, el temporizador se reinicia-liza, y el ELM 327 espera para ver siviene otra respuesta. Si no lleganada, no ver una respuesta de NODATA dado que hay datos que yahan llegado. En ese tiempo deexclusin, el CI simplemente impri-mir un prompt y esperar el prxi-mo comando desde la PC.

    Este enfoque del tiempo deexclusin significa que el CI puedeincrementar al doble el tiempo quenecesita a fin de obtener una solarespuesta y luego volver al prompt.

    La versin 1.3 del ELM 327 intro-duce una forma de acelerar el recu-pero de la informacin si sabe cun-tas respuestas se esperan. Ud.ahora puede decirle al CI cuntasrespuestas obtener antes de regre-sar inmediatamente al prompt. Estose hace agregando un solo dgitohexadecimal despus de los bytesdel pedido OBD; el valor da el nme-

    ro mximo de respuestas a obtener.Como ejemplo, si sabe que hay slouna respuesta que viene acerca delpedido de temperatura del motor,ahora puede enviar:

    > 01 05 1

    Y el CI volver inmediatamentedespus de obtener slo una res-puesta. An activa el temporizadorinterno despus de enviar el pedido,pero slo espera una respuesta; noactiva el temporizador y espera una2 respuesta, lo cual puede ahorrarun tiempo considerable (el tiempopor defecto sin temporizacin adap-table es de 200ms).

    El nmero de respuestas queUd. puede dar puede ser cualquierdgito hexadecimal de valor 0 a F.Note que AT R0 anular cualquiernmero provisto con el pedido OBD.Si trata de obtener ms respuestasque las que el ECU puede dar, el CIhar como antes y no habr ningndao. Un ejemplo final es el pedidodel nmero de serie del vehculo. Elmodo del nmero de serie es 09mientras que el PID es 02. Si Ud.sabe que la respuesta tiene que serde 5 lneas, se puede ahorrar tiempoenviando.

    > 09 02 5

    Antes de usar este nuevo mto-do de recuperacin de datos, aseg-rese de aprender cuntas respues-tas son normalmente enviadas porsu vehculo en respuesta a un pedi-do. Si Ud. pide demasiado pocas,ignorando las otras, Ud. puede oca-sionar la congestin del bus dedatos del vehculo. Por ejemplo, elprotocolo J1850 PWM requiere quecada respuesta se reconozca con loque se llama respuesta en cuadro(IFR). Si esta IFR no es recibida porel vehculo, tratar de re-enviar losdatos muchas veces, esperandoeventualmente recibir un IFR. Si Ud.pide una sola respuesta, pero el

    Saber Electrnica

    68

    Auto Elctrico

  • vehculo est tratando de enviar 5,Ud. puede ocasionar problemas.

    Claramente se necesita quehaya una forma de registrar cuntasrespuestas se esperan y luegohacer los pedidos adecuados enbase a esta informacin.

    Aqu debemos presentar otraadvertencia para ser cautos acercade cmo usar este mtodo de inte-rrogar al vehculo. Un beneficiodirecto de volver ms rpidamentedespus de hacer un pedido porparte del ELM327 es que el prximopedido puede comenzar ms rpida-mente. Tenga en cuenta que las ver-siones anteriores de la norma SAEJ1979 prohiban enviar respuestasms frecuentes que cada 100ms; sinembargo, slo con la actualizacinAPR 2002 fue que con herramien-tas de exploracin se permiti enviarel prximo pedido sin demora.

    Adems, un pedido slo se puedeenviar sin demora si se determinaque se han recibido todas las res-puestas. Si Ud. est conectado a unvehculo ms viejo, Ud. debe usar elviejo mtodo de hacer pedidos.

    Esperamos que esto haya mos-trado cmo se hacen los pedidostpicos con el ELM 327. No ha inten-tado ser una gua definitiva sobre losmodos y los PIDs. Esta informacinse puede obtener del fabricante desu vehculo, la SAE (www.sae.org/),de ISO (www.iso.org/) y de variasotras fuentes en la red.

    Interpretacin de los Cdigos de Fallas

    Probablemente el uso mscomn que tendr el ELM 327 es laobtencin de cdigos de diagnstico

    de fallas (DTCs). Mnimamente, estorequiere que se haga un pedido demodo 03, pero primero uno debedeterminar cuntos cdigos de fallasestn actualmente almacenados.Esto se hace con el pedido PID demodo 01:

    > 01 01

    al cual una respuesta tpicapodra ser:

    41 01 81 07 65 04

    El 41 01 significa una respuestaal pedido, y el prximo byte de datos(81) es el nmero de cdigos defallas. Claramente no habra 81(hex) o 129 (decimal) cdigos defallas presentes si el vehculo estfuncionando. En realidad, este bytetiene una doble funcin: el bit ms

    Saber Electrnica

    69

    Escner OBD II con LM327

    Tabla 1 - Gua para interpretar los bits del primer dgito del mensaje

    Si el 1 dgito Reemplazarlohexadecimal con estos dos

    es ste caracteres

    0 P0 Cdigos del tren de Potencia definidos por SAE

    1 P1 definidos por el fabricante

    2 P2 definidos por SAE

    3 P3 definidos conjuntamente

    4 C0 Cdigos de Chassis definidos por SAE

    5 C1 definidos por el fabricante

    6 C2 definidos por el fabricante

    7 C3 reservados para el futuro

    8 B0 Cdigos del Cuerpo definidos por SAE

    9 B1 definidos por el fabricante

    A B2 definidos por el fabricante