Sistema de Telemetria de um Fórmula Elétrico Deixe um comentário

O sistema de telemetria de um fórmula elétrico é uma peça crucial para o bom desempenho de qualquer equipe na competição de fórmula estudantil, a fórmula SAE. Cada carro é um conjunto de vários subsistemas complexos que necessitam de monitoramento constante e troca de informações com confiabilidade e responsividade: Já imaginou um motor que superaquece na última volta ou um pedal de acelerador que responde 2 segundos depois que o piloto pisa?

A telemetria do protótipo CE-21 da nossa equipe Cheetah E-Racing tem 2 funções principais no carro: Levar os comandos do piloto para o controlador do motor de tração elétrica e coletar o maior número de dados possível para controle e análise. O sistema físico é composto por 7 placas de circuito impresso e 1 computador de bordo central, todos interligados por uma rede digital.

Na parte de software, desenvolvemos um sistema de supervisão que armazena, trata e mostra aos membros da equipe em uma interface de usuário amigável. Apresentaremos ao longo deste artigo cada um desses circuitos, como se comunicam e como visualizamos os dados.

Telemetria Frontal

Localizada bem na frente do veículo, essa placa coleta:

  • Botão de Ready-to-Drive, funciona como a chave de ignição de um carro a combustão e arma o sistema de tração;
  • Posição do pedal de acelerador, com dois sensores redundantes, e envia para o controle do motor (Drive-by-Wire);
  • Posição do pedal de freio;
  • Posição angular do volante;
  • Pressão em 3 das 4 linhas de freio do carro;
  • Sensor de colisão, que é acionado quando é submetido à uma aceleração entre 8g e 11g;
  • Sensor de fim de curso do pedal de freio, acionado quando ocorre perda da função do freio e o pedal encosta no chão;
  • Botão de desligamento de emergência.

O principal dado de todos apresentados acima é a posição do acelerador, que deve ter uma latência baixa e redundância para garantir que o motor vai responder ao piloto do jeito certo e na hora certa. O microcontrolador usado para esse circuito é um STM32F103C8T6 operando a 72 MHz.

Telemetria Traseira

Encontrada na caixa de eletrônicos na lateral traseira do carro, essa placa contém o rádio responsável por enviar todos os dados coletados em tempo real para a equipe enquanto o veículo anda na pista. Além disso, coleta:

  • Tensão e corrente da bateria de alimentação da eletrônica (separada das baterias de tração do carro);
  • Botões de desligamento de emergência;
  • Chave acionamento da alta tensão, que prepara o sistema de tração para ser ativado;
  • GPS, para acompanharmos a posição do carro na pista;
  • Acelerômetro e giroscópio, para monitoramento das forças atuando sobre o veículo, especialmente nas curvas;

O microcontrolador usado para esse circuito é um ESP 32 operando a 80 MHz.

Telemetria das Rodas

Quatro placas idênticas são posicionadas uma em cada roda, e coletam a rotação do eixo e a temperatura do disco de freio em 2 pontos diferentes usando sensores infravermelhos. Em cada placa há um microcontrolador STM32F103C8T6 operando a 72 MHz.

Circuito de segurança

O circuito de segurança do veículo é responsável por desligar o sistema de tração caso ocorra qualquer condição que possa colocar o piloto em risco, como por exemplo superaquecimento das baterias e falha na isolação elétrica da alta tensão. Esse circuito possui um microcontrolador ATmega328p operando a 16 MHz que se comunica com o restante do sistema de telemetria e envia o estado dos seguintes elementos de segurança:

  • Battery Management System (BMS) : Monitora a tensão, temperatura, resistência interna e corrente das 24 células de LiFePo4 que compõem a bateria do sistema de tração.
  • Insulation Monitoring Device (IMD): Monitora a isolação elétrica do sistema de tração de alta tensão, garantindo que nunca exista a possibilidade de levar um choque operando o veículo.
  • Brake System Plausibility Device (BSPD): Monitora a corrente consumida pelo motor e a pressão na linha de freios, caso o piloto pise forte no freio e acelere ao mesmo tempo o motor deve ser desligado.

Computador de bordo

Além de transmitir os dados do veículo por rádio, um computador de bordo é usado para processar e armazenar tudo no próprio carro, além de fornecer uma interface USB para a comunicação com os controladores do motor e do BMS. Ele também cria uma rede WiFi enquanto o carro está em manutenção ou parado próximo aos boxes, permitindo acesso direto ao sistema de telemetria do fórmula elétrico sem a necessidade de conectar cabos ou de um servidor externo. O hardware é uma TVBox modelo MXQ9 – 4K que foi desmontada e teve seu sistema android de fábrica substituído pelo Armbian Bullseye, funcionando de maneira semelhante à uma Raspberry Pi mas com um processador Quad Core ARM rk3229 da Rockchip, 4GB de RAM e 32GB de memória eMMC.

Comunicação digital

Há uma enorme quantidade de protocolos e redes para escolher ao projetar um sistema que interliga vários dispositivos diferentes, ao trabalhar com Arduinos e Raspberries é comum encontrarmos nomes como UART, I²C, SPI, Ethernet e OneWire. No entanto, no mundo automotivo é necessário um protocolo seguro, capaz de atravessar o carro de uma ponta a outra sem sofrer interferências e mantendo o tempo de resposta o mais curto possível. Nossa equipe decidiu empregar o protocolo CAN (do inglês Controller Area Network), desenvolvido especialmente para uso em veículos.

Uma rede CAN é montada sobre um barramento que interliga todos os dispositivos, cada mensagem ou frame é composta de 128 bits dos quais 64 são os dados de fato transmitidos. Os bits restantes são usados para verificação de erros e identificação da mensagem. O protocolo também permite configurar uma ordem de prioridade para cada tipo de informação, por exemplo é possível dar prioridade para o acelerador em detrimento do GPS.

Servidor de dados

O sistema de telemetria do Cheetah E-Racing conta com uma interface de usuário e um servidor de dados para a interação com os membros da equipe. O servidor foi desenvolvido utilizando a tecnologia Node.js, e é responsável por receber os dados do rádio via UART e disponibilizá-los para computadores, celulares e tablets conectados na rede de telemetria. Antes de enviar as informações a placa de telemetria traseira organiza e empacota tudo em um buffer de aproximadamente 1300 bits, cada valor analógico dos 79 coletados é posicionado em sequência crescente e enviado um após o outro. Essa estratégia foi utilizada para economizar largura de banda no rádio evitando o uso de caracteres de controle desnecessários.

O servidor então usa um parser javascript que separa cada valor correspondente em um objeto e abre uma conexão websocket. Cada dispositivo interessado nos dados então se conecta ao servidor através da interface feita em React.js.

Interface de usuário

A organização de uma interface é sempre uma tarefa difícil, e deve ser pensada com cuidado para ser o mais útil possível, sem causar frustrações aos seus usuários. Dividimos nosso sistema em 5 abas ou módulos:

 

Módulo de Dashboard
Módulo de Dashboard

Módulo de Dashboard: Essa aba fornece uma visão rápida da velocidade do veículo, sua posição na pista e estado do acelerador e freios

Módulo de Eletrônica e Telemetria
Módulo de Eletrônica e Telemetria

Módulo de Eletrônica e Telemetria: Aqui conseguimos visualizar o estado de cada uma das placas de circuito conectadas ao barramento CAN, assim como a posição dos elementos do circuito de segurança do carro.

Módulo de Powertrain
Módulo de Powertrain

Módulo de Powertrain: No módulo de powertrain mostramos a tensão e corrente nas baterias e informações gerais do sistema de tração, como temperatura, torque, RPM e frequência.

Módulo de Mecânica
Módulo de Mecânica

Módulo de Mecânica: A aba de mecânica apresenta a temperatura dos discos de freio, pressão nas linhas de freio, acelerações laterais e longitudinais, rotação nas rodas e no volante.

Módulo de Mapa
Módulo de Mapa

Módulo de Mapa: Um mapa em tela inteira que permite acompanhar com detalhes a posição do veículo.

Display do cockpit
Display do cockpit

Display do cockpit: Posicionado no painel do carro, esse display apresenta ao piloto as informações mais importantes do sistema de telemetria. O hardware é um tablet Android de 7 polegadas e o software é uma versão mais leve da interface em javascript que se comunica ao restante do barramento com um conversor CAN-USB.

Sensores e dados coletados

A tabela abaixo resume todas as informações que o sistema de telemetria do Cheetah E-Racing recolhe:

Código Nome Descrição Subsistema
SA1 Throttle Position Sensor Porcentagem de atuação do pedal do acelerador Powertrain
SA2 Throttle Position Sensor Porcentagem de atuação do pedal do acelerador Powertrain
SA4 Sensor reflexivo infravermelho Rotação da roda frontal direita Freios
SA5 Sensor reflexivo infravermelho Rotação da roda frontal esquerda Freios
SA6 Sensor reflexivo infravermelho Rotação da roda traseira direita Freios
SA7 Sensor reflexivo infravermelho Rotação da roda traseira esquerda Freios
SA8 Sensor de temperatura infravermelho Temperatura do centro do disco de freio frontal direito Freios
SA9 Sensor de temperatura infravermelho Temperatura da borda do disco de freio frontal direito Freios
SA10 Sensor de temperatura infravermelho Temperatura do centro do disco de freio frontal esquerdo Freios
SA11 Sensor de temperatura infravermelho Temperatura da borda do disco de freio frontal esquerdo Freios
SA12 Sensor de temperatura infravermelho Temperatura do centro do disco de freio traseiro direito Freios
SA13 Sensor de temperatura infravermelho Temperatura da borda do disco de freio traseiro direito Freios
SA14 Sensor de temperatura infravermelho Temperatura do centro do disco de freio traseiro esquerdo Freios
SA15 Sensor de temperatura infravermelho Temperatura da borda do disco de freio traseiro esquerdo Freios
SA16 Encoder do volante Ângulo de rotação do volante Suspensão
SA17 Latitude (GNSS) Valor da latitude obtida por satélite Telemetria
SA18 Longitude (GNSS) Valor da longitude obtida por satélite Telemetria
SA19 Contagem de satélites (GNSS) Número de satélites da constelação na linha de visada Telemetria
SA20 HDOP (GNSS) Diluição horizontal de precisão da constelação Telemetria
SA21 Acelerômetro (IMU) Valor da aceleração no eixo X Telemetria
SA22 Acelerômetro (IMU) Valor da aceleração no eixo Y Telemetria
SA23 Acelerômetro (IMU) Valor da aceleração no eixo Z Telemetria
SA24 Giroscópio (IMU) Valor da velocidade angular em relação ao eixo X Telemetria
SA25 Giroscópio (IMU) Valor da velocidade angular em relação ao eixo Y Telemetria
SA26 Giroscópio (IMU) Valor da velocidade angular em relação ao eixo Z Telemetria
SA27 Magnetômetro (IMU) Valor da intensidade do campo magnético no eixo X Telemetria
SA28 Magnetômetro (IMU) Valor da intensidade do campo magnético no eixo Y Telemetria
SA29 Magnetômetro (IMU) Valor da intensidade do campo magnético no eixo Z Telemetria
SA30 Temperatura (IMU) Temperatura da placa de telemetria traseira Telemetria
SA31 Corrente (BMS) Corrente total do acumulador Powertrain
SA32 Tensão instantânea (BMS) Tensão atual do acumulador Powertrain
SA33 Tensão aberta (BMS) Tensão de circuito aberto do acumulador Powertrain
SA34 SOC (BMS) Estado de carga do acumulador Powertrain
SA35 SSOC (BMS) Estado de carga simulado do acumulador Powertrain
SA36 Amp hours (BMS) Capacidade do acumulador Powertrain
SA37 Health (BMS) Estado de saúde do acumulador Powertrain
SA38 Temperatura alta (BMS) Temperatura da célula mais quente Powertrain
SA39 Temperatura baixa (BMS) Temperatura da célula mais fria Powertrain
SA40 Temperatura média (BMS) Temperatura média das células Powertrain
SA41 Temperatura interna (BMS) Temperatura interna do BMS Powertrain
SA42 Tensão alta (BMS) Maior tensão registrada no acumulador Powertrain
SA43 Tensão baixa (BMS) Menor tensão registrada no acumulador Powertrain
SA44 Tensão média (BMS) Média das tensões das células Powertrain
SA45 Resistência alta (BMS) Maior resistência interna registrada no acumulador Powertrain
SA46 Resistência baixa (BMS) Menor resistência interna registrada no acumulador Powertrain
SA47 Resistência média (BMS) Média das resistências internas das células Powertrain
SA48 IDs temperatura (BMS) Identificadores das células com maior e menor temperatura Powertrain
SA49 IDs tensão (BMS) Identificadores das células com maior e menor tensão Powertrain
SA50 IDs resistência (BMS) Identificadores das células com maior e menor resistência Powertrain
SA51 Fan speed (BMS) Velocidade do ventilador do acumulador Powertrain
SA52 12V (BMS) Tensão de alimentação do BMS Powertrain
SA53 Isolamento (BMS) Medida de Shortest wave Powertrain
SA54 ADC1 (BMS) Medida do ADC1 Powertrain
SA55 Tensão GLV Tensão na bateria de baixa tensão Telemetria
SA56 RPM (Inversor) Rotação do motor (P0002) Powertrain
SA57 Corrente (Inversor) Corrente do motor (P0003) Powertrain
SA58 Frequência (Inversor) Frequência do motor (P0005) Powertrain
SA59 Estado (Inversor) Estado do Inversor (P0006) Powertrain
SA60 Tensão (Inversor) Tensão de saída do inversor (P0007) Powertrain
SA61 Velocidade (Inversor) Velocidade do veículo (P0008) Powertrain
SA62 Torque (Inversor) Torque no motor (P0009) Powertrain
SA63 Temperatura (Inversor) Temperatura do MOSFET (P0030) Powertrain
SA64 Temperatura (Inversor) Temperatura do MOSFET 2 (P0033) Powertrain
SA65 Temperatura (Inversor) Temperatura do ar interno (P0034) Powertrain
SA66 Sobrecarga (Inversor) Sobrecarga do motor (P0037) Powertrain
SA67 Alarme (Inversor) Alarme atual (P0048) Powertrain
SA68 Falha atual (Inversor) Número da falha atual (P0049) Powertrain
SA69 Falha anterior (Inversor) Última falha registrada (P0050) Powertrain
SA70 Sensor Hall GLV Corrente na bateria de baixa Telemetria
SA71 IMD PWM Saída PWM do IMD Circuito de segurança
SA71 IMD PWM Saída PWM do IMD Circuito de segurança
SA72 Setpoint do cebolinha Tensão de comparação do cebolinha Circuito de segurança
SA73 Setpoint do sensor hall Tensão de comparação do sensor hall Circuito de segurança
SA74 Cebolinha Saída do cebolinha Circuito de segurança
SA75 Sensor hall Saída do sensor hall Circuito de segurança
SA76 Pressão de freios 2 Pressão do cilindro mestre 1 Telemetria
SA77 POST Estado do self test Circuito de segurança
SA78 Pressão de freios 3 Pressão do cilindro mestre 2 Telemetria
SA79 Pressão de freios 4 Pressão na linha de freios frontal Telemetria

Conclusão

O artigo desenvolvido é apenas uma visão geral do projeto. Existem várias etapas para que toda a teoria se torne realidade, desde projetar e desenvolver até a solda e teste de todo o circuito.

Além disso, é importante ressaltar o tempo necessário para a construção das placas. A ideia é que todo o circuito funcione perfeitamente após ser construído, porém sempre surgem imprevistos e problemas que tomam muito tempo. Felizmente todos os problemas foram resolvidos pela equipe de telemetria do Cheetah E-Racing

Todo o sistema de telemetria é muito complexo e difícil de ser projetado e montado, tendo em vista que os integrantes do Cheetah E-Racing são graduandos. Além da complexidade, o projeto de telemetria também é caro, por isso a ajuda dos nossos patrocinadores, como a MakerHero, é imprescindível.


Esse conteúdo é resultado da parceria da MakerHero com a Cheetah E-Racing. Curtiu o conteúdo? Então deixe seu comentário abaixo! E não esqueça de acompanhar a Cheetah E-Racing nas redes sociais.

Faça seu comentário

Acesse sua conta e participe