diseño y realización de un sistema on board diagnostics (obd-ii)

35
Diseño y realización de un sistema On Board Diagnostics (OBD-II) ALUMNO: Oscar Rayo Mansilla ESPECIALIDAD: Electrónica DIRECTOR: Jordi Sellarès González DEPARTAMENTO: Física y Ingeniería Nuclear

Upload: arlo

Post on 23-Feb-2016

74 views

Category:

Documents


4 download

DESCRIPTION

Diseño y realización de un sistema On Board Diagnostics (OBD-II) . ALUMNO: Oscar Rayo Mansilla ESPECIALIDAD: Electrónica DIRECTOR: Jordi Sellarès González DEPARTAMENTO: Física y Ingeniería Nuclear. 1. INTRODUCCIÓN Motivación del proyecto Antecedentes Objetivos Descripción general - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

Diseño y realización de un sistema On Board Diagnostics (OBD-II)

ALUMNO: Oscar Rayo MansillaESPECIALIDAD: ElectrónicaDIRECTOR: Jordi Sellarès GonzálezDEPARTAMENTO: Física y Ingeniería Nuclear

Page 2: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

ÍNDICE 1. INTRODUCCIÓN Motivación del proyecto Antecedentes Objetivos Descripción general

2. DISEÑOS Diseño del modem interface Construcción del programador JDM2 Mejoras del modem interface Programas de prueba Diseño del software de control

3. RESULTADOS Descripción del funcionamiento Posibles aplicaciones

4. PRESUPUESTO

5. CONCLUSIONES Y MEJORAS Plan de trabajo Objetivos logrados Conclusiones finales Mejoras futuras del sistema

Page 3: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

MOTIVACIÓN DEL PROYECTODiagnóstico técnico de las averías de un

vehículo a través de su computadora.

Disponibilidad de una solución de bajo coste.

Evitar la dependencia de los servicios oficiales del mantenimiento del automóvil.

DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)INTRODUCCIÓN

Page 4: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

ANTECEDENTES OBD II Equipamiento autodiagnosticable de

abordo OBD-II (Estados Unidos), EOBD (Europa), y JOBD (

Japón) Sus características pueden monitorear prácticamente

todos los componentes que pueden afectar las emisiones contaminantes

Informaciones importantes sobre posibles fallas detectadas

EE.UU. 1996 (OBD-II)Europa 2001 (EOBD)

DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)INTRODUCCIÓN

Page 5: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

INTRODUCCIÓN DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

ANTECEDENTES Herramientas y software disponible en el mercado basados

en el micro ELM327Interface con microELM327

Interfacecon “Bluetooth“basadaen elELM327

Software de control ScanTool.net

Page 6: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

INTRODUCCIÓN DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

OBJETIVOS Conseguir una comunicación estable con cualquier

centralita electrónica (ECU) de cualquier vehículo equipado con OBD-II.

Conseguir desarrollar una aplicación portable a cualquier sistema operativo y plataforma utilizando lenguaje JAVA y la estructura de programación “por capas”.

Realizar mejoras en el hardware ya existente en el mercado a partir del cual se construirá nuestra interface.

Demostrar que con la información disponible en la red, es posible acceder a los sistemas de control que implementan los fabricantes de automóviles en sus vehículos.

Page 7: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

INTRODUCCIÓN DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

DESCRIPCIÓN GENERAL DEL HARDWAREModem interface, interprete entre la ECU y el puerto USB.

Protocolos OBD-II:SAEJ1850PWMISO 9141/14230SAEJ1850VPWISO15765 (CAN)

CABLEADO:Cable USB tipo A-B Cable conector J1962 específico OBD-II.

OBD-II 16 PIN(Macho) DB9 PIN(Hembra)(J2850 BUS+) 2 7(Masa chasis) 4 1+2(Masa señal)  5 1+2(CAN H)  6 3(ISO 9141-2 K Line)  7 4(J2850 BUS- )  10 6(CAN L)  14 5(Linea L ISO 9141-2)  15 8(Voltaje batería)  16 9

Page 8: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

INTRODUCCIÓN DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

DESCRIPCIÓN GENERAL DEL SOFTWARE Gestión del modem interface atreves del puerto serie

o USB. Configuración del puerto

Lecturas de “códigos de error”

Selección de protocolos de comunicación

Lecturas a tiempo real de los sensores del motor

Exploración del tráfico de datos

Page 9: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

DISEÑO DEL MODEM INTERFACEUtilización de un diseño disponible en la red para realizar mejorasInterface basada en el microcontrolador PIC18F2550 Compatibilidad con el micro ELM327

Page 10: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Para realizar la placa de circuito impreso se utilizó el siguiente “layout”:

Pistas de la cara inferior del circuito Pistas de la cara superior del circuito

Distribución de componentes de la cara inferior del circuito

Distribución de componentes de la cara superior del circuito

Page 11: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

CONSTRUCCIÓN DEL PROGRAMADOR JDM2Cumple con el

estándar ICSP de Microchip

Montaje en placa de baquelita para prototipos

Construcción rápida y con pocos componentes

Page 12: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Funcionamiento correcto en varios vehículos y diferentes protocolos

Pin 2 conector OBD-II(BUS+)

Pin 10 conector OBD-II(Bus-)

MEJORAS DEL MODEM INTERFACE

Problemas de comunicación en el protocolo “SAEJ1850PWM” a través de una “ECU” de diseño obsoleto

Duración del periodo de un bit 24µs Un bit=1 Activo durante 8µs Un bit=0 Activo durante 16µs BUS+ activo 5v. BUS- activo 0v.

Page 13: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Modificación del circuito por obtener tensiones incorrectas en el BUS+

Componentes que gestionan el protocolo SAEJ1850PWM

Q1(Canal-N)Q2(Canal-P)

Resultado de la modificación del circuito

Q1(NPN)Q2(PNP)

Page 14: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Las especificaciones del protocolo indican que las tensiones del BUS están dentro de los márgenes

Posibilidad de errores en las tramas enviadas

61 F1 6A 41 0C 0B 88 5C

61 6A F1 01 00 0A Trama que el modem envía por defecto

Trama con la que debería responder la ECU

Unnable to connectRespuesta real del modem, al no responder la ECU

La cabecera del trama (Header Field) especifica direcciones de memoria

Solución mediante la modificación de la cabecera

Page 15: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Modificación de la cabecera (Header Field) accediendo directamente al firmware del microcontrolador

:103C70000350E66EE66A00010028BC6F000E0120CA:103C8000BD6FBCC0E6FFBDC0E6FF040E0024BE6FE2:103C9000000E0120BF6FBEC0E6FFBFC0E6FFDDEC37:103CA0001EF046E90028E96E000E0120EA6E610E59:103CB000EF6E020E0024E96E000E0120EA6E6A0E26:103CC000EF6E030E0024E96E000E0120EA6EF10E85:103CD000EF6E0001030EBC6F00EBE9FF01EBEAFFA2:103CE000BC51EF2642E9E7CFD9FF1200D9CFE6FF5A

:103C70000350E66EE66A00010028BC6F000E0120CA:103C8000BD6FBCC0E6FFBDC0E6FF040E0024BE6FE2:103C9000000E0120BF6FBEC0E6FFBFC0E6FFDDEC37:103CA0001EF046E90028E96E000E0120EA6EE40EBA:103CB000EF6E020E0024E96E000E0120EA6E100E77:103CC000EF6E030E0024E96E000E0120EA6EF10E85:103CD000EF6E0001030EBC6F00EBE9FF01EBEAFFA2:103CE000BC51EF2642E9E7CFD9FF1200D9CFE6FF5A

Localización de la cabecera

Modificación de la cabecera y del “checksum”

E4 10 F1 01 00 0A

Respuesta de la ECU después de la modificación:C4 F1 10 7F 01 01 00 00 11 41 7F 01: modo de trabajo no compatible

Page 16: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

PROGRAMAS DE PRUEBARealización de pequeños programas de prueba Utilización del código fuente de ScanTool.netMediante la herramienta Dev-C++ se diseñó un pequeño programa con

la siguiente estructura: main(): Arranca el hilo de ejecución. init(): Carga las librerías y abre el puerto. deinit(): Descarga las librerías y cierra el puerto. read_comport(): Lee el puerto serie. open_comport(): Abre el puerto serie. close_commport(): Cierra el puerto serie. send_command(): Escribe en el puerto serie

Programa de prueba utilizando la plataforma JAVA public static void main(): Método que inicia la ejecución del programa. public void Conectar(): Establece la conexión con el puerto serie indicado. public void Enviar(): Escribe la trama de datos a enviar en el puerto serie. public void recibir(): Lee la trama de datos recibida del puerto serie. Public long timer(): Método que realiza la espera necesaria a la respuesta del

puerto.

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Page 17: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Programa de prueba diseñado en C++

Page 18: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

Comando a enviar: ”01 00” Código ASCII:” 48,49,48,48” Mas retorno de carro“01 00\r” Código ASCII:” 48,49,48,48,13 Si el protocolo a utilizar es SAEJ1850PWM:

SOF: Start Of FrameHeader Field: 61 6A F1Data Field: 01 00 CRC: 0AEOF: End Of Frame

Respuesta ECU 61 F1 6A 41 00 0B 88 5C

Respuesta Interface 01 00 6A F1 61 41 00 0B 88 5C

Trama recibida en el puerto serie (Código ASCII)48,49,48,67,13,10,54,65,70,49,54,49,52,49,48,48,48,66,56,56,53,67,13,10,62,-1

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Ejemplo del tratamiento de las tramas digitales recibidas y enviadas:

Page 19: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

DISEÑO DEL SOFTWARE DE CONTROL Realización de un software multiplataforma mediante

lenguaje JAVA Utilización de la programación estructurada

“multihilo” Diseñado en base a la estructura de programación

“por capas”

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

CAPA DE PRESENTACIÓN

CAPA DE DOMINIO

CAPA

DE DATOS

Gestiona las tramas de datos procedentes del modem

Facilita el acceso entre capas

Interactúa con el usuario de la aplicación

Page 20: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

PROGRAMACIÓN ESTRUCTURADA “POR CAPAS”Capa de Datos:

Clase Conexión Clase ControladorConexión Clase lecturaTXTErrores Clase MuestraIDs

Capa de Dominio: Clase ControladorDominioConexión

Capa de Presentación: Clases ControladorPrincipal y VistaPrincipal Clases ControladorErrores y VistaCodigosError Clases ControladorMediciones y VistaMediciones Clases ControladorProtocolo y VistaProtocolo

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Page 21: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

PUESTA EN MARCHA DEL SOFTWAREArranque de la aplicación mediante archivos ejecutables

DISEÑOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

RunLinux.shRunWindows.batVisualOBD.jar

Uso de la librería “RXTXcomm”

Page 22: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

DESCRIPCIÓN DEL FUNCIONAMIENTOEstado inicial del programa

RESULTADOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Page 23: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

Configuración del puerto serieRESULTADOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Page 24: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

Selección del protocolo de comunicaciónRESULTADOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Page 25: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

Inicio de la conexiónRESULTADOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Page 26: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

RESULTADOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Conexión no consolidada

Page 27: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

RESULTADOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Lectura de “códigos de error”

Page 28: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

RESULTADOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Lectura de sensores a tiempo real

Page 29: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

POSIBLES APLICACIONES Labores de manteniendo de cualquier

profesional del sector

Labores de mantenimiento de uso particular

Herramienta para aficionados a la mecánica del automóvil

RESULTADOS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Page 30: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

PRESUPUESTO DEL PROYECTOLa siguiente tabla especifica el presupuesto detallado en euros:

PRESUPUESTO DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Referencia Cantidad Precio unitario

Precio total

Material montaje interfaceMaterial montaje programadorCable OBD-II a DB9 hembraCable USB tipo A-BHora trabajo

1111

20

20552

10

20552

200

Total 232

Observamos que nuestro sistema cuesta 232€, frente a los 4000€ que pueden llegar a costar las herramientas que utilizan en cualquier servicio oficial.

Page 31: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

PLAN DE TRABAJO Conseguir todos los componentes y materiales. Montar la interface y el programador. Comprobar el correcto funcionamiento de la interface. Instalación de los sistemas operativos WindowsXP y Linux

Ubuntu 8.04 con la respectiva maquina virtual de JAVA. Instalar software compatible con la interface para comprobar su

correcto funcionamiento. Conectar la interface a diferentes vehículos para asegurar su

funcionalidad. Programar aplicaciones de prueba en C++ y Java. Programar aplicación con entorno visual. Verificar el correcto funcionamiento de la aplicación visual. Verificar el correcto funcionamiento de la aplicación sobre la

centralita electrónica. Verificar el correcto funcionamiento de la aplicación en

diferentes sistemas operativos, Windows y Linux.

CONCLUSIONES Y MEJORAS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Page 32: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

OBJETIVOS LOGRADOS Conseguir que el montaje de la interface funcione

correctamente. Poder acceder a las centralitas electrónicas (ECU), según el

estándar OBD-II. Consolidar la comunicación con el modem a través del puerto

serie mediante aplicaciones de software de propio desarrollo en C++ y JAVA.

Conseguir descifrar las tramas digitales para obtener una información fácilmente comprensible en pantalla de los datos enviados por la ECU.

Finalizar el desarrollo de la aplicación visual en JAVA con todas las opciones previstas.

Estabilizar la aplicación visual en JAVA sin que se produzca ningún error ya sea de comunicación con la interface o de manejo respecto al usuario.

Conseguir que la aplicación visual en JAVA funcione correctamente tanto en Windows como en Linux.

CONCLUSIONES Y MEJORAS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Page 33: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

CONCLUSIONES FINALES El lenguaje de programación JAVA es una herramienta muy potente,

ya que permite que una misma aplicación pueda funcionar de igual forma en diferentes sistemas operativos y plataformas.

Es posible acceder a la centralita electrónica de un vehículo utilizando montajes sencillos y ordenadores personales. En realidad está al alcance de cualquier usuario particular.

La ingeniería inversa sobre un “firmware” (desensamblado), tiene limitaciones y para realizar cambios significativos es necesario disponer del código fuente, sino estamos limitados a pequeñas modificaciones.

Los fabricantes de automóviles han implementado el estándar OBD-II obligados por EE.UU. i U.E de una forma bastante compatible como lo demuestra el que un pequeño dispositivo genérico como el que se ha realizado, funcione en un amplio rango de vehículos.

El hecho de disponer de un microcontrolador programable disminuye la dependencia en la plataforma, ya que solo es necesario que disponga de conexión USB, y a partir de aquí el papel de las plataformas es de gestionar una conexión serie. El procesado de los protocolos los realiza el micro.

CONCLUSIONES Y MEJORAS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

Page 34: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

CONCLUSIONES Y MEJORAS DISEÑO Y REALIZACIÓN DE UN SISTEMA ON BOARD DIAGNOSTIC (OBD-II)

MEJORAS FUTURAS DEL SISTEMA

Internacionalizar el software de control con la intención de que pueda mostrar la información en varios idiomas ya que en esta primera versión solo se muestran en ingles.

Implementar todos los modos de trabajo del estándar OBD-II en el software de control.

Dotar a la interface de una botonera y un pequeño “display” para poder realizar las funciones más simples de forma autónoma, como por ejemplo la lectura y borrado de los códigos de error DTC.

Implementar en el software de control una opción de autoayuda para poder entender y manejar el sistema de forma más rápida. Esta mejora sería muy útil porque los datos que se manejan son bastante abstractos.

Crear un paquete instalador que automáticamente sitúe los ficheros necesarios del software para acelerar su puesta en marcha.

Page 35: Diseño y realización de un sistema On Board Diagnostics (OBD-II)

Turno de preguntas