Simulation of Control Functions Simulação de Funções de Controle Wagner de Camargo Orlof Marco Antônio Iskandar Ricardo Andrade Ranal Robson Alves Nascimento MWM International Motores ltda.
after the model reaches a good maturity level, it would be send to supplier to do the final development, then reducing the cost once the initial development would be made at the place where has generated demand for the software function.
ABSTRACT With the growing demand for new control functions for electronic fuel injection systems, it is needed often changes in the software base of that systems, that expends long time for developing and high costs until the function be validated and approved. The reason for this is the fact of the software and hardware developing in the most of the suppliers of fuel injection systems are made in the developing centers spread in the world. Taking in count of this premise, and know how are the software developing basic phases:
RESUMO Com a crescente demanda por novas funções de controle nos sistemas de injeção eletrônica de combustível, são requeridas freqüentes alterações no software base desses sistemas, que tem longos prazos e elevados custos de desenvolvimento até que a função esteja validada e aprovada. Isso se deve ao fato de que o desenvolvimento de hardware e software, na maioria das empresas fornecedoras de sistemas de injeção, é realizado nos centros de desenvolvimento espalhados pelo mundo. Levando em conta tal premissa, e sabendo que o desenvolvimento de software possui, pelo menos, as seguintes etapas:
Requirements description
Modeling
Simulation
Prototyping
Functional tests
Coding
Modules implementation
Descrição dos requisitos
Homologation tests
Modelagem
Final release
Simulação
Prototipagem
Testes funcionais
Codificação
Implementação em módulos
The objective of this paper is to present a low cost proposal for a simulating and prototyping of control software functions for electronic fuel injection systems, based in a programmable external controller with FPGA (Field Programmable Gate Array ) technology [2, chap 12] to implementing of prototype functions modeled, and only
1
Testes de homologação
Liberação final
sendo considerados pré-requisitos, não fazem parte desse estudo.
O objetivo desse trabalho é abordar o tema de maneira a apresentar uma proposta de baixo custo para simulação e prototipagem de funções de software para sistemas de injeção eletrônica de combustível, baseado em um controlador programável externo com tecnologia FPGA (Field Programable Gate Array) [2, CAP 12] para implementação dos protótipos das funções. E somente após o modelo da função ter alcançado um nível de maturidade satisfatório seria então encaminhado para sua finalização nos centros de desenvolvimento, diminuindo os custos totais de projeto já que a parte inicial do desenvolvimento seria realizada no local de origem da demanda.
A simulação, a prototipagem de funções e os testes funcionais dependem de softwares aplicativos e hardware para implantação. Para realizar essas etapas existem basicamente duas opções no mercado: 1) Utilizar o mesmo software e hardware do fornecedor de sistemas de injeção para desenvolver a simulação e os protótipos de funções. É uma alternativa excelente do ponto de vista técnico, pois possui integração total com a plataforma de hardware e software originais. Suas desvantagens são o elevado custo (centenas de milhares de dólares) e a dificuldade de treinamento de pessoal (aplicativos altamente complexos). 2) Utilizar um controlador externo e uma plataforma de software aberta para realizar as simulações e testes com as funções protótipos. As maiores vantagens são o baixo custo (poucos milhares de dólares) e a facilidade de implementação de modelos em plataforma aberta. A desvantagem é a necessidade de utilizar um controlador externo, não sendo possível implementar as funções no módulo controlador do motor.
INTRODUÇÃO Os fornecedores de sistemas de injeção eletrônica de combustível possuem toda estrutura necessária para desenvolver as funções de software e circuitos específicos de hardware, porém esses recursos estão espalhados ao redor do mundo, o que dificulta o acesso a eles. Quando um cliente solicita algum desenvolvimento em software ou hardware os custos são elevados e o prazo geralmente é muito longo, o que muitas vezes inviabiliza o desenvolvimento do projeto na sua melhor forma. Esse é o paradigma da engenharia versus custos e prazos. O que acaba sendo implementado, na prática, é um software com as funcionalidades reduzidas ou são utilizados blocos prontos (black boxes) já desenvolvidos previamente para outras aplicações, onde nem sempre todas as funções serão utilizadas.
Esse trabalho irá abordar a segunda alternativa: utilizar um controlador externo e uma plataforma de software aberta. Com essa configuração é possível construir um sistema de baixo custo e fácil implementação, o que sempre é interessante do ponto de vista financeiro, viabilizando assim, sua aplicação.
DESCRIÇÃO Cada vez mais o desenvolvimento de funções de software é considerado uma questão estratégica pelas montadoras e fabricantes de motores de combustão, pois aqueles que tiverem a capacidade de desenvolver e testar protótipos de funções específicos para sua necessidade terão uma vantagem competitiva no mercado. Se fosse possível realizar as etapas iniciais do desenvolvimento das funções (Descrição dos Requisitos, Modelagem, Simulação, Prototipagem e Testes Funcionais) na própria montadora ou no fabricante de motores, possivelmente, haveria uma redução significativa nos custos totais juntamente com a propriedade intelectual da função específica ou do algoritmo. Como seria possível realizar tal desenvolvimento em uma montadora ou fabricante de motores?
O sistema de simulação e prototipagem de funções de software proposto nesse artigo, é baseado na plataforma de software de desenvolvimento LabVIEW [4] e no controlador externo CompactRIO [3], ambos da National Instruments. O software de desenvolvimento consiste em um ambiente gráfico [4], com várias ferramentas para sistemas de medição, análise e controle, com uma linguagem de programação através de símbolos e blocos funcionais gráficos. Possui plataforma aberta, o que facilita a sua “interface” com outros sistemas e equipamentos e suporta múltiplos protocolos de comunicação.
A descrição de requisitos e a modelagem de funções de software realizadas utilizando as técnicas da engenharia de software [1] através de abordagens de modelos estruturados ou orientados a objetos, são essenciais. Porém,
2
A função desenvolvida é carregada no controlador externo que processa os algoritmos e realiza as funções de controle. A flexibilidade é total, sendo possível implementar controladores digitais de malha aberta ou fechada, com atuação direta de dispositivos via saída PWM ou analógica. Também é possível realizar a conexão direta com sensores analógicos ou digitais. O conjunto funciona como um “bypass” trazendo para fora do controlador original os parâmetros necessários para o processamento no controlador externo, ou seja, independente do sistema de injeção eletrônica. A comunicação é feita via barramento CAN ou conexão direta com sensores e atuadores. A simulação pode ser realizada em computador, através de estímulos padrões ou através de algum modelo específico previamente modelado no software de desenvolvimento. Figura 1. Exemplo de um controlador implementado no ambiente de desenvolvimento.
PID
O controlador [3] externo é robusto e reconfigurável. Possui um processador local para obter performance ultra rápida podendo processar funções de controle em tempo real. Baseado em dispositivos FPGA, que são dispositivos programáveis formados por células com milhares de portas lógicas configuráveis utilizadas de acordo com a necessidade da aplicação, possui também módulos de I/O que são instalados de acordo com a aplicação, inclusive com I/O para barramento CAN.
Figura 3. Algoritmo de controle implementado no controlador externo. APLICAÇÃO Nas montadoras e nos fabricantes de motores há sempre necessidade de desenvolvimento e testes de novas funções de software de controle de algum dispositivo, bem como os algoritmos de diagnose do sistema. O tipo de situação mais comum de se encontrar é a impossibilidade de se ter acesso aos desenvolvedores do software que, geralmente, estão alocados em outros continentes. Por isso, faz-se necessário diversas reuniões com os representantes locais para descrição do software que serão posteriormente encaminhados para os especialistas. Quando a informação chega ao programador ela pode conter erros que resultam em “bugs” no software que só serão descobertos, muitas vezes, na hora do teste no dinamômetro ou no veículo. Esse tipo de problema obriga a repetição da parte final do ciclo de desenvolvimento, gerando várias versões de software até se corrigir todos os “bugs”, acarretando atrasos e aumento dos custos. Grande parte desses problemas podem ser evitados, com a utilização prática da simulação e testes dentro da própria montadora ou fabricante de motores, pois o algoritmo somente seria entregue para codificação depois de ter atingido um nível de maturidade sem “bugs” e,
Figura 2. Detalhe construtivo do controlador externo. O sistema utilizado para simulação e teste das funções protótipos, consiste na função implementada na plataforma do software de desenvolvimento e no controlador externo.
3
conseqüentemente, haveria uma sensível diminuição no número de liberações de software com erros.
REFERÊNCIAS 1)
ENGENHARIA DE SOFTWARE – ROGER S. PRESSMAN – ISBN 85 346 0237 9, Pearson Makron Books, 1995.
2)
SISTEMAS DIGITAIS PRINCÍPIOS E APLICAÇÕES – RONALD J. TOCCI – NEAL S. WIDMER – ISBN 85 216 1179 X.
3)
TUT_2856_COMPACTRIO.PDF – http://zone.ni.com/devzone/cda/tut/p/id/2856 – ACESSADO EM 22/12/2006.
4)
LabVIEW fundamentals Manual – http://www.ni.com/pdf/manuals/374029a.pdf – ACESSADO EM 18/01/2007.
ESTUDO DE CASO Apresentação de um caso prático onde foi necessário desenvolver uma função de controle protótipo para a válvula EGR de um motor de combustão, pois a função existente no módulo de injeção eletrônica não era capaz de controlar uma válvula não “smart”. A função de controle foi então desenvolvida e implementada no controlador externo, baseada na descrição dos requisitos segundo a engenharia de combustão, sendo necessário também construir um “drive” de potência na configuração de ponte H com “transistores Darlington” de alto ganho para o acionamento do motor elétrico da válvula. + VCC
MAF RPM do sistema de injeção
sensor pos. real
Figura 4. Diagrama de ligação controlador EGR. A função de controle foi escrita no software de desenvolvimento através de blocos de programação e tabelas para geração do “set-point” da válvula EGR. O controle de posição da válvula foi implementado através de um bloco controlador PID gerado no mesmo software.
CONCLUSÃO A utilização de um controlador externo em conjunto com um software aberto para testar as funções modeladas é bastante viável. Durante as fases de desenvolvimento do sistema de combustão e aplicação em veículo, propiciou-se resultados consideráveis em curto prazo e com baixo custo, tanto na pesquisa quanto no dêsenvolvimento.
4