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

  • Published on
    27-Mar-2016

  • View
    224

  • Download
    6

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

    B B3 reservados para el futuro

    C U0 Cdigos de red definidos por SAE

    D U1 definidos por el fabricante

    E U2 definidos por el fabricante

    F U3 reservados para el futuro

  • significativo se usa para indicar quela lmpara indicadora de mal funcio-namiento (MIL, o LmparaVerificadora del Motor) ha sidoencendida por uno de los cdigosdel mdulo (si hay ms de uno),mientras que los otros 7 bits de estebyte dan el nmero real de cdigosde fallas almacenados. Para calcularel nmero de cdigos almacenadoscuando MIL est encendida, simple-mente reste 128 (a 80 en hex) delnmero. La respuesta anteriorentonces indica que hay un cdigoalmacenado y era el que encendi laLmpara Verificadora del Motor. Losrestantes bytes de la respuesta pro-veen informacin sobre los tipos depruebas soportadas por ese mduloparticular.

    En este ejemplo, haba una solalnea para la respuesta, pero sihaba cdigos almacenados en otrosmdulos, cada uno podra haberprovisto una lnea de respuesta.Para determinar qu mdulo estinformando sobre el cdigo de falla,uno tendra que activar los encabe-

    zamientos (AT H1 ) y luego mirar al3 byte del encabezamiento de 3bytes de la direccin del mdulo queenvi la informacin.

    Habiendo determinado el nme-ro de cdigos almacenados, el prxi-mo paso es pedir los cdigos realesde fallas con un pedido de modo 03(no se necesita ningn PID):

    > 03

    Una respuesta a esto podra ser:

    43 01 33 00 00 00 00

    El 43 de la respuesta anteriorsimplemente indica que esta es unarespuesta a un pedido en modo 03.Los otros 6 bytes de la respuesta tie-nen que leerse de a pares para mos-trar los cdigos de fallas (lo anteriorse interpretara como 0133, 000 y0000).

    Note que la respuesta ha sidorellenada con 00s como lo requierela norma SAE para ese modo; los0000`s no representan cdigos rea -les de fallas.

    Como era el caso cuando se

    peda el nmero de cdigos almace-nados, los bits ms significativos decada cdigo de fallas tambin con-tienen informacin adicional. Lo msfcil es usar la tabla 1 para interpre-tar los bits extra del 1 dgito:

    Tomando como ejemplo el cdi-go de fallas (0133), el 1 dgito (0)entonces se reemplazara por P0, yel 0133 sera P0133 (que es el cdi-go de una respuesta lenta del cir-cuito sensor de oxgeno). Note queel protocolo ISO 15765 - 4 (CAN) esmuy similar, pero agrega un byteextra de datos (en la 2 posicin),mostrando cuntos tems de datos(DTCs) han de seguir. Para dar unospocos ejemplos adicionales, si elcdigo recibido era D016, reempla-zara el D por U1, y el cdigo resul-tante de fallas sera U1016.Similarmente, 1131 recibido seraP1131.

    Reinicializacin de los Cdigos de Falla

    Saber Electrnica

    70

    Auto Elctrico

    Para Su Comodidad

    Saber Electrnica Sbados

    en el Local de CENTRO JAPONES DE ARGENTINA, en Belgrano (Capital Federal)OHiggins 2125 Local 20, Telfono: (011) 3970-4486

    a 4 Cuadras de Cabildo y Juramento y a 3 Cuadras de Barrancas de BelgranoHorario de atencin: L. a V. de 9:00 a 13:00 y de 14:00 a 17:30; SABADOS: de 9:00 a 14:00

    Centro Japons de Argentina tambin le ofrece UNA GRAN VARIEDAD D E PRODUCTOS IMPORTADOS

    a los MEJORES PRECIOS DEL MERCADO

    SABER ELECTRONICA LO ATIENDE TAMBIEN LOS SABADOS

    Todos los Productos y Promociones con la Mejor Atencin y Todo el Asesoramiento

  • El ELM 327 es bastante capazde reinicializar los cdigos de diag-nstico de fallas, dado que esto slorequiere emitir un comando de modo04. Siempre se deben considerar lasconsecuencias antes de enviarlodado que reinicializar ms que laMIL. Al emitir un modo 04 ocurrir losiguiente:

    Reinicializacin del nmero decdigos de fallas.

    Borrado de cualquier cdigo dediagnstico de fallas.

    Borrado de cualquier dato decuadro congelado almacenado.

    Borrado del DTC que inici elcuadro congelado.

    Borrado de todos los datos deprueba de sensores de oxgeno.

    Borrado de la informacin de losmodos 06 y 07.

    La puesta a cero de todos estosdatos no es peculiar del ELM327,ocurre cada vez que se usa cual-quier herramienta de exploracinpara reinicializar los cdigos. Elmayor problema con la prdida deestos datos es que su vehculopuede funcionar pobremente duran-te un corto tiempo mientras realizauna recalibracin.

    Para evitar el borrado de la infor-macin almacenada inadvertida-mente, la SAE especifica que lasherramientas de exploracin debenverificar que se intenta un modo 04(est seguro?) antes de enviarla alvehculo, dado que toda la informa-cin del cdigo de fallas se pierdeinmediatamente cuando se enva elmodo. Recuerde que el ELM327 nomonitorea el contenido de los men-sajes, de modo que no sabr pedirconfirmacin del pedido de modo.Esto tendra que ser el trabajo deuna interfaz de software. Como sedijo, para borrar realmente los cdi-gos de diagnstico de falla, slo senecesita emitir un comando de modo04. Una respuesta de 44 por partedel vehculo indica que se ha llevado

    a cabo un pedido de modo, se haborrado la informacin y se ha apa-gado la MIL. Algunos vehculos pue-den requerir que ocurra una condi-cin especial (por ejemplo, la igni-cin est encendida pero el motorno funciona) antes de que respon-dan a un comando 04.

    Esto es todo lo que hay quesaber sobre puesta a cero de loscdigos de fallas. Nuevamente, noenve accidentalmente el cdigo 04!

    Gua Rpida para Leer Cdigos de Error

    Si no utiliza su ELM327 durantealgn tiempo, esta hoja de datoscompleta puede parecer pobrecuando, por ejemplo, la "luz del che-queo de motor" se enciende, y ustedslo quiere saber por qu.Ofrecemos esta seccin como unagua rpida de los conceptos bsi-cos que usted necesita...