Você está na página 1de 9

O SOFTWARE de funcionamento dos Mdulos de Injeo Eletrnica

Jornal Oficina Brasil - Out/2000 Por Marcos Zillner (Napro Eletrnica Industrial ltda) O funcionamento do programa (Software) dos mdulos de controle da Injeo eletrnica um assunto pouco conhecido. Poucas pessoas no Brasil detm o conhecimento do cdigo fonte dos mdulos (programa antes de ser compilado e gravado na Eprom ou memria flash). A falta de conhecimento nesta rea acarreta na criao de conceitos de funcionamento nem sempre corretos. Por outro lado conhecer essa matria poderia auxiliar no diagnstico dos defeitos e inclusive tirar alguns mitos que foram criados com o tempo. Tambm os tcnicos reparadores que trabalham com a repotenciao de chips tem dificuldades pois trabalham de uma certa forma no escuro, quase sempre na tentativa e erro. A caixa do mdulo passa ento a ser uma "caixa preta" onde no se sabe ao certo o que se encontra l dentro e como a lgica de controle do motor funciona. O que vemos um procedimento de troca de mdulos sem uma anlise mais criteriosa, causando um desperdcio desnecessrio. Um mdulo com valores auto-adaptativos (aprendizado) em alguns casos funciona de maneira a enganar o tcnico reparador. Este pensa que o mdulo est defeituoso e chega a trocar o mesmo. Explico: Se um defeito de sensores anteriormente apresentado consertado e o mdulo leva um certo tempo para reaprender, ao se trocar por um modulo novo, onde este defeito no havia se manifestado, vai funcionar na primeira. Acontece que o mdulo antigo tambm aprenderia com o tempo a se adaptar as novas condies porem a urgncia e o desconhecimento fizeram com que fosse sucateado. Ruim para o cliente dono do veiculo, ruim para o tcnico reparador, ruim para todos. O mdulo controlado por um micro controlador que passaremos a chamar de processador, nome mais popular para o pequeno computador interno capaz de realizar clculos com valores (previamente gravados em tabelas) que chamamos de dados e seguir uma seqncia de comandos que chamamos de programa ou algoritmo. O programa no funciona sozinho necessita dos dados (tabelas) normalmente levantados em dinammetro de motores e depois refinados em dinammetros de chassi e campo de prova. O dinamometrista depois de amaciar o motor no prprio dinammetro, comea ento a levantar a curva de torque do motor, Potncia e Consumo Especfico, montando tabelas de carga X rotao X angulo de avano, carga X Rotao X Tempo de Injeo etc. Os engenheiros montam ento as tabelas que sero gravadas na Eprom. O dinammetro de chassi ajuda a refinar na hora da verificao de emisses. Na realidade hoje em dia os ajustes so feitos com prioridade em emisses. Onde so feitos testes de emisses com ciclo urbano e ciclo estrada conforme norma brasileira. O veculo colocado sobre um dinammetro de chassi, as curva de freio e inrcias so ajustadas no dinammetro e o motorista acelera e freia de acordo com um grfico gerado por computador. Ajustes nas tabelas do mdulo so feitos para diminuir as emisses. A dirigibilidade refinada e a eprom com os dados fica pronta para avaliao de campo. Quilmetros e quilmetros so rodados. Tudo isto destrudo depois pelo pessoal que faz a repotenciao fora da montadora onde o resultado final so alguns cavalos a mais para o cliente desejoso de potencia no motor. Lgico em detrimento das emisses e muitas vezes do consumo e durabilidade do motor. Nesta matria vamos abordar o funcionamento do programa ainda de uma maneira superficial. Se fossemos abordar o assunto com profundidade, certamente daria para escrever um livro. O ideal seria escrevermos sobre o Hardware e o Software. Estas duas coisas esto intrinsecamente ligadas. Porem como o Hardware muito mais previsvel ficamos somente no assunto do Software que menos conhecido. Vrias tabelas so previamente levantadas em laboratrio. Os valores que vamos exemplificar aqui podem variar de fabricante para fabricante pois cada um tem um tipo conversor Analgico/Digital (A/D) diferente internamente, os sensores diferem, ento vamos dar exemplos genricos para o tema.

2- Tabela de Enriquecimento de acelerao Esta tabela simula a funo que a velha bomba injetora no carburador ao darmos uma acelerada. Injetando uma quantidade mais de combustvel, enriquecendo abruptamente a mistura. Seus valores so refinados pelos engenheiros com o veiculo em rodagem, acertandose a dirigibilidade. Para uma maior preciso ela dividida em funo da temperatura do motor. Assim com um motor frio pode-se enriquecer mais para um atendimento rpido do acelerador. Uma tabela mal dimensionada provoca afogamentos. Esta tabela num dos eixos entra como ndice o delta de carga que foi solicitado dependendo do sistema pode ser medido o delta de depresso no coletor ou a velocidade com que variou a tenso no caso de um sensor de posio de borboleta. No final fazem a mesma funo, estimar a carga solicitada no motor. O delta calculado fazendo a subtrao do valor de carga anterior menos o atual ou no caso de posio de borboleta, tenso anterior menos tenso atual. A unidade de injeo esta representada em milisegundos.

Se o delta positivo, houve uma acelerao se o delta negativo o usurio tirou o p do acelerador veremos mais tarde que a tabela no consultada. Observe que resumimos a tabela ilustrando somente at 50% de variao de carga, na realidade existem mais linhas.

3- Tabela de enriquecimento de partida a frio Ao se dar a partida, o motor deve pegar. Nesta fase nenhum engenheiro esta preocupado com emisses. O motor tem de levantar o giro rapidamente pois a rotao do motor de partida baixa e o consumo de corrente alto. Os valores so crticos pois um enriquecimento exagerado gera um afogamento do motor. Uma mistura pobre demais tambm atrasa o arranque do motor e descarrega a bateria. Esta tabela normalmente levantada em uma enorme cmara climtica, onde o motor, ar, combustvel submetido a diferentes temperaturas iniciando em 36 graus Celsius. Ao dar a partida se o motor pegar o valor colocado na tabela esta ok, se no se deve esperar mais 24 horas para que a temperatura se estabilize novamente. Ao acertar o valor de partida para aquela determinada temperatura, ajusta-se a temperatura da cmara climtica para a prxima temperatura que pode ser 26 graus e assim por diante. Para cada linha o tempo de repouso do motor e estabilizao da temperatura obedecido. A temperatura da cmara vai subir at os 70 graus. Vrios motores so ensaiados e com diferentes tipos de leo do motor etc... um trabalho exaustivo que exige alm de pacincia o uso at de roupas especiais para adentrar na cmara. Note-se que os motores so calibrados para condies que so encontradas no frio do Alaska e no calor dos desertos na frica. No importa se voc vai levar seu veculo l. A montadora quer assegurar que o motor funcionar bem em qualquer uma dessas condies. Obs: A temperatura do motor lida pela temperatura da gua de arrefecimento.

Propositalmente colocamos nesta tabela um exemplo completo. Somente as duas colunas da esquerda so usadas e na realidade somente os valores hexadecimais so gravados na EPROM do mdulo. Colocamos ao lado os numeros em decimais somente para exemplificar. Vamos a um exemplo usando a linha de 10o C Observe que o valor final de injeo no caso de 10o Celcius de 1,88 milisegundos, porem seria muito tempo perdido para o processador, ler 1,88 e calcular quantas unidades de injeo ou Interrupts deveriam ser gastos para se passar um tempo de 1,88 milisegundos. Devido a falta de tempo de processamento, a trasformao de nmeros em Ponto Flutuante evitada gravando-se um numero equivalente ao quantidade de UIs (unidade de Injeo). A unidade de Injeo neste exemplo de 28,6 microsegundos, ou seja, 66 (decimal) vezes UI (28,6) igual 1887 microsegundos igual 1,88 milisegundos. Para economizar tempo de processamento, a quantidade de unidades de tempo gravado diretamente, ou seja 42H. O valor hexadecimal nunca excede FF ou seja 255 em decimal para uma Eprom com um Byte de 8 bits. Observe no grfico que quanto maior a temperatura do motor, menor quantidade de combustvel necessria para o motor funcionar.

4- TABELA de ENRIQUECIMENTO PS - PARTIDA Esta tabela entra em funcionamento em alguns milissegundos depois do motor "pegar". Note que tambm dependente da temp. do motor.

Para uma melhor preciso no processo de levantamento da rotao depois do arranque esta tabela entra em cena aps algumas voltas do motor. O processo de levantamento de dados muito parecido com o anterior, uma vez que esto intimamente ligadas e em seqncia.

5- TABELA de FATOR DE CORREO DA TEMPERATURA DO AR Porque se mede a temperatura do ar? uma questo que poucos sabem responder. A necessidade de se conhecer a temperatura do ar se d por uma questo de massa. A combusto uma reao qumica onde comburente (ar com oxignio) + combustvel (gasolina, lcool, gs ricos em cadeias de hidrocarbonetos) resulta com liberao de calor, em gases que so HC (cadeias de Hidrocarbonetos) + CO (monxido de Carbono) + CO2 (Dixido de Carbono) + O2 (oxignio, resultante de uma queima pobre) + Vapor de gua (H2O) (no lcool tem bastante) + outros gases em quantidade insignificante. Como podemos observar so molculas de ar que so queimadas junto com o combustvel.

Seguinte>> Os medidores de volume do sistema de injeo no medem massa, mas volume como o prprio nome j diz. Porem a combusto feita com a massa do ar + combustvel. necessrio ento corrigir isto pois a densidade do ar varia de acordo com a temperatura e presso. Quando se tem um sensor MAP pode-se compensar a presso, porem a temperatura ainda precisa ser compensada. Note que os valores de compensao so baixos e no refletem numa alterao muito grande do valor final de injeo, porem para uma combusto aprimorada e baixos valores de consumo esta tabela til.

6 - MAPA DE INJEO TABELA DE TEMPO DE INJEO Finalmente chegamos a tabela principal do sistema onde se tem o tempo de injeo em funo da rotao e da carga do motor. Esta tabela Bidimencional, gerando no uma curva mas uma superfcie muito bonita. Como ela extensa, vamos exemplificar somente um pedacinho da tabela que gera este mapa. Neste exemplo a rotao varia de 460 at 1280 RPM a carga varia de 0 at 30 % da abertura da borboleta, note que para cada motor uma tabela e valores de limites diferentes. Veja o grfico gerado com todos os pontos de uma tabela normal. Porem aqui vamos apenas representar alguns pontos.

Abaixo de 460 RPM o motor esta em regime de arranque. Note que estes dados so levantados em dinammetro de motor sempre procurando uma relao de melhor torque menor consumo e melhor Lambda. Com base nas curvas levantadas em dinammetro os engenheiros acertam os mapas de acordo com a estratgia adotada para o motor. O tempo de injeo e o avano vo obedecer ao que os engenheiros entenderem ser melhor para aquele motor. No caso do avano, se trabalha com um angulo onde se obtm um mximo torque sem que haja pr-detonao. Uma margem de segurana colocada para evitar isso. Exemplo o Lambda deve se aproximar de 1 para que o catalisador seja eficaz. No caso Lambda 1 equivale a uma relao ar combustvel de 14,6 partes de ar para uma parte de combustvel se for gasolina pura, se for gasolina com 22% de adio de lcool a proporo muda para 12,8 A curva de torque no gravada na eprom, somente o mapa. Exemplificamos aqui somente para uma idia do trabalho que d fazer o mapeamento de um motor. Como estes dados so gravados numa Eprom? Um mapa de injeo tridimensional formando uma superfcie. No existe forma de gravar estes dados a no ser um aps o outro numa maneira linear como disposio da Eprom. Como exemplo, coloquei aqui a seqncia da tabela do mapa.

0, 1, 3, 5, 7, 8, 9, 0, 3, 7, 8, 9, 10, 11, 0, 10, 15, 17, 20, 25, 27, 0, 10, 16, 22, 25, 27, 34, 0, 11, 20, 25, 30, 37, 44, 0, 15, 29, 35, 38, 43, 55 e assim por diante. Esta disposio dos dados faz com que paream "ondas" quando vistos por um programa de remapeamento.

7- ROTINAS

Existem inmeras rotinas bsicas no programa que dependem muito do tipo de hardware (circuito eletrnico) que esta sendo usado no mdulo. Vamos citar algumas principais. ROTINA DE LEITURA DOS SENSORES (converso A/D) A converso analgica que o sinal de sada de muitos sensores ex: Temp. da gua transformada para digital por um circuito integrado especializado ou em alguns casos internamente ao micro controlador. No vamos entrar aqui em detalhes do circuito eletrnico. Esta rotina responsvel por enderear o sinal que vai ser lido (sensor) e a cada passagem fazer a leitura de um sensor diferente. Por qu? O tempo muito escasso no processamento de tantas informaes, alguns sensores no precisam ser lidos a cada 180 graus do volante do motor. Se fizermos uma simulao, numa primeira passada a rotina se preocupa em ler o sensor de Carga e Temp. da gua e termina. Na Segunda passagem, l novamente os sensores de importncia estratgica para o sistema como a Carga e a Temp. do Ar. Na terceira passagem l Carga e tenso da Bateria. Nota-se ento que a temperatura da gua s lida a cada 4 voltas do volante. Isto vlido pois a temperatura da gua, Ar e voltagem da bateria no se alteram em perodo de tempo to pequeno. Em alguns casos, quando existe um numero maior de sensores, este ciclo demora proporcionalmente mais para ser completado. Todos os valores lidos so guardados em rea de RAM (Randon acess memory), ou seja, variveis do sistema, que podem ser acessadas por outras rotinas como a de pesquisa do mapa de injeo etc... Os valores guardados so em binrio. ROTINA DE MEDIO DO RPM O RPM no medido pelo circuito A/D seria desnecessrio j que RPM pode ser lido em perodo. O RPM apesar de ser estratgico lido por um circuito de interrupo/temporizador (timer / interrupt) normalmente j projetado para ser usado na porta de interrupo do processador. A rotina de leitura do RPM a transformao do contador do timer. Como a leitura de um perodo no de freqncia, o valor sempre 1/RPM, o contador verifica quantas interrupes o sistema sofreu para que o sensor de RPM (da roda fnica, por exemplo) recebesse um sinal. Este perodo de interrupo d a preciso de leitura da RPM. Quanto maior a freqncia do Cristal oscilador do processador, mais precisa a leitura do RPM. Este procedimento usado para se alterar a leitura de RPM. Exemplo: se com um cristal de 4.198 megahertz a freqncia mxima de 5600 RPMs com 5.038 megahertz esta rpm pode subir para 6500 RPMs. Aqui vem a explicao do porque em tabelas que se referenciam ao RPM Ter valores quebrados. Como na tabela do mapa de injeo, valores como 480, 610, 718 etc... ROTINA DE LEITURA DE ESTADOS Alguns sensores fornecem no sinais analgicos mais um estado. On/Off (ligado/Desligado). Por exemplo, a chave de plena carga em alguns sistemas, chave de Marcha Lenta no corpo da borboleta. Situao da chave de Ar condicionado, sinal do sensor Knock (que apesar da sada ser um sinal analgico transformado por um circuito de filtro e um detetor de janela em sinal digital). Dependendo do sistema de injeo o sinal da sonda Lambda entra nesta rotina. Da mesma forma que o Knock o sinal analgico da sonda Lambda amplificado, filtrado e convertido em on/off, ou seja, est rico ou pobre ou em alguns sistemas que so mais precisos podem fornecer ao processador 3 ou 4 estados. Neste exemplo: com circuitos comparadores de nvel, 3 estados podem ser detectados na Sonda Lambda, acima de 0,6 V = mistura rica, entre 0,5V e 0,6V lambda= 1 e abaixo de 0,5 mistura pobre.

ROTINA BSICA DE LEITURA DAS TABELAS Cada tabela relacionada por um ndice. Em alguns casos a Temp. da gua outra do Ar e Tenso da bateria. A rotina de leitura a mesma, porem o endereo base de pesquisa da tabela na Eprom dada por um ponteiro, soma-se ao ponteiro o valor do ndice, verifica se a soma no excedeu o tamanho limite em bytes da tabela, pelo ponteiro l-se o valor correspondente e gravase numa varivel da memria. Ao se chamar esta rotina, alguns parmetros so passados como Endereo base da tabela, ndice, endereo de destino do valor lido. Um fato que merece ser observado aqui e o leitor pode perguntar. O que acontece se na tabela de temp. da gua, houver um valor que esta entre 60o e 40o que s existem dois valores, ou seja, 50o? Simples, esta rotina faz a interpolao linear dos valores existentes para o intermedirio. Para isso usa-se um algoritmo matemtico. ROTINA DO BLM de O2 e BLM do motor de passos Existe muita confuso em torno destes parmetros. Os reparadores que desconhecem estes parmetros podem chegar a condenar mdulos bons ao lixo e troc-los sem necessidade. Os programas mais modernos tm uma capacidade de aprendizado (no confundir com inteligncia) que faz com que pequenas variaes na qualidade do combustvel sejam compensadas, melhorando o desempenho e a dirigibilidade. Lembro-me quando h muitos anos atrs trabalhava na programao de mdulos e depois de todo o trabalho para levantarmos os parmetros e tabelas, o governo brasileiro com a grande crise do petrleo resolveu adicionar lcool na gasolina. Perdemos muito trabalho terminado. Os mdulos daquela poca no aprendiam nada ainda. De qualquer forma esta era uma variao considervel do combustvel. Voltando ao I e BLM que do ingls significa BLOCK LEARN MEMORY, ou seja, Bloco de Memria de Aprendizado (parmetros adaptativos). Tanto para o I como para o BLM o valor normal por volta de 128, ou seja, 80 em Hexa ou 1000 0000 em binrio. Esclarecimento: o valor 128 o centro da escala, ou seja, o zero. Veja no binrio, este um truque em programao para se testar o bit mais significativo. Em alguns processadores existe um comando Pula se o Bit7 estiver ligado e mostra se deve subtrair ou somar. Abaixo de 128 (7FH) temos em binrio 0111 1111, ou seja, o bit 7 mais significativo esta desligado. Obs.: a contagem dos bits comea do zero assim sendo temos de 0 a 7. Se o valor esta acima de 128 isto significa que a ECU esta enriquecendo a mistura pois a base de calculo do tempo de injeo no o suficiente e a mistura esta pobre demais. Um valor abaixo de 128 indica que a ECU esta empobrecendo a mistura pois a base do tempo de injeo esta alta e a mistura rica demais. No Scanner da NAPRO, voc pode facilmente ver este parmetro nas injees que dispem deste sistema. Tanto o integrador I como o BLM so parmetros cujo valor resultado de uma integrao. No caso do I uma integrao de curto prazo, ou seja, varia e faz a correo rapidamente a um estmulo. No caso do BLM de longo prazo, variando muito lentamente a um estmulo qualquer. Um estmulo pode ser a colocao de um combustvel de baixa qualidade. O usurio vai demorar a perceber falhas e uma marcha lenta diferente. O mesmo acontece quando se coloca um combustvel bom novamente. Infelizmente estes mdulos foram programados para pases onde o combustvel mantm um certo padro de qualidade e os donos de postos vo pra cadeia se adulterarem o combustvel. Outro estmulo pode ser o Ar Condicionado ligado/desligado. E assim vai. A integrao pode ser exemplificada da seguinte maneira, usando uma formula onde os pesos fazem a mdia. Exemplo para Integrador de curto prazo Valor atual I = ( Lambda + 5 X valor I anterior) / 6 O valor resultante vai ser o valor atual na prxima rodada. Ou seja, o valor atual tem 5 vezes mais peso na mdia que o estmulo recebido pela sonda Lambda. No integrador de longo prazo Valor atual BLM = ( Lambda + 49 X valor I anterior) / 50 Ou seja, o valor atual tem 49 vezes mais peso na mdia que o estmulo recebido pela sonda Lambda. Em resumo, estes valores devem ser reaprendidos numa correo de um defeito. Se no houver um tempo de aprendizagem, o defeito foi corrigido, porem ele havia se tornado num agente de aprendizagem, o modulo tentava corrigir. Quando o defeito foi sanado, o modulo precisa ainda ter um tempo para se auto-corrigir novamente. Em alguns sistemas, os parmetros podem ser zerados pelo scanner ou por outros processos (desligando a bateria por 24 horas, por exemplo). Na maioria dos casos, um defeito gerado por parmetros autoadaptativos devem ser tratados com muita pacincia. Estes parmetros fazem parte dos parmetros de integrao. Alguns reparadores chamam este processo de desmagnetizar o mdulo que no tem nada a ver com foras magnticas. ROTINA de ENRIQUECIMENTO da MISTURA Esta rotina quando solicitada, verifica qual foi o delta de acelerao solicitado e grava numa varivel o valor lido da tabela em funo da temperatura do motor. A cada passada, volta do volante, o valor inicialmente gravado decrementado at chegar a zero. Isto gera um pico de injeo como a da bomba de acelerao do antigo carburador, que depois vai diminuindo com o passar do tempo. Verifique que esta rotina chama a rotina de leitura da tabela de enriquecimento. ROTINA DE INJEO NA PARTIDA Esta rotina chamada quando a rotao esta abaixo de 460 RPMs ou perto disto. Ela acessa o valor da Tabela de Partida Frio e Enriquecimento Ps Partida. Guarda estes dois valores. O primeiro direcionado para o timer que controla o tempo de injeo. O segundo guardado para quando a rotao assumir um valor maior que 460 RPM. ROTINA DE CONTROLE DA BOMBA ELTRICA Esta rotina se preocupa em monitorar se o motor esta em funcionamento. Se em 1 segundo, deixar de receber interrupes do sensor de RPM, desliga a sada do rel auxiliar de controle da bomba. Este sistema feito para evitar que em caso de acidente a bomba continue a recalcar o combustvel, podendo provocar um incndio. Ao se ligar a ignio, este timer ajustado num valor de interrupes equivalentes a 1 segundo, a cada volta do motor, este timer ajustado novamente (reset). Quando impulsos param de chegar o timer rapidamente decrementa seu valor e no prazo de um segundo zera totalmente, retirando do transistor de potncia o sinal de acionamento do rel da bomba.

LOOP BSICO Loop uma palavra usada em programao para designar uma rotina que volta sempre no mesmo lugar. Quando o motor esta em funcionamento, depois que as rotinas de partida fizeram suas tarefas, o mdulo entra ento numa rotina bsica onde sempre faz as mesmas tarefas. A seqncia uma chamada de rotinas bsicas que se repetem voltando sempre ao incio. Exemplo, a cada passada se l o RPM, um canal de sinal analgico prioritrio e outro no prioritrio, corrige-se o tempo de injeo pelas tabelas de temp. da gua e ar etc... Voltando ao incio novamente. Caso o sistema tenha algum estmulo como o AR condicionado ser solicitado ento a rotina responsvel chamada. Temos escrito do tempo escasso de trabalho. Por qu? A cada volta do volante o sistema tem de calcular o tempo de injeo da prxima volta, abrir o bico e depois fechar. Para um motor de 4 tempos com 4 cilindros em rotao mxima, que o pior caso, quando o processador tem menos tempo, vamos encontrar situaes onde existe um tempo entre 4 a 20 ms para se fazer tudo. TUDO, inclusive se comunicar com um scanner. Como voc deve ter observado, a programao dos mdulos uma pequena obra de arte. Programar todas as rotinas num espao limitado de Eprom, com tempos de processamento limitados e na velocidade que o mercado requer no uma tarefa nada fcil. Os programas esto cada vez mais sofisticados. Em 1985 a Eprom usada numa ECU tinha uma capacidade de 32K Bytes, entre 1986-89 subiu para 128K, entre 1990 92 subiu para 256K, hoje j temos de 512K, onde que vamos parar ?

FIM