Modeling and Representation of Vehicular Functions
Fábio Santos 1,2 orcid.org/0000-0003-3130-5141
Gustavo Lobato 1,3 orcid.org/0000-0001-8981-2977
Patrick Oliveira 1,4 orcid.org/0000-0002-2546-0914
1 Instituto Federal de Ciência e Educação de Minas Gerais, Campus Formiga, Formiga, Brasil,
2 Graduando em Engenharia Elétrica, Instituto Federal de Minas Gerais, Campus Formiga, Formiga, Brasil,
3 Doutorado em Ciências Técnicas Nucleares, Universidade Federal de Minas Gerais, Belo Horizonte, Brasil,
4 Doutorado em Engenharia Elétrica, Universidade Federal de Juiz de Fora, Juiz de Fora, Brasil.
E-mail do autor principal: Fábio Santos fábioaugustod2@gmail.com
Resumo
A indústria automobilística está em contínuo crescimento, de tal forma que sua influência no mercado mundial não passa despercebida. Isso se dá, em grande parte, devido às elevadas cifras investidas por parte das montadoras em pesquisa e desenvolvimento de novas tecnologias. Consequentemente observa-se níveis de automação veicular cada vez mais altos, de forma a proporcionar ao condutor, principalmente, mais conforto, comodidade e segurança. Com isso os sistemas desenvolvidos devem atender crucialmente níveis de segurança elevados. E tudo tem início com o projeto das funções veiculares, do inglês, Vehicular Functions (VFs), objeto de desenvolvimento deste trabalho, as quais possuem as mesmas características de um sistema embarcado, mas com peculiaridades em seu desenvolvimento ao setor automotivo. Assim, para desenvolvimento deste artigo, primeiramente tem-se a definição das VFs a serem trabalhadas e, a partir de simulações e construções de modelos baseados no Model Based Desgin (MBD), ocorre a validação dos sistemas construídos. Por fim, tem-se a montagem de um protótipo em escala reduzida, com base em circuitos desenvolvidos em simulador online. De acordo com os resultados obtidos, é possível afirmar que os sistemas atenderam às expectativas.
Palavras-Chave: Vehicle Funcions, Model Based Desgin, Automação Veicular, Sistemas Embarcados.
Abstract
The automobile industry is in continuous growth, in such a way that its influence on the world market does not go unnoticed. This is largely due to the high figures invested by automakers in research and development of new technologies. Consequently, vehicle automation levels are seen to be increasingly higher, in order to provide the driver, mainly, with more comfort, convenience and safety. Thus, the developed systems must meet crucially high levels of security. And it all starts with the design of vehicular functions, from English, Vehicular Functions (VFs), object of development of this work, which have the same characteristics of an embedded system, but with peculiarities in its development to the automotive sector. Thus, for the development of this article, we first have to define the VFs to be worked on and, based on simulations and model constructions based on the Model Based Desgin (MBD), the built systems are validated. Finally, there is the assembly of a small scale prototype, based on circuits developed in an online simulator. According to the results obtained, it is possible to state that the systems met expectations.
Key-words: Vehicle Funcions, Model Based Desgin, Automação Veicular, Sistemas Embarcados.
A mobilidade individual se tornou um elemento de extrema importância para as pessoas atualmente. Com isso, a busca por veículos seguros e eficientes pode ser considerado um dos requisitos do consumidor na hora de adquirir seu automóvel.
Enquanto os primeiros veículos eram baseados em sistemas puramente mecânicos, os modelos atuais são baseados em sistemas elétricos e eletrônicos. Isso vem acompanhado de uma complexidade que tende a evoluir de acordo com as configurações desejadas [1].
A evolução do sistema mecânico para os sistemas elétricos e eletrônicos se deu possível a partir da eletrônica embarcada que revolucionou a aplicabilidade e cobertura de muitos dos opcionais e funções oferecidas aos consumidores. Essa revolução na eletrônica automotiva tem melhorado significativamente o desempenho, a confiabilidade e o conforto nos automóveis [2].
Um sistema embarcado (SE) é um sistema projetado para atender a funções específicas através de sensores, controladores e atuadores. Para uma comunicação eficiente de um sistema veicular, os sistemas embarcados fazem parte de uma grande rede composta por centrais eletrônicas de processamento, do inglês, Electronic Control Units (ECU’s). Essas centrais são responsáveis por gerenciar diversas funções como o controle do motor, do sistema de transmissão, da carroceria e diversos outros. Elas se comunicam por meio, por exemplo, do barramento CAN (Controller Area Network) automotivo.
Para realizar o controle e definir a lógica do algoritmo a ser implementado nas centrais eletrônicas, houve a necessidade do desenvolvimento das Vehicular Functions (VF’s), uma vez que estes sistemas possuem equipamentos que são produzidos por diferentes tipos fabricantes. Assim, uma documentação simples, clara e objetiva é necessária pois ela é o guia para que a comunicação dos componentes seja possível, em uma linguagem única e ocorra de forma assertiva.
Por parte das montadoras, a documentação das VF’s de um determinado veículo é de extremo sigilo, pois descreve o comportamento que o software implementado para atender certas funcionalidades deve ter. Com isso, tem um grande impacto no projeto veicular, e pode ser grande diferencial de uma determinada montadora frente aos concorrentes.
Ciente da crescente exigência de um mercado cada vez mais disputado e da necessidade das companhias em atende-lo, a proposta do presente trabalho é desenvolver algumas VF’s, desde suas especificações e requisitos, tais como insumos eletrônicos entre sensores e atuadores, análise de relevância e por fim, a simulação computacional dos sistemas requeridos, bem como a prototipagem em escala reduzida das mesmas. Para tal, a modelagem é construída a partir do software Matlab/Simulink e juntamente com a plataforma Arduino, ocorre a validação dos sistemas por meio da montagem dos protótipos.
Por mais que o trabalho não represente fielmente técnicas utilizadas no meio industrial, as técnicas aqui utilizadas são de enorme eficácia no meio acadêmico, uma vez que se trata de testes em bancada que podem ser reproduzidos.
Atualmente, os sistemas embarcados estão presentes em praticamente todos os equipamentos eletrônicos disponibilizados no mercado. Com a crescente evolução da tecnologia por trás desses sistemas, eles fazem parte de todos os tipos de equipamentos, sejam simples ou complexos, e buscam sempre maior comodidade e confiança para quem usufruir de suas funcionalidades.
No setor automotivo, que é uma área de grande impacto na economia mundial, não poderia ser diferente. Trata-se de constante e crescente a atenção depositada por parte das montadoras tradicionais e detentores de tecnologias inovadoras na área. Com isso, espera-se um que este mercado seja ainda mais revolucionário na próxima década, de tal forma que aumente, consequentemente, os níveis de automação implementados nos veículos.
Importante citar que a Society of Automotive Engineers (SAE) estabelece níveis de inteligência e as capacidades de automação dos veículos, classificando-os de 0 a 5, de tal forma que o nível 0 trata de veículos totalmente manuais e o nível 5 onde a condução humana é totalmente eliminada [3].
Trata-se de um sistema microprocessado completamente dedicado ao dispositivo ou sistema que ele controla. Diferentemente de um computador pessoal, um SE realiza um conjunto de tarefas predefinidas, geralmente com requisitos específicos. Já que o sistema é dedicado a tarefas específicas, através de engenharia pode-se otimizar o projeto reduzindo tamanho, recursos computacionais e custo.
Os SEs respeitam uma estrutura básica, composta por sensores, microcontrolador e atuadores. A Figura 1 destaca essa estrutura com alguns componentes que podem exercer tais funções.
Figura 1: Exemplo de estrutura e composição de um SE.
Fonte: [4].
A partir de reuniões e discussões com pesquisadores do Grupo de Pesquisa CNPq GSE (Grupo de Soluções em Engenharia), pôde-se observar e concluir que uma VF se estrutura por meio de um circuito eletrônico, compondo-se por dados de entrada, um dispositivo controlador que avalia e interpreta os dados de entrada para assim definir os dados de saída. A Figura 2 exemplifica essa estrutura.
Figura 2: Estrutura básica de uma VF.
Fonte: Autor.
Pode-se destacar pela Figura 2 que a estrutura é basicamente a mesma de um SE genérico, onde os dados de entrada são obtidos geralmente por sensores e os dados de saída são enviados para os mais diversos atuadores. O módulo de controle é onde especifica-se o microcontrolador, sendo este programado para atender uma única função.
A VF se diferencia por apresentar toda a lógica por trás de seu funcionamento, uma vez que o documento gerado pelas montadoras deve conter todas as especificações para que ocorra a implementação no veículo de forma correta.
É uma abordagem matemática e visual para desenvolver sistemas complexos de controle e processamento de sinais. Ele se concentra no uso de modelos de sistema em todo o processo de desenvolvimento para design, análise, simulação, geração automática de código e verificação [5].
Na metodologia do MBD, utiliza-se recursos gráficos e diagramas de blocos, contendo equações matemáticas a fim de obter um modelo funcional do sistema a ser desenvolvido. Este é mantido no centro do processo durante todas as etapas de desenvolvimento. A Figura 3 ilustra este conceito, onde a partir dos requisitos do projeto até a geração automática de códigos, ocorre etapas como a implementação do código, testes e verificações contínuas, mas o modelo é sempre mantido no centro do processo [6].
Figura 3: Fases de desenvolvimento do MBD com o modelo no centro.
Fonte: [6].
A Figura 4 apresenta os passos que foram seguidos para desenvolvimento do trabalho.
Figura 4: Etapas do desenvolvimento.
Fonte: Autor.
As VF’s escolhidas se denominam “Nível do Óleo de Freio” e “Alerta de Estacionamento”. A partir da compreensão dos requisitos de cada uma, optou-se pela escolha do microcontrolador Arduino, uma vez que o trabalho busca apenas reproduzir em bancada métodos semelhantes aos das grandes empresas, além de se tratar de uma plataforma de fácil acesso e baixo custo para a implementação do código.
A simulação em MDB se deu através do software Matlab, utilizando o ambiente Simulink. Para construção do MDB, utilizou-se do toolbox Stateflow, o qual permite a construção de diagramas de fluxo de estados.
Uma segunda parte da simulação ocorreu a partir do software online Tinkercad, disponibilizado pela AutodesK, com opções de desenvolvimento e simulação específicas para a plataforma Arduino. Nele foi possível desenvolver primeiramente os SE’s.
A geração de códigos ocorreu de duas maneiras. A primeira maneira se dá partir do diagrama de estados desenvolvido, o Simulink gera a codificação específica para o microcontrolador que se deseja, no caso, o Arduino. A segunda ocorre através da interface de desenvolvimento da plataforma Arduino. Ambas foram testadas nas simulações para verificação e comprovação da funcionalidade, de acordo com o MDB.
A construção dos SE’s ocorreu em escala reduzida, onde os componentes necessários foram conectados em uma protoboard.
Com todas essas definições, foi possível levantar as características que cercam a VF, de tal forma que sua implementação seja de fácil entendimento para o público interessado pela área.
Para as VFs escolhidas como objeto deste trabalho, nas subseções a seguir serão detalhados os resultados obtidos, desde a criação do diagrama de controle de cada uma até a montagem do protótipo.
O diagrama de Figura 5 apresenta a composição da função NOF, com suas entradas e saídas respectivamente.
Figura 5: Diagrama VF NOF.
Fonte: Autor.
De acordo com a Figura 5, esta VF possui como entradas:
• Nível baixo: No sistema quem monitora o nível do óleo de freio é um sensor de nível, que no caso pode ser representado por uma chave. Sendo assim, o estado normalmente aberto indica que o nível está ideal e o estado normalmente fechado indica que o nível está abaixo do nível adequado;
• Status chave de ignição: A chave de ignição representa a pré energização do sistema, ou seja, o sistema está pronto para dar partida no motor e demais funções. Também sendo representada por uma chave, onde o estado normalmente aberto indica que a ignição não está acionada e o estado normalmente fechado indica que a ignição está acionada;
• Tensão da bateria: O sistema necessita de uma tensão mínima para entrar em funcionamento. Com isso é necessário que sempre haja uma verificação da tensão da bateria do veículo.
Possui como saída:
• Espia: O sinal de alerta é mostrado no painel de instrumentos do veículo. É acionada uma espia, que no caso será representada por um Led.
A partir desta análise, pode-se definir o comportamento das entradas e saída, digitais e analógicas da VF, como é apresentado na Tabela 1 e na Tabela 2.
Tabela 1: Entradas da VF NOF e suas definições.
Entradas |
Definições |
Nível baixo
|
Entrada digital onde 0 indica que o nível está dentro do normal e 1 que o nível está em estado crítico. |
Status da chave de ignição |
Entrada digital onde 0 indica chave desligada e 1 indica chave ligada. |
Tensão da bateria |
Entrada analógica que possui um valor variável e tem como restrição para funcionamento que seu valor seja maior ou igual a 10,8 volts.
|
Tabela 2: Saída da VF NOF e sua definição.
Saída |
Definições |
Espia |
Saída digital onde 0 o Led se mantém desligado e 1 o Led é acionado. |
Dessa forma, toda a lógica de funcionamento do sistema respeita o pseudocódigo da Figura 6, que nada mais é uma forma simplificada do algoritmo.
Figura 6: Pseudocódigo para a VF NOF.
Fonte: Autor.
Na Figura 7 tem-se o modelo adotado para simulação e verificação da lógica final apresentada anteriormente, após a identificação de possíveis falhas e erros. Tal modelo foi desenvolvido no Matlab.
Figura 7: Modelo adotado para simulação, VF NOF.
Fonte: Autor.
A representação dos equipamentos que fornecem os dados de entrada e recebem os dados de saída, na execução do modelo anterior, é apresentada na Figura 8, sendo esta também realizada no Matlab.
Figura 8: Modelo adotado para simulação, VF NOF.
Fonte: Autor.
Para embarque do software na plataforma Arduino Uno o modelo apresentado na Figura 7 necessitou sofrer alterações nas transições que dependiam do valor monitorado da bateria, se tornando o modelo da Figura 9.
Figura 9: Modelo para embarque do código no Arduino.
Fonte: Autor.
Como pode ser observado, foram utilizados os pinos 2 e 4 para obtenção dos dados digitais de entrada e para obtenção do dado analógico o pino 1, que no Arduino é representado como A01. Para a saída digital foi utilizado o pino 8.
Com o auxílio do analisador lógico, bloco Scope, pode-se verificar os sinais e quais estavam entrelaçados no funcionamento do sistema. Pela Figura 10 temos que o sinal sensor é representado pela cor vermelha, o sinal chave é representado pela cor azul e o sinal Instrument Control Panel (IPC) é representado pela cor amarela. É possível observar que quando o sinal sensor está em 1, tem-se que o valor do sinal IPC está em 1 também. Se um dos dois sinais anteriores estiverem em zero, o sinal IPC se mantém em zero.
Figura 10: Sinais digitais do sistema em funcionamento.
Fonte: Autor.
A Figura 11 apresenta o modelo desenvolvido no Tinkercad para a simulação a partir do software desenvolvido no Integrated Development Environment (IDE) do próprio simulador que obedece às mesmas características do IDE principal do Arduino.
Figura 11: Modelo desenvolvido no Tinkercad, VF NOF.
Fonte: Autor.
A montagem do protótipo foi realizada de forma a atender o diagrama que é apresentado na Figura 9 e o circuito da Figura 11, onde pode-se verificar na prática o correto funcionamento dos softwares desenvolvidos. Esse protótipo é apresentado na Figura 12.
Figura 12: Protótipo para a VF NOF.
Fonte: Autor.
Pela Figura 12 tem-se que o led representa a espia do painel de instrumentos e serve de alerta para o condutor. Tanto a chave de ignição quanto o sensor de nível foram representados por push buttons, que ao serem pressionados indicam a atuação dos componentes. A tensão da bateria é regulada através do potenciômetro, para verificar o funcionamento quando a tensão está ou não no nível ideal.
O diagrama de Figura 13 apresenta a composição da função AE, com suas entradas e saídas respectivamente.
Figura 13: Diagrama para a VF AE.
Fonte: Autor.
De acordo com a Figura 13, esta VF possui como entradas:
• Distância 1: Distância esta monitorada por um sensor ultrassônicos localizado na parte central na traseira do veículo;
• Distância 2: Distância esta monitorada por um sensor ultrassônicos localizado mais à esquerda da parte traseira do veículo;
• Distância 3: Distância esta monitorada por um sensor ultrassônicos localizado mais à direita da parte traseira do veículo;
• Status chave de ignição: A chave de ignição representa a pré energização do sistema, ou seja, o sistema está pronto para dar partida no motor e demais funções. Também sendo representada por uma chave, onde o estado normalmente aberto indica que a ignição não está acionada e o estado normalmente fechado indica que a ignição está acionada;
• Tensão da bateria: O sistema necessita de uma tensão mínima para entrar em funcionamento. Com isso é necessário que sempre haja uma verificação da tensão da bateria do veículo;
• Marcha à Ré: O sistema só é entra em funcionamento quando a marcha à ré é acionada. Esta pode ser representada por uma chave, onde o estado normalmente aberto indica que a marcha não foi acionada e o estado normalmente fechado indica que a marcha foi engatada.
Possui como saída:
• Buzzer: O sinal de alerta é um sinal sonoro e é emitido através de um buzzer que, ao passo que a distância vai diminuindo, o sinal se torna mais intenso para uma melhor atenção do condutor.
A partir desta análise, pode-se definir o comportamento das entradas e saída, digitais e analógicas da VF, como é apresentado na Tabela 3 e na Tabela 4.
Tabela 3: Entradas da VF AE e suas definições
Entradas |
Definições |
Status da marcha à ré
|
Entrada digital onde 0 indica que a marcha não está acionada e 1 que a marcha está acionada. |
Status da chave de ignição |
Entrada digital onde 0 indica chave desligada e 1 indica chave ligada. |
Tensão da bateria |
Entrada analógica que possui um valor variável e tem como restrição para funcionamento que seu valor seja maior ou igual a 10,8 volts. |
Distância 1 |
Entrada analógica a qual é um valor variável e recebe informações da distância da parte central em relação à algum objeto. |
Distância 2 |
Entrada analógica a qual é um valor variável e recebe informações da distância mais à esquerda em relação à algum objeto. |
Distância 3 |
Entrada analógica a qual é um valor variável e recebe informações da distância mais à direita em relação à algum objeto.
|
Tabela 4: Saída da VF AE e suas definições
Saída |
Definições |
Buzzer |
Saída digital que a partir da distância detectada, emite um sinal sonoro com certa frequência de acordo com o sinal PWM recebido.
|
Dessa forma, toda a lógica de funcionamento do sistema respeita o pseudocódigo da Figura 14.
Figura 14: Pseudocódigo para a VF AE.
Fonte: Autor.
Diferentemente da VF NOF o modelo para simulação já foi desenvolvido com a comunicação do Simulink e o Arduino já estabelecida. Isso ocorreu devido primeiramente o sucesso da VF NOF na comunicação, mas como ponto principal, a dificuldade de representar o correto acionamento do buzzer. O modelo proposto é apresentado na Figura 15.
Figura 15: Modelo adotado para simulação, VF AE.
Fonte: Autor.
Pela Figura 15 pode ser observado que foram utilizados os pinos 1, 2, 3 e 4 para obtenção dos sinais analógicos, sendo estes dos três sensores e da tensão da bateria. Como entradas digitais optou-se pelos pinos 8 e 9, para a chave de ignição e status da marcha à ré. Como saída digital, utilizou-se do bloco PWM no pino 5, para acionamento do buzzer.
Pelo bloco Scope pode se ter uma análise do comportamento dos sinais dos sensores com o funcionamento do sistema, principalmente com o acionamento do buzzer. A seguir é apresentada uma sequência de acionamento de apenas um sensor, pois, para os outros sensores o comportamento do sistema é o mesmo.
A Figura 16 apresenta o os sinais quando o sistema está ativado, mas apenas na fase de monitoramento das distâncias. O sinal azul representa a distância 1, o sinal vermelho a distância 2 e o sinal roxo a distância 3. A cor amarela o sinal de saída para o buzzer.
Figura 16: Sistema em estado de monitoração.
Fonte: Autor.
A Figura 17 apresenta os sinais a partir da identificação do sensor que a distância é menor que 30 cm.
Figura 17: Detecção da distância menor do que 30 cm.
Fonte: Autor.
A Figura 18 apresenta os sinais a partir da identificação do sensor que a distância é menor que 20 cm.
Figura 18: Detecção da distância menor do que 20 cm.
Fonte: Autor.
A Figura 19 apresenta os sinais a partir da identificação do sensor que a distância é menor que 10 cm.
Figura 19: Detecção da distância menor do que 10 cm.
Fonte: Autor.
Ao analisar os sinais desde a Figura 16 até a Figura 19, pode-se observar que quanto menor a distâncias, maior o valor do sinal PWM enviado a porta para acionamento do buzzer, ao que passo que aumenta sua frequência de acionamento.
A Figura 20 apresenta o circuito proposto para simulação.
Figura 20: Modelo desenvolvido no Tinkercad, VF AE.
Fonte: Autor.
Pela Figura 20 pode-se observar que o modelo possui duas chaves como representação da chave de ignição e marcha à ré. Possui também o buzzer para alerta sonoro, três sensores ultrassônicos para identificação das distâncias e um potenciômetro para controle da carga da bateria.
Este sistema juntamente com o software desenvolvido atendeu as condições de funcionamento esperadas, podendo ser construído em escala real, como é apresentado pela Figura 21.
Figura 21: Protótipo VF AE.
Fonte: Autor.
O presente trabalho teve como objetivo o desenvolvimento de funções veiculares nos moldes de desenvolvimento das grandes empresas do setor, com uma visão mais acadêmica. Assim qualquer discente que esteja interessado pela área é capaz de reproduzir os resultados aqui encontrados.
Toda a codificação obtida a partir do ambiente gráfico do Simulink foi implementada com sucesso no microcontrolador Arduino Uno. Embora esse microcontrolador não possua a robustez necessária para a implantação real em veículo, ele possibilita a verificação prática dos códigos e possíveis ajustes durante o desenvolvimento, sendo uma importante ferramenta para o desenvolvimento dos conceitos dos sistemas embarcados.
A adoção do MBD para criação e reutilização de sistemas construídos a partir da integração Simulink e Arduino se mostra eficiente, pois elimina repetições excessivas nas fases iniciais do desenvolvimento e permite maior foco nas fases de testes e validação, assim possibilita maior confiabilidade aos softwares construídos, o que resulta em um sistema mais seguro.
Obtiveram-se resultados para VFs de forma isolada, no caso, nível de óleo do freio e alerta de estacionamento. Contudo, pode ser desenvolvido como trabalho futuro, a unificação de VFs de tal forma que o sistema possa identificar qual está atuando em determinado tempo, ou mesmo simultaneamente, através de um único microcontrolador, ou seja, realizar a junção das VFs em apenas um sistema. De forma resumida se teria uma única central eletrônica responsável por tais funções, fato comum nos veículos atuais.
Referências
[1] HILLENBRAND, M. et al. Development of electric/electronic architectures for safety-related vehicle functions. Software: Practice and Experience, [s.l.], v. 42, n. 7, p.817-851, 31 jan. 2012. Wiley. http://dx.doi.org/10.1002/spe.1154.
[2] POGGETO, Gustavo. Critérios para seleção da arquitetura elétrica veicular em mercados emergentes. 2009. 195 f. Dissertação (Mestrado) - Curso de Engenharia Automotiva, Escola Politécnica da Universidade de São Paulo, São Paulo, 2009.
[3] RODRIGUES, Leonardo Cavalheiro. FUNDAMENTOS, TECNOLOGIAS E APLICAÇÕES DE VEÍCULOS AUTÔNOMOS. 2017. 83 f. TCC (Graduação) - Curso de Engenharia Eletrônica, Universidade Tecnológica Federal do Paraná, Campus Ponta Grossa, Ponta Grossa, 2017.
[4] GARCIA, Fernando Deluno. Introdução aos sistemas embarcados e microcontroladores. 2018. Disponível em: <https://www.embarcados.com.br/sistemas-embarcados-e-microcontroladores/>. Acesso em: 04 nov. 2019
[5] MATHWORKS. What is MIL, SIL, PIL, HIL and how do they integrate in Model Based Design approach? 2019. Disponível em: <https://la.mathworks.com/matlabcentral/answers/440277-what-is-mil-sil-pil-hil-and-how-do-they-integrate-in-model-based-design-approach>. Acesso em: 04 nov. 2019.
[6] SILVA, Rafael Rodrigues da. Projeto de controladores para um sistema de direção elétrica utilizando a metodologia de projeto baseado em modelos. 2017. 99 f. - Curso de Sistemas Mecatrônicos, Universidade de Brasília, Brasília, 2017.