Pular para o conteúdo principal

Arquitetura do Sistema

 O OBD-II Reader é organizado em três camadas interdependentes: hardware, firmware e interface. Cada camada tem responsabilidade única e se comunica exclusivamente com a camada adjacente, garantindo isolamento e facilidade de evolução independente.

Visão Geral

Princípios de Design

 Dois princípios guiam as decisões arquiteturais do projeto:

Isolamento por camadas. O firmware não conhece detalhes de como a interface renderiza os dados; a interface não sabe como o firmware se comunica com o carro. Cada camada expõe apenas o necessário para a camada acima. Isso permite desenvolver e testar partes independentes ao mesmo tempo e facilita substituir componentes sem reescrever tudo.

Acessibilidade sem infraestrutura. O dispositivo precisa funcionar num estacionamento, numa garagem ou em pista, sem roteador e sem internet. Por isso, o próprio dispositivo cria a rede sem fio e serve a interface localmente. O usuário final não instala nenhum aplicativo: basta abrir o navegador.

Camada de Hardware

 A camada de hardware é composta por quatro blocos que, juntos, formam o dispositivo físico.

Módulo de interface OBD-II

 O módulo de interface OBD-II é o componente responsável por traduzir os protocolos elétricos do barramento do veículo (que variam de carro para carro) num protocolo serial simples e padronizado que o microcontrolador consegue ler. Ele se conecta fisicamente à porta de diagnóstico do carro e expõe os dados do motor via comandos de texto enviados pela interface serial.

 Esse módulo é o ponto de entrada de todos os dados do veículo no sistema. Sem ele, o microcontrolador não consegue se comunicar com a ECU do carro.

Microcontrolador

 O microcontrolador é o processador central do dispositivo. Ele executa o firmware, processa os dados recebidos do módulo OBD-II, gerencia o cartão de memória e hospeda o servidor sem fio que serve o dashboard ao navegador do usuário. A escolha do microcontrolador será definida no decorrer do projeto, considerando requisitos de conectividade sem fio integrada, comunicação serial, leitura de cartão de memória e custo.

Cartão de memória

 O módulo de cartão de memória permite gravar os dados lidos durante uma sessão de uso para análise posterior. Os dados são registrados com marcação de tempo, possibilitando correlacionar o comportamento do motor com diferentes condições de condução.

Alimentação

 O circuito de alimentação converte a tensão da bateria do veículo (tipicamente 12 V) para o nível operacional do microcontrolador e dos demais componentes. Inclui proteções contra inversão de polaridade e transientes elétricos típicos do ambiente automotivo.

Camada de Firmware

 O firmware é organizado em quatro módulos com responsabilidades distintas. Essa separação permite desenvolver e testar cada módulo de forma isolada, o que é especialmente útil nas etapas iniciais do projeto quando nem todo o hardware está disponível.

Driver OBD-II

 O driver OBD-II é o módulo responsável por toda a comunicação com o módulo de interface. Ele envia comandos de consulta, interpreta as respostas e disponibiliza os dados em formato estruturado para o processador de dados. Cada grandeza do motor (rotação, temperatura, velocidade, etc.) é consultada por um identificador padronizado pelo protocolo OBD-II.

 O processo para implementar esse driver começa por aprender os comandos de inicialização e os identificadores de cada dado, testando a comunicação direto no terminal de um computador (via cabo USB) antes de integrar ao microcontrolador. Isso permite validar o comportamento do módulo sem precisar montar nenhum circuito.

Processador de dados

 O processador de dados converte as respostas brutas do driver OBD-II em valores com unidades físicas (rotação em RPM, temperatura em graus Celsius, velocidade em km/h). Também interpreta os códigos de falha (DTCs) armazenados na ECU do veículo, traduzindo os códigos numéricos em descrições legíveis.

Armazenamento

 O módulo de armazenamento é responsável por gravar os dados no cartão de memória em sessões contínuas. Cada registro inclui os valores de todas as grandezas lidas naquele instante e um timestamp sincronizado. O módulo também expõe os arquivos de log para download pela interface web.

Servidor sem fio

 O servidor sem fio cria a rede local do dispositivo e atende as requisições da interface. Ele opera em segundo plano, de forma assíncrona, sem interferir nos outros módulos. Expõe dois canais para a interface: um canal de dados em tempo real para o dashboard e uma API para consulta de dados históricos, configuração e download de logs.

Camada de Interface

 A interface é uma aplicação web servida diretamente pelo dispositivo. O usuário conecta o celular ou notebook à rede criada pelo dispositivo e acessa o dashboard pelo navegador, sem instalar nenhum aplicativo.

Dashboard em tempo real

 O dashboard exibe as grandezas do motor com atualização contínua. Os valores são apresentados em gauges visuais (velocímetros, tacômetros, termômetros) que permitem ler os dados rapidamente enquanto o carro está em movimento ou parado com o motor ligado.

Visualizador de DTCs

 A tela de códigos de falha lista todos os DTCs armazenados na ECU do veículo, com a descrição de cada código em português. Permite também apagar os códigos após a correção do problema.

Configuração

 A tela de configuração permite ajustar parâmetros do dispositivo, como nome da rede sem fio, intervalo de leitura e quais grandezas monitorar. As configurações são salvas na memória permanente do microcontrolador.

Diagrama de Blocos do Hardware

 O diagrama abaixo mostra como os componentes físicos se conectam:

Ordem de Desenvolvimento

 A sequência abaixo representa a ordem lógica em que as partes do sistema devem ser construídas, das etapas que não exigem nenhum hardware até as que envolvem montagem e testes em veículo real:

Quadro 1: Ordem de desenvolvimento do projeto
EtapaO que fazerDepende deResultado concreto
1Configurar repositório e documentaçãoNadaRepositório organizado, site de docs funcionando
2Estudar o protocolo OBD-II e os identificadores de dadosNadaEntendimento dos PIDs, protocolos e comandos AT
3Conhecer o módulo de interface e seus comandosEtapa 2Comunicação funcionando via cabo USB no computador
4Conhecer os componentes eletrônicos do projetoNadaEntendimento do microcontrolador, módulo OBD-II e alimentação
5Instalar e configurar o ambiente de programaçãoEtapa 4Firmware de teste rodando no microcontrolador
6Aprender comunicação serial no microcontroladorEtapa 5Microcontrolador enviando comandos e lendo respostas do módulo OBD-II
7Implementar driver OBD-II no firmwareEtapa 6Grandezas do motor lidas e convertidas em unidades físicas
8Implementar leitura contínua e leitura de DTCsEtapa 7Todos os PIDs relevantes lidos em loop, DTCs listados
9Aprender a criar servidor web e rede sem fio no microcontroladorEtapa 5Página de teste acessível pelo navegador
10Implementar canal de dados em tempo realEtapas 8 e 9Dados do motor chegando ao navegador em tempo real
11Implementar API REST para configuração e DTCsEtapa 9Endpoints funcionando e testados
12Construir dashboard web com gaugesEtapa 10Interface visual acessível pelo celular
13Construir tela de DTCs e tela de configuraçãoEtapa 11Visualizador e limpeza de códigos de falha funcionando
14Implementar log em cartão de memóriaEtapa 7Dados gravados em arquivo durante a sessão
15Implementar download do log pela interfaceEtapas 13 e 14Arquivo baixável direto pelo navegador
16Aprender a usar Tinkercad para simulação de circuitosEtapa 4Circuito simulado e validado virtualmente
17Desenhar esquemático completo no EasyEDAEtapa 16Esquemático com todos os componentes e conexões
18Montar protótipo em protoboardEtapa 17Circuito físico validado com multímetro
19Fabricar PCBEtapa 18Placa de circuito impresso montada
20Testes em bancada (sem carro)Etapa 19Todos os módulos funcionando no hardware final
21Testes em carro real e validação finalEtapa 20Dispositivo lendo dados reais de um veículo em operação
Fonte: Material produzido pelo grupo, 2026.

Escopo da V1

 A primeira versão do OBD-II Reader cobre o conjunto mínimo necessário para ler e exibir dados de qualquer carro com porta OBD-II.

Quadro 2: Escopo da V1
Incluído na V1Fora do escopo da V1
Leitura de grandezas em tempo real via OBD-IISuporte a protocolos proprietários de montadoras
Exibição de DTCs com descrição em portuguêsBanco de dados completo de todos os DTCs existentes
Limpeza de DTCs pela interfaceDiagnóstico avançado por subsistema
Dashboard web acessível pelo navegadorAplicativo nativo (mobile ou desktop)
Rede sem fio local criada pelo dispositivoConexão remota via internet
Log de dados em cartão de memóriaSincronização automática com nuvem
Download do log pela interface webAnálise automática de anomalias
Configuração de parâmetros pela interfaceAtualizações de firmware remotas (OTA)
Compatibilidade Bluetooth com apps OBD-IISuporte a veículos anteriores a 1996
Fonte: Material produzido pelo grupo, 2026.

 As decisões técnicas que definem o escopo da V1, incluindo a escolha do microcontrolador e do módulo de interface OBD-II, serão documentadas conforme o projeto avança.