Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MegaSquirt intenta ser un proyecto educativo pensado para los que deseen aprender
sobre inyeccin electrnica de combustible. Se trata de un controlador de inyeccin de
combustible programable (ECU), sta puede controlar la forma en que los inyectores de
un motor distribuyen el combustible para poder mejorar el rendimiento del mismo,
usualmente para que el motor pueda entregar mas potencia, especialmente luego de
haberle hecho modificaciones o mejoras. El resultado es que MegaSquirt puede
proporcionar clculos en tiempo real del combustible hasta 16.000 RPM. MegaSquirt es
completamente programable, la misma provee una conexin serial para interconectarse
con una computadora regular, o por ejemplo, con una "notebook" y toda la informacin
est disponible en tiempo real. A pesar de que MegaSquirt comenz como un proyecto
que solamente se diriga a poder controlar sistemas de inyeccin de combustible,
recientemente se le ha aadido capacidad para poder controlar el sistema de encendido
del motor. Por tanto se ha convertido en un sistema completamente independiente que
no necesita o depende de la computadora actual de un motor para poder llevar a cabo su
funcin. Se puede decidir al momento de la instalacin si lo que se quiere es controlar la
inyeccin de combustible solamente si se quiere controlar el sistema de encendido en
adicin al control de la inyeccin de combustible. Todo est al juicio y las metas de la
persona que est llevando a cabo la implementacin.
La unidad de control electrnico esta basada en los microcontroladores Motorola
MC68HC908GP32 que funciona a una velocidad interna de 8 MHz y tiene una
resolucin de 8 bits (MS-I) o el MC9S12C64 con velocidad interna de 24 MHz y 16 bits
de resolucin (MS-II). Los sistemas mas populares del mercado utilizan una vieja
tecnologa del procesador (como el MC68HC11 o el Z80) que funcionan en 1 o 2 MHz
de velocidad interna. La velocidad ms rpida, juntada con la programacin en lenguaje
ensamblador, da a MegaSquirt su poder. Adems, la memoria flash integrada al
microprocesador logra una disposicin monopastilla verdadera, reduciendo costos y
ampliando confiabilidad. Tambin, usa tecnologa de destello, lo que permite la
reprogramacin instantnea de constantes mientras el vehculo est funcionando. El
procesador se puede incluso recargar con otro cdigo de control usando un interfaz de
programacin simple. La flash se puede reescribir por lo menos 10.000 veces y tiene
una duracin de retencin de datos de al menos 20 aos.
Existen varios modelos de MegaSquirt, stos se diferencian tanto en la versin del PCB
utilizado ("Printed Circuit Board" como en la versin del procesador. MegaSquirt se
basa en lo que se conoce como una arquitectura 'abierta'. Una de las ventajas de la
arquitectura abierta en la que se basa MegaSquirt es el nivel de compatibilidad que se
produce entre las diferentes versiones de los componentes internos. El PCB ms
reciente es el versin 3.0. Anteriormente se utilizaba el PCB 2.2. Este modelo 2.2 del
PCB est siendo utilizado cada vez menos debido a las ventajas que nos ofrece el nuevo
PCB 3.0. A nuestro entender la desventaja mayor que tiene el PCB 2.2 es que no incluye
un rea de prototipo y que no controla en forma directa inyectores que sean de baja
impedancia. Tampoco cuenta con un controlador de bobina en su forma original, si se
requiere controlar una bobina hay que aadir un transistor para ello. Por estas razones es
recomendable, siempre que sea posible, utilizar la versin PCB 3.0 de MegaSquirt.
El microprocesador de MegaSquirt que predomina actualmente es la versin MS-I. Este
chip es el que ms tiempo se ha utilizado y es el ms probado. El cdigo o la
programacin de este microprocesador es la ms completa hasta el momento, por esta
misma razn muchas personas han tenido ms tiempo de hacer cdigos y mejoras de
programacin para este microprocesador. Por ejemplo, ahora mismo, la programacin
mas completa disponible, es la versin MegaSquirt and Spark Extra, que solamente
funcionaba para el microprocesador MS-I. Este era uno de los mayores impedimentos
para que las personas decidieran utilizar el microprocesador de MS-II. Recientemente la
versin MegaSquirt and Spark Extra tambin ha sido modificado para funcionar con
el MS-II, poco a poco se est implementando toda la funcionalidad que hasta ahora
solamente exista para el microprocesador MS-I en el MS-II.
El microprocesador MS-II es ms poderoso y supera casi por el triple o ms al MS-I.
Sin embargo el microprocesador MS-II todava no puede ejecutar el cdigo completo de
la versin MegaSquirt and Spark Extra y por tanto muchas de las funciones que son
posibles actualmente en el microprocesador MS-I no funcionan en el MS-II. Esto no
quiere decir que el microprocesador MS-II no valga la pena, solamente que no todas las
funciones actuales son posibles de ejecutar en l.
Combustible inyectado
MegaSquirt utiliza todos estos factores para determinar el ancho de pulso del
combustible; mientras mas ancho sea el pulso, ms combustible se inyectar a los
cilindros, anchuras menores del pulso significan menos combustible.
Para entender esto, comenzaremos con los ms bsicos: la Ley de Gases Ideales, el
valor de REQ_FUEL, y la ecuacin que suministra de combustible.
PxV=nxRxT
Donde:
P = Presin
V = Volumen
n = Nmero de moles
T = Temperatura (K)
R = constante de los gases (8.314472 J/molK)
Qu tiene que hacer con esto la ECU? Para saber cunto combustible inyectar,
necesitamos para saber cunto aire est entrando el motor, con el fin de alcanzar la
mezcla qumicamente correcta (llamada estequiomtrica). Entonces, para un motor
con inyeccin de combustible, utilizamos los sensores para determinar la presin en el
mltiple de admisin y la temperatura de aire en el mismo. Sin embargo, la temperatura
en esta ecuacin es la temperatura absoluta medida en grados Kelvin que es igual a la
de grados centgrados + 273.
La eficacia volumtrica (VE) es un porcentaje que nos dice la presin dentro del
cilindro contra la presin en el mltiple. Sabemos el volumen (V) de desplazamiento del
motor. As podemos calcular la masa del aire (M) en el cilindro (proporcional a n) de:
n = PV/RT
=> M = n x MM = PV/RT x MM
= (VE * MAP * CYL_DISP) / (R * (IAT-32) * 5/9 + 273)) x MMair
Entonces:
Observar que podemos combinar las constantes R y MM en una sola, y no haremos caso
de ellas porque pueden ser utilizadas como constantes en el cdigo del lenguaje
ensamblador y ser eliminadas.
Puesto que ahora sabemos la cantidad de aire en un cilindro a travs de los valores del
MAP y del IAT (intake air temperature) y del valor calculado de VE, necesitamos
saber la cantidad de combustible a inyectar. Especificamos esto con un parmetro
llamado REQ_FUEL.
REQ_FUEL
Donde:
36.000.000: es el nmero de dcimas de milisegundo por hora, usados para conseguir
las libras por 1/10 de milisegundo de la proporcin libras/horas de los inyectores.
REQ_FUEL = tiempo de apertura del inyector en dcimas de milisegundo.
CID = volumen en pulgadas cbicas.
AIRDEN = densidad del aire (libras por pulgada cbica) con una presin del MAP de
100 Kpa, temperatura del aire de 70 F, y presin baromtrica de 30.00 en pulgadas de
mercurio.
NCYL = nmero de cilindros.
INJFLOW = caudal del inyector en libras por hora.
DIVIDE_PULSE = numero de divisin de inyecciones, para obtener el nmero de
inyecciones por ciclo del motor.
Para un motor de 4 tiempos, un ciclo completo consiste en 720 grados de rotacin del
cigeal (es decir dos revoluciones); para un motor de 2 tiempos, es 360 grados (esto
tambin modifica el valor de REQ_FUEL). (Tcnicamente, para MegaSquirt, un ciclo
se define como nmero de cilindros que ocurre una ignicin) en el software de
configuracin, el cuadro superior de REQ_FUEL es la cantidad por cilindro. El cuadro
ms bajo de REQ_FUEL es el valor descargado a la ECU, ste es el nmero de
REQ_FUEL del cuadro de arriba, pero escalado por el modo de inyeccin (el nmero de
inyecciones y alternado / simultneo). Por ejemplo, si se inyecta en simultneo y una
inyeccin por ciclo, y se tiene el mismo nmero de inyectores que cilindros (es decir
inyeccin multipunto), entonces el REQ_FUEL en el cuadro superior es igual al
REQ_FUEL en el cuadro inferior. Lo mismo ocurre si se pone alternado y dos
inyecciones por ciclo. Si se pone en simultneo y dos inyecciones por ciclo, el
REQ_FUEL se divide por la mitad porque al inyectar dos veces, es necesario inyectar la
mitad de combustible en cada inyectada.
Donde:
Warmup es el valor del enriquecimiento por calentamiento que el usuario configura en
tabla desde MegaTune.
O2_ClosedLoop es el ajuste del enriquecimiento basado en la informacin del sensor
EGO (sonda lambda) y los ajustes del EGO que el usuario configura desde MegaTune.
AirCorr es el ajuste de densidad del aire (basada en temperatura del aire de admisin).
BaroCorr es la correccin baromtrica basada en la presin del ambiente (tomada
generalmente antes de encender el motor, pero un segundo sensor de la presin del
ambiente puede ser agregado a MegaSquirt-II para las actualizaciones continuas al
BaroCorr).
Hay otros dos factores agregados a esto: uno es el enriquecimiento por aceleracin, y el
otro es el tiempo de apertura del inyector.
Si se fija el REQ_FUEL a cero el inyector se abre un cierto tiempo (y el
enriquecimiento del accel si est activado). La razn de agregar un tiempo de apertura
del inyector es que toma una cantidad pequea de tiempo abrir el inyector antes de que
uno alcance un estado lineal del control donde el tiempo del inyector se relaciona con el
flujo del combustible. La ECU compensa el tiempo de apertura del inyector agregndole
tiempo al ancho total del pulso, si no el pulso sera demasiado corto.
El lazo principal (el rea del cdigo donde se calcula el ancho de pulso del combustible)
para MegaSquirt-I funciona normalmente aproximadamente a 1500 Hertz (1500 veces
por segundo) y puede variar unos cientos Hertz dependiendo del modo que se est
trabajando o atencin de las necesidades (stos se llaman las interrupciones). Para
MegaSquirt-II, el lazo principal funciona alrededor dos veces ms rpido.
Inyectores:
Valores Medidos
Segn lo observado arriba, MegaSquirt utiliza varios valores medidos en sus clculos.
stos incluyen la presin absoluta mltiple (MAP) y temperatura del aire de admisin
(IAT). El sensor MAP funciona con una alimentacin de +5 voltios, devolviendo una
seal de entre 0 5 voltios, que es una funcin linear de la presin absoluta en el sensor.
La presin absoluta es la presin comparada con un vaco total. La presin atmosfrica
normal es cerca de 101.3 kilopascales (kPa), o cerca de 14.7 PSI o 29.92 pulgadas del
mercurio (Hg).
Presiones ms bajas dan tensiones ms bajas del sensor MAP. MegaSquirt utiliza un
conversor a analgico digital (ADC) para convertir la seal de tensin del MAP en un
nmero digital entre 0 y 255 (es decir 1 byte = 8 bits). El archivo kpafactorXX.inc es
utilizado por MegaSquirt para escalar la conversin de voltios a bits. MegaTune utiliza
un archivo similar para sus clculos.
MegaSquirt tambin utiliza el sensor MAP para tomar una lectura de la presin
atmosfrica antes de arrancar el motor, para aplicar las correcciones baromtricas que
compensan la presin atmosfrica a diferentes altitudes. Este valor se almacena en una
variable llamada baro. Las autocorrecciones estn en una variable llamada aircor.
MegaSquirt tambin utiliza un conversor a analgico digital para traducir el valor de
la resistencia variable del sensor de temperatura del aire de admisin a un valor digital
(clt) entre 0 y 255. La resistencia del sensor puede valer desde 100.000 ohmios a -
40F (- 4,44C) a 185 ohmios en 210F (98,89C). Otros sensores pueden ser utilizados
recompilando el cdigo usando el programa EasyTherm.
Adems de las medidas necesarias para calcular la ley de gases ideales, otros sensores
son utilizados por MegaSquirt para compensar cuando el motor necesita una mezcla
distinta a la estequiomtrica. Estos otros sensores incluyen un sensor de temperatura del
lquido refrigerante, para el enriquecimiento por calentamiento, y un sensor de posicin
de mariposa, para el enriquecimiento por aceleracin/desaceleracin.
MegaSquirt tiene un sensor de temperatura del lquido refrigerante (CLT) que es
elctricamente idntico al sensor IAT. Funciona exactamente de la misma manera que el
IAT, pero se utiliza para el enriquecimiento por calentamiento, la determinacin del
ancho del pulso, y controlar la vlvula fidle (de marcha lenta). A bajas temperaturas,
el combustible se vaporiza mal, y ms combustible es necesario asegurar suficiente
combustible vaporizado para la combustin adecuada. La variacin de temperatura de
motor, que es igual al clt + la compensacin de 40F, se utiliza para decirle a la ECU
cundo el enriquecimiento por calentamiento (la variable es warmcor) es necesario. El
ancho del pulso es determinado por el ajuste de baja temperatura (- 40F) (CWU) y el
ajuste de alta temperatura (170F) (CWH). La anchura real del pulso es determinada
por una interpolacin linear entre estos dos ajustes basados en la temperatura actual del
lquido refrigerador (clt). Se activa la vlvula de marcha lenta siempre que CLT est
debajo de FASTIDLE.
El sensor de TPS indica a la ECU la posicin actual de la mariposa del mltiple de
admisin. Esta variable se compara a las lecturas ms recientes para determinar si la
mariposa es cerrada o abierta rpidamente. Si es as, se adiciona combustible a la
mezcla para en una apertura rpida, para as compensar las condiciones de transicin.
Esto funciona igual que la bomba de pique en un carburador.
El TPS tambin hace otras dos funciones importantes. Primero, si la mariposa est
abierta ms que una cantidad especificada durante el arranque, se invoca el modo
inundacin reduciendo el ancho de pulso inyectado a 0.3 milisegundos. En segundo
lugar, si la mariposa est abierta a ms el de 70%, se ignora la correccin por sonda
lambda.
El sensor del oxgeno de gases de escape (EGO) proporciona la realimentacin a la
ECU para saber si est inyectando la cantidad de combustible correcta. El sensor del
EGO (tambin llamado sensor O2 o sensor de oxgeno) mide la cantidad de oxgeno en
los gases de escape, y enva una seal de 0 a 1 volt (para un sensor de banda estrecha,
ms en los sensores de banda ancha) a MegaSquirt (el valor del ADC es ego).
MegaSquirt entonces calcula el ajuste que se debe hacer en la cantidad de combustible
(egocorr) para el el siguiente evento inyeccin de combustible. Menores tensiones de
EGO significan mezcla mas pobre, y voltajes ms altos significan mezclas ms ricas.
Sin embargo, los sensores de banda estrecha convencionales no son particularmente
exactos lejos de mezclas estequiomtricas, as que las situaciones que exigen mezclas
ms ricas o ms pobres deben apagar a la correccin por EGO. MegaSquirt utiliza
medidas de TPS para apagar la correccin del por EGO, como se mencion
anteriormente. MegaSquirt tambin da opciones para apagar la correccin del EGO
debajo de una temperatura especificada del lquido refrigerante (egotemp) y por
debajo de ciertas RPM del motor especificada.
Las nicas diferencias entre los sensores de banda estrecha y de banda ancha del
oxgeno de los gases de escape son la pendiente y el punto de ajuste. La lgica de
realimentacin para el control del combustible es igual.
El tiempo entre los pasos depende los acontecimientos de encendido por paso la ECU
espera este nmero de chispas, entonces:
Si el sensor da una lectura pobre, la ECU aumenta el combustible en la cantidad del
tamao de paso del EGO.
Si el sensor da una lectura rica, la ECU disminuye el combustible por la cantidad del
tamao de paso del EGO.
Sin embargo si EGO el lmite (%) se ha alcanzado, la ECU no realizar la correccin
ms all de eso.
Entrada de RPM
Ahora que MegaSquirt sabe cunto combustible inyectar, cmo sabe cundo inyectar
el combustible? sa es una funcin del circuito de entrada de encendido. Una seal se
toma del distribuidor o del terminal negativo de la bobina. Idealmente, este es un
punto donde la mezcla de algn cilindro se enciende. La ECU inyecta el combustible
en mltiplos uniformes de estas seales.
Se ha hecho un trabajo considerable para asegurar seales limpias del sistema de
encendido, sin pulsos perdidos o en falso. La sincronizacin de la inyeccin de
combustible depende de los parmetros que se fijan con el software de configuracin
MegaTune (inyecciones por ciclo del motor, el reposo del inyector, el nmero de
cilindros, etc.).