sistema de diagnostico de vehiculos obd2

105
UNIVERSIDAD MIGUEL HERNÁNDEZ DE ELCHE ESCUELA POLITÉCNICA SUPERIOR DE ELCHE INGENIERÍA TÉCNICA DE TELECOMUNICACIONES – SISTEMAS ELECTRÓNICOS “PROGRAMA PARA SISTEMA DE DIAGNÓSTICO DE VEHÍCULOS (OBDII) Y COMPROBADOR DE ACTUADORES QUE FUNCIONEN CON SEÑALES (PWM)” PROYECTO FIN DE CARRERA Mayo – 2008 AUTOR: Juan Bautista López Perez DIRECTOR: Ramón P. Ñeco García

Upload: ismely-rivas

Post on 29-Nov-2015

269 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: Sistema de Diagnostico de Vehiculos OBD2

UNIVERSIDAD MIGUEL HERNÁNDEZ DE ELCHE

ESCUELA POLITÉCNICA SUPERIOR DE ELCHE

INGENIERÍA TÉCNICA DE TELECOMUNICACIONES –SISTEMAS ELECTRÓNICOS

“PROGRAMA PARA SISTEMA DE DIAGNÓSTICO DE VEHÍCULOS (OBDII)

Y COMPROBADOR DE ACTUADORES QUE FUNCIONEN CON SEÑALES

(PWM)”

PROYECTO FIN DE CARRERA

Mayo – 2008

AUTOR: Juan Bautista López Perez

DIRECTOR: Ramón P. Ñeco García

Page 2: Sistema de Diagnostico de Vehiculos OBD2

2

Page 3: Sistema de Diagnostico de Vehiculos OBD2

3

VISTO BUENO Y CALIFICACIÓN DEL PROYECTO Título proyecto:

Proyectante: Director/es:

Lugar y fecha: CALIFICACIÓN NUMÉRICA MATRÍCULA DE HONOR

Méritos justificativos en el caso de conceder Matrícula de Honor:

Lugar y fecha:

E s c u e l a P o l i t é c n i c a S u p e r i o r d e E l c h e

U n i v e r s i d a d M i g u e l H e r n á n d e z

Conforme presidente: Fdo.:

Conforme secretario: Fdo.:

Conforme vocal: Fdo.:

VºBº director/es del proyecto: Fdo.: Fdo.:

Page 4: Sistema de Diagnostico de Vehiculos OBD2

4

Page 5: Sistema de Diagnostico de Vehiculos OBD2

5

ÍNDICE

Introducción…………………………………………………………………..7

1-Introducción a la gestión del motor………………………...9

1.1-Sistemas de inyección electrónica.………………………………...9 1.1.0-Motores de inyección en el tubo de admisión (Indirecta)………...13 1.1.1-Motores de inyección directa de gasolina.………………………...16 1.1.2-Motores de inyección directa diesel……………………………….17 1.1.3 -El sistema de encendido……………………………………………21 1.2-La gestión del motor de gasolina……………………………..…..24 1.2.0-La señal base.……………………………………………………..…24 1.2.1- Factores correctivos………………………………………………..25 1.3-La gestión del motor diesel………………………………………...27 1.3.0-Introducción………………………………………………………...27 1.3.1-Estados de servicio……………………………………………….…27 1.3.2-Válvulas de inyección mecánica…………………………………...29 1.3.3-Activación de las electroválvulas…………………………………..30 1.3.4-Regulación Lambda para turismos diesel………………………...31 1.4-Sistemas de reducción de emisiones…………………………......32 1.4.0-Sistema de recirculación de gases de escape……………………....33 1.4.1-Sistema de insuflación de aire secundario.……………………......33 1.4.2-Sistema de retención de evaporación de combustible…………....33 1.4.3-Sistema de purga del cárter del cigüeñal……………...………..…33 1.5-Sensores………………………………………………………………...34 1.5.0 Sensores de temperatura……………………………………………34 1.5.1 Sensores de presión micromecánicos………………………………35

1.5.2 Sensores de revoluciones inductivos……………………………….36 1.5.3 Sensores de anillos de cortocircuito semidiferencial……………...39

1.5.4 Sensor de movimiento de aguja…………………………………….40 1.5.5 Medidor de masa de aire de película caliente……………………..42

1.5.6 Sonda Lambda…….…………………………………………………43 1.5.7 Sensores potenciométricos….……………………………………….44 1.6-Actuadores…………………………………………………………….45

1.6.0 Actuador de la presión de sobrealimentación.....…………………45 1.6.1 Válvula de realimentación de gases de escape…………………….46 1.6.2 Electrobomba de combustible……………………………………..46

1.6.3 Actuador de vórtice…………………………………………………48 1.6.4 Chapaleta en el tubo de admisión………………………………….48 1.6.5 Válvula de mariposa…………………………………………….…..48

1.6.6 Actuadores en sistemas Common Rail…………………………….48 1.6.7 Actuadores en bombas rotativas de inyección de embolo……….. 50

axial, de mando por aristas . 1.6.8 Actuadores en un sistema de inyección de gasolina………………52

Page 6: Sistema de Diagnostico de Vehiculos OBD2

6

1.7-La Unidad electrónica de control………………………………...53 1.7.0 Introducción………………………………………………………...53

1.7.1 Funciones del OBDII…………………………………….……58 1.7.2 Funciones del diagnostico de a bordo y de emergencia....…59 1.7.3 Interfaz de diagnostico…………………………………….….62 1.7.4 Estudio técnico sobre códigos de averías....…………….……63

2–Realización del programa OBDII………………….…..65

2.0-Introducción………………………………………………….....65 2.1-Software de diagnostico OBD……………………………....69 2.1.0 Datos de inicio y monitorización…………………………….70 2.1.1 Leer datos de sensores…………………………………….....74 2.1.2 Leer y borrar DTC…………………………………………...82 2.1.3 Datos Congelados………………………………………….....86 2.1.4 Analisis de Sensores O2……………………………………...88 2.1.5 Opciones de configuración……………………………….….90

3 –Realización del comprobador de electroválvulas…………………………………………………...91

3.0-Introducción……………………………………………………91 3.1-Electrónica aplicada al circuito……………………………92 3.2-Software aplicado al microcontrolador PIC……………95 3.3-Vistas del PCB……………………………………………….…99

4- Conclusiones y trabajos futuros…………………….….101

5- Bibliografía……..………………………………………………....105

Page 7: Sistema de Diagnostico de Vehiculos OBD2

7

Introducción La implantación de sistemas electrónicos en los automóviles hace necesario un sistema de autodiagnóstico capaz de autosupervisarse, detectar, almacenar y evaluar fallos para el diagnostico. Hasta hace pocos años el sistema funcionaba en la forma específica del fabricante, pero con el aumento de la severidad para los valores de los gases de escape, los legisladores vieron en el autodiagnóstico un medio auxiliar de supervisión de estos gases e introdujeron la estandarización independientemente del fabricante. Este sistema adicional se denomina sistema OBD (On-Board Diagnostics System). El sistema de diagnóstico (OBD) ha tenido una gran repercusión en la industria del automóvil, por el hecho de que se haya legislado la supervisión del cumplimiento de los valores límite de los de gases de escape. La unidad de control del motor (ECU, Engine Control Unit) contiene funciones de diagnostico (algoritmos de software) que reconocen los fallos del sistema relevantes para los gases de escape. Las funciones de diagnostico (OBD) verifican todos los componentes que, en caso de no funcionar, provocan un incremento de las emisiones contaminantes. En cada país se fijan valores límite para los gases contaminantes. Si se sobrepasan estos límites, se indica el defecto al conductor mediante un testigo de averías. La lectura de los registros de averías se establece mediante un enchufe de diagnostico en el que se comunica la unidad de control y el comprobador a través de un protocolo de comunicación (ISO 9141-2, SAE J1850, ISO14230-4, SAE J1708). Mediante este enchufe se puede establecer la comunicación con las diferentes unidades de control (por ejemplo Motronic, ESP, control de cambio, sonido, ABS, etc), hasta 100 ECU’s distintas que hoy en día puede tener un vehiculo. El comprobador detectará las averías accediendo a la dirección de memoria de cada una de estas unidades de control. Es claro que en la memoria de programa de la unidad de control del motor existen algoritmos (software) que se ocupen de la gestión de averías en la forma especifica del fabricante y, adicionalmente, las del estándar del sistema de diagnostico (OBD). Por supuesto, OBD contiene códigos de avería genéricos y específicos del fabricante del vehiculo. Existen en el mercado multitud de comprobadores o diagnosis de vehículos multimarca y específicos del fabricante del vehículo que ofrecen al técnico del taller un amplio abanico de posibilidades para encontrar la avería lo más rápidamente posible. En muchísimas ocasiones, la interpretación incorrecta de la información obtenida por el aparato de diagnostico por parte del técnico, lleva a un cambio de piezas innecesario con el consiguiente desembolso del usuario del vehículo. El proyecto que se expone a continuación, consiste en la implementación de un interfaz de diagnóstico (hardware), y una aplicación (software) capaz de visualizar en una pantalla de ordenador todos los modos estandarizados en que se presenta la información del sistema de diagnostico (OBDII) de una forma clara y concisa. Además esta aplicación es capaz de crear una base de datos de “modelos correctos” de datos monitorizados para poder comparar mediante un gráfico con otros “modelos” de datos de las mismas características que se quieran comprobar, con el objeto interpretar de

Page 8: Sistema de Diagnostico de Vehiculos OBD2

8

forma gráfica las averías de los sensores y actuadores. La otra parte del proyecto es un comprobador de actuadores que funcionen con señales PWM, con el objeto de comprobar físicamente el funcionamiento de éstos. Este comprobador contiene un generador de señal PWM regulable, un frecuenciómetro y un medidor del duty-cycle de la señal.

Page 9: Sistema de Diagnostico de Vehiculos OBD2

9

Capítulo 1 Introducción a la gestión electrónica del motor.

Actualmente existen en el mercado multitud de sistemas de inyección (Digifant, Renix, Motronic, LH Jetronic, KE-Jetronic, etc.). En todos estos sistemas puede cambiar la forma de leer las magnitudes físicas o la forma en la que se inyecta el combustible, pero todas tienen en común la necesidad de una serie de sensores que informan a una ECU (Unidad Electrónica de Control) de los valores de parámetros físicos tales como la posición del cigüeñal, la cantidad de flujo de aire aspirado, la presión existente en el múltiple de admisión, etc. La ECU gestiona estos datos y mediante una cartografía previamente grabada en memoria, aplica a los actuadores las señales registradas para que el motor funcione dentro de los márgenes de potencia y consumo que el fabricante ha estipulado. En este primer capítulo se realiza una descripción y estudio de los sistemas de encendido e inyección controlados por la unidad de control.

1.1 Sistemas de inyección electrónica

La aplicación de la inyección electrónica a los motores de combustión interna se ha extendido enormemente en los últimos 20 años. Hoy en día, en muy escasas aplicaciones de automoción se continúa utilizando el carburador tradicional, justificado únicamente por economía y simplicidad de aparejo electrónico.

Las valores límite de los gases de escape de la normativa EURO III para turismos y vehículos industriales, exigen un control de antipolución que no es posible conseguir sin la utilización de sistemas electrónicos de encendido, convertidores catalíticos y control electrónico del suministro de combustible lo bastante eficaz como para que permitan al fabricante de vehículos lograr el compromiso más favorable entre prestaciones y legislación.

El catalizador, para llevar a cabo su tarea de depuración de gases, debe operar en un rango extremadamente estrecho de mezcla aire/combustible (en la práctica es la relación estequiométrica, 14.7/1 en masa) y sólo un sistema electrónico que aúne precisión y rapidez puede actuar sobre la cantidad de combustible proporcionado al motor y variarlo en función de la lectura de la sonda lambda (la cual es binaria, porque sólo reconoce exceso o defecto respecto a la referencia estequiométrica).

Page 10: Sistema de Diagnostico de Vehiculos OBD2

10

Figura 1: Emisiones en función de la proporción aire/gasolina.

En la figura 1 se puede apreciar cómo las emisiones de monóxido de carbono (azul), óxidos de nitrógeno (verde) e hidrocarburos (rojo) se minimizan manteniendo una proporción aire/gasolina de 14.7:1. Éste es el punto donde debe trabajar el catalizador y, para ello, la sonda lambda proporciona información a la central de inyección según la combustión sea excesivamente rica (zona derecha) o pobre (zona izquierda). Como ya resulta evidente, un carburador nunca podría realizar este cometido de un modo eficaz y por ello la inyección, más que por cuestiones de rendimiento de motor, por control de emisiones, es imprescindible.

Figura 2:Sonda Lambda binaria su diagrama de tensión según la naturaleza de la mezcla

La gestión electrónica de motor controlando simultáneamente mapas de encendido e inyección, permite casi “modelar” la combustión del motor, logrando una alta eficiencia térmica con buena economía de combustible a todo régimen, pudiendo actuar localmente en cada punto de funcionamiento del motor sin afectar en absoluto al resto. Así, un “bache” en la curva a 3750 rpm cuando se lleva el acelerador abierto un 60 % se puede tratar modificando la cartografía en ese punto (figura 3) sin afectar a la que rige las 5500 rpm a 40% o a las 5400 o 5600 rpm.

Page 11: Sistema de Diagnostico de Vehiculos OBD2

11

Figura 3: Mapa numérico de inyección MoTeC M800 para Audi A4

Los tipos de inyección se pueden clasificar según la ubicación del inyector, el modo de inyección y el número de inyectores.

Según la ubicación del inyector, la formación de la mezcla se puede producir en el interior o en el exterior de los cilindros.

Con la formación externa de la mezcla existe la inyección monopunto (un solo inyector suministra el combustible a los cilindros) y la inyección individual. Con la formación interna de la mezcla, se obtiene la tan extendida inyección directa en motores diesel que requiere un tipo especial de inyector que resista las altas presiones de la cámara de combustión.

Figura 4. Inyección directa

Con la inyección indirecta el modo con que se produce la inyección en los cilindros puede ser: intermitente simultáneo, continuo simultáneo, secuencial o inyección individual para cada cilindro.

1.- Inyección intermitente simultánea: Los inyectores de todos los cilindros se abren y cierran a la vez sin importar la fase del ciclo de cada cilindro. De esta forma, el combustible se acumula detrás de la válvula de admisión hasta la apertura de ésta en la fase correspondiente.

2.- Inyección intermitente por bancada o continua simultanea: En este caso, la central de control, identifica los cilindros de la misma bancada (típico de motores en V para

Page 12: Sistema de Diagnostico de Vehiculos OBD2

12

evitar pulsaciones en la rampa de inyección) o bien aquéllos que suben y bajan simultáneamente, como en el caso de un 4 cilindros, inyectar al mismo tiempo al 1-4 y 2-3.

3.- Inyección secuencial: En esta inyección se permite que cada cilindro sea alimentado en la fase de admisión y en el momento más apropiado de ésta, definiendo momento de apertura y cierre en grados de cigüeñal. Estas ventajas reducen considerablemente la adhesión de combustible a las paredes de colector, mejoran la mezcla y por consiguiente las emisiones contaminantes.

4.- Inyección individual para cada cilindro: Este tipo de inyección ofrece los mayores grados de libertad. Comparado con la inyección secuencial ofrece la ventaja de poderse influir aquí de modo individual en el tiempo de inyección para cada cilindro. De este modo pueden compensarse desigualdades, por ejemplo en el llenado de los cilindros.

Figura 5: a) inyección simultánea, b) inyección en grupo, c) inyección secuencial e individual.

Según el número de inyectores, la inyección electrónica se puede clasificar en sistemas de inyección monopunto o multipunto.

Figura 6 Monopunto Multipunto

Page 13: Sistema de Diagnostico de Vehiculos OBD2

13

1.1.0 Motores de inyección en el tubo de admisión (indirecta).

Existen en la actualidad multitud de sistemas de inyección, con un funcionamiento similar, cambiando las formas de medir las magnitudes físicas o la de “actuar” con los actuadores, como ya habíamos comentado anteriormente.

De todos los sistemas de control del motor que se podrían elegir para su estudio, he elegido el sistema Motronic por estar implantado en multitud de vehículos y ser un sistema introducido por la empresa BOSCH líder mundial en componentes electrónicos para vehículos.

El núcleo del sistema Motronic lo constituye el control sobre la inyección de gasolina y el encendido.

En el diagrama (figura 7 ) se puede observar en primer lugar el sistema de retención de evaporización de gases formado por un deposito de carbón activo (1) conectado mediante una tubería al depósito de gasolina por un lado, por otro tubo a la válvula de cierre (2) y por otro a la válvula regeneradora (3), que en conjunto con el sensor de presión diferencial (24) crean un conjunto de componentes que controlados por la unidad de control son capaces de reducir el escape al exterior de los gases (HC) acumulados en el depósito de gasolina evitando contaminar el medio ambiente, ajustándose a los límites legales de la legislación vigente.

Figura 7

El depósito de carbón activo retiene el vapor de combustible y sólo deja salir aire a la atmósfera. Para regenerar el carbón activo, los gases del depósito se conducen a la admisión a través de la válvula regeneradora, la cual se abre y cierra en forma de rampa de tal forma que las divergencias que surjan con el regulador Lamda las aprenda la unidad de control como corrección de mezcla. Con ayuda del sensor de presión diferencial que mide la presión de gases del depósito y la válvula de cierre que regula la cantidad de aire que entra al depósito de carbón, la unidad de control regula la mezcla

Page 14: Sistema de Diagnostico de Vehiculos OBD2

14

de estos gases para disminuir divergencias en la regulación lambda.

Cuando se produce un corte por deceleración en régimen de retención, se cierra la válvula regeneradora para que no lleguen al catalizador vapores de gasolina sin quemar.

El sistema de alimentación de combustible está formado por la electrobomba de combustible (25), el filtro de combustible (17), el regulador de la presión combustible (4), y el inyector (5). La electrobomba de combustible bombea la gasolina hasta una rampa de combustible donde está situado el regulador de presión y la entrada de combustible a los inyectores. La presión de trabajo está situada entre 2’5 y 3’5 bares. El caudal de combustible inyectado por la válvula depende del tiempo de inyección y de la diferencia entre la presión del combustible en la rampa de combustible y la contrapresión en el tubo de admisión. El regulador de presión deja refluir al depósito exactamente la cantidad de combustible precisa para que permanezca constante la diferencia de presión en los inyectores.

El actuador de ralentí o válvula de aire adicional (14) introduce aire por detrás de la mariposa en forma de bypass, con el objeto de que exista un ralentí ajustado a las necesidades de temperatura y carga del motor.

Existen dos maneras de realizar este ajuste, bien por la válvula de aire adicional antes mencionada o mediante un control directo sobre la mariposa con un motor paso a paso.

El sistema de recirculación de gases de escape está formado por una electroválvula neumática (6) que controla por vacío a la válvula de recirculación de gases (16). Este sistema sirve para introducir los gases de escape por el tubo de admisión, con el objeto de reducir la temperatura máxima de combustión. Como consecuencia de ello los niveles de óxido de nitrógeno se reducen, repercutiendo también en la transformación de energía y con ello el consumo de combustible.

Este sistema se introdujo en el automóvil para evitar la contaminación de gases NOx a raíz de las restricciones de las legislaciones vigentes en el tema de polución del medio ambiente.

El sistema de insuflación de aire en el escape está constituido por una bomba de aire secundario (9) y una válvula de aire secundario. Este sistema tiene la función de introducir a presión aire al colector de escape con el objeto de que el oxígeno aportado acelere el calentamiento del catalizador, cuando el motor no tiene aún la temperatura de servicio y la mezcla es rica. Esta reacción exotérmica origina también la reducción de hidrocarburos y el monóxido de carbono.

El sensor de revoluciones (19) es un captador inductivo que informa a la unidad de control de la posición del cigüeñal. Cada hueco entre dientes de la corona dentada acoplada al volante de inercia, genera una señal rectangular al ordenador, si la separación entre dientes es más del doble que la anterior y que la siguiente, se reconoce un hueco entre dientes donde se sitúa una posición definida del cilindro número 1 y el ordenador sincroniza la posición del cigüeñal. Como en cada diente la posición del cigüeñal varía 3 grados, el calculador necesita más precisión para realizar el cálculo del momento del encendido, por eso la duración temporal medida entre dos flancos se divide por cuatro. De esta forma el ángulo de encendido es posible regularse en pasos de 0’75 grados.

El sensor de fase (8) es normalmente un detector Hall, el cual registra la posición del árbol de levas. Esta información no puede obtenerse a través del sensor de revoluciones. Con la información recibida por este sensor se puede saber qué pistón está en compresión o en escape, pues la unidad de control necesita saber qué bobina debe ser

Page 15: Sistema de Diagnostico de Vehiculos OBD2

15

activada. Ya que los sistemas Motronic utilizan un sistema de distribución de chispa en reposo de tensión (ROV) y bobinas de encendido de chispa simple, esta información es fundamental.

El medidor de masa de aire (11) y el transmisor de la mariposa (13) son sensores que determinan la carga del motor, magnitud principal para realizar el cálculo del ángulo de encendido y el caudal de inyección.

El medidor de caudal registra el flujo volumétrico de aire (m3/h) aspirado por el motor. El sistema Motronic incorpora un medidor de caudal, en el que el flujo aspirado desvía una aleta-sonda contra la fuerza de recuperación constante de un muelle. La posición de la aleta-sonda se registra mediante un potenciómetro. La tensión originada en su divisor de tensión es una medida para el flujo volumétrico del motor.

Existen otras formas de medir el flujo de aire como el medidor de masa de aire de hilo caliente o el medidor de masa de aire de película caliente los cuales originan la misma función que el de aleta-sonda, que se comentarán en el apartado de sensores.

El transmisor de la mariposa registra el ángulo de la mariposa a través de un potenciómetro con el objeto de determinar una señal de carga secundaria que se emplea como información adicional para funciones dinámicas, para reconocimiento de margen (ralentí, carga parcial, plena carga) y de señal de emergencia en caso de fallar el sensor de carga principal.

El sensor de temperatura de aire (15) es una resistencia de coeficiente negativo (NTC). Sirve para corregir en el cálculo de la inyección, las variaciones de densidad del aire ocasionadas por las fluctuaciones de temperatura del aire.

El sistema de encendido está representado en el diagrama con la bobina de encendido independiente (7) junto con la bujía.

El sensor de detonación (18) detecta los procesos de combustión anormales con ruidos de “picado” producidos como consecuencia del autoencendido de mezcla fresca todavía no alcanzada por el frente (llamas en el interior del cilindro). En caso de una detonación prolongada, las ondas de presión y la temperatura pueden causar daños en el motor.

La señal producida por el sensor de detonación es conducida al sistema Motronic, donde se interpreta si el ángulo de encendido debe ser atrasado o no.

La sonda Lambda (21) mide la proporción de aire Lambda (λ), siendo ésta la relación aire-combustible en la mezcla. Con Lambda=1 trabaja óptimamente el catalizador. La señal que produce la sonda es parecida a una onda senoidal, transmitiendo al calculador si la mezcla es pobre o rica según la tensión originada por la sonda. Con esta señal se realiza una regulación Lambda haciendo que se modifique el tiempo de inyección, permitiendo un control constante de la riqueza de la mezcla y por tanto, permaneciendo en el margen optimo de λ=1.

La segunda sonda Lambda situada detrás del catalizador sirve para comparar la señal con la primera y verificar que el catalizador funciona correctamente. En la figura 8 se observa el aspecto de la señal de una sonda Lambda, y en la figura 9 se aprecia la relación existente entre la tensión originada y el coeficiente lambda, junto con las diferencias que hay en los gases originados en el escape (NOx, HC, CO) con tratamiento catalítico y sin él.

Page 16: Sistema de Diagnostico de Vehiculos OBD2

16

Figura 8 Figura 9

La conexión de diagnostico (22) sirve para transmitir al exterior información sobre códigos de avería, lectura de magnitudes de los sensores, etc. Mientras que la lámpara de diagnostico (23) informa al conductor de que se ha producido una avería.

1.1.1 Motores de inyección directa de gasolina Estos motores forman la mezcla de aire y combustible en la cámara de combustión. A través de la válvula de admisión abierta, durante la carrera sólo fluye el aire de combustión. El combustible se inyecta directamente en la cámara de combustión mediante válvulas de inyección especiales.

En su funcionamiento la electrobomba de combustible bombea la gasolina a una presión entre 3 a 5 bares hacia la bomba de alta presión. Ésta genera la presión del sistema en función del punto de servicio (par motor y número de revoluciones exigidos). La presión que se encuentra bajo alta presión se acumula en un conducto que es común para todos los inyectores. Estas son activadas por la unidad de control del motor e inyectando el combustible a los cilindros. En la figura 10 se visualizan los componentes del sistema.

Figura 10

Page 17: Sistema de Diagnostico de Vehiculos OBD2

17

1.1.2 Motores de inyección directa diesel

Existen tres sistemas diferentes a la hora de inyectar el gas-oil a los cilindros:

- Mediante una bomba rotativa.

- Sistema Common Rail.

- Unidad inyector-bomba o inyector-tubería-bomba

Figura 11

Bomba rotativa de inyección distribuidora de émbolo axial de mando por electroválvula. (Figura 12 )

El anillo portarodillos (2) está solidario al movimiento del cigüeñal mediante la correa de distribución, provocando un movimiento axial en el disco de levas (3) y el émbolo axial (4) solidario a éste, creando en la cámara de alta presión (6) el combustible comprimido que se inyectará a través de la lumbrera de distribución (8) hacia el inyector. El caudal inyectado será proporcional a la posición de la corredera de regulación (5) que controla el fin de la inyección.

Figura 12

Page 18: Sistema de Diagnostico de Vehiculos OBD2

18

Bomba rotativa de inyección de émbolos radiales de mando por electroválvula.

Una electroválvula de alta presión regulada electrónicamente dosifica el caudal y el comienzo de inyección (Figura 14). El avance de la inyección también es regulado electrónicamente a través de un variador de avance. Los dos dispositivos son controlados por la UCE con señales PWM.

Sistema Common Rail.

En la inyección por acumulador común (Figura 15 ) se realizan por separado la generación de la presión y la inyección. La presión de inyección (alrededor de 1300 bares) se genera independientemente del régimen de revoluciones y del caudal de inyección. El momento y el caudal de inyección se calculan en la UCE y se realizan por el inyector en cada cilindro del motor, mediante el control de una electroválvula. Es utilizado por el grupo PSA (motores HDI), los DCI de RENAULT, y los JTD de FIAT.

Las partes fundamentales de que consta un sistema Common Rail se muestran en la figura 15 siguiente.

El esquema del inyector se muestra en la figura 16.

1-Bomba de alta presión.

2-Rail (acumulador de combustible)

3-Electroválvula de alta presión

4-Inyector

5-Orificios de inyección Figura 15

1-Recorrido del variador de avance 2-Rodillo 3-Anillo de levas 4-Embolo radial 5-Electroválvula de alta presión 6-Cámara de alta presión 7-Flujo de combustible hacia inyector 8-Ranura de distribución

Figura 14

Page 19: Sistema de Diagnostico de Vehiculos OBD2

19

Los sensores que intervienen en la gestión electrónica en un sistema Common Rail son los siguientes:

-Sensor de pedal acelerador con interruptor de ralentí y sobregás.

-Sensor de revoluciones del cigüeñal.

-Sensor de revoluciones y reconocimiento de cilindros (Árbol de levas).

-Sensor de alta presión del acumulador (Rail).

-Sensor de la presión de sobrealimentación.

-Sensor de la temperatura del motor.

-Sensor medidor de la masa de aire (caudalímetro).

Figura 17

1.- Retorno de combustible a deposito 2.-Conexión eléctrica 3.- Electroválvula 4.- Muelle 5.- Bola de válvula 6.-Estrangulador de entrada 7.- Estrangulador de salida 8.- Embolo de control de válvula 9.- Canal de afluencia 10 - Aguja del inyector 11.-Entrada de combustible a presión 12.- cámara de control Figura 16

Page 20: Sistema de Diagnostico de Vehiculos OBD2

20

Sistema inyector-bomba

Este sistema, figura 18, consta de una bomba de inyección (2) y el inyector (4) formando una unidad. Por cada cilindro hay una unidad montada en la culata, accionada por el árbol de levas del motor (1).

Como no hay conducto de alta presión se consiguen presiones de inyección de hasta 2050 bares, con lo que se consigue una mayor eficacia y rendimiento del motor.

La unidad de control calcula el tiempo de inyección y la regula mediante la apertura y cierre de la electroválvula (3).

Esquema unidad Inyector-bomba Componentes de la unidad Inyector-bomba

Figura 18

Sistema Inyector-tubo-bomba

La unidad bomba-tubo-inyector trabaja de la misma forma que la unidad bomba –inyector, a diferencia que el inyector y la bomba de inyección están separados por una tubería corta. Con esta disposición es posible un montaje más sencillo adosado al motor. En la figura (19) podemos apreciar un esquema de este sistema .A través de una leva de accionamiento (6) empuja el embolo de la bomba (5) originando la presión de inyección controlada por la electroválvula (4), y conducida por la tubería (3) hasta el portainyector (2) y finalmente produciendo la inyección por el inyector (1).

En la figura (20) se aprecia una unidad bomba -tubo-inyector real.

Page 21: Sistema de Diagnostico de Vehiculos OBD2

21

Figura 19 Figura 20

1.1.3 -El sistema de encendido. La función del encendido es inflamar en el momento correcto la mezcla de aire y combustible comprimida, iniciando así su combustión.

La mezcla de aire y combustible en el motor de gasolina se inflama mediante una chispa eléctrica, producida por la bobina, que salta entre los electrodos de la bujía de encendido. La bobina de encendido se basa en el principio de autoinducción, ésta consta de dos devanados de cobre acoplados magnéticamente (el devanado primario y el secundario). La energía acumulada en el campo magnético del devanado primario se transfiere al lado secundario y con la conexión y desconexión de la corriente primaria a través de una etapa final de potencia, ocasiona en el secundario la generación de la alta tensión .

Figura 21

1- Etapa de potencia.

2-Bobina

3-Diodo

4-Conexión secundario

Page 22: Sistema de Diagnostico de Vehiculos OBD2

22

La tensión secundaria máxima depende de la energía acumulada en la bobina de encendido, de la capacidad del devanado, de la relación de multiplicación de la bobina de encendido, de la carga secundaria y de la limitación de tensión primaria de la etapa final de encendido.

Actualmente, el modo en que se distribuye la alta tensión a las bujías es totalmente electrónica y gobernada por la unidad de control (distribución estática de la tensión), evitando desgastes mecánicos como los ocasionados en las tapas de distribución (delcos) en vehículos más antiguos

En la actualidad la unidad de control del motor conecta la etapa final de encendido durante el tiempo de cierre. Dentro de este tiempo (ángulo de cierre) se genera la corriente primaria en la bobina. Este tiempo debe ser preciso para no someter la bobina de encendido a sobrecargas térmicas

El ángulo de cierre, que se refiere al cigüeñal, depende por eso del número de revoluciones y de la tensión de la batería. Los valores para el ángulo de cierre están almacenados en un diagrama característico sobre cuyos ejes están esbozados la tensión de la batería y el número de revoluciones.

Figura 22.Variación de la corriente primaria según la tensión de la batería.

La interrupción de la bobina a un ángulo definido por el cigüeñal (ángulo de encendido) ocasiona la chispa de encendido y con ella la inflamación de la mezcla.

Después del encendido transcurren aproximadamente dos milisegundos hasta quemarse totalmente la mezcla de aire y combustible. El momento de encendido ha de elegirse de manera que el punto esencial de la combustión y con él la punta de presión en el cilindro, se encuentren poco después del punto muerto superior. Por eso ha de desplazarse el ángulo de encendido hacia avance a medida que aumenta el número de revoluciones.

Page 23: Sistema de Diagnostico de Vehiculos OBD2

23

El llenado del cilindro (carga) influye también en el ángulo de encendido hacia avance, ya que el frente de llamas se extiende más lentamente si el llenado es reducido.

El ángulo de encendido influye en el par motor, las emisiones de gases y el consumo de combustible. Por eso se prefija mediante diagramas característicos, determinados en los bancos de ensayo de motores, para que cumpla todas las exigencias lo mejor posible.

Figura 24.Diagrama del ángulo del encendido en función del llenado del cilindro y rpm.

Existen unas correcciones aditivas que provocan un avance o un retraso en el encendido, todas ellas almacenadas en la memoria de datos como valores fijos o como curvas características. Influyen, por ejemplo, la temperatura del líquido refrigerante, el estado de funcionamiento de ralentí o corte de marcha por empuje, cuando se efectúa una detonación detectada por el sensor de picado, momento de arranque, régimen de retención, etc.

Figura 23

1. Angulo de encendido correcto Za. Posición del pistón y

2. Angulo de encendido demasiado avanzado Zb. cigüeñal en el momento

3. Angulo de encendido retrasado Zc del encendido Z.

Page 24: Sistema de Diagnostico de Vehiculos OBD2

24

Figura 25

1.2 La gestión del motor de gasolina En la unidad de control se calcula el tiempo de inyección en función de la señal base y los factores correctivos que adecúan la mezcla a los requerimientos del motor.

1.2.0 La señal base La señal base (o de carga), es la base para el cálculo de la cantidad de masa de aire por carrera aspirada por el motor. Esta señal es calculada por la unidad de control a partir de las señales de carga y de régimen del motor.

Existen varias formas de obtener la señal de carga con la que la UCE puede calcular la señal base para poder obtener el tiempo base de inyección y el ángulo de encendido base:

-Mediante la medición de la masa de aire que se obtiene con un caudalímetro (medidor de masa de aire de hilo caliente, o de película caliente), el cual mide directamente la masa de aire, que se emplea para el cálculo de la señal base.

-Mediante la medición de la presión en el colector de admisión, esta señal la utiliza la UCE como variable de un campo característico de adaptación para el cálculo de la señal base, ya que no existe una relación directa entre masa de aire y presión en tubo de admisión.

-Mediante la medición del ángulo de la mariposa de aire en función del régimen del

Page 25: Sistema de Diagnostico de Vehiculos OBD2

25

motor se consigue en la UCE la señal base.

En todas estas mediciones, la temperatura del aire y la presión del entorno, cambia la densidad del aire realizándose una corrección de la señal base.

El tiempo de inyección básico se calcula mediante la señal base y de las constantes de válvula de inyección. Esta constante es la relación entre el tiempo de activación de la válvula y el caudal de paso. La multiplicación del tiempo de inyección con la constante de válvula da como resultado la masa de combustible inyectado.

Este caudal de combustible será efectivo mientras:

-La presión diferencial entre la presión de combustible y la presión en el tubo de admisión sea constante.

-Se compense mediante una corrección de la tensión de la batería, para que no influya en la activación de los inyectores.

1.2.1 Factores correctivos En el tiempo de inyección real o efectivo, se introducen factores de corrección sobre el tiempo de inyección base para adecuar la mezcla a los requerimientos del motor. Los estados de servicio más importantes que requieren un factor de corrección son los siguientes: -Arranque en frío

-Fase de calentamiento

-Compensación de transición (Acelerar/desacelerar)

En el siguiente cuadro (Figura 26) se aprecia cómo según el factor de corrección se modifica el factor de enriquecimiento y por tanto el tiempo base de inyección.

Figura 26

Durante el proceso de arranque se realiza un cálculo especial del tiempo de inyección, en el cual se aumenta el caudal de inyección, adaptado a la temperatura del motor. Este aumento del caudal sirve para formar una película de combustible en la pared del tubo de admisión y cubrir así la demanda durante el arranque. En el momento en que el motor se pone en marcha este caudal extra se interrumpe, pasándose a la fase de calentamiento.

En la fase de calentamiento se realiza un aumento del régimen de ralentí el cual está en función de la temperatura del motor. Es importante señalar las estrategias que se utilizan para conseguir que el catalizador aumente su temperatura hasta la de servicio, con el objeto de que empiece a funcionar éste lo antes posible. Éstas son:

-La combinación de una fase de calentamiento con mezcla pobre y un ángulo de

Page 26: Sistema de Diagnostico de Vehiculos OBD2

26

encendido retardado, aumentando la temperatura de los gases

-Combinación de mezcla rica con insuflación de aire secundario en el tubo de escape

Con las dos estrategias de calentamiento se produce un cambio en el tiempo de inyección.

Una vez conseguida la disposición del servicio del catalizador se regula la inyección a un coeficiente de aire λ=1 (relación estequiométrica), adaptándose posteriormente el ángulo de encendido al requerimiento funcional del motor.

En los motores con inyección en tubo de admisión funcionan a ralentí y carga parcial exclusivamente con mezcla estequiométrica. En motores de inyección directa con carga estratificada (el combustible no se inyecta hasta poco antes del momento de encendido, formando una nube alrededor de la bujía).

En el proceso de aceleración, es decir, al abrir la mariposa, se acumula en el tubo de admisión una película de combustible que empobrece la mezcla, por lo que debe inyectar más caudal de combustible. Por lo tanto, en el proceso de deceleración debe reducirse el tiempo de inyección por valor de esta misma cantidad de combustible.

En el siguiente gráfico (Figura 27) se aprecia cómo la señal base (o de carga) es modificada para solucionar este problema. En este caso la señal del ángulo de mariposa es señal de carga.

Figura 27

En el régimen de retención se desconecta la inyección, y tras sobrepasar un régimen de reanudación (superior al de ralentí) se reinicia la inyección.

La unidad de control calcula a partir de la sonda Lambda un factor de corrección que corrige el tiempo de inyección. Esta corrección se denomina Regulación Lambda. Si la sonda Lambda es de dos puntos informa al Regulador Lambda sobre la cantidad de oxígeno que tienen los gases d escape, con esta información se calcula si λ<1 o λ>1, o sea, si la mezcla es pobre o rica. Según este dato se modifica el tiempo de inyección para conseguir llegar a λ=1 (con un salto y subsiguiente desarrollo en rampa). Por lo tanto, se origina en la sonda Lambda una oscilación cuyo periodo está determinado por el paso del gas y su amplitud por la inclinación de la rampa.

Page 27: Sistema de Diagnostico de Vehiculos OBD2

27

1.3 La gestión del motor diesel 1.3.0 INTRODUCCIÓN La regulación electrónica de control en los motores diesel (EDC) ha revolucionado la industria del motor, disminuyendo el consumo de combustible y adaptándose a las exigencias europeas sobre emisiones gases de escape y ruido.

La evolución conseguida con las bombas rotativas y en línea con respecto a las que se han regulado electrónicamente ha sido el variador de avance, que era regulado por la presión ejercida por la bomba de transferencia, se ha sustituido por un solenoide variador de avance controlada por la UCE., el regulador de velocidad centrífugo o neumático se ha sustituido por un solenoide que controla una varilla de regulación, este solenoide es controlado por la UCE y la válvula dosificadora por un mecanismo magnético de control de giro que regula el caudal de inyección, también controlado por la unidad de control que utiliza un diagrama característico de control programado.

La principal función de la regulación electrónica diesel es el control del caudal y el comienzo de inyección. En los sistemas Common Rail también regula la presión de inyección. En definitiva, las funciones de regulación electrónica se adaptan a cada vehículo y a cada motor.

Figura 28

1.3.1 Estados de servicio. Los diferentes estados de servicio determinan el caudal de arranque inyectado. Estos estados de servicio son:

-Arranque en frío. Al arrancar, se calcula el caudal de inyección en función de la temperatura del motor.

-Durante la marcha se calcula el caudal en función de la posición del pedal y el número de revoluciones. Este cálculo está basado en su cartografía memorizada de la

Page 28: Sistema de Diagnostico de Vehiculos OBD2

28

UCE y tiene en cuenta factores de corrección como la temperatura de combustible, aire y líquido refrigerante, etc.

-La regulación de ralentí mantiene el número de revoluciones real lo más ajustado al teórico prefijado. El cual tiene en cuenta cualquier requisito cambiante de carga (compresor del AA, bomba servodirección, etc.) y la temperatura del motor.

-Regulación de número revoluciones final

-Regulador velocidad de marcha

-Amortiguación activa de sacudidas. En el momento en que se produce un cambio de carga repentino que ocasiona sacudidas en el motor, se regula el caudal disminuyendo o aumentándolo, amortiguando las oscilaciones hasta que es posible entregar el par deseado al conductor.

-Regulación de la suavidad de marcha. Con esta regulación se realiza una compensación selectiva de caudal a los cilindros, que en base al número de revoluciones difieren de los demás en velocidad, suavizando la marcha en ralentí.

-Regulación del comienzo de inyección. Esta regulación influye en la potencia, el consumo de combustible, las emisiones de ruido y el comportamiento de los gases de escape. Aunque su valor teórico está almacenado en un diagrama característico con correcciones de temperatura y presión ambiente, el comportamiento de la bomba de inyección e inyectores cambia a lo largo del tiempo de funcionamiento. Por lo que se mide el comienzo de inyección de las siguientes formas en los distintos sistemas de inyección.

Figura 29

Es importante reseñar que en los sistemas Common Rail, la activación de la electroválvula con una alta tensión (100v) se reproduce con tanta exactitud que no hace falta esta regulación.

Regulación con sensor de movimiento de aguja. Es un sensor inductivo alojado en el cilindro número 1, que informa a la UCE una señal de referencia del comienzo de inyección. Así se asegura que el valor teórico del diagrama característico se asemeje al

Page 29: Sistema de Diagnostico de Vehiculos OBD2

29

valor real de tiempo de inyección.

Regulación del comienzo de inyección mediante la señal IWZ . Esta regulación se efectúa en las bombas rotativas de inyección de mando por electroválvula. Esta señal la genera el sensor de revoluciones y del ángulo de giro acoplada a la rueda transmisora de la bomba inyectora.

Regulación BIP. Para evitar sensores adicionales, se puede detectar el comienzo de inyección, evaluando electrónicamente la corriente de la electroválvula. Unos efectos inductivos al cerrarse la electroválvula imprimen una característica peculiar, en la que se reconoce el comienzo de inyección.

En el siguiente gráfico (figura 30) se aprecia en (1) la ventana BIP, en (2) la señal BIP, en (3) el nivel de corriente de excitación y en (4) el nivel de corriente de retención.

Figura 30

1.3.2 Válvulas de inyección mecánicas Para motores de inyección indirecta se utilizan los llamados inyectores de tetón (Figura 31). La presión de apertura de inyección se encuentra entre 110 y 135 bar. La aguja del inyector tiene en su extremo un tetón, haciendo posible por su forma geométrica una preinyección, originando una inyección progresiva y asegurando una combustión más suave.

Figura 31

1. Entrada de combustible 2. Tuerca de racor entrada alimentación 3. Conexiones de retorno 4. Arandelas ajuste de presión 5. Canal alimentación 6. Muelle 7. Perno de presión 8. Aguja del inyector 9. Perno de fijación

Page 30: Sistema de Diagnostico de Vehiculos OBD2

30

Para motores de inyección directa se utilizan los llamados inyectores de orificios. Estos inyectores utilizan dos muelles con diferentes intensidades. El primero, cuando la presión de inyección llega a 180 bares vence la fuerza del muelle y la aguja se eleva un poco (preinyección), el segundo vence a una presión de 300 bares (inyección principal) levantándose del todo la aguja.

1.3.3 Activación de las electroválvulas Todos los sistemas de inyección de mando por electroválvula como:

- Bombas rotativas de inyección de émbolo axial VE-M(VP30)

- Bombas rotativas de émbolos radiales VR(VP44)

- Sistemas Common Rail, CR

- Unidad bomba inyector ,UIS

- Unidad bomba –tubería-inyector, UPS

activan las electroválvulas de forma similar, mediante señales analógicas a causa de la mejor compatibilidad electromagnética. Ya que la regulación de la inyección ha de funcionar con mucha precisión para que la bomba de inyección o el inyector trabajen de forma exacta y reproducible.

Como hemos comentado anteriormente, la forma de activar la electroválvula en los diferentes sistemas de inyección de mando por electroválvula siguen un mismo patrón. Todas necesitan una fase de apertura, fase de excitación, fase de retención y por último una fase de desconexión.

En todos los sistemas se necesita saber cuándo se abre físicamente la electroválvula para tener un control real sobre el tiempo de apertura del inyector. Para ello la UCE analiza la señal de corriente de la electroválvula, detectando el impacto de la aguja de la electroválvula contra su asiento. Este circuito de evaluación se denomina Detección BIP. También es posible obtener el comienzo de inyección mediante un sensor de movimiento de aguja instalado en un inyector o mediante la señal IWZ generada por el sensor de revoluciones y ángulo de giro instalada en las bombas (VP30, VP44).

En la siguiente gráfica (Figura 32) se exponen las secuencias de activación de las electroválvulas de alta presión de un sistema de inyección Common Rail.

Figura 32

Page 31: Sistema de Diagnostico de Vehiculos OBD2

31

En (a) se encuentra la fase de apertura, la corriente se eleva hasta 20A con una tensión de 100v, con el objeto de que se abra rápidamente la electroválvula.

-En (b) se encuentra la fase de corriente de excitación manteniéndose la misma corriente de 20A pero con la tensión de batería.

-En (c) se encuentra la fase de transición de la corriente de retención.

-En (d) la fase de corriente de retención, la cual se rebaja a 12A.

-En (e) la fase de desconexión, se desconecta la corriente para cerrar la electroválvula.

-En (f) se muestra la fase de recarga. Este rizo no es capaz de abrir la electroválvula y sirve para que la electroválvula almacene energía en caso de no ser activada, y el acumulador de tensión del convertidor Boost que origina las elevadas tensiones de activación para que se recargue con esta energía y posibilite la siguiente activación del inyector.

En la (figura 33) se aprecia el esquema de una Unidad bomba –tubería-inyector (UPS), la cual está siendo controlada por una señal de activación más moderna. Esta clase de inyección llamada “en forma de bota” se caracteriza por una inyección previa adicional.

En la señal de activación de la electroválvula aparece en el inicio de la inyección una fase de excitación, una vez terminada esta fase se origina una apertura inicial, en la pre-inyección una fase de retención que determina el tiempo de ésta, en la inyección principal una fase de apertura total de la aguja, una nueva retención que determina el tiempo de inyección y un final con intensidad nula en la electroválvula.

Figura 33

1.3.4 Regulación Lambda para turismos diesel. La regulación basada en Lambda para la realimentación de gases de escape reduce notablemente las emisiones. Para ello se pueden utilizar dos estrategias:

-La regulación en cascada. Con la señal de la sonda Lambda y el valor teórico del caudal de inyección en ese momento, se calcula el valor real de la masa de aire que es

1-Inyector 2-Conexión entrada inyector 3-Tubo 4-Electroválvula 5-Válvula 6-Pistón de bombeo 7-Bobina 8-Detalle de la válvula 9-Rodillo accionado por arbol de levas

Page 32: Sistema de Diagnostico de Vehiculos OBD2

32

comparada con la masa de aire teórico del diagrama característico de la válvula ARF (recirculación de gases), su diferencia es compensada por el regulador Lambda. Finalmente se compara la suma del valor del regulador Lambda y el valor de la masa teórica del diagrama característico del ARF con el valor del medidor de masa de aire (caudalímetro). Esta diferencia es la que aportará al conducto de admisión con los gases de escape, la válvula EGR.

-Adaptación del valor medio del caudal. Con la señal de la sonda Lambda y la señal de la masa de aire se calcula el valor de la masa de combustible inyectada, ésta se compara con el valor teórico. La diferencia se guarda en puntos de aprendizaje en un diagrama característico que luego servirán como factores de corrección del caudal suministrado en cada punto de funcionamiento del motor. Estos factores de corrección influirán en los circuitos relevantes a la emisión de gases como la regulación de la presión de sobrealimentación, el regulador de masa de aire (que controla la válvula de ARF) o la regulación del comienzo de inyección.

Para este tipo de regulación existen dos tipos de servicio que se emplean según el punto de funcionamiento del motor. El indirecto que utiliza como el valor el caudal exacto de inyección sin factores de corrección, y el indirecto que sí utiliza los factores de corrección para el valor del caudal inyectado.

-Limitación de humos a plena carga.

Con la ayuda de la sonda Lambda, el sensor de revoluciones, el medidor de señal de masa de aire y los diagramas característicos de limitación de humo se realiza un cálculo para la obtención del caudal máximo admisible a plena carga.

-Detección de combustión no deseada.

Con la señal de la sonda Lambda se puede detectar una combustión no deseada, cuando ocurre esto se puede parar mediante el cierre de una válvula de mariposa y la válvula EGR. Esto representa una función de seguridad del motor.

1.4 SISTEMAS DE REDUCCIÓN DE EMISIONES

Los sistemas más importantes para reducir las emisiones de escape son los siguientes:

- Sistema de recirculación de gases de escape

- Sistema de insuflación de aire secundario

- Sistema de retención de evaporación de combustible

- Sistema de purga del cárter del cigüeñal

Page 33: Sistema de Diagnostico de Vehiculos OBD2

33

1.4.0 Sistema de recirculación de gases de escape

Figura 34

1.4.1 Sistema de insuflación de aire secundario El aire insuflado en el tubo de escape produce una reacción exotérmica y por tanto una combustión del CO y el HC de los gases, este proceso libera calor de tal modo que el gas de escape se calienta y con ello el catalizador. Este es un medio eficaz para los motores de gasolina de que en el momento de arranque se caliente el catalizador hasta su temperatura funcionamiento, evitando la contaminación de NOx.

1.4.2 Sistema de retención de evaporación de combustible Para los vehículos con motor de gasolina se necesita un sistema de retención de evaporación de combustible, para recoger los vapores de combustible del depósito y cumplir con los valores límites de evaporación establecidos.

Este sistema está formado por un depósito de carbón activo conectado por un tubo a la purga del depósito de gasolina. El carbón activo absorbe el combustible y sólo deja salir aire al exterior. Cuando una electroválvula regeneradora situada entre el depósito de carbón activo y una tubería conectada a la admisión se abre, a causa de la aspiración creada por la admisión, por el depósito aspira aire que posteriormente recoge la gasolina almacenada en éste, conduciéndolo por el tubo a la admisión.

Esta electroválvula es controlada por la ECU que de forma regular va suministrando estos gases a la admisión, para que el depósito esté preparado para absorber nuevamente el combustible evaporado del depósito de gasolina.

1.4.3 Sistema de purga del cárter del cigüeñal A través de las guías de válvula y de los segmentos de los pistones, fluye gas de combustión hacia el cárter que luego se mezcla con aceite de motor en forma de gotas muy pequeñas. Como en la mayoría de vehículos se utiliza un sistema de purga cerrado, este gas residual es absorbido por el aire de combustión del motor. Para evitar que el motor queme aceite, se intercalan separadores de aceite, los cuales derivan el aceite del gas residual nuevamente al depósito. El separador de aceite más utilizado es el de ciclón, capaz de separar gotitas de aceite de 1.5 µm

A través de la recirculación de los gases de escape Se puede controlar el llenado de los cilindros y con ello el proceso de combustión. El gas de escape introducido hace aumentar el porcentaje de gas inerte en el llenado de gas limpio y provoca una reducción de la temperatura de combustión, y con ello una disminución de la emisión de óxidos nitrosos NOx. El accionamiento y activación de esta válvula es idéntico al de sobrealimentación, válvulas eléctricas o electroneumaticas ,con señales PWM de regulación.

Page 34: Sistema de Diagnostico de Vehiculos OBD2

34

1.5 Sensores

Los sensores y actuadores forman una interfase entre las magnitudes físicas medidas en la gestión del motor, ESP, ABS, climatizador, etc. con las diferentes unidades de control del vehículo.

En este campo, la mecatrónica va ganando cada vez más importancia por estar estrechamente unidos los componentes mecánicos con los sensores.

Los sensores han ido evolucionando, aumentando el grado de integración y de esta manera disminuyendo el trabajo de procesamiento a la unidad de control, puesto que la preparación de la señal hasta que se convierte en un dato legible por el procesador principal es una tarea que le resta poder de cálculo.

Los sensores según el grado de integración pueden contener:

-Una preparación analógica de la señal

-Un convertidor analógico-digital

-Un microordenador que evalúa la señal y se comunica con el bus CAN a la UCE.

1.5.0 Sensores de temperatura Son sensores de coeficiente negativo (NTC), su resistencia disminuye con la temperatura. Para cada uno de ellos la unidad de control tiene un diagrama característico en el que indica su temperatura según el valor de resistencia que tenga. En la figura 35 se aprecia una curva característica de un sensor de temperatura.

Figura 35

Existen sensores de temperatura en diferentes aplicaciones del motor, éstas son:

-Sensor de temperatura del motor. Mide la temperatura del líquido refrigerante (campo de medición -40 hasta +130 ºC). Es uno de los sensores más importantes del motor. Este sensor interviene en el cálculo del tiempo de inyección de diferentes estados de servicio del motor como el arranque en frío, calentamiento, carga parcial, etc., así como en el tiempo establecido para los calentadores del motor diesel.

-Sensor de temperatura de aire. Mide la temperatura del aire, está alojado en la admisión, normalmente en el medidor de masa de aire (campo de medición -40 hasta +120 ºC). Este sensor en combinación con el sensor de presión puede medir la masa de aire aspirada.

Page 35: Sistema de Diagnostico de Vehiculos OBD2

35

-Sensor de temperatura de aceite del motor. (Campo de medición -40 hasta +170 ºC).

-Sensor de temperatura de combustible. Con esta medición se corrige el caudal inyectado. Normalmente alojado en la parte inferior del filtro de combustible diesel (campo de medición -40 hasta +120 ºC).

-Sensor de temperatura de los gases de escape. Esta medición corrige el tratamiento catalítico que se realiza para mejorar la emisión de gases. (campo de medición -40 hasta +1000 ºC).

1.5.1 Sensores de presión micromecánicos. Sensores de presión ambiente.

Su señal sirve para corregir en función de la altura los valores teóricos para los circuitos reguladores (regulación sobrealimentación, válvula AGR…) para tener en cuenta la densidad del aire del ambiente. Mide presión absoluta entre 0.6 y 1.15bares.

Sensores de presión de aceite y combustible.

El primero mide la presión de aceite del motor, y el segundo mide la presión de combustible con el objeto de controlar el grado de ensuciamiento del filtro (0.2 a 4bares).

Sensores de presión de admisión y de sobrealimentación

Esta clase de sensores se dividen en sensores en el que la presión de referencia puede ser la del ambiente, con vacío de referencia en el lado de la estructura o vacío de referencia en una cavidad.

La célula de medición del sensor de medición está construida sobre una membrana dilatable entre (10…1000µm). Sobre esta membrana se disponen cuatro resistencias de efecto piezoresistivo dispuestas en puente de Wheastone, de forma que cuando la membrana se dilata aumenta la resistencia en dos de ellas y disminuye en las otras dos.

En la figura 36 se aprecia cómo está estructurado este sensor. En (1) está la membrana, en (2) el chip de silicio, en (3) el vacío de referencia, en (4) elvidrio, en (5) el circuito eléctrico puente de Wheastone.

Figura 36

La tensión resultante aumenta en sensibilidad gracias a esta disposición. Esta señal será ampliada y linealizada a una tensión entre 0 y 5v, con la electrónica integrada en un chip instalado en el mismo sensor.

El sensor puede tener integrado un sensor de temperatura (NTC) con el objeto de poder

Page 36: Sistema de Diagnostico de Vehiculos OBD2

36

calcular la densidad de aire. En la figura 37 se aprecia un sensor de presión con vacío de referencia. En (1) se encuentra el sensor de temperatura, en (7) la célula de medición y en (5) la conexión eléctrica.

Figura 37

Sensor de presión Rail.

Estos sensores miden la presión del combustible en el conducto común de un sistema Common Rail y la presión de trabajo en el sistema Med Motronic (iny.dir.gasolina). Las presiones máximas que llegan a medir son de 1600 bares en Common Rail y 120 bares en Med Motronic. La tensión de salida es proporcional a la presión, y se encuentra entre 0,5 y 4,5 voltios.

1.5.2 Sensores de revoluciones inductivos Sobre el volante de inercia o sobre la polea del cigüeñal, se encuentra montada una rueda transmisora ferromagnética con espacio para 60 dientes (motor de 4 cilindros). Dos de estos dientes se han suprimido, siendo este hueco la consigna del PMS del cilindro 1.

Un sensor inductivo próximo a la rueda transmisora, varía su flujo magnético al pasar frente a los dientes de la rueda transmisora, induciéndose una tensión alterna.

La amplitud de esta señal aumenta considerablemente con la velocidad del cigüeñal (desde 80 mv hasta 100 v).

El sensor (Figura 38) se compone de un imán permanente y de un núcleo de hierro dulce con un devanado de cobre.

Page 37: Sistema de Diagnostico de Vehiculos OBD2

37

Figura 38

Cuando el hueco entre dientes de la rueda transmisora pasa por el sensor inductivo (posición definida por cilindro1), la UCE sincroniza en este momento la posición del cigüeñal. Con cada flanco (positivo o negativo) cuenta la UCE 3 grados.

Como en el cálculo de ángulo de encendido se necesita ser más preciso, la medida temporal entre dos flancos se divide entre 3 ó 4. De esta forma es posible controles de hasta 0,75 grados.

En la figura 39 se aprecia dónde va situado el captador inductivo y el hueco entre dientes y en la figura 40 la señal captada por un osciloscopio.

Figura 39 Figura 40

Sensores de revoluciones y sensores incrementales del ángulo de giro.

Son empleados en las bombas rotativas de inyección de mando por electroválvula. El sensor está formado por un imán permanente, en una cara del imán se incorpora una plaquita ferromagnética, sobre la cual están fijas cuatro magnetorresistencias

Page 38: Sistema de Diagnostico de Vehiculos OBD2

38

La misión que realiza este sensor es la siguiente:

-Medir la posición del regulador de avance, la cual se realiza comparando la señal del ángulo de giro con la señal del sensor inductivo del cigüeñal, de esta manera se asegura un control sobre el avance de la inyección correcto.

-Medir las revoluciones de la bomba rotativa, necesaria para determinar el tiempo de activación de la válvula de alta presión

-Determinar la posición del ángulo entre la bomba rotativa y el árbol de levas, para tener una referencia del momento de activación de la válvula de alta presión. Con ello se asegura el comienzo y el caudal de inyección exactos.

En la figura 41 se aprecia dónde va instalado este sensor en la bomba rotativa, en (1) la lámina conductora, en (2) sensor de revoluciones y ángulo de giro, en (3) hueco entre dientes, en (4) la rueda dentada (120 dientes), en (5) el anillo de rodamiento móvil y en (6) el eje de bomba.

Figura 41

Sensor de fase Hall

Este sensor determina la posición del árbol de levas, suministrando información al calculador sobre la referencia del cilindro 1 (si se encuentra en compresión). Esta información no puede obtenerse a partir de la posición del cigüeñal, ya que para los sistemas de inyección secuenciales se necesita saber, en el momento del arranque, qué cilindro se encuentra en compresión para controlar el orden de inyección. Una vez que el motor arranca, se sincroniza con el sensor de posición del cigüeñal, y el control del orden de encendido (con encendido DIS) e inyección se realiza a través del captador inductivo del cigüeñal (Figura 42).

Este sensor está constituido por un elemento Hall, cuyas plaquitas semiconductoras atravesadas por una corriente (Iv ) generan una tensión perpendicular a ésta (Uh), al paso de un material ferromagnético muy próximo a éstas plaquitas semiconductoras. En la figura 42 B es el campo magnético inducido 90º respecto a la placa, Uh es la tensión Hall y Ur es la tensión suministrada.

El circuito integrado Hall prepara la señal y la entrega como una señal rectangular. Este sensor normalmente está fijado a un lado del árbol de levas, siendo el mismo piñón del árbol de levas el que induce al sensor Hall, la señal de referencia.

Page 39: Sistema de Diagnostico de Vehiculos OBD2

39

Sensor Hall Efecto Hall

Figura 42

1.5.3 Sensores de anillos de cortocircuito semidiferencial. Son sensores de posición para la detección de recorridos y ángulos. Se emplean para:

- Sensor de recorrido para detectar la posición de la varilla de regulación de las bombas de inyección diesel en línea.

- Sensor de ángulo para el mecanismo de control de caudal de las bombas rotativas de inyección diesel.

Funcionamiento

Este sensor (Figura 43) consiste en un núcleo de hierro dulce chapeado (3), que tiene dos bobinas instaladas en sendos brazos del núcleo. Una bobina de referencia (5) y otra de medición (1). Se desplaza a través de los brazos del núcleo un anillo de cortocircuito (2) que está unido a la varilla de regulación del caudal (4). El otro anillo de cortocircuito es el de referencia, y está fijo (no se desplaza por el núcleo).

Figura 43

Page 40: Sistema de Diagnostico de Vehiculos OBD2

40

Figura 44

En la bobina circula una AC con una frecuencia de 10 Khz y una intensidad constantes, establecida por la UCE. La bobina de referencia es una bobina con una reluctancia fija, mientras que la bobina de medición es de reluctancia variable, puesto que por el núcleo de esta bobina se desplaza un cursor móvil que origina esta variación de reluctancia.

Como es sabido la inductancia de una bobina es el producto del N (número de vueltas de la bobina) por la variación del flujo magnético respecto a la intensidad que pasa por el hilo.

Como el flujo magnético:

Ф=N*i/R

Siendo i = intensidad, R = reluctancia

Se tiene que:

L=N2/R

Como la reluctancia es una magnitud que depende de la permeabilidad del núcleo de la bobina (µr), del recorrido de las líneas de campo en el aire fuera de la bobina (l0), y de la sección transversal del camino recorrido por estas líneas de campo (A).

R=l0/µ0*µr*A

Por lo cual se deduce que la inductancia de la bobina es proporcional a la reluctancia.

De esta forma, aplicándole a esta bobina una frecuencia y una corriente constante, la tensión varía con la reluctancia. Por tanto, nos encontramos con un circuito semejante al de un divisor de tensión, formado por dos bobinas. La UCE adquiere una tensión de pico que será proporcional a la desviación del anillo, y será evaluada para formar un bucle cerrado entre el sensor y el solenoide de regulación del caudal.

1.5.4 Sensor de movimiento de aguja El comienzo de inyección es una información muy importante en el funcionamiento de los motores diesel, puesto que con su detección puede variar el avance en función de la carga y el número de revoluciones, interviene en el tiempo exacto de inyección, ayuda a disminuir ruidos, consumo de combustible y emisiones de

Page 41: Sistema de Diagnostico de Vehiculos OBD2

41

escape.

En el cálculo del comienzo de inyección intervienen el volumen de combustible (cuanto más caudal se inyecte y más aumente el rpm, mayor será el tiempo de inyección por lo que el comienzo de inyección deberá adelantarse), el sensor de revoluciones, el sensor de movimiento de aguja y como factor de corrección el sensor de temperatura

El sensor de movimiento de aguja es un sensor inductivo que consta de una bobina enrollada alrededor de un núcleo magnético conectado a la aguja del inyector. La bobina está alimentada por una tensión continua a una intensidad constante (30 mA). Cuando comienza la inyección, el núcleo magnético se mueve variando el flujo magnético, produciendo una variación en la tensión de alimentación.

Figura 45

Esta señal es evaluada por la UCE registrando el comienzo de inyección y posteriormente la compara con la señal del PMS (señal designada por el sensor de revoluciones) que sirve como referencia.

Figura 46

Este valor determina el avance real y es comparado con el valor teórico de la cartografía del comienzo de inyección, de manera que cualquier desviación será corregida mediante la electroválvula para el variador de avance.

Page 42: Sistema de Diagnostico de Vehiculos OBD2

42

Figura 47

1.5.5 Medidor de masa de aire de película caliente El medidor de masa (Figura 48-A) de aire mide con gran exactitud una parte de la corriente de masa de aire que realmente circula por el filtro de aire, teniendo en cuenta los reflujos y pulsaciones causados por la apertura y cierre de las válvulas.

Con la medición de la masa de aire aspirado, la ECU puede realizar los cálculos necesarios, ayudándose de la cartografía memorizada, para que el motor realice una combustión óptima dentro de los valores establecidos por la ley para los gases de escape.

El medidor de masa de película caliente es un sensor térmico. Una resistencia calefactora calienta una membrana sensible micromecánica a una temperatura constante, que está situada en el flujo de aire conducido de tal forma que al pasar una corriente de aire, una parte de la membrana se enfría más que la otra. En cada parte de la membrana van instaladas unas resistencias que dependen de la temperatura detectando la distribución de temperatura sobre ésta. La diferencia de temperatura que existe entre las dos resistencias es captada por el sistema electrónico evaluador integrado en el sensor, suministrando una tensión analógica entre 0 y 5 v a la ECU (Figura48-B).

Figura 48-A Figura 48-B

Page 43: Sistema de Diagnostico de Vehiculos OBD2

43

En este medidor de masa de aire puede haber integrado un sensor de temperatura para evaluaciones adicionales, no siendo necesario para determinar la masa de aire.

1.5.6 Sonda Lambda La sonda Lambda mide la proporción de aire que existe en el escape. Lambda es la medida de la relación aire/combustible en la mezcla

04,15gasolina de kgpor consumir de debería se que aire de teóricoPesogasolina de kgpor consumido aire de real Peso x

Lambda

La sonda (Figura 49) consta de un cuerpo cerámico especial cuyas superficies van equipadas con electrodos de platino permeables a los gases. El material cerámico es poroso y permite difusión del oxígeno del aire (electrolito sólido). La cerámica se hace conductora a altas temperaturas. El lado interior del electrodo de la sonda Lambda está en contacto con el aire y la parte exterior con la corriente de gases de escape. Si el contenido de oxígeno no es igual a ambos lados del electrodo, se establece una tensión eléctrica, que con una relación estequiométrica de la mezcla aire/combustible de λ=1 se origina una función de salto.

Figura 49

La tensión y la resistencia interna de la sonda dependen de la temperatura, consiguiéndose una regulación fiable a partir de temperaturas superiores a 350 ºC.

La mayoría de de sondas Lambda tienen incorporadas una resistencia calefactora para que independientemente de la temperatura de los gases de escape, la sonda llegue antes a su temperatura de servicio.

Existen dos tipos de sonda Lambda, las de óxido de circonio y las de óxido de titanio. La forma de las señales de estas sondas se muestran en las figuras 50 y 51 las

Page 44: Sistema de Diagnostico de Vehiculos OBD2

44

siguientes.

Figura 50

Oxido de Titanio

Figura 51

La sonda Lambda planar de banda ancha (con una célula de medición de dióxido de circonio (ZrO2)) puede medir el punto estequiométrico Lambda =1 y además el margen pobre y rico de combustible, proporcionando una señal unívoca y constante. Con el objeto de aplicarse a motores con regulación de mezclas de aire y combustible pobres y ricas, motores de gas, termosifones calentados por gas, motores diesel y regulación Lambda de conceptos de motor de gasolina pobres.

1.5.7 Sensores potenciométricos Son utilizados en una variedad extensa de mecanismos en la gestión del motor. Los más utilizados se encuentran en el pedal del acelerador y el de posición del ángulo de la mariposa, ajustándose a una tensión en función del movimiento ocasionado por el conductor o por un actuador (figura 52).

Page 45: Sistema de Diagnostico de Vehiculos OBD2

45

Figura 52

1.6 Actuadores

Los elementos actuadores constituyen la interfaz entre el procesamiento de la señal y el proceso mecánico. La mayoría de electroválvulas actuales son activadas por señales en PWM, exceptuando las electroválvulas de los inyectores que se activan con señales analógicas. Los actuadores más importantes que intervienen en la gestión del motor son los siguientes.

1.6.0 Actuador de la presión de alimentación Para regular la presión de alimentación en el turbocompresor (9) (Figura 53), evitando que aumente excesivamente el numero de revoluciones, os gases de escape (6) son desviados a través de una válvula by-pass (5) accionada por una válvula neumática (3) controlada por una electroválvula (1), que regula a su salida, el vacío provocado por una bomba de depresión (2).

Figura 53

Para las turbos de geometría variable, la regulación del ángulo de los alabes directores

Page 46: Sistema de Diagnostico de Vehiculos OBD2

46

es controlada por una válvula eléctrica o como en la vista anterior electroneumática. Con los VTG ya no hace falta una válvula by-pass para su control de seguridad.

Figura 54

1.6.1 Válvula de realimentación de gases de escape

1.6.2 Electrobomba de combustible Esta electrobomba aspira el combustible del deposito y lo impulsa hacia la bomba de alta presión en los motores de gas-oil que lo necesiten (opcional en bombas distribuidoras, sistemas de inyección (UIS) y en sistemas Common Rail con bombas de alta presión Bosch) y hacia la rampa de inyectores en los motores de gasolina con sistemas de inyección .

La presión a la que expulsa el combustible está alrededor de los 3 bares. Tienen acopladas en su interior una válvula de retención a la salida y una válvula limitadora de presión.

La alimentación de la electrobomba (Figura 57) se realiza a través de un relé doble (Figura 56) que se ocupa también de alimentar los componentes de la gestión electrónica del motor. Este relé es accionado por la ECU, cuando recibe la señal del

A través de la recirculación de los gases de escape se puede controlar el llenado de los cilindros y con ello el proceso de combustión. El gas de escape introducido hace aumentar el porcentaje de gas inerte en el llenado de gas limpio y provoca una reducción de la temperatura de combustión, y con ello una disminución de la emisión de óxidos nitrosos NOx. El accionamiento y activación de esta válvula es idéntico al de sobrealimentación, válvulas eléctricas o electroneumáticas, con señales PWM de regulación. Figura 55

Page 47: Sistema de Diagnostico de Vehiculos OBD2

47

captador de revoluciones. La alimentación de la bomba es interrumpida cuando el interruptor de corte de combustible por inercia es accionado.

Relé doble. Instalación del relé doble

Figura 56

Situación bomba de combustible

Figura 57

Page 48: Sistema de Diagnostico de Vehiculos OBD2

48

1.6.3 Actuador de vórtice

El actuador de vórtice efectúa una desconexión del canal de llenado de un cilindro mediante una mariposa situada en el tubo de admisión, originando que el aire fresco sólo se aspire a través de los canales de vórtice. De esta forma, se consigue una mejor turbulencia del aire en el margen inferior de revoluciones, lo que proporciona una mejor combustión.

La mariposa es accionada a través de una válvula electroneumática comandada por la UCE.

1.6.4 Chapaleta en el tubo de admisión

Los motores con unidad bomba-inyector tienen una chapaleta controlada por una válvula electroneumática, la cual tiene la misión de interrumpir el suministro de aire cuando se para el motor con el objeto de que el motor termine suavemente la marcha.

1.6.5 Válvula de mariposa En el motor diesel esta válvula tiene la misión de aumentar la cantidad de gases de escape de realimentación, reduciendo la sobrepresión en el tubo de admisión. Esta válvula es activada por una válvula electroneumática, siendo accionada en el margen inferior de carga.

1.6.6 Actuadores en sistemas Common Rail

Válvula de regulación de la presión rail

Esta válvula está en la bomba de alta presión en los motores diesel con sistema Common Rail. Tiene la misión de ajustar y mantener la presión en el rail mediante el control de la UCE con una señal PWM.

En su funcionamiento, la válvula reguladora (10) hace estanca la parte de alta presión con la de baja presión, (figura 58). Cuando el electroimán no está activado no ejerce fuerza alguna sobre la válvula, sólo el muelle ejerce su fuerza elástica sobre ésta, el cual está dimensionado para establecer una presión de 100 bares. Cuando se necesita aumentar la presión, la electroválvula es activada, ejerciendo más fuerza sobre la válvula reguladora e impidiendo que el combustible comprimido pase al depósito hasta que se eleve a la presión requerida por la UCE..

Un deterioro en la junta tórica que estanqueiza el circuito de alta con el de baja presión provoca en el momento de arranque una disminución de la presión del gasoil en los inyectores impidiendo que el motor arranque. Por lo que hay que resaltar la importancia de esta posible avería puesto que se podría interpretar como una avería electrónica.

En la figura 58 se aprecia dónde está incorporada la válvula de regulación de la presión. En La figura 59 se muestra el despiece de la válvula de regulación.

Page 49: Sistema de Diagnostico de Vehiculos OBD2

49

Figura 58

Figura 59

Válvula de desconexión del elemento

En los motores diesel con sistema Common Rail es posible desconectar un elemento de la bomba de alta presión para adaptar la potencia de suministro a la demanda de combustible, ya que la bomba está dimensionada para grandes caudales de suministro a ralentí y en el margen de carga parcial, a un régimen más elevado puede existir un exceso de combustible comprimido, el cual será transportado al depósito a través de la

Page 50: Sistema de Diagnostico de Vehiculos OBD2

50

válvula reguladora de presión.

Desconectando un elemento disminuye la potencia de suministro, disminuyendo el par necesario para hacer girar la bomba y reduce el consumo de combustible. La señal de activación es una tensión continua de 12v.

En la figura 60 se aprecia que manteniendo la válvula de aspiración (5) abierta mediante la activación de una electroválvula se desconecta el elemento de bombeo (3)

Figura 60

1.6.7 Actuadores en bombas rotativas de inyección de émbolo axial, de mando por aristas.

Electroválvula para el variador de avance

Tiene la misión de controlar el avance de la inyección por medio de una electroválvula que controla la presión que hace el gasoil sobre el émbolo del variador, comandada por la unidad de control. Para realizar esta tarea la ECU se sirve del sensor de aguja, el sensor de revoluciones, el sensor de temperatura y el volumen de combustible calculado, para calcular el comienzo de la inyección que posteriormente lo compara con el teórico. La ECU activará con una señal PWM la electroválvula, adelantando o atrasando la inyección hasta que la diferencia con el avance teórico sea nulo. En la figura 61 se aprecia a la izquierda la situación y las diferentes señales que genera la ECU para controlar el mecanismo magnético de control de la inyección y el avance de inyección. A la derecha se muestra una vista en sección del actuador del avance de inyección.

Page 51: Sistema de Diagnostico de Vehiculos OBD2

51

Figura 61

Mecanismo magnético de control para la regulación del caudal de inyección.

Este mecanismo magnético (Figura 62) es un servomotor (5) comandado por la ECU con señales PWM. El movimiento angular obtenido se convierte en axial a través de una excéntrica, el cual desplaza una corredera de regulación de caudal. Esta corredera destapará una canalización que provocará el fin de inyección en el émbolo que origina la presión del combustible en la inyección. Una apertura más avanzada o más retrasada crea un aumento o disminución del caudal inyectado.

Figura.62

Vistas de la acción producida por el movimiento de la corredera.

Page 52: Sistema de Diagnostico de Vehiculos OBD2

52

Figura 63

Parada del motor

Un dispositivo eléctrico de parada (electroválvula) (4), ( figura 61), detiene el motor diesel interrumpiendo la alimentación de combustible.

1.6.8 Actuadores en un sistema de inyección de gasolina

Válvula de aire adicional

Cuando el motor está frío, se requiere una mayor masa de aire y una mayor cantidad de combustible para contrarrestar el momento de fricción, la condensación de la gasolina en las paredes del colector de admisión y las perdidas de par ocasionadas por la activación del compresor de aire acondicionado o los electroventiladores de refrigeración. De esta forma, se ajusta el ralentí a cualquier condición de carga.

En las magnitudes de entrada intervienen:

- El sensor de revoluciones

- El sensor de temperatura

- El potenciómetro de la mariposa

- La válvula trinaria del aire acondicionado

- El presostato de la válvula de la dirección asistida

1- Pedal acelerador 2- Varillaje mariposa 3- Mariposa 4- Conducto de admisión 5- Flujo de aire aspirado 6- Flujo de aire de derivación 7- Actuador de ralentí 8- Unidad de control 9- Magnitudes de entrada

Figura 64

Page 53: Sistema de Diagnostico de Vehiculos OBD2

53

Sistema EGAS

Este sistema de acelerador electrónico es el que reutiliza actualmente en la mayoría de motores de gasolina. Este sistema consta de un módulo potenciométrico en el acelerador, la ECU, y un dispositivo de estrangulación. Este dispositivo tiene incluido una válvula de mariposa, el accionamiento eléctrico mediante un motor de CC y un sensor de ángulo de mariposa (Figura 66).

Cuando se detecta la posición del acelerador, la ECU calcula la posición que debe adquirir la mariposa teniendo en cuenta el estado actual de funcionamiento del motor (temperatura, rpm, carga, etc). El sensor de ángulo de mariposa informa a la ECU de su posición, creando un lazo cerrado y haciendo posible el cumplimiento exacto del ángulo requerido

Figura 66

1.7 La Unidad Electrónica de Control (ECU)

1.7.0 Introducción La unidad electrónica de control recibe las señales de los diferentes sensores, gestiona estos datos y mediante una cartografía previamente grabada en memoria, aplica a los actuadores las señales registradas para que el motor funcione dentro de los márgenes de potencia y consumo que el fabricante ha estipulado.

En el siguiente diagrama (Figura 67) se analizan los diferentes bloques de que consta la gestión electrónica del sistema de control de un motor.

Page 54: Sistema de Diagnostico de Vehiculos OBD2

54

Figura 67

En la siguiente foto (figura 68) se muestra una ECU del sistema Motronic 1.3 de un BMW 320i, en el que se puede apreciar las diferentes partes de que consta la unidad de control. Seguidamente haremos un estudio de cada una de sus partes de forma generalizada.

Figura 68

RAM EPROM

ANA L O G

D I G I T A L

ANA L O G

D I G I T A L

RAM

ROM

A/D

SENSORES Preparación Señales ORDENADOR Etapas finales

Finales ACTUADORES

E. analógicas Caudal del aire

Ang. de la mariposa Sonda Lambda ......... Temperatura aire Temperatura agua Tensión Batería

E. mando Int.presión AA Int mariposa cerrada Int plena carga ...................... Int freno Int. Cambio

Diagnostico SALIDAS ANALOG . Inyector 1 ... ... ... ... ... .... SALIDAS DIGITAL . Relé bomba combusti. Solenoide EGR Selen. Valv.regenera. .............................. Bobina encendido Actuador ralentí Relé principal.

Page 55: Sistema de Diagnostico de Vehiculos OBD2

55

Entrada de señales

Las señales de entrada son preparadas por circuitos electrónicos que adaptan la señal para poder ser leídas por el microcontrolador. La señales de entrada de mando son normalmente interruptores con tensiones de 12v ó 5v que antes de ser leído por el microcontrolador pasan por un buffer para convertir a señales de tensión (5v), con la intención de protegerlo. En la figura 69 se muestra una parte del esquema electrónico de la ECU de la figura 68, en la que una serie de señales de mando son previamente intercaladas por un buffer antes de ser leídas por el micro.

Figura 69

Las señales de entrada analógicas son preparadas a través convertidores de señal, amplificadores y filtros antes de llegar al micro. En la figura 70 se muestra un ejemplo de cómo se trata la señal del captador del cigüeñal.

Figura 70

Para señal del sensor del árbol de levas (Figura 71), se rectifica la señal produciendo a la salida pulsos de tensión que se interpretarán como que el cilindro 1 está en compresión, puesto que el sistema Motronic 1.3 es semisecuencial .

Page 56: Sistema de Diagnostico de Vehiculos OBD2

56

Figura 71

El núcleo de la CPU

El procesamiento de las señales está gestionado por el núcleo de la CPU, formado por un microcontrolador (80C515), una memoria RAM adicional de escritura-lectura de 8K (necesaria para almacenar valores de cálculo, valores de adaptación y posibles averías que surjan en el sistema global (diagnóstico)), una memoria EPROM adicional de 16K (en la cual están almacenadas las curvas características del motor y los campos característicos para el control del motor). En CPU’S más modernas, los datos para el bloqueo electrónico del arranque, datos de adaptación y fabricación, memoria de averías y datos congelados de esta avería, se guardan en una memoria EEPROM (memoria de escritura y lectura no volátil, se borra eléctricamente).

El microcontrolador 80C515 contiene una memoria ROM de 8K de 8 bits, una memoria RAM de 256 bytes, 6 puertos de 8 bit de entrada-salida digitales, un canal serie full-duplex, 12 vectores de interrupción, 8 A/D de 8 bits, 3 timers/contadores de 16 bits y perro guardián con timer de 16bits. La frecuencia de trabajo es de 12MHz, realizando tiempos de instrucción de 1microsegundo.

Figura 72.

Page 57: Sistema de Diagnostico de Vehiculos OBD2

57

Las etapas de salida En la (figura 73) se aprecian dos etapas de salida diferenciadas. La etapa de salida o potencia (1) se encarga de proporcionar las señales de activación a los inyectores.

Figura 73

En esta etapa se encuentra adosada a la chapa refrigeradora el transistor de potencia (1) que se encarga de la activación del relé del control del motor La etapa de potencia (2) (figura 74) se encarga del control de la activación de actuadores como: la electroválvula regeneradora de emisiones de evaporación de combustible, relé de la bomba de combustible, relé del calentador del sensor de oxígeno y la electroválvula de aire adicional. En esta etapa se encuentra adosada a la chapa refrigeradora el transistor de potencia (2) que se encarga de conmutar a masa la salida del primario de la bobina de encendido.

Figura 74

Page 58: Sistema de Diagnostico de Vehiculos OBD2

58

La fuente de alimentación (figura 75) tiene la misión de suministrar el voltaje de 5v necesario para la alimentación de todos los componentes IC digitales, la CPU, memorias, etc. Un voltaje de programación necesario para las memorias externas y los 12 v filtrados para la circuitería de preparación de las señales de entrada y etapas de potencia de salida.

Figura 75

El componente ASIC que se puede ver en la foto de la (figura 68) es un circuito integrado específico para esta ECU que cumple funciones de control y preparación de las señales de entrada.

1.7.1 Funciones del OBDII

El estado de California en los EEUU fue uno de los primeros en esforzarse en limitar por ley las emisiones nocivas del automóvil. La razón fue que en las ciudades grandes como Los Ángeles, por su situación geográfica, los gases de escape no eran alejados por el viento. De modo que quedaban suspendidos sobre la ciudad como una gran campana de humo, siendo nocivo para la salud e impedía seriamente la visibilidad. La normativa CARB (California Air Resources Board) sobre gases de escape fue el inicio para que los países más industrializados tomaran medidas parecidas para corregir las emisiones. Las principales normativas vigentes sobre gases de escape son las siguientes: -Normativa CARB (California) Normas de gases de escape: -LEV I -LEV II (a partir del 2004) -Normativa EPA (Estados de EEUU con excepción de California) -TIER 2(a partir del 2204) -Normativa en la UE (Europa) -EURO 1 (1992) -EURO 2 (1996) -EURO 3 (2000) -EURO 4(a partir de enero 2005) -Normativa japonesa

Page 59: Sistema de Diagnostico de Vehiculos OBD2

59

Para cumplir con estas normativas se obliga a los fabricantes de automóviles que incorporen en la UCE unas funciones de diagnóstico que reconozcan los fallos de sistemas relevantes a los gases de escape de forma adicional a los códigos de avería del propio fabricante. En cada país se fijan valores límite específicos de tal forma que si se sobrepasan éstos, se indica el defecto al conductor mediante un testigo de averías Los diagnósticos de a bordo (OBD) americanos fueron el referente para los demás países del mundo, evolucionando para incorporar nuevas funciones (OBD, OBDI, OBDII). Con la introducción de la norma de gases de escape Euro 3 (2000) se introdujo el EOBD (diagnosis de a bordo europeo), obligando a los fabricantes a disponer de un diagnóstico que detecte fallos que tengan influencia sobre el comportamiento de los gases de escape. A partir de 2000 en motores Otto, a partir de 2003 para motores diesel y a partir de 2005 para vehículos industriales pesados. Los umbrales de error fijados son para CO: 3.2 g/Km., HC: 0,4 g/Km., NOx: 1,2 g/Km y PM: 0,18 g/KM. En estos diagnósticos deben supervisarse todas las señales de salida, entrada y los componentes mismos. La normativa EOBD exige una supervisión eléctrica (cortocircuitos, interrupciones) mientras que la CARB exige además plausibilidad entre componentes y supervisión de los actuadores. Cuando se detecta un fallo el testigo de avería (MIL, Malfunction Indicador Lamp) se enciende a más tardar en el tercer ciclo de marcha. Si el fallo desaparece (fallo intermitente), éste se conserva en la memoria de averías durante 40 ciclos de marcha. El MIL se apaga de nuevo al tercer ciclo de marcha sin averías. Si el fallo puede ocasionar daños en el catalizador el MIL parpadea. 1.7.2 Funciones del diagnóstico de a bordo y de emergencia. En los motores de gasolina las funciones son las siguientes: • Vigilancia del rendimiento del catalizador. • Diagnóstico de envejecimiento de sondas lambda. • Prueba de tensión de sondas lambda. • Sistema de aire secundario (si el vehículo lo incorpora). • Sistema de recuperación de vapores de combustible (cánister). • Prueba de diagnóstico de fugas. • Sistema de alimentación de combustible. • Fallos de la combustión - Funcionamiento del sistema de comunicación entre unidades mando, por ejemplo el Can-Bus. • Control del sistema de gestión electrónica. • Sensores y actuadores del sistema electrónico que intervienen en la gestión del motor o están relacionados con las emisiones de escape.

Page 60: Sistema de Diagnostico de Vehiculos OBD2

60

En los motores diesel las funciones son las siguientes: • Fallos de la combustión. • Regulación del comienzo de la inyección. • Regulación de la presión de sobrealimentación. • Recirculación de gases de escape. • Funcionamiento del sistema de comunicación entre unidades de mando, por ejemplo el Can-Bus. • Control del sistema de gestión electrónica . La verificación de fallos en los sensores, cortocircuitos a masa, cortocircuitos a tensión de batería e interrupciones de línea, se puede obtener supervisando las señales siguientes: En la supervisión de las señales de entrada se aplican los siguientes procedimientos: -Verificación de la tensión de alimentación del sensor -Verificación del rango admisible -Comprobaciones de plausibilidad con otros componentes -Los sensores más importantes son redundantes (pedal acelerador), comparándose directamente entre sí. En la supervisión de las señales de salida: -Supervisión del circuito de corriente en las etapas finales -Comprobación de los efectos del actuador sobre el sistema en los momentos en que se activa. En la supervisión de la unidad de control se verifican las partes más importantes como el microcontrolador, la memoria EPROM, RAM, etc. La comunicación entre las distintas unidades de control mediante el bus CAN también es comprobada con mecanismos de control en los bloques de datos. Las funciones de diagnóstico que se van a examinar a continuación se procesan cuando se cumplen ciertas condiciones de momento de giro, temperatura del motor y número de revoluciones, sin entorpecer las propias funciones del motor. Las funciones de diagnóstico se desconectan, para evitar avisos incorrectos; en zonas de gran altura, baja temperatura ambiente y baja tensión de la batería. La supervisión de las señales de entrada y salida más importantes, con el funcionamiento de emergencia en caso de avería son las siguientes: Sensor de pedal acelerador. Se realiza una comprobación de la tensión de alimentación y margen de la señal, y la plausibilidad con la señal redundante y con el freno. En caso de avería se activa el funcionamiento de emergencia que consiste en la conmutación a un valor establecido, normalmente se fija el acelerador a 1500 rpm .

Page 61: Sistema de Diagnostico de Vehiculos OBD2

61

Catalizador. Se realiza una supervisión mediante la observación de la señal de la sonda Lambda. Si el catalizador tiene una segunda sonda Lambda en la salida, se comprueban las diferencias entre las dos señales. Tensión de la batería. Se realiza una comprobación del margen de la señal y se verifica la plausibilidad con las rpm. En caso de fallo se sustituye por un valor preestablecido hasta que la línea queda intacta. La sonda Lambda. La sonda Lambda de dos puntos se somete a una prueba de plausibilidad con respecto a la tensión de salida y frecuencia. La sonda de banda ancha se comprueba de otra forma, sólo cortocircuitos e interrupciones y plausibilidad con datos de su diagrama característico memorizado. Una avería provoca un funcionamiento de emergencia con una disminución de caudal de inyección y presión en el turbo. Sensor de temperatura del motor. Se realiza una comprobación de rango admisible, y la plausibilidad en función de las rpm y la carga del motor. En caso de producir un fallo se sustituye por un valor preestablecido (40ºC) y cuando existe una línea interrumpida se conecta el electroventilador de refrigeración y en algunos modelos, en el arranque, se activan varios segundos las bujías de precalentamiento, ya que no se conoce la temperatura del motor. Actuador de presión de sobrealimentación. Se realizan comprobaciones sobre interrupciones de línea y cortocircuitos, además se verifica la plausibilidad con el sensor de presión de sobrealimentación o con el potenciómetro que mide la posición de la varilla del actuador (en el caso que lo tuviese). En caso de avería se produciría una disminución del caudal Sensor de presión de sobrealimentación. Se realizan comprobaciones de la tensión de alimentación, margen de la señal y plausibilidad con la presión ambiente y rpm. En caso de avería la ECU disminuye la presión de sobrealimentación a un valor preestablecido, con la consiguiente disminución de potencia en el motor. Interruptor del pedal de freno. Se comprueba la plausibilidad con contacto de freno redundante.

Page 62: Sistema de Diagnostico de Vehiculos OBD2

62

Actuador avance a la inyección. Se comprueban cortocircuitos a masa y batería en las salidas de las etapas de potencia de la ECU, plausibilidad con rpm y carga calculada. Ante una posible avería se limita drásticamente la presión de sobrealimentación y el caudal inyectado, para evitar dañar el motor por un avance excesivo. Transmisor de la corredera de regulación (bomba inyección electrónica) Se comprueban cortocircuitos a masa y batería, interrupción de la línea, plausibilidad con potenciómetro pedal acelerador. Si existe un fallo como un corto o interrupción, la ECU corta inmediatamente el suministro de combustible a la bomba mediante el solenoide de corte de combustible. Sensor de revoluciones del cigüeñal. Comprobación del margen de la señal y plausibilidad con sensor árbol de levas. En caso de avería con el motor en marcha, se sustituye por el transmisor de inicio de inyección. Sensor de presión atmosférica. Situado en el interior de la ECU, se comprueba el margen de la señal y la plausibilidad lógica con el sensor de presión en la admisión. Si existe fallo se conmuta a un valor previamente establecido. Para la supervisión del sistema de reconducción de gases de escape, se cierra la válvula EGR y se comprueba si la presión en el colector de admisión, comparándola con un modelo de cálculo. 1.7.3 Interfaz de diagnóstico La lectura de los códigos de avería se realiza a través de un interfaz que se comunica con las unidades de control del vehículo, además de la gestión del motor, (por ejemplo para el ABS, ESR, ESP, airbag, etc.). Estos puertos en serie funcionan con una velocidad de entre 5 baudios y 10 Kbaudios. Con estos interfaces se puede leer-borrar códigos de avería, leer valor de sensores y activar actuadores (mediante OBDII, EOBD no se puede realizar la activación de actuadores y sólo se analizan valores relativos a las emisiones de gases, o sea, de gestión del motor). Los hay con puerto monofilar y bifilar (línea de datos K, línea de excitación L). Los protocolos utilizados a nivel mundial son: -ISO 9141-2 (turismos europeos) -SAE J1850 (turismos americanos) -ISO 14230-4(KWP2000)(turismos e industriales europeos) -SAE J1708 (industriales EEUU)

Page 63: Sistema de Diagnostico de Vehiculos OBD2

63

Figura 76

A partir de 2008 la comunicación entre las ECU’S y las interfaces se realizará con el bus CAN (ISO 15765-4). Sobre la utilidad real de estos interfaces de diagnóstico debe hacerse un comentario. Los talleres de automoción invierten mucho dinero con estos interfaces, creyendo que es la panacea de la reparación y es un error. El scanner sirve como una guía y ayuda para conocer dónde puede localizarse la avería y no de la avería en sí, dejando a un lado los conocimientos técnicos que se deben de tener sobre electrónica y mecánica indispensables para el entendimiento de los diferentes sistemas de inyección, ABS, etc. Es decir, con unos buenos conocimientos sobre electrónica, mecánica, y saber que sistema se está reparando se pueden solucionar el 90% de las averías con un multímetro u osciloscopio, sin necesidad de un interfaz. Todavía se pueden encontrar talleres de automóviles que delegan en el interfaz la solución de la avería, en el mayor de los casos interpretando mal la avería, y sustituyendo cualquier sensor, actuador, etc. que aparezca con fallo sin antes haberlo comprobado. He podido comprobar cómo averías que con solo 30 euros estaban solucionadas, llegar el cliente a pagar 1000 euros e irse tan contento porque se lo ha podido solucionar tal concesionario que tenía un scanner valorado en 8000 euros. 1.7.4 Estudio técnico sobre códigos de averías Los códigos de avería OBD se dividen en cuatro clases: Modo Clase P Motor. 0 SAE C Chasis 1 Fabricante del vehículo B Carrocería U Comunicaciones Así por ejemplo, el código de avería P0003, es un código de avería del motor, EOBD y SAE (genérico).

Page 64: Sistema de Diagnostico de Vehiculos OBD2

64

Como en el anterior apartado hemos comentado, la supervisión de las señales de entrada a la ECU se realiza comprobando si hay fallos en los sensores como: cortocircuitos a masa, cortocircuitos a tensión de batería, interrupciones de línea, medidas fuera de rango y la plausibilidad con otros componentes. Para las señales de salida se comprueba el circuito de corriente en las etapas finales (esto implica cortocircuitos a masa y positivo batería e interrupciones), y los efectos del actuador sobre el sistema en los momentos en que se activa (para comprobar su buen funcionamiento). En la figura 77 se aprecia cómo en cada avería se distingue cada uno de estos casos. En P0045 la ECU ha captado en la salida de su etapa de potencia una falta de intensidad de carga que debería ser suministrada al solenoide, por lo que es posible que la línea esté cortada o la bobina del solenoide interrumpida. En P0047 la ECU ha captado en la salida de su etapa de potencia una excesiva carga de intensidad al solenoide, por lo que es posible que la línea esté derivada a masa o la bobina del solenoide esté en corto. En P0048 la ECU ha captado en la salida de su etapa de potencia una tensión de batería que no corresponde con su salida (PWM), por lo que es posible que la línea esté en corto con positivo. En P0046 la ECU ha realizado una comprobación de plausibilidad con la medida del sensor de presión de sobrealimentación, y los valores no coinciden con los de la cartografía memorizada. Por lo que existe un problema de rango/funcionamiento en el circuito. Por supuesto el problema podría ser por la línea, el solenoide o una avería mecánica (turbocompresor, tubos admisión, etc). En esta avería no se puede verificar si efectivamente la señal de la ECU se ha llegado a realizar por el actuador del turbocompresor (en el caso de que no tuviera un sensor de posición en la varilla actuadora, que son la mayoría de motores), sólo indirectamente a través de la plausibilidad con otro componente. Es decir, no existe un bucle cerrado de control para verificar que la señal de salida de la ECU se ha llevado a cabo. Es en esta clase de averías cuando el fallo de un sensor puede acarrear el descontrol de otros sensores o actuadores llegando a enmascarar al verdadero causante.

Figura 77

Page 65: Sistema de Diagnostico de Vehiculos OBD2

65

Capítulo 2 Realización del programa OBDII.

2.0 INTRODUCCIÓN El objetivo de este proyecto es realizar un hardware y software capaz de visualizar en una pantalla de ordenador todos los modos estandarizados en que se presenta la información del sistema de diagnostico OBDII. Los modos en que se presenta la información son los siguientes: • Modo 1. Identificación de Parámetro (PID, Process Identification), es el acceso a

datos en vivo de valores analógicos o digitales de salidas y entradas a la ECU. Este modo es también llamado flujo de datos. Aquí es posible ver, por ejemplo, la temperatura de motor o el voltaje generado por una sonda lambda.

• Modo 2. Acceso a Cuadro de Datos Congelados. Ésta es una función muy útil del

OBD-II porque la ECU toma una muestra de todos los valores relacionados con las emisiones, en el momento exacto de ocurrir un fallo. De esta manera, al recuperar estos datos, se pueden conocer las condiciones exactas en las que ocurrió dicho fallo. Sólo existe un cuadro de datos que corresponde al primer fallo detectado.

• Modo 3. Este modo permite extraer de la memoria de la ECU todos los códigos de

fallo (DTC - Data Trouble Code) almacenados. • Modo 4. Con este modo se pueden borrar todos los códigos almacenados en la PCM,

incluyendo los DTCs y el cuadro de datos grabados. • Modo 5. Este modo devuelve los resultados de las pruebas realizadas a los sensores

de oxígeno para determinar el funcionamiento de los mismos y la eficiencia del convertidor catalítico

• Modo 6. Este modo permite obtener los resultados de todas las pruebas de abordo. • Modo 7. Este modo permite leer de la memoria de la ECU todos los DTCs pendientes. • Modo 8. Este modo permite realizar la prueba de actuadores. Con esta función, el

mecánico puede activar y desactivar actuadores como bombas de combustible, válvula de ralentí, etc.

Para la realización del hardware se escogió la utilización de un microcontrolador ya programado que es de uso frecuente en los diseñadores profesionales de herramientas de diagnosis. Concretamente el chip seleccionado es el ELM 327(PIC 18F2X8X), capaz de actuar como intérprete (OBD-RS232) de los siguientes protocolos de comunicación:

Page 66: Sistema de Diagnostico de Vehiculos OBD2

66

-ISO 9141-2 -SAE J1850 PWM -SAE J1850 VPW -ISO 14230-4 -ISO 15765-4 -SAE J1939 En la siguiente figura 1, se aprecia el esquema electrónico que aconseja el fabricante del chip para acoplar tensiones de salida y entrada a los distintos protocolos. El chip MCP2551 es un dispositivo de alta velocidad que sirve como interfaz entre el bus físico y los controladores en un sistema con protocolo CAN. El chip 7805 se encarga de estabilizar la tensión a 5v para alimentar al PIC. Los transistores Q8 y Q9 adecúan tensiones de 12v a 5v realizando la función del típico MAX232 para la conexión a RS232. Los transistores Q6 y Q7 acoplan tensiones de 5v a 12v para el protocolo de ISO. Los demás transistores Q2, Q1 y Q4, Q5 realizan también la función de acoplar tensiones para el protocolo J1850.

Figura 1.Esquema eléctrico para diagnosis OBD y conector OBD

Page 67: Sistema de Diagnostico de Vehiculos OBD2

67

Una vez montados todos los componentes en la tarjeta, el aspecto de la interfaz se muestra en la figura 2.

Figura 2

Para verificar el perfecto funcionamiento del programa, tuve que realizar múltiples comprobaciones con la ayuda de un simulador de ECU`s (Figura 3) para un protocolo muy utilizado, el ISO9141-2. Este simulador es capaz de generar a través de sus potenciómetros, señales de cinco sensores diferentes, códigos de avería y datos congelados.

Figura 3: Simulador de ECU

La comunicación con el ELM 327 a través del puerto serie (RS232), la he realizado con funciones y eventos específicos de Visual Basic 2005 los cuales serán comentados más adelante. El lenguaje de esta comunicación se realiza con comandos propios del ELM327. Se puede establecer comunicación con el ELM327 a través de un terminal de comunicaciones (Hyperterminal de Windows), configurando apropiadamente el puerto serie (COM), y enviando estos comandos a través de un editor de texto . Estos comandos se dividen en dos clases, los comandos AT y los OBD. Los comandos AT se preceden con los los caracteres ‘AT’, un espacio y el comando. Estos comandos AT se dividen a su vez en: Comandos generales (los cuales sirven para resetear el chip, poner por defecto configuraciones del chip como la velocidad de comunicación, etc). Por ejemplo:

Page 68: Sistema de Diagnostico de Vehiculos OBD2

68

Editor del HIperterminal > AT Z ; se resetea el chip > AT D ; se establece por defecto la configuración del chip (por causa de protocolos retenidos en memoria que no se pueden cambiar por software, etc). Comandos relacionados con OBD, que informan y establecen los protocolos a implementar, monitorización de mensajes continuos, etc. Comandos específicos para ISO, J1850 y CAN. Son comandos que sirven para configurar los diferentes protocolos de forma específica por la propia naturaleza de éstos. Comandos varios, capaces de leer el voltaje con que se alimenta la interfaz a través del conector OBD, o la calibración del voltaje por software. Por ejemplo: >at rv 12,5v > La comunicación de comandos OBD se realiza enviando bytes en hexadecimal. El primer byte corresponde al modo OBD en el que se quiere trabajar, el segundo byte corresponde a un parámetro de identificación del modo previsto (PID). Los modos se interpretan de la siguiente manera: (1º Byte)

01 Muestra flujo de datos en “tiempo real” 02 Muestra una serie de datos del momento en que se produjo la avería (freeze

frame) . 03 Muestra las averías ocurridas en forma de código . 04 Borra las averías 05 Realiza un test del sensor de oxigeno 06 Realiza un test de la monitorización no continua. 07 Muestra las averías pendientes en forma de código. 08 Realiza prueba con actuadores 09 Identificación del vehículo

El segundo byte, tercer byte, etc., especifican la información que se requiere. Por ejemplo: Si se quiere preguntar cuál es la temperatura del motor, el primer byte será el modo ”01” 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í por ejemplo, en la siguiente figura 4 se detalla el PID 05.

Page 69: Sistema de Diagnostico de Vehiculos OBD2

69

Figura 4 De la tabla se deduce: Modo PID Bytes dev Valor Min Valor Max Formula 01 05 1 -40ºC 215ºC A-40 En el editor de texto del hyperterminal: >01 05 Pregunta 41 05 7B Respuesta En la respuesta recibida, se suma en hexadecimal 40+01=41, a continuación el PID =05 y después la respuesta recibida será 7B. Este número en decimal es el 123, el cual corresponde en la fórmula de obtención del dato al byte A. Por lo que: Temperatura motor=A-40=123-40=83ºC . No todos los PID’s son soportados por las ECU’s por lo que en el modo 01 con PID 00 se informa de qué PID’s son soportados por el vehiculo. De esta forma, accediendo a cada PID mediante el programa realizado en VB2005, a través del puerto COM, se ha podido acceder a todos los datos soportados por el vehículo. 2.1 Software de diagnostico OBD diseñado Para la realización de este programa he utilizado el lenguaje VB2005 Express Edition. Además de ser un lenguaje .NET, multiplataforma, etc, el principal motivo para su elección fue su flexibilidad, la existencia de una ayuda excelente y la relativa facilidad de diseño del interfaz. Existen multitud de programas que hacen este cometido, pero el objetivo que tuve desde un primer momento fue el de realizar un programa en el que los propios electromecánicos, que trabajan diariamente con los vehículos, me pudieran aconsejar e informar de cómo realizar el programa a la medida que estos profesionales querían. El conjunto de valoraciones sobre la practicidad del programa que pude obtener, además de representar todos los modos de OBD, fueron las siguientes: -El programa debía ser muy visual. -Debe hacer una valoración de datos obtenidos, comparándolos con modelos memorizados.

Page 70: Sistema de Diagnostico de Vehiculos OBD2

70

2.1.0 Datos de inicio y monitorización. En un primer plano (Figura 6) aparece a la izquierda una serie de iconos en los que una vez conectado el programa a la ECU es posible acceder a ellos: Leer datos de sensores (correspondiente al modo 1), Datos congelados (modo 2), Leer DTC (modo 3, modo 7), Borrar DTC (modo4), realización del test sensor de oxígeno (modo 5). El último icono se utiliza para configurar el puerto serie y elegir el protocolo a utilizar.

Figura 6

A continuación hay un cuadro (Datos de inicio) en el que se informa al usuario sobre el estado de conexión y el protocolo utilizado en el diagnostico. Como es sabido el sistema de diagnostico OBD realiza dos controles de monitorización, la continua y la discontinua. La continua la realiza permanentemente y la discontinua en los momentos en que la gestión de control de la ECU lo requiera, para no entorpecer el normal funcionamiento de ésta. El control de monitorización continua diagnostica los fallos de encendido, el sistema de combustible y componentes relacionados con el OBD. En el control de monitorización discontinua se diagnostica: el calentador del sensor de oxígeno, sensor de oxígeno, sistema de evaporación de combustible, catalizador, el calentador del catalizador, el sistema de aire secundario, AA y el sistema de recirculación de gases.

Page 71: Sistema de Diagnostico de Vehiculos OBD2

71

En estos dos controles se informa al usuario qué diagnósticos son soportados por la ECU, y los que son soportados, si han llegado a ser monitorizados. Estas monitorizaciones corresponden al modo 6. En el cuadro de (Identificación del vehiculo) se informa al usuario del número de identificación del vehículo en el caso de que la ECU soporte este modo 9. En el cuadro siguiente se informa del voltaje de la batería, a través de un comando AT, y de si existe avería y cuántas hay, obtenido en el modo 1 PID 01. El botón (Conectar) inicia la conexión con la ECU, y los datos que informan al usuario sobre el estado de la conexión , aparecen en el cuadro (Datos de inicio), como hemos comentado anteriormente. Cuando se pulsa el botón de conectar nos introducimos en este evento, el cual llama a la siguiente función que actúa como una máquina de estados. El protocolo de conexión sigue cada uno de estos estados, y evoluciona si el mensaje es recibido por la ECU, aumentando la variable (estado) cada vez que es llamada esta función. Private Sub maquina_estado_inicio() estado += 1 Select Case estado Case 1 Configura_Portcomm() Case 2 AxMSComm1.InBufferCount = 0 AxMSComm1.OutBufferCount = 0 reseteo() Return Case 3 protocoloautomatico() Case 4 protocolo() Return Case 5 voltage_bateria() Case 6 monitoreo() Return End Select End Sub

Cuando se llama a la función (Configura_Portcomm()) se comprueba qué puerto “COM” es el que se está utilizando. Para ello se transmite un mensaje de eco con un comando AT de la siguiente forma : ………. numcom += 1 AxMSComm1.CommPort = numcom texto_salida = "ate0" 'comando de eco texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + enter eventport = True 'le informo a on_comm cual evento es. AxMSComm1.Output = texto_salida1

Page 72: Sistema de Diagnostico de Vehiculos OBD2

72

Timer6.Enabled = True ………………………

Nota:El codigo utilizado en este ejemplo esta simplific ado para que sea más facil de comprender.

El puerto COM se inicia con el puerto serie (1), se pone la variable eventport=true, se lanza el mensaje con el comando AT más un (enter) y se espera una respuesta por parte de la ECU, seguidamente se habilita un temporizador a un segundo, con el objeto de que si pasado este tiempo la ECU no responde, se vuelva a llamar a la función (Configura_Portcomm()) para que aumente el número de puerto y vuelva a realizar otra comprobación. Si la ECU responde, será a través del evento (OnComm) y entrará en una parte de la función donde se localizará el evento actual a través de la variable (eventport) y se llamará de nuevo a la función (maquina_estado_inicio) para que siga con el protocolo de conexión. Si no se consigue ninguna conexión, se informará al usuario con un mensaje de que no eiste conexión alguna. Si se pasa al siguiente estado de conexión se resetea el hardware con el comando ATZ y se vuelve a llamar a la maquina de estado. Con el siguiente estado de conexión (protocoloautomatico() ) se informa al usuario de qué protocolo se va a utilizar en la conexión, ya que se ha predeterminado que el ELM327 busque el protocolo que utiliza la ECU de forma automática (esta opción viene por defecto). texto_salida = "atsp0" 'comando protocolo texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + enter eventproauto = True 'le informo a on_comm cual evento es. AxMSComm1.Output = texto_salida1

A través del evento(OnComm), cuando se recibe la respuesta de la ECU, se verifica y se vuelve a la maquina de estado. If (ultimocaracter = ">" ) And eventproauto = True Then ultimocaracter = "" eventproauto = False maquina_estado_inicio() End If

Con el siguiente estado de conexión (protocolo()) se informa en pantalla sobre el protocolo establecido. A través del siguiente estado (voltage_bateria()) se pregunta sobre el voltaje de la batería : ……… texto_salida = "atrv" 'comando at información voltaje texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + enter eventvoltage = True 'le informo a on_comm cual evento es. AxMSComm1.Output = texto_salida1 ………………

Page 73: Sistema de Diagnostico de Vehiculos OBD2

73

Y cuando se recibe el mensaje a través de (Oncomm) se visualiza en la casilla correspondiente: If (ultimocaracter = ">" ) And eventvoltage = True Then ultimocaracter = "" eventvoltage = False texto_informe = Mid(TmpStr, 7, 5) ' Escojo de la respuesta 5 carateres RichTextBox2.Text = texto_informe maquina_estado_inicio()

end if Finalmente, el último estado es el de recibir información sobre las variables de monitorización del sistema OBD, estado del MIL y número de averías registradas, a través del PID “0101”. texto_salida = "0101" 'comando de monitoreo continuo,no continuo,MIL,nºdtc. texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + enter eventmonitoreo = True 'le informo a on_comm cual evento es. AxMSComm1.Output = texto_salida1

Este PID devuelve cuatro bytes, del primer byte(A) el bit más significativo informa de si existen averías y los bits de (0-6) el número de averías. Por ejemplo si el byte es el (10000011), se enciende el MIL y existen 3 averías. El segundo byte (B) informa sobre el estado del test de monitorización continua, el modo con que se informa se observa en el siguiente cuadro.

Test de monitorización continua (Soportado/completado)

Test OBD Bit=1 Si es soportado Bit=1 Si es incompleto

Fallo de encendido B0 B4

Sistema de combustible B1 B5

Componentes B2 B6

Reservado B3 B7

Para los bytes CyD se informa sobre el test de monitorización no continua. Test de monitorización no continua (Soportado/completado)

Test OBD Bit=1 Si es soportado Bit=1 Si es incompleto

Catalizador C0 D0

Calent. Catalizador C1 D1

Sistema de evaporación C2 D2

Sistema de aire secundario C3 D3

A/C Refrigerante C4 D4

Sensor de oxigeno C5 D5

Page 74: Sistema de Diagnostico de Vehiculos OBD2

74

Calentador sensor de oxigeno C6 D6

Sistema EGR D7

Para el número de identificación de vehículo se extrae la información con el modo 09 PID 02, la ECU responde con el número de caracteres a leer y luego los caracteres del VIN, en hexadecimal. 2.1.1 Leer datos de sensores. Cuando se pulsa el icono (Leer datos de sensores) del cuadro de inicio aparece una pantalla nueva (Figura 8) con un menú en la parte superior con tres nuevos iconos: (Gráficos, Tabla de datos y Análisis de sensores). En la pantalla de gráficos aparecen, en la parte superior, cinco cuadros, en cada uno de ellos hay un botón que al pulsarlo aparece un cuadro (Figura 7) con todos los PID’s soportados, para que se pueda elegir el PID que se quiere leer. En este mismo recuadro hay una alarma, en el que se puede elegir entre qué valores del dato que se está monitorizando se quiere que actúe la alarma en forma de pitido sonoro. Gráficos. Para poder acceder a todos los PID´s para ver cuales son soportados, debe accederse a la información de los PID,s (0100,0120,0140). A continuación se exponen las funciones para acceder al PID (0100). La primera función es una máquina de estados que activa una función diferente cada vez que entra el flujo del programa. La segunda función extrae la información del evento (OnComm) para posteriormente añadirlo a la combobox. Función1 Public Sub maquina_estado_pids() selec_pids_soportados += 1 Select Case selec_pids_soportados Case 1 pids_soportados1() Return Case 2 pids_soportados2() Return Case 3 pids_soportados3() Return End Select Función2 Public Sub pids_soportados1() Dim texto_salida As String Dim texto_salida1 As Object eventpid = "0100" Texto_recibido.Text = "" 'miro pids soportados texto_salida = "0100" 'comando reset texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + AxMSComm1.Output = texto_salida1 End Sub

Page 75: Sistema de Diagnostico de Vehiculos OBD2

75

Figura 7

En el recuadro inferior izquierdo existen tres botones: (Monitoriza, Parar/Evaluar y Salir) (Figura 8). Una vez que se ha elegido los PID’s que se quieren leer, al pulsar (Monitoriza) van apareciendo los valores en tiempo real, en forma numérica y en un monitor simulando un osciloscopio. Cuando se han recibido los suficientes datos, según el usuario, se pulsa el botón (Parar y Evaluar). Los datos anteriormente monitorizados quedan memorizados para que el usuario pueda acceder a ellos y estudiarlos con más detenimiento. Para ello puede activar las flechas de adelante y atrás del (scrollbar) y visualizar con una perspectiva general los datos memorizados a través del monitor, y de forma numérica cuando los trazos pasan por la línea blanca central delimitadora que hay en el centro del monitor. Ya que para poder hacer esta parte del programa se ha necesitado muchas líneas de programación, comentaré la parte más interesante de la misma. Por supuesto, una vez que se han conseguido los valores de los sensores hay que visualizarlos en el monitor: Se crea una variable (graphics) con la característica del objeto (bitmap) de ancho y largo del monitor: Dim bm As New Bitmap(picGraph.Width, picGraph.Height) Dim gr As Graphics = Graphics.FromImage(bm) Caracteristicas del monitor: picGraph.BackgroundImage = Nothing gr.DrawImage(picGraph.Image, -10, 0) gr.ScaleTransform(1, -1) gr.TranslateTransform(picGraph.Width, -(pic Graph.Height / 2) - 50) 'Para que todos los valores no empiecen desde cero

En esta parte del programa si la variable a monitorizar es el (valor de carga), se añade e color al trazo, se añade la forma numérica del valor y finalmente se dibuja en el objeto (picgraph). Cada vez que se adquiere un valor nuevo, el valor viejo se tralada 10 píxeles a la izquierda y el valor nuevo toma la posición del anterior, trazando una línea entre el viejo y el nuevo. De esta manera se forma continuamente el trazo visualizado. Los valores son asignados al array (m_OldValue(n)), donde se guardan los datos viejo y nuevo. If nombrevariable(n) = DataGrid1.Item(0, 3) Then añadetexto_color( CStr (valor_de_carga), n, nombrevariable(n) + "(%)" ) 'aqui escribe variable pid en textbox-color

Page 76: Sistema de Diagnostico de Vehiculos OBD2

76

lapiz = miraquecolores(colorea(n)) 'aqui pone el color del trazo en el picgraph gr.DrawLine(lapiz, -10, m_OldValue(n), 0, 1 * valor _de_carga) m_OldValue(n) = valor_de_carga End If

Figura 8 En el recuadro de la parte inferior (Figura 8) derecha hay una caja de selección (Combobox), un botón de aceptar y otro de guardar. Cuando se quiere guardar en una base datos los valores adquiridos durante la prueba se pulsa el botón de (Guardar), apareciendo en un primer plano el cuadro de la Figura 9.

Figura 9

En este cuadro (Figura 9) se anotan los datos identificativos de la prueba, además de un informe que el usuario puede completar sobre alguna relevancia de la prueba. En esta parte del programa nos introducimos en la gestión de bases de datos con ADO.NET. Partiendo del hecho de que los valores adquiridos se guardan en un array

(arrays_variables(n)), el proceso siguiente es introducir los valores obtenidos de los sensores y los datos identificativos en la base de datos de la siguiente forma. En

Page 77: Sistema de Diagnostico de Vehiculos OBD2

77

primer lugar se crea una base de datos con Microsof Access (Figura 10) con todos los campos que incluye el cuadro además de los valores adquiridos (Datos_0,Datos_1,…)

Figura 10

Una vez creada la base de datos se procede a la creación del codigo. En el momento que se abre el cuadro se conecta con la base de datos (degraficos.mdb) y creamos un dataset de esta base, seguidamente creamos un datatable con los datos de las filas y columnas . ' La cadena de conexión Dim sCnn As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Bases_de_datos\degraficos.mdb" ' La cadena de selección Dim sSel As String = "SELECT * FROM degrafico ORDER BY ID" conexion = New OleDbConnection(sCnn) conexion.Open() ' Comprobar si hay algún error 'Establecemos las cadenas de comandos y conexiones para 'acceder a cada una de las tablas de la base de dat os Try da = New OleDbDataAdapter(sSel, sCnn) Dim cb As New OleDbCommandBuilder(da) ' Crear los comandos de insertar, actualizar y elim inar ' Como hay campos con caracteres especiales, ' al usarlos incluirlos entre corchetes. cb.QuotePrefix = "[" cb.QuoteSuffix = "]" ' Asignar los comandos al DataAdapter ' (se supone que lo hace automáticamente, pero...) da.UpdateCommand = cb.GetUpdateCommand da.InsertCommand = cb.GetInsertCommand da.DeleteCommand = cb.GetDeleteCommand ' Esta base de datos usa el ID con valores automáti cos da.MissingSchemaAction = MissingSchemaA ction.AddWithKey MiDataset = New DataSet 'enlazando al dataset con el adapter correspondient e. da.Fill(MiDataset, "degrafico" ) 'creamos las instancias datatables para ca tabla dt = New DataTable 'llenamos las tablas con los adaptadores da.Fill(dt) ' Habilitar los controles conexion.Close() End Sub

Page 78: Sistema de Diagnostico de Vehiculos OBD2

78

En el momento que pulsamos el botón de aceptar, llenamos las filas del datatable (dt) con los valores adquiridos y lo guardamos en la base de datos.Para guardar de forma más flexible los datos enteros en la base de datos , he tenido que hacer una función que me los convirtiese en texto(conver_array_texto_int(arrays_variables(0))) , junto con una consigna de principio y final. ' Crear un nuevo registro Dim dr As DataRow = dt.NewRow() dr( "Marca" ) = txt_marca.Text dr( "Modelo" ) = txt_modelo.Text Todos los datos identificativos ………………. ………………... dr( "Datos_0" ) = conver_array_texto_int(arrays_variables(0)) dr( "Datos_1" ) = conver_array_texto_int(arrays_variables(1)) Todos los valores adquiridos ………………. …………………. ' Añadir la nueva fila a la tabla dt.Rows.Add(dr) ' Guardar físicamente los datos en la base da.Update(dt) dt.AcceptChanges() ' Si es el primer registro de la base, ' volver a leer los datos para actualizar los IDs If CInt ( "0" & dr( "ID" ).ToString) = 0 Then dt = New DataTable da.Fill(dt) End If End Sub

Si se quiere volver a ver alguna prueba efectuada, se pulsa la flecha del (combobox), apareciendo todos los gráficos guardados con anterioridad. Al elegir uno de ellos, aparece un cuadro (Figura 11) que identifica los valores guardados. En este cuadro se pueden actualizar y eliminar los valores y el informe, ante cambios que quiera realizar el usuario.

Figura 11

Page 79: Sistema de Diagnostico de Vehiculos OBD2

79

Para crear el código de este cuadro, se conecta primero con la base de datos (degraficos.mdb) de la misma forma que se hizo en el cuadro anterior. Para acceder a los datos , una vez que tenemos el dataset, extraemos del dataset los valores de las filas. txt_marca.Text = dr( "Marca" ) txt_modelo.Text = dr( "Modelo" )

……………… arrays_variables_salida(0) = conver_texto_array _int(dr( "Datos_0" )) arrays_variables_salida(1) = conver_texto_array _int(dr( "Datos_1" ))

…….. Para eliminar la fila: dt.Rows(fila).Delete() ' Actualizar físicamente la base de datos da.Update(dt) ' Aceptar los cambios en la copia local dt.AcceptChanges()

Para actualizar: Dim dr As DataRow ' Asignar los datos de los textbox a la fila dr = dt.Rows(fila) dr( "Marca" ) = txt_marca.Text dr( "Modelo" ) = txt_modelo.Text ……… ……… conexion.Open() da.Update(dt) dt.AcceptChanges()

Al pulsar (Aceptar), aparecen en el monitor y de forma numérica los valores de este gráfico como si fuera en tiempo real, con el objeto de que el usuario pueda estudiar éstos con tiempo. Tabla de datos. Cuando se pulsa la pestaña superior de (Tabla de datos), aparece una tabla (Figura 12) con todos los PID’s del sistema de diagnostico OBD. En el combobox inferior se puede elegir qué selección se quiere activar para leer los PID’s. Por defecto se ha establecido (PID’s soportados), el usuario tendrá que elegir en su recuadro de chequeo correspondiente si lo quiere leer o no, y luego pulsar el botón de leer .

Page 80: Sistema de Diagnostico de Vehiculos OBD2

80

Figura 12

Para realizar este código hay que crear un y configurar el (datagrid) con todos los componentes que se ven en el cuadro e incluir los valores leídos de los PID`s soportados en el cuadro.

Configuramos la tabla: dt.Columns.Add( New DataColumn _ ( "Marcar" , GetType ( Boolean ))) ……….. dRow = dt.NewRow() dRow( "Marcar" ) = False dRow( "Soportados" ) = False dRow( "PID" ) = "04" ………..

Analisis de sensores. Cuando se pulsa la pestaña superior (Análisis de sensores) aparece un cuadro (Figura 13), en el que se puede comparar mediante un gráfico dos monitorizaciones realizadas. Con la intención de que el usuario pueda hacer comparaciones entre modelos de gráficos con valores establecidos en un determinado vehículo. Existe la posibilidad de agregar a la gráfica una línea de tendencia o una ecuación de la recta para cada uno de los trazos. Para realizar el código de este gráfico, como en el momento que pulsamos el icono (Leer datos de sensores) conectamos con la base de datos (degraficos.mdb), llenamos la variable datatable (dt) con la tabla entera de la base de datos. Por lo que podemos acceder a la información de cada fila y columna sin problema. En el primer combobox podemos elegir el registro: For f = Me.dt.Rows.Count() - 1 To 0 Step -1 drr = dt.Rows(f) cmb_modelo1.Items.Add(drr( "Guardarcomo" ).ToString) cmb_modelo2.Items.Add(drr( "Guardarcomo" ).ToString) Next

Page 81: Sistema de Diagnostico de Vehiculos OBD2

81

Introducimos la variables del registro en el segundo y tercer combobox y elegimos que variable estará en el eje(x) o eje(y): Dim graficoelegido_es As String graficoelegido_es = cmb_modelo1.SelectedIte m.ToString Dim dr As DataRow For fila = Me.dt.Rows.Count() - 1 To 0 Step -1 dr = dt.Rows(fila) If dr( "guardarcomo" ) = graficoelegido_es Then Exit For End If

Next

Introducimos las variables en los combobox para los dos ejes. For t = 0 To 4 If nombrevariable(t) <> "" Then cmb_modelo1_y.Items.Add(nombrev ariable(t)) cmb_modelo1_x.Items.Add(nombrev ariable(t)) End If Next

Introducimos en un array los datos de las variables. arrays_variables_salida_modelo1(0) = Form4.conver_texto_array_int(dr( "Datos_0" )) arrays_variables_salida_modelo1(1) = Form4.conver_texto_array_int(dr( "Datos_1" ))

…….. For t = 0 To 4 If cmb_modelo1_y.SelectedIndex = t Then array_modelo1_ejey = arrays_variables_salida_modelo1(t) End If Next

Una vez que tenemos los datos de las variables del eje(x) y eje(y) introducidos en diferentes arrays, configuramos un gráfico (ChartSpace) e introducimos los arrays como coordenadas de los trazos. Filtramos los valores e introducimos los datos en el array matriz While (array_modelo1_ejex(i) < 4000) If (array_modelo1_ejex(i) > 900) Then matriz_x(num) = array_modelo1_ejex( i) matriz_y(num) = array_modelo1_ejey( i) num = num + 1 End If i = i + 1 End While Configurando el Chart ……….. ChartSpace1.Charts(0).Title.Caption = "Comparacion entre modelos" ChartSpace1.Charts(0).Axes(1).HasTitle = True

……….. Introduciendo datos en chart. ……….

Page 82: Sistema de Diagnostico de Vehiculos OBD2

82

ChartSpace1.Charts(0).SeriesCollection(0).SetData(O WC10.ChartDimensionsEnum.chDimYValues, c.chDataLiteral, matriz_y) ChartSpace1.Charts(0).SeriesCollection(0).SetData(O WC10.ChartDimensionsEnum.chDimXValues, c.chDataLiteral, matriz_x)

……… Para el modelo2 se realiza la misma operación para introducir datos en el Chart. En la siguiente imagen (Figura 13) podemos ver la comparación de dos modelos para verificar el funcionamiento de la válvula EGR. En el modelo1 he desconectado la válvula EGR simulando una avería, el modelo2 con la válvula conectada. En la gráfica se aprecia la diferencia de flujo existente entre los dos trazos.

Figura 13

2.1.2 Leer y borrar DTC. Cuando se pulsa el icono (Leer y borrar DTC) en el cuadro de inicio, aparece un cuadro (Figura 14) en el que se puede elegir a través de un combobox la marca del vehículo que se está diagnosticando para los DTC’s P1xx o DTC’s genéricos P0xx. Si se elige una marca de vehículo, por defecto, pueden aparecer tanto los DTC’s P1xx o los DTC’s genéricos P0xx. En el recuadro superior izquierdo se puede elegir si se quieren leer los DTC’s pendientes o actuales. Al pulsar el botón (Leer DTC) aparece el código de avería y el significado de la avería y la causa posible en los cuadros correspondientes. Para realizar el código de este gráfico:

Page 83: Sistema de Diagnostico de Vehiculos OBD2

83

Leer los DTC. If chbox_actuales.Checked = True Then chbox_pendientes.Checked = False Texto_recibido.Text = "" texto_salida = "03" 'comando actuales texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + enter eventpid = "dtc" AxMSComm1.Output = texto_salida1 End If

Borrar los DTC Texto_recibido.Text = "" 'Reseteo el elm 327 al inicio texto_salida = "04" 'comando borra dtc texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + enter eventpid = "borradtc" AxMSComm1.Output = texto_salida1

De la respuesta de la ECU recibimos cinco caracteres:

El primer carácter es una letra definida por:

A7 A6 Definición

0 0 P

0 1 C

1 0 B

1 1 U

El segundo carácter es un numero definido por:

A5 A4 Definición

0 0 0

0 1 1

1 0 2

1 1 3

El tercer, cuarto y quinto carácter son números definidos por:

Page 84: Sistema de Diagnostico de Vehiculos OBD2

84

A3 B7 B3

A2 B6 B2

A1 B5 B1

A0 B4 B0

3rd Carácter 4th carácter 5th carácter Definición

0 0 0 0 0

0 0 0 1 1

0 0 1 0 2

0 0 1 1 3

0 1 0 0 4

0 1 0 1 5

0 1 1 0 6

0 1 1 1 7

1 0 0 0 8

1 0 0 1 9

Cuando se recibe la respuesta por parte de la ECU, a través del evento AxMscomm espero el último cararter y que la variable eventpid=”dtc”. Seguidamente, a través del código siguiente y guiándome por la definición de los caracteres expuestos en los cuadros anteriores, se extraen los códigos de error. If (ultimocaracter = ">" ) And (eventpid = "dtc" ) Then tmpstr1 = Mid(TmpStr, 8, StrLen - 1 2) StrLen1 = Len(tmpstr1) 'se limpia de espacios en blanco For I = 1 To StrLen1 - 1 caracter = Mid(tmpstr1, I, 1) If caracter <> " " Then 'esto es un negado filedtc_ayuda(num) = caract er num += 1 End If Next I 'se ponen en cada elemento de array el dtc en bina rio 'luego a traves de la funcion credtcstring introduz co 'en el array los dtc num1 = num / 4 For I = 1 To num1 For k = 1 To 4 p += 1 numbinario =conver_hex_binario(fi ledtc_ayuda(p - 1)) filedtc(I - 1) = filedtcvie jo + numbinario filedtcviejo = filedtc(I - 1) Next k 'creadtcstring(filedtcviejo) convierte 'la lista de bits en lo dtc(string) dtcstrings(I - 1) = creadtcstri ng(filedtcviejo) filedtcviejo = Nothing ……………………………………………

Page 85: Sistema de Diagnostico de Vehiculos OBD2

85

Una vez que se han añadido las averías en el combobox (cbox_dtc), al elegir un código de avería, aparece la avería en el textbox (Avería establecida). Para ello hay que llamar a la base de datos (dtc.mdb) y consultar la información de la avería de ese código de avería. Como puede elegirse el fabricante del vehículo para los códigos especificos de avería, al realizar la consulta en la base de datos se buscará en los genéricos (en los que también se contienen los códigos (P1xxx) y el específico. A continuación se muestra un código ejemplo: Se elige el dtc.Seconsulta en la base de datos a través de la función (dtc_eobd) enviando como parametros el código de avería y el faricante del vehiculo, devolviendo la avería establecida. dtcc = cbox_dtc.SelectedItem txtdtc.Text = dtc_eobd(dtcc, dtc_especifico ) …………………………

Este es parte del código en el que se realiza la consulta a la base de datos (dtc.mdb): Dim sCnn As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Bases_de_datos\dtc.mdb" Dim adap1 As OleDbDataAdapter Dim adap2 As OleDbDataAdapter dtable_generico = New DataTable dtable_especifico = New DataTable adap1 = New OleDbDataAdapter( "SELECT * FROM dtc_generic” ,sCnn) adap2 = New OleDbDataAdapter( "SELECT * FROM " & dtc_especifico, sCnn) adap1.Fill(dtable_generico) adap2.Fill(dtable_especifico)

Figura 14

Al pulsar el botón (BORRAR DTC) se eliminan automáticamente de la EEPROM de la ECU todas las averías establecidas, las pendientes y las actuales. En el momento que se acciona el botón de borrar códigos se ejecuta el siguiente segmento de programa: Texto_recibido.Text = "" 'Reseteo el elm 327 al inicio

Page 86: Sistema de Diagnostico de Vehiculos OBD2

86

texto_salida = "04" 'comando borra dtc texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + enter eventpid = "borradtc" AxMSComm1.Output = texto_salida1

2.1.3 Datos Congelados Al pulsar el icono (Datos Congelados) del cuadro de inicio, aparece un nuevo cuadro (Figura 15) que especifica el primer DTC causante de los datos congelados memorizados en el momento de originarse la avería y en la parte inferior una tabla con todos los posibles datos que pueden ser soportados por las ECU´s en el sistema de diagnóstico cuando es pulsado el botón (LEER). Al pulsar este botón nos introducimos en una máquina de estados, que origina el proceso a seguir para realizar esta parte del programa. En el primer proceso se busca el código de avería que produce los datos congelados y se consulta a la base de datos sobre la avería establecida: A continuación se muestra un código de ejemplo del proceso dtcongelado() ……………………………… Texto_recibido.Text = "" texto_salida = "0202" 'comando actuales texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + enter eventpid = texto_salida AxMSComm1.Output = texto_salida1

……………… En el evento AxMscomm: ……………….. dtc_congelado.Text = "P" & (num1) & (num2) & (num3) & (num4) maquina_estado_pids_datoscongelados ()

………………. En el segundo proceso (consulta_datocongelado() ), se consulta a la base de datos (dtc.mdb)la avería establecida. ………………………………. rtxt_congela.Text = dtc_eobd(dtc_congelado. Text, "dtc_generico" ) maquina_estado_pids_datoscongelados() ………………………………

En el tercer proceso se busca cuales son los PID’s soportados de los datos congelados. Texto_recibido.Text = "" texto_salida = "0200" 'comando actuales texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + enter eventpid = texto_salida AxMSComm1.Output = texto_salida1

Page 87: Sistema de Diagnostico de Vehiculos OBD2

87

En un cuarto proceso se llaman a estos PID’s y se introducen en la tabla de datos congelados. …………………………………………… trozo = pidsoportados_congelados(numpid_con gelado) Select Case trozo Case Nothing numpid_congelado = 0 Exit Sub Case "04" texto_salida = "0204" 'comando actuales texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + enter eventpid = texto_salida AxMSComm1.Output = texto_salida1

En el evento AxMscomm.En este caso el PID es el valor de carga.Código ejemplo: …………………………………………… tmpstr1 = Mid(TmpStr, 16, 2) 'elv 13 es los 4 de "0105"+ 9 de retorno y espacios For I = 1 To 2 FileData(I - 1) = CInt (Asc(Mid(tmpstr1, I, 1))) Next I num = (FileData(0) - 48) * 16 + (Fil eData(1) - 48) - 40 num1 = hexa(FileData(0))´se conviert e en decimal num2 = hexa(FileData(1)) valor_de_carga = ((num1 * 16 + num2) * 100 / 255)’Formula valor de carga

Se introduce en la tabla de datos congelados el pid leido. DataGrid2.Item(0, 1) = CStr (valor_de_carga) ver_tabladatoscongelados() ……………………………………………

Figura 15

Page 88: Sistema de Diagnostico de Vehiculos OBD2

88

2.1.4 Análisis de Sensores O2 Cuando se pulsa el icono (Sensores O2) en el cuadro de inicio, aparece un nuevo cuadro (Figura 16) que testea los sensores de oxígeno que hay en el vehículo. Este análisis se realiza con una serie de parámetros (PID´s) relacionados con la señal de salida del sensor de oxígeno (semejante a una onda senoidal). En la tabla de parámetros vienen establecidos los valores máximos, mínimos y el valor en tiempo real. En la figura de abajo se señala, (con los PID´s), donde corresponde cada parámetro de la señal. Con el combobox del recuadro superior se puede seleccionar el sensor de oxígeno que se quiere analizar. Este análisis podrá ser realizado siempre y cuando el test de monitorización no continua referente al sensor de oxigeno, se halla soportado y completado. Para realizar este apartado actuamos igual que en el cuadro anterior, creamos una máquina de estado para realizar una serie de procesos consecuentes. Al pulsar el botón de aceptar qué sensor de oxígeno se desea analizar, nos introducimos en la máquina de estado. Private Sub maquina_estado_pids_SO2() selec_o2 += 1 Select Case selec_o2 Case 1 pids_soportados_so2() Return Case 2 ver_pids_tabla_so2() Return Case 3 maquina_estado_datos_so2() End Select

Con el proceso (pids_soportados_so2() ), a través del PID (“050001”) Banco1-Sensor1, PID(“050002”) para Banco1-Sensor2 , etc. Con el proceso (ver_pids_tabla_so2()) se señala en la tabla los PID’s que son soportados. ………….. 'señalo en la grilla los pids soportados,uso maquin a porque está el 0100,0200 For fila = 0 To 9 If DataGrid3.Item(fila, 0) = True Then num_estados_so2 += 1 ordenestado_so2(num_estados_so2 - 1 ) = fila End If …………………………

Page 89: Sistema de Diagnostico de Vehiculos OBD2

89

Con el proceso (maquina_estado_datos_so2()), cada vez que se entra en esta función aumenta el estado y por lo tanto el TID a preguntar(“050101”para B1-S1,”050201”para B1-S2,etc). ……………………. estado_datos_so2 += 1 If estado_datos_so2 > num_estados_so2 Then Exit Sub End If fila = ordenestado_so2(estado_datos_so2 - 1 ) tid = DataGrid3.Item(fila, 1) & sensorO2 ' le concateno el sensor seleccionado Texto_recibido.Text = "" 'Reseteo el elm 327 al inicio texto_salida = "05" & tid & "" 'comando de pid texto_salida1 = CObj (texto_salida + Chr(13)) 'el comando + enter eventpid = "05" & DataGrid3.Item(fila, 1) 'le informo a on_comm cual evento es. AxMSComm1.Output = texto_salida1 ……………………..

En el evento AxMscomm.En este caso por ejemplo si el TID “05xx01”,Banco x- Sensor x,(Voltaje umbral sensor rico a pobre).Introduciendo en la tabla (datagrid3)el dato leido. ………………….. Dim trozodato As String trozodato = Mid(TmpStr, 18, 2) For I = 1 To 2 FileData(I - 1) = CInt (Asc(Mid(trozodato, I, 1))) Next I num1 = hexa(FileData(0)) num2 = hexa(FileData(1)) RpmA = (num1 * 16 + num2) RpmB = RpmA * 0.005 DataGrid3.Item(0, 3) = CStr (RpmB) maquina_estado_datos_so2()

…………….

Page 90: Sistema de Diagnostico de Vehiculos OBD2

90

Figura 16

2.1.5 Opciones de configuración Cuando se pulsa el icono (Opciones) en el cuadro de inicio aparece un nuevo cuadro (Figura 17) que realiza las funciones de configuración del puerto y de la interfase. Por defecto, se ha establecido que el protocolo establecido por la ECU se busque automáticamente, evitando posibles errores del usuario. El puerto serie conectado lo puede establecer el usuario o se puede buscar automáticamente a través del software del programa. Finalmente la velocidad del puerto se puede elegir entre 38400 y 9600 baudios, normalmente esta interfase ha funcionado perfectamente a 38400 baudios.

Figura 17

Page 91: Sistema de Diagnostico de Vehiculos OBD2

91

Capítulo 3 Realización del comprobador de electroválvulas

3.0 INTRODUCCIÓN Ante la necesidad de poder comprobar las electroválvulas accionadas por señales en PWM instaladas en la mayoría de vehículos, se ha construido un comprobador de electroválvulas capaz de generar una señal de PWM con frecuencia entre (245 Hz – 4165Hz) y duración del ciclo (%) regulable a través de potenciómetros, un frecuenciómetro con lectura hasta un máximo de 1MHz y un lector del Duty Cicle en (%). Algunos ejemplos de electroválvulas accionadas por señales PWM son: sistema EGR, regulación presión de sobrealimentación, válvula cánister, regulación avance de inyección diesel, regulación presión gasoil en bombas de alta presión (Common Rail), etc. En el comprobador diseñado, puede accederse a cualquier opción con un menú desplazable visualizado en una pantalla de LCD, controlada por tres pulsadores para desplazarse arriba y abajo por el menú, y un pulsador central de “OK” para confirmar la elección de la herramienta utilizada. A continuación se muestran las diferentes pantallas que se visualizan en el menú: Frecuenciómetro.

Probador de electroválvulas. En el que a través de un potenciometro (P1) se elige la frecuencia de la señal PWM, con el otro potenciómetro (P2) se elige la duración del ciclo(%).

Medidor del Duty-Cycle en (%).

Page 92: Sistema de Diagnostico de Vehiculos OBD2

92

El comprobador se alimenta directamente de la tensión de la batería (12v) del vehículo. El dispositivo (Figura 1) contiene dos cables de alimentación, dos cables de entrada para el frecuenciómetro y el medidor del duty-cycle y dos cables de salida para el probador de electroválvulas.

Figura 1

3.1 La electrónica aplicada al circuito El sistema de control de este dispositivo electrónico (Figura 3) es un microcontrolador de la empresa Microchip el (PIC16F876A). Las características más importantes son el contenido de 256 bytes de datos de memoria EEPROM, 8k de memoria de programa, 3 canales de I/O, 3 temporizadores, 2 comparadores, 5 convertidores (A/D), 2 canales de capture/compare/PWM, un bus serie asíncrono (USART) y otro síncrono configurable (SPITM) o (I2CTM). En la figura 3 se muestra un esquema del circuito diseñado. La fuente de alimentación está constituida por el típico LM7805 que regula la tensión a 5v y dos condensadores. El de entrada apropiado para disminuir el rizado, la capacidad del condensador se elige normalmente por la intensidad que va a consumir el circuito (1000µF por amperio). Como este circuito va a consumir menos de 1A se elige C2=1000 µF-25v. Para C1 se elige el condensador que aconseja el fabricante para evitar picos de intensidad C1=0,1 µF. La corriente de salida de la fuente de alimentación sirve para alimentar el microcontrolador y adaptar las entradas del frecuenciómetro y lector del Duty-cycle a través de (Q2), para que puedan ser leídas por el micro. La salida de potencia para la activación de las electroválvulas está constituida por un transistor en conmutación (Q3) controlado por el microcontrolador que a su vez controla un mosfet de potencia (Q1) que genera la señal en PWM que acciona la electroválvula.

Page 93: Sistema de Diagnostico de Vehiculos OBD2

93

Para que el transistor Q3(BC547) funcione en conmutación : Ib=2*Ic/ß en saturación. Ic=(Vc-Vce)/Rc=(12-0,3)/1000= 0,0117A Ib=2*0,0117/100= 0,000234A Rb=(Vb-Vbe)/Ib=(5-0,7)/ 0,0000234= 18376Ω Por lo que una resistencia de base de 10K queda más que justificada para que el transistor entre en saturación. El transistor de potencia (Q1) es un MOSFET de canal N funcionando en conmutación. Como es sabido el Mosfet de potencia es un dispositivo controlado por voltaje a través del terminal (gate), que está eléctricamente aislado del cuerpo del silicio por una delgada capa de dióxido de silicio. Por el aislamiento de la compuerta, la corriente que ingresa es pequeña. Las regiones de operación del transistor de efecto de campo son la región de corte, región activa y región ohmica. Región de corte: el voltaje gate-source es menor que el voltaje umbral VGS(th),tipicamente de unos cuantos voltios. Región activa: la corriente de drain Id es independiene del voltaje drain-source y depende unicamente del voltaje gate-source VGS, y está dada por :

Id=Gm(VGS-VGS(th)). Región óhmica: cuando el valor del voltaje gate-source es mayor al voltaje umbral VGS>>VGS(th) y VDS es igual o menor que VGS-VGS(th),el elemento entra en la región ohmica. Las características del MOSFET (BUK555-100A) son las siguientes (Figura 2):

Page 94: Sistema de Diagnostico de Vehiculos OBD2

94

Figura 2

Como la intensidad de drenador máxima que va a soportar el transistor en el peor de los casos es de 4 A , la potencia que disipa: PT=ID2*rd_on=4*4*0,11= 1,76w.Nuestro Mosfet supera esta potencia. VGSoff=0v en corte.------El voltaje umbral según hoja características: VGS(th)=2v VGSon=12v en saturación. Según el gráfico supera la Id establecida. RG>=1MΩ. Actuando como medio de descarga ante electricidad estática. El diodo en antiparalelo integrado, que evita la tensión inversa generada por una bobina no dañe el mosfet, es propicio para nuestro circuito ya que vamos a trabajar con cargas inductivas, por lo que nuestro circuito de polarización se acopla a las necesidades establecidas. Los potenciómetros de 1K están conectados a diferentes CAD para la elección de la frecuencia (RV1) y duty-cycle(RV2) en la comprobación de las electroválvulas. El transistor NPN(Q2) es un (BC107) y actúa como adaptador de tensión de (12v a 5v). Siendo R8=Rc=50K la intensidad de colector Ic=(Vcc-Vce)/Rc=(5-0,3)/50K=860µA. Por lo que Ib para trabajar en conmutación Ib=2*Ic/ß=2*860 µA/150=1,14 µA. La Rb=(Vb-Vbe)/Ib=(12-0,7)/ 1,14 µA=9854651Ω.Por lo que con una Rb=100K nos aseguramos de que el transistor funcione en conmutación

Page 95: Sistema de Diagnostico de Vehiculos OBD2

95

ESQUEMA DEL COMPROBADOR DE ELECTROVALVULAS

Figura 3

3.2 Software aplicado al microcontrolador PIC16F876A La programación del microcontrolador ha sido realizada en lenguaje C, a través del compilador PCW compiler de la empresa CCS. El PIC16F876A ha sido grabado por el famoso TE20 a través del programa winPic800. La simulación del circuito ha sido realizada con el programa Proteus 6 Professional. A continuación exponemos las partes más importantes del programa en lenguaje C del comprobador de electroválvulas .

Page 96: Sistema de Diagnostico de Vehiculos OBD2

96

Una vez hemos configurado cáales son las entradas y salidas del micro, temporizadores, pins para los CAD y configuración a través de las librerías del compilador del manejo de la pantalla LCD, comenzamos con el código del programa. ………… set_tris_a(0b11111111); set_tris_c(0b11110101); //RC0 entrada,rc1 salida set_tris_b(0x00); //RB0-RB7 salidas output_b(0x00); //Borra salidas output_c(0x00); //Borra salidas setup_adc_ports(AN0_AN1_AN3); //RA0 entrada analógica setup_adc(adc_clock_div_32); //Ajusta frecuencia de muestreo del ADC ………… En primer lugar creamos mediante un bucle infinito un rastreo del estado de cada pulsador. En el momento que detecta un pulso, el flujo del programa se deriva a una función (maquina_estado_lcd(menu,subebaja) que provoca el cambio del menú en la pantalla LCD. while(1) if (input(PIN_C2)==TRUE)//bajar while (input(PIN_C2)==true) delay_ms(10); …………… if (input(PIN_C5)==TRUE)//subir while (input(PIN_C5)==true) delay_ms(10); …………… maquina_estado_lcd(menu,subebaja); if (input(PIN_C4)==TRUE) //ok while (input(PIN_C4)==true) delay_ms(10); ………….. maquina_estado_menu(menu); Cuando el usuario ha elegido la herramienta y pulsa (OK), el flujo del programa se deriva a una función que tiene como parámetro una variable que indica el menú elegido. Dentro de esta función tendremos un estamento (Switch-Case) en el que mediante la variable (menu) se elegirá la función a realizar: Frecuenciometro, Medidor Duty-Cycle o Probador electroválvulas. Para la realización del frecuenciómetro, se activa el timer1 y seguidamente un bucle que origina una secuencia de un segundo exacto, al terminar el bucle se lee el contador del timer1. Por ello el número de cuentas será directamente la frecuencia establecida. A partir del número de cuentas durante un segundo puede obtenerse el periodo de la señal:

Page 97: Sistema de Diagnostico de Vehiculos OBD2

97

T=1seg/Nº de cuentas. F=1/T= Nº de cuentas Bucle de 1 segundo. …………. SET_TIMER1(0); setup_timer_1 (T1_INTERNAL); while (n1<50000)//true=3, false=4 n1++; //1 cycles if (t1_overflow)//true=2,false=3 t1_overflow=0;freqc_high++;//2 cycles DELAY_US(7); //(3+1+2+2+2+1+2+9)=20*50000=1s …………… Lectura de la frecuencia. ……………. freqc_low=get_timer1(); freqc=make32(freqc_high,freqc_low); ……………… En la variable entera de 16 bits (freqc_low) se asigna el número de cuentas, mientras que en la variable entera de 16 bits (freqc_high) todos los “overflow” acontecidos en el contaje. Finalmente a través de la función (make32) se concatena los dos enteros para formar un entero de 32 bits dando como resultado la frecuencia de la señal leída. Para realizar el medidor del Duty-Cycle, creamos una función que continuamente espere que la señal cambie a nivel alto, en el momento en que cambie habilitamos el timer0 realizando un contaje. Y lo mismo pero al contrario, creando una función que continuamente espere que la señal cambie a nivel bajo. Una vez se tienen los tiempos alto y bajo, se realiza la operación del porcentaje de la señal. Se miden los tiempos wait_for_low_to_high(); set_rtcc(0); wait_for_low(); time = get_rtcc(); tiempo_alto=(long)(num*(long)time); //mide el pulso alto wait_for_low1(); set_rtcc(0); wait_for_low_to_high1(); time = get_rtcc(); tiempo_bajo=(long)(num*(long)time); Se realiza el porcentaje: ............... porcento=(float)((float)tiempo_bajo/(float)((float)tiempo_alto+(float)tiempo_bajo))

Page 98: Sistema de Diagnostico de Vehiculos OBD2

98

porcentaje=(int)(porcento*100); lcd_gotoxy(1,1); printf(lcd_putc,"DUTY-CYCLE=%03d%c ",porcentaje,'%' ); ………… Para realizar el probador de electroválvulas, hay que utilizar el modulo de Modulación de anchura de impulsos (PWM) incorporado en el microcontrolador por la línea RC2/CCP1 cuyo periodo puede ser modificado, así como la anchura del pulso (Duty-Cycle). El periodo se determina según la fórmula T=(PR2+1)*4*Tosc*TMR2 preescaler. La duración del pulso se determina de la siguiente forma: duty=(CCPR1L:CCPCON1<5:4>)*Tosc* TMR2 preescaler. En nuestro generador de PWM el usuario elige una frecuencia de la señal fija y luego con el potenciómetro (Reg PWM) varia la duración del pulso a voluntad. Para ello, hay que leer de los CAD’s la frecuencia y el duty, y trasladar estos datos a las funciones correspondientes para generar la señal PWM. Para realizar este código hay que destacar que es importante configurar el preescaler del TMR2 para diferentes frecuencias con el objeto de conseguir eficiencia en la variación completa del duty-cycle. Siendo Frecu_lcd=1/periodo_r*Tosc*4*Predivisor.Para un predivisor de 16, periodo_r=62500/ Frecu_lcd ……….. set_adc_channel(0); //Selección del canal 0 (RA0) delay_ms(10); periodo=read_adc(); //periodo del pulso if (frecu_lcd< 980) periodo_r=(62500/frecu_lcd); if ((frecu_lcd> 980)&&(frecu_lcd< 3900)) periodo_r=(250000/frecu_lcd) ; if (frecu_lcd> 3900) periodo_r=(1000000/frecu_lcd) ; lcd_gotoxy(1,1); printf(lcd_putc,"FREC=%04lu%c%c\n",frecu_lcd,'H',' z'); ………… Se configura el timer2 según la frecuencia. if (frecu_lcd< 980) setup_timer_2(T2_DIV_BY_16,periodo_r,1); //Carga el periodo y TMR2 en ON if ((frecu_lcd> 980)&&(frecu_lcd< 3900)) setup_timer_2(T2_DIV_BY_4 ,periodo_r,1); if (frecu_lcd> 3900) setup_timer_2(T2_DIV_BY_1 ,periodo_r,1); setup_ccp2(CCP_PWM); //Modo PWM para el CCP1 Se lee el duty y se introduce en la función (set_pwm2_duty(duty)) duty=read_adc(); //Inicia la conversión y carga la anchura del pulso porcentage=(int)(((float) duty/(float) periodo_c)*100); set_pwm2_duty(duty);// se genera la señal lcd_gotoxy(1,2); printf(lcd_putc,"DUTY=%03d%% ",porcentage);

Page 99: Sistema de Diagnostico de Vehiculos OBD2

99

3.3 Vistas del PCB

Figura 4.Vista componentes amplificada.

Figura 5.Vista TOP Figura 6.Vista BOTTOM En la figura 7 se muestra una fotografía del prototipo del Comprobador de electroválvulas.

R1,R2,R3,R4=1K R5=10K R6=10M R8=100K R9=50K RV1,RV2=1K C1=0,1 µF C2=1000 Μf C3,C4=27pF X1=4Mhz U2=LM7805 U1=PIC16F876A Q1=BUK555 Q2=BC107 Q3=BC547 J1,J2,J3,J4,J5=Con 2pin Módulo LCD

Page 100: Sistema de Diagnostico de Vehiculos OBD2

100

Figura 7

Page 101: Sistema de Diagnostico de Vehiculos OBD2

101

Capítulo 4 Conclusiones y trabajo futuro

4. Conclusiones Las comprobaciones efectuadas por el interfaz de diagnostico en multitud de vehículos ha sido bastante satisfactoria. Aunque me ha decepcionado un poco la baja cantidad de sensores soportados por el fabricante en las unidades de control. Los vehículos americanos ofrecían gran cantidad de sensores soportados mientras que los europeos y asiáticos casi la mitad. Pero a pesar de esto, los sensores soportados eran de una importancia crucial para el seguimiento de una posible avería en la gestión electrónica del motor. Con el objeto de llevar a la práctica mis conocimientos adquiridos en el estudio de sistemas de inyección, electrónica de vehículos y conocimientos sobre OBD, trabajé en un taller de vehículos durante siete meses incorporando a éste mi programa sobre diagnosis de vehículos. Los casi 8000 códigos de avería, genéricos y específicos del fabricante que incorporé en la base de datos del programa, me ayudaron en muchas ocasiones a resolver averías que “sorprendentemente” en talleres con aparatos de diagnosis de alto coste no interpretaban. Durante este tiempo aprendí que el aparato de diagnosis más efectivo es el propio técnico con una base sólida de conocimientos sobre electrónica de vehículos (sistemas de inyección, conocimiento de la mecánica e hidráulica del motor) y que el interfaz de diagnostico es simplemente una ayuda para llegar a la solución de la avería. La parte del programa “Análisis de sensores” ha sido la más interesante del proyecto puesto que he podido comprobar que realmente funcionaba con bastante repetitividad. Además la comparación entre modelos es muy flexible, del usuario depende qué tipo de modelos memorizar para hacer sus propias investigaciones y llegar a la avería lo antes posible. Expongo a continuación un ejemplo de cómo visualizar una avería de forma gráfica. Para esta comprobación he memorizado un “modelo correcto” de un vehículo, posteriormente he provocado una avería y he memorizado el modelo incorrecto. En la figura 1 se ha realizado una prueba para analizar el funcionamiento de la válvula AGR. El trazo azul es el modelo correcto memorizado, mientras que el trazo rojo es el modelo de prueba en el que se le ha desconectado la válvula AGR. En este gráfico se aprecia la diferencia de flujo existente entre 800 rpm y 3500 rpm, zona en la que trabaja la válvula AGR. Se observa que una reconducción de gases de escape al conducto de admisión provoca una disminución de depresión que a su vez origina una menor cantidad de flujo de aire comparado con el trazo rojo que no tiene activada la válvula AGR. Esta prueba se realizó con un Seat León TDI (con bomba rotativa de émbolo axial).

Page 102: Sistema de Diagnostico de Vehiculos OBD2

102

Figura 1

En la figura 2 está la misma prueba anterior pero con un Citroen Xsara Picasso (sistema de inyección HDI), en la gráfica se aprecia esta diferencia.

Figura 2

La misma prueba pero con un golf TDI (sistema de inyección UIS), (Figura 3).

Figura 3

En esta prueba se ha analizado el sistema de reconducción de gases, pero con un poco de imaginación se pueden comprobar muchos más componentes de forma proporcional a los conocimientos que tenga el técnico en esta materia (flexibilidad).

Page 103: Sistema de Diagnostico de Vehiculos OBD2

103

También he realizado comprobaciones con el comprobador de actuadores (PWM), conectando éste directamente a la electroválvula de regulación de la válvula EGR y seguidamente monitorizando el flujo de aire con el programa realizado. Observando en ralentí, como a medida que abría y cerraba la electroválvula (operando con el duty-cycle) aumentaba y disminuía el flujo de aire. El futuro de OBD es el nuevo sistema de diagnostico OBDIII que da un paso hacia la comunicación de fallos vía satélite, utilizando un pequeño radio-comunicador. Éste podrá reportar problemas de emisiones y fallos del vehículo, directamente a una agencia reguladora de emisiones o al taller de confianza. Por lo que un proyecto futuro, podría ser la creación de un programa de gestión y análisis de fallos del vehículo utilizando el sistema de diagnostico OBDIII. La característica más importante que tiene OBDIII es la capacidad de comunicación del vehículo con el mundo exterior. En el siguiente diagrama de bloques (Figura 4) se aprecia el concepto de la tercera generación de diagnosis en el que los fallos del vehículo son enviados (vía radio terrestre o vía satélite) a un centro de atención al cliente (CAC) que los detecta y analiza. El centro notifica al cliente las acciones a tomar para subsanar el problema (tipo de avería, hora de la avería, etc.). Asimismo el (CAC) envía al taller la información necesaria para reparar la avería. El (CAC) tendrá una conexión con la Central de Datos donde se almacenarán todos los históricos de los vehículos.

Figura 4

Page 104: Sistema de Diagnostico de Vehiculos OBD2

104

Page 105: Sistema de Diagnostico de Vehiculos OBD2

105

Bibliografía -Regulación electrónica Diesel (EDC).Publicado por Robert Bosch GmbH. -Sistema de control electrónico (EDC16). Publicado por Robert Bosch GmbH. -Gestión del motor de gasolina. Publicado por Robert Bosch GmbH. -Sistemas de inyección Diesel Unidad de bomba- inyector/bomba-tubería-inyector. Publicado por Robert Bosch GmbH. -Manual de la técnica del automóvil (4ºEdición). Publicado por Robert Bosch GmbH. -Sistemas de inyección por acumulador Common Rail. Publicado por Robert Bosch GmbH. -Tecnología Automoción 4.Publicado por Edebé. Texto : Ángel Sanz González. -Inyección directa de gasolina Bosch Motronic MED 7.Publicado por Vicente Blasco Argente para servicio wolkswagen. -Sensores y Acondicionadores de señal.Publicado por Marcombo.Autor:Ramón Pallas Areny. -Turbo C,C++.Publicado por Paraninfo.Autor:Antonio Mata. -Visual Basic.NET.Publcado por Anaya. Autor:Francisco Charte