A ECU (Electronic Control Unit) pode condicionar e processar os sinais emitidos pelos principais sensores do motor, atuando no motor e mantendo-o em funcionamento, controlando o tempo de injeção, avanço de ignição e o acelerador eletrônico. A partir das informações dos artigos anteriores, foram desenvolvidos o hardware e o firmware de uma ECU. O conceito abordado pode ser aplicado em qualquer projeto, porém, o hardware e o firmware oficiais são somente para uso privado de atividades de pesquisa e ensino. Todo o projeto pode ser visualizado e utilizado como referência aqui, o hardware e o firmware se encontram nos anexos dessa dissertação. O hardware foi elaborado com uma concepção centralizada, ou seja, foi usado apenas um microcontrolador de 32 bits para gerenciar todas as funções. O projeto foi desenvolvido, testado e aplicado em um sistema veicular real. A figura 1 apresenta o hardware desenvolvido.
Figura 1 – Hardware finalizado.
Conforme descrito nos artigos anteriores, o motor de combustão interna ciclo Otto opera essencialmente com três parâmetros básicos para gerar torque: a massa de ar, a massa de combustível e a centelha elétrica da vela de ignição no momento correto, conforme os quatro ciclos de operação. Neste projeto, estes três sistemas são os principais parâmetros de controle da ECU desenvolvida, e os três sistemas foram desenvolvidos de forma paralela e independente. Neste artigo será apresentado o controle realizado para o sistema de ignição do veículo.
Controle do Sistema de Ignição
O sistema de ignição deve realizar, com confiabilidade, a combustão da mistura comprimida com precisão, mesmo sob condições operacionais dinâmicas, com as flutuações substanciais nos padrões de fluxo da mistura ar/combustível. O tempo que o primário deve permanecer energizado pelo sistema de controle, ou seja, o tempo de carga da bobina, deve ser o suficiente para garantir a centelha capaz de iniciar a combustão da mistura carburante dentro da câmara de combustão. Em análises ao sistema de controle original do motor utilizado neste trabalho e com base nos dados existentes no catálogo técnico da bobina utilizada neste motor, o tempo de carga mínimo para se realizar uma combustão satisfatória é de 5.8ms. Este tempo de carga pode variar de acordo com a tensão de alimentação primária fornecida pelo conjunto bateria/alternador do veículo, podendo chegar a 8ms em situações extremas, como é o caso da partida do motor.
Além do tempo de carga da bobina, o sistema de controle deve atuar no ângulo de ignição ao avanço de ignição. Esse é o principal parâmetro de controle do sistema de ignição. Esse parâmetro não é constante e está diretamente associado à rotação e carga aplicada ao motor. O avanço do ponto de ignição promove uma variação crescente na pressão da mistura carburante e um consequente aumento na potência do motor. Entretanto, ele é limitado pelo fenômeno conhecido como detonação.
A modelagem matemática deste sistema de controle é bastante complexa e envolve diversos parâmetros de controle do motor como, por exemplo, a variação da tensão da bateria, a qualidade do combustível, a pressão atmosférica, o desgaste natural do motor, dentre outros fatores. Devido a este fato, optou-se por mapear e armazenar em memórias dentro do microcontrolador o avanço de ignição para todas as faixas de rotação e carga do motor em testes efetuados em um dinamômetro inercial.
Para realizar a aquisição dos pontos de avanço de ignição, foram utilizados os sistemas de controle original do veículo, uma intersecção do chicote do motor, a aquisição de dados desenvolvido no LabVIEW® e um dinamômetro inercial. A ideia neste teste era variar apenas o avanço de ignição e monitorar o sinal do sensor de detonação com o sistema de aquisição. Para controlar apenas o avanço, foi desenvolvido um pequeno firmware na ECU elaborada neste projeto, com o objetivo de efetuar o controle somente da bobina de ignição. O sistema de intersecção foi utilizado para interromper o sinal de controle da ECU original apenas nos pinos referentes ao controle das duas bobinas de ignição. Os demais parâmetros de controle do motor, como as válvulas injetoras e a válvula borboleta, foram mantidos sobre controle da ECU original. Desta maneira, foi possível variar a rotação do motor normalmente no dinamômetro e alterar de forma própria o avanço de ignição pela ECU desenvolvida neste projeto e monitorar a ocorrência do fenômeno de detonação pelo sistema de aquisição de dados do sinal do sensor de detonação. O avanço escolhido para o mapa efetuado foi o máximo avanço de ignição possível sem que houvesse ocorrências do fenômeno de detonação no motor. A tabela 1 ilustra o mapa adquirido com os testes efetuados no dinamômetro.
Tabela 1 – Tabela de avanço de ignição adquirida em ensaios no dinamômetro.
Para realizar os ensaios no dinamômetro, o veículo foi acelerado em rotações determinadas conforme a tabela 1. O teste foi efetuado em terceira marcha do sistema de transmissão. Esta marcha foi determinada por apresentar a maior linearidade na relação de transmissão entre o motor e a roda. Quando a rotação se estabilizava nos valores determinados conforme a tabela, o avanço de ignição era incrementado um grau por vez pela ECU desenvolvida neste projeto. O comando para se avançar o ponto de ignição foi fornecido pela interface Homem-Maquina (HMI) elaborada, que será descrita nas próximas seções. Quando o sensor de detonação começava a indicar a ocorrência de detonação, o ponto de avanço era determinado como sendo um grau anterior ao ponto de avanço atual. O teste foi efetuado a cada 500 RPM. Com a tabela determinada, foi iniciado o processo de interpolação dos pontos da tabela. Com o auxílio do software Matlab®, a tabela foi interpolada, utilizando o método de interpolação com duas dimensões, com 61 linhas. Para isto, foram utilizados os comandos “meshgrid” e “interp2” no Matlab®. O resultado foi um mapa de avanço de ignição interpolado, com uma resolução de 100 RPM, conforme ilustra a figura 2.
Figura 2 – Mapa de avanço de ignição interpolado e finalizado.
Para implementar o sistema de ignição no firmware desenvolvido para o microcontrolador da ECU deste projeto, foi necessário calcular a rotação atual do motor e converter o sinal do sensor MAP. Para calcular essa rotação, converte-se o valor obtido pelo timer FTM0 do microcontrolador, que incrementa seu valor a cada 1.28µs, em rotações por minutos dividido por cem (RPM/100). A rotação é calculada com base no intervalo de tempo de cada dente do sinal do sensor de rotação. A equação 1 retorna o valor da rotação do motor convertido, ou seja, quando o motor estiver com 1000 RPM está equação irá retornar o valor 10.
O sensor MAP é responsável por medir a pressão da massa de ar admitida no coletor de admissão. Tipicamente, esse sensor fornece em sua saída um valor de tensão que é proporcional ao valor de pressão do ar admitido. A figura 3 ilustra a curva característica desse sensor, fornecida no seu catálogo técnico produzido pela Bosch.
Figura 3 – Curva caracteristica do sensor MAP utilizado nesse projeto.
Conforme o circuito de condicionamento realizado no Hardware, o sinal de entrada do sensor possui uma atenuação de 66% até entrar no microcontrolador. Considerando que o conversor ADC utilizado no microcontrolador foi configurado para possuir uma resolução de 8 bits, ou seja, quando a tensão de entrada no pino do microcontrolador possuir 3.3V, o valor digital de saída do ADC será de 255, a função desenvolvida para converter o sinal de entrada do sensor MAP para (KPa/10) é ilustrada na figura 4.
Figura 4 – Função de conversão do sensor MAP.
O cálculo de conversão efetuado segue a equação da reta (y = ax + b) e os pontos para o cálculo foram retirados da curva característica do sensor MAP, apresentados na figura 3. Após calcular o valor atual da rotação do motor e converter o valor de entrada do sensor MAP no conversor ADC, o microcontrolador acessa o mapa de avanço de ignição gravado na memória interna. A função implementada para calcular o avanço de ignição, a cada 10ms, é ilustrada na figura 5.
Figura 5 – Função de cálculo do avanço de ignição.
O avanço foi armazenado internamente em uma matriz denominada “MapaIgnicao [61][13]” na memória FlexRAM do microcontrolador, durante a inicialização do firmware. A função “CalculoAvancoIGN” deve receber os endereços (&ponteiros) das variáveis “t_dente” e “avancoIGN” que são parâmetros originários da camada de sincronismo do firmware, e após calcular o valor do sensor MAP e a rotação atual do motor, a função deve utilizar as variáveis “RPM” e “MAP” para indexar a matriz “MapaIgnição” e receber o novo avanço de ignição. Este novo parâmetro é carregado no ponteiro “avancoIGN” para ser utilizado pela camada de sincronismo e carregado no vetor de estados do motor “RTOS_VEM”, para que seja utilizado pelas tarefas principais do firmware. Desta forma, é realizado todo o controle da ignição do veículo.
O hardware apresentado nesse artigo, também será utilizado para controlar os sistemas de injeção e admissão que serão apresentados nos próximos artigos da série.
Referências
ALCÂNTARA DIAS, B. M. Unidade microcontroladora para gerenciamento eletrônico de um motor de combustão interna ciclo Otto. São Paulo. 2015. 269p. (Mestrado) Escola Politécnica, Universidade de São Paulo, São Paulo, 2015.
Comments