You are on page 1of 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
2
Escuela Politécnica Superior de Elche

Universidad Miguel Hernández

VISTO BUENO Y CALIFICACIÓN DEL PROYECTO


Título proyecto:

Proyectante:

Director/es:

VºBº director/es del proyecto:

Fdo.: Fdo.:

Lugar y fecha:

CALIFICACIÓN NUMÉRICA MATRÍCULA DE HONOR


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

Conforme presidente: Conforme secretario: Conforme vocal:

Fdo.: Fdo.: Fdo.:

Lugar y fecha:

3
4
Í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

5
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

6
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

7
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.

8
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).

9
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.

10
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

11
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

12
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

13
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

14
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.

15
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

16
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

17
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.

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

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.

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

El esquema del inyector se muestra en la figura 16.

18
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
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

19
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.

20
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 .

1- Etapa de potencia.
2-Bobina
3-Diodo
4-Conexión secundario

Figura 21

21
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.

22
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.

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.

23
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

24
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

25
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.

26
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

27
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

28
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.

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

Figura 31

29
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

30
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.

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

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

31
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

32
1.4.0 Sistema de recirculación de gases de escape
Figura 34
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.

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

33
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.

34
-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

35
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.

36
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

37
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.

38
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

39
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

40
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.

41
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

42
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
Peso real de aire consumido por kg de gasolina x
Lambda 
Peso teórico de aire que se debería de consumir por kg de gasolina 15,04
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

43
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).

44
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

45
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

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

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

46
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

47
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.

48
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

49
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.

50
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.

51
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

52
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.

53
SENSORES Preparación Señales ORDENADOR Etapas finales ACTUADORES
Finales
E. analógicas Diagnostico
R
A SALIDAS ANALOG
Caudal del aire
M .
Ang. de la mariposa A A Inyector 1
Sonda Lambda N N ...
......... A A ...
Temperatura aire L A/D L ...
Temperatura agua O O ...
Tensión Batería G G ...
....
E. mando SALIDAS DIGITAL.

D R D Relé bomba combusti.


Int.presión AA I O I Solenoide EGR
Int mariposa cerrada G M G Selen. Valv.regenera.
Int plena carga I I ..............................
...................... T T Bobina encendido
Int freno A A Actuador ralentí
Int. Cambio L L Relé principal.

RAM EPROM

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

54
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 .

55
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.

56
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

57
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

58
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.

59
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 .

60
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.

61
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)

62
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).

63
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

64
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:

65
-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

66
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:

67
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.

68
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.

69
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.

70
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

71
Timer6.Enabled = True
………………………
Nota:El codigo utilizado en este ejemplo esta simplificado 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
………………

72
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

73
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

74
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, -(picGraph.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

75
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

76
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 datos
Try
da = New OleDbDataAdapter(sSel, sCnn)
Dim cb As New OleDbCommandBuilder(da)
' Crear los comandos de insertar, actualizar y eliminar
' 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áticos
da.MissingSchemaAction = MissingSchemaAction.AddWithKey
MiDataset = New DataSet
'enlazando al dataset con el adapter correspondiente.
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

77
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

78
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 .

79
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

80
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.SelectedItem.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(nombrevariable(t))
cmb_modelo1_x.Items.Add(nombrevariable(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.
……….

81
ChartSpace1.Charts(0).SeriesCollection(0).SetData(OWC10.ChartDimension
sEnum.chDimYValues, c.chDataLiteral, matriz_y)
ChartSpace1.Charts(0).SeriesCollection(0).SetData(OWC10.ChartDimension
sEnum.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:

82
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:

83
3rd Carácter
A3 A2 A1 A0
4th carácter
B7 B6 B5 B4
5th carácter
B3 B2 B1 B0
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 - 12)
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) = caracter
num += 1
End If
Next I
'se ponen en cada elemento de array el dtc en binario
'luego a traves de la funcion credtcstring introduzco
'en el array los dtc
num1 = num / 4
For I = 1 To num1
For k = 1 To 4
p += 1
numbinario =conver_hex_binario(filedtc_ayuda(p - 1))
filedtc(I - 1) = filedtcviejo + numbinario
filedtcviejo = filedtc(I - 1)
Next k
'creadtcstring(filedtcviejo) convierte
'la lista de bits en lo dtc(string)
dtcstrings(I - 1) = creadtcstring(filedtcviejo)
filedtcviejo = Nothing
……………………………………………

84
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

85
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

86
En un cuarto proceso se llaman a estos PID’s y se introducen en la tabla de datos
congelados.

……………………………………………
trozo = pidsoportados_congelados(numpid_congelado)

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 + (FileData(1) - 48) - 40
num1 = hexa(FileData(0))´se convierte 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

87
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 maquina 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
…………………………

88
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()
…………….

89
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

90
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 (%).

91
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.

92
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):

93
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

94
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 .

95
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:

96
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))

97
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);

98
3.3 Vistas del PCB

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
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.

99
Figura 7

100
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).

101
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).

102
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

103
104
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

105

You might also like