Autor Tema: Diagnosis y chequeo de vehiculos. Protocolo OBD-2  (Leído 17644 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado Khronos_Nieto

  • Colaborador
  • PIC10
  • *****
  • Mensajes: 40
Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« en: 27 de Febrero de 2006, 20:17:00 »
Buenas amigos...:

Les propongo un tema que quizas les parezca interesante. Les pongo en antecedentes:


Los vehículos actuales (fabricados a partir del 2000/2001) incorporan todos ellos un control electronico muy avanzado. Multitud de sensores colocados a lo largo del coche, se encargan de recoger los datos y enviarlos la la unidad central, llamada U.C.E. Datos como la presion del ABS, de la dirección asistida, las revoluciones del motor, la cantidad de combustible inyectada, el avance de la inyección, el estado de los airbagas...etc..

Esta unidad central es realmente un microprocesador (o microcontrolador).. realmente no se sabe. Digo esto porque los fabricantes guardan muy celosamente esta información. De echo ni siquiera en los propios servicios técnicos, los mecanicos lo conocen. Ya tienen "maquinas" que los chequean.

Si abrimos una UCE, encontramos multitud de chips con sus referencias borradas.

El caso es que toda esta información se puede consultar desde el exterior. Incluso cambiar.
Esto se hace gracias al protocolo OBD-2 y a un conector que puede estar situado el diferentes sitios (depende del modelo).

A este conector se enchufan las máquinas que hay en las casas oficiales, y que sirven para testeo y modificacion.

Pero estas maquinas suelen ser para un uso especifico.

Aqui es donde entramos nosotros. Resulta que fabricando una interface que transforme este protocolo a protocolo serie 232, podemos conectar nuestro coche a un ordenador..!

En el ordenador se ejecutaría un software especifico (que hay muchos en internet)
Y podríamos ver entre otras cosas:
- errores o averías guardadas en la memoria
- testeo en tiempo real de revoluciones, consumo, velocidad... e infinidad de cosas
- tambien se podría subir la potencia del motor..
etc...

Todo esto es muy sencillo y muy bonito. Yo lo he visto funcionando de primera mano y es una maravilla ir en el coche con el portatil al lado y verlo funcionar.

Para los que tienen un vehículo del llamado Grupo VAG, es decir, audi, volkswagen, seat y skoda...es bastante sencillo. Existen esquemas en internet con simplemente optoacopladores.

El problema comienza con las demas marcas.

Veamos, el primer problema es conseguir un conector de este tipo. Siempre es el mismo, es horizontal (cuando aprenda, les subiré una foto..RollEyes ) Solo en BMW es distinto. El caso... que tampoco es tan necesario, realmente OBD-2 es una transmision serie.. por lo que como mucho se emplearán 3 hilos contando la masa comun.

El software no es problema, existe muchos programas libres y otros no, que se pueden descargar de internet.

El problema en mi caso es el interface, me explico.

OBD-2 permite o contempla 3 protocolos: ISO 9141, PWM y VPW.

El ISO 9141 es el mejor, es un protocolo serie 232, el mismo que utiliza el PC. Por lo que realmente no seria necesaria interface. Bueno, en realidad se optoacopla para no mezclar voltajes y proteger el PC, e incluso me parece que hay que adaptar voltajes (con MAX232 por ejemplo), pero ya está.

¿Que vehículos llevan ISO 9141? Pues realmente cada casa pone el que le da la gana. Incluso de una misma casa, pueden llevar distintos, aunque eso son casos aislados. De momento parece ser que son fieles a un protocolo elegido. El ISO 9141 lo emplean los coches del grupo VAG (que he mencionado antes)

Pero por ejemplo, Ford usa PWM... y las marcas japonesas VPW.

Y he aqui la cuestion. He visto algunos esquemas en internet, y todos ellos utilizan un PIC16F84 en la interface, como decodificador. Pero la programación de ese PIC no se encuentra, evidentemente. Asómense a la página: http://www.scantool.net/products/index.htm

Y diganme a que micro se parece ese que montan..jeje...Sonrisa GiganteSonrisa Gigante

Estoy tratando de programar un pic para que decodifique PWM, pero no se como empezar. Tengo muchas dudas, de echo no sabía ni siquiera que PWM podía ser un protocolo de comunicaciones. Yo se que se usa para control de motores, por el ancho de pulso, y que algunos pic incorporan ese módulo internamente, pero no me vale para mi uso.
No se si me explico, en este caso parece ser que hay que decodificarlo. conozco la frecuencia, que es 41,6Khz, pero nada mas. Me imagino que ese será el periodo fundamental, y que según el tiempo que esté arriba la señal (respetando el periodo), se traducirá en un 1 o un 0. E incluso si existen varios "anchos", se traducirá en secuencias, por ejemplo, si existen 7 posibilidades, se traduciría en 000 o 001, o 010 ..... hasta 111.


No se si voy bien encaminado. Espero que me puedan ayudar y tambien espero no haber sido pesado con el tema que creo que puede ser interesante.

Muchas gracias.
"Camaradas, ni nuestro propio conocimiento conoce nuestro potencial"
- La caza del Octubre Rojo -

Desconectado Khronos_Nieto

  • Colaborador
  • PIC10
  • *****
  • Mensajes: 40
RE: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #1 en: 27 de Febrero de 2006, 20:32:00 »
He subido al almacen 3 archivos, echenles un vistazo...

http://miarroba.com/foros/ver.php?foroid=348538&temaid=4261211
"Camaradas, ni nuestro propio conocimiento conoce nuestro potencial"
- La caza del Octubre Rojo -

Desconectado gauchosuizo

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 457
RE: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #2 en: 05 de Marzo de 2006, 06:06:00 »
hola khronos

yo no tengo mucha idea del tema, pero hace rato que andaba con ganas de hacer algo de esto. Yo te puedo hechar una mano con el proyecto, en mi tiempo libre.

Aloha
Saludos desde Suiza, Pablo.

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #3 en: 05 de Marzo de 2006, 10:18:00 »
Hola, tengo un amigo mecanico, que adquirio un "Scaner" para deteccion de fallas...
tengo entendido que disponen tambien de un pin, en el cual se puede colocar simplemente una lamparita de 12v, y segun los destellos (tipo codigo morse) se puede tener una idea de donde esta la falla,  dispone de muchos manuales con los datos de problemas....
me pondre en contacto para poder aportar algo ok?

suerte!

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado poi5on

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 127
RE: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #4 en: 05 de Marzo de 2006, 11:31:00 »
Hola amigos;
Bueno en realiad me parece muy interesante tu tema, yo tambien estuve un tiempo buscando información sobre eso de hecho consegui planos de ECUs, tu solo quieres decodificar el protocolo y convertirlo a 232? la trama de datos que son estudiados por los scanners serian analizados en la PC? me gustaria poder colaborar en este tema, mi correo esta en el perfil.

Saludos

Desconectado ma-tec

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 76
    • www.matec.es.tl
RE: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #5 en: 06 de Marzo de 2006, 14:29:00 »
LA CLAVE DEL EXITO ES SABER
PARA DONDE VA LA GENTE Y
LLEGAR PRIMERO.

Desconectado Khronos_Nieto

  • Colaborador
  • PIC10
  • *****
  • Mensajes: 40
RE: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #6 en: 06 de Marzo de 2006, 18:24:00 »
Buenas compañeros, agradezco que se interesen en el tema.

Lo primero, el comentario del jefe (Todopic), la verdad es que nunca he oido hablar de ese aparato. Resulta curioso, pero quizas un poco rudimentario.
Ademas, hay que aprender morse..Sonrisa GiganteSonrisa GiganteSonrisa Gigante
Pero desde luego que debe de ser lo más rapido para ver fallos.

A lo que dices poi5on, efectivamente ese es mi proposito. Efectivamente los datos son analizados en el PC. Es complicado hacerse de un plano de una UCE,  y la verdad es que es informacion valiosa.
Yo pienso que no es necesario llegar tan a fondo. Cada marca monta una UCE, y dentro de una marca, cada modelo, tambien cambia.
Lo ideal sería conseguir una interface multiprotocolo, como la que nombra ma-tec en su enlace. Una autentica maravilla.

Me he bajado 5 o 6 programas de gestión de estos datos. Pienso que todos son validos, corrijanme si me equivoco. Segun creo yo, logrando convertir los datos de la UCE a datos serie 232, no importa el programa que usemos.
Uno de los programas que mas me gusta es el de VAG-COM, pero solo vale para protocolo ISO.
No creo que sea necesario que fabriquemos tambien el programa software. He estado viendo que esos programas traen ya los "códigos de errores" y saben interpretarlos, para casi todos los modelos de vehiculos.

He descubierto lo siguiente, no recuerdo ahora mismo si era para el PWM especifico o se cumplia para los tres protocolos:

- El ordenador envía la palabra 0x33 (hexadecimal) a una velocidad de 5 baudios
- La UCE lo recibe y cambia su velocidad a 10400 baudios, y a esta velocidad contesta con 0x55
- El PC debe estar listo para recibir esa secuencia a ESA NUEVA VELOCIDAD.

Esa secuencia es el inicio de las comunicaciones con la UCE, se debe de realizar previamente a cualquier cosa. A partir de ahí, la UCE esta lista para ser diagnosticada, y enviar datos. Perdonen de nuevo que no sepa concretar si es para todos los protocolos o solo para PWM.
Por lo que estuve leyendo, decía que habia ciertas dificultades en ese cambio de velocidad por parte del PC. Es decir, enviar 0x33 a 5 baudios, (que es realmente lento, unos 2 segundos para enviar la trama), y rápidamente conmutar para "escuchar", pero esta vez a 10400 baudios.

Les dejo en el almacen un documento que tiene muy buena pinta. Por supuesto en inglés, no se encuentra mucho en castellano.

http://miarroba.com/foros/ver.php?foroid=348538&temaid=4290249

Un saludo.






"Camaradas, ni nuestro propio conocimiento conoce nuestro potencial"
- La caza del Octubre Rojo -

Desconectado Khronos_Nieto

  • Colaborador
  • PIC10
  • *****
  • Mensajes: 40
RE: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #7 en: 06 de Marzo de 2006, 19:43:00 »
Mas cosas...

He leido en este documento cosas interesantes:

http://miarroba.com/foros/ver.php?foroid=348538&temaid=4290503

Aqui habla de una interface multiprotocolo.
Por lo visto envía la cadena "PIPIPIPIPI...." cíclicamente hasta que alguien responde.

Una vez que ha contestado, se inician las comunicaciones.
Si se trata de ISO, debemos de mantener a la UCE "despierta", enviando cada 25ms un caracter "S". En caso contrario, la UCE considera que se han cortado las comunicaciones, y habría que volver a empezar.

Tras enviar una "S" el protocolo nos garantiza 25ms a la espera.

El formato de las instrucciones es de 3 bytes. La UCE contesta siempre con un caracter "V" seguido de la informacion requerida que ocupa 4 bytes.
En el caso de que dicha informacion no requiera tanto espacio, solo es válido el primer byte, pero los 4 se envían de todas formas.

Parece que esto va progresando... Fumador


Saludos...
"Camaradas, ni nuestro propio conocimiento conoce nuestro potencial"
- La caza del Octubre Rojo -

Desconectado poi5on

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 127
RE: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #8 en: 07 de Marzo de 2006, 10:40:00 »
Hola amigo;

Buena info la q conseguisteSonrisa Gigante
Los problemas que veo es que la "traducción" en tiempo real entre los protocolos me parece problematica por los tiempos y las tramas, lo que tu dices del cambio de las velocidad y los baudios tambien. Se me ocurre que el PIC se comunique directamete con la ECU "SOLO ELLOS DOS" luego que la comunicacion este establecida con todos los parametros requeridos, entonces enviar la señal al PC de OK, luego cuando la pc requiera los datos, el PIC los lea de la ECU y se los envie en 232, osea que el PIC se comporte como un bufer de datos.
Me parece más practico, si la TX del PIC a PC se mantiene alta por ejemplo a 115000 budios no se notara la velocidad de la "lectura", asi q el PIC funciona como "mediador".
Ahora hay que hacer las consideraciones de tamaño de los datos, la PC requiere muchos datos de una sola vez para leer una "variable" del auto? si por ejemplo para chequear la inyeccion se necesita 1Kbyte de data, ahi q utilizar una memoria externa y cosas por el estilo.

Saludos

Desconectado ma-tec

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 76
    • www.matec.es.tl
RE: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #9 en: 07 de Marzo de 2006, 14:42:00 »
hola

la otra vez lleve el auto para un control y el mecanico tenia el computador malo
y realilizo una autodiagnostico el la ECU del auto lo que hizo es hacer un puente
en dos patillas del ECU y empezo a destallar la luz de check engine del tablero.
lo que me explico que al hacer este puente la luz destella en una espacie de codigo binario con el cual al contar los pulsos podia ver si existia algun codigo
almacenado.
ahora lo lleve nuevamente para hacerle el control con pc y este mostro hasta los niveles analogicos de de los sensores..

http://www.techedge.com.au/vehicle/aldl8192/8192hw.htm
http://www.andywhittaker.com/ecu/obdii_software.htm
LA CLAVE DEL EXITO ES SABER
PARA DONDE VA LA GENTE Y
LLEGAR PRIMERO.

Desconectado ma-tec

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 76
    • www.matec.es.tl
RE: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #10 en: 08 de Marzo de 2006, 05:38:00 »
LA CLAVE DEL EXITO ES SABER
PARA DONDE VA LA GENTE Y
LLEGAR PRIMERO.

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #11 en: 16 de Abril de 2006, 08:39:30 »
Hola a todos.
Recientemente se me averió el servo del velocímetro de mi Citroen C5 y (ante el elevado precio de su sustitución) he estado investigando la posibilidad de construir uno digital extrayendo la información del conector OBD
Mis pesquisas me condujeron al chip ELM323 (http://www.elmelectronics.com). Encontré el siguiente vínculo al PCB del ElmScan ISO (http://www.scantool.net/schematics.html) que actualmente parece que no funciona (afortunadamente tengo una copia impresa, pero no el PDF original) y que es una implementacion directa del esquema propuesto por elmelectronics en la data sheet del ELM323.
He pensado pedir el ELM323 para empezar a construir este sistema, pero no sé si podré encontrar el conector OBD macho en alguna tienda de Madrid (¿alguien sabe de algún comercio donde puedan tenerlo?).
Me interesa mucho el proyecto de desarrollar una interfaz OBD RS232 basada en PIC (de libre distribución), y estoy dispuesto a colaborar en lo que pueda.

Desconectado Khronos_Nieto

  • Colaborador
  • PIC10
  • *****
  • Mensajes: 40
Re: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #12 en: 17 de Abril de 2006, 18:34:48 »
Hola jfmateos, el ELM323 parece un diseño bueno, de echo es de los primeros que estuve viendo al buscar informacion sobre el OBD.
Seria muy interesante cojer la idea de ese esquema para construir la interface, pero el problema de nuevo, es la programacion del pic. Lo cierto es que existe informacion sobre los protocolos, que está a disposicion de todo el mundo. Pero hay dos asuntos que le echan a uno para atras..
El primero es la dificultad de decodificar el protocolo, además en vacío casi. Me refiero a que ¿como se depuraría?
Se programa el pic, medio a la aventura, te vas al garaje y lo pruebas (hay que tener un portatil claro). Y si no funciona, ¿como sacas el fallo? No hay leds, no hay ondas.. nada.. solo volver al estudio y a estrujarse la cabeza..
Lo segundo es que creo, no estoy seguro, pero creo que la interface que queremos construir va muy ligada al software que corre en el ordenador. ¿que programa usamos? El vag-com por ejemplo? hay multitud de ellos, pero hay que tener en cuenta que esos programas se comunican con la interface no con el coche directamente.
Es casi seguro que las comunicaciones que hay entre el interface y la aplicacion estan muy ligadas. Como mínimo los baudios a los que van a transmitir via serie.
Y considero que crear una aplicacion (por ejemplo en visual basic) convierte el trabajo en casi imposible. No por la dificultad, si no por la pesadez. Pensemos que cada marca, cada modelo, tiene unos codigos de errores o de parametros distintos. Y habría que interpretarlos. Habiendo aplicaciones ya echas, e incluso de libre distribucion, lo veo un esfuerzo vano.

Disculpen si soy demasiado pesimista .. jeje  :lol: :lol: Realmente sería un placer que alguno de ustedes contestara negando estas "suposiciones" mias y aclarando que no es tan dificil.

Jfmateos, referente al conector OBD, no conozco ninguna tienda en Madrid, pero siempre puedes comprarlo en MEDIAKIT, son de Valencia. No son excesivamente caros, puedes comprarlo a contrareembolso y son de fiar, yo ya compré uno.

Un  saludo.



"Camaradas, ni nuestro propio conocimiento conoce nuestro potencial"
- La caza del Octubre Rojo -

Desconectado Mashy

  • PIC10
  • *
  • Mensajes: 1
    • Accion Informatica
Re: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #13 en: 05 de Mayo de 2006, 20:24:23 »
Felicito a los exponentes del tema, da casualidad que estoy averiguando sobre lo mismo y creo que estoy con los mismos temas dando vueltas ya que no entiendo mucho sobre PIC para las ecus y sus variantes, su programacion y lenguaje, no entiendo porque hace falta una interface o scanner ya que yo desarrollo sistemas y generalmente no he visto un esquema o diagrama de lo que deberiamos hacer para que sea mas claro al menos para my, de todas maneras cuenten con toda mi poca colaboracion hasta que me enganche y que sera pronto ya que hace unos dias que estoy solo dedicado a esto para sacarlo adelante.
Para mi caso que me interesa el software, no creo interesante desarrollar una interace ya que asi simple como suena se podria adquirir, pero si el software para la lectura y reprogramacion de las Ecus. seguire este tema hasta la proxima.

Desconectado costeleta

  • PIC10
  • *
  • Mensajes: 2
Re: Diagnosis y chequeo de vehiculos. Protocolo OBD-2
« Respuesta #14 en: 13 de Mayo de 2006, 18:54:29 »
Donde se puede conseguir el conector ISO 15031-3 para diagnostico? si es que se pueda conseguir?