Índice:

Tacômetro / Medidor de varredura usando Arduino, OBD2 e barramento CAN: 8 etapas
Tacômetro / Medidor de varredura usando Arduino, OBD2 e barramento CAN: 8 etapas

Vídeo: Tacômetro / Medidor de varredura usando Arduino, OBD2 e barramento CAN: 8 etapas

Vídeo: Tacômetro / Medidor de varredura usando Arduino, OBD2 e barramento CAN: 8 etapas
Vídeo: Controlling the G37 gauges using CAN Bus! Motorvate's DIY Garage Ep.37 2024, Julho
Anonim
Tacômetro / Medidor de varredura usando Arduino, OBD2 e CAN Bus
Tacômetro / Medidor de varredura usando Arduino, OBD2 e CAN Bus
Tacômetro / Medidor de varredura usando Arduino, OBD2 e CAN Bus
Tacômetro / Medidor de varredura usando Arduino, OBD2 e CAN Bus
Tacômetro / Medidor de varredura usando Arduino, OBD2 e CAN Bus
Tacômetro / Medidor de varredura usando Arduino, OBD2 e CAN Bus

Qualquer proprietário de Toyota Prius (ou outro veículo híbrido / especial) saberá que seus painéis podem estar faltando alguns mostradores! Meu prius não tem RPM do motor ou medidor de temperatura. Se você é um cara de desempenho, pode querer saber coisas como avanço de tempo e dados de combustível em tempo real. Se você é um hipermiler, pode querer saber mais informações sobre sua economia de combustível.

Todos esses valores são calculados pelo computador do motor do seu carro. Basta uma ferramenta de varredura para ler os dados. Muitos proprietários de carros curiosos recorrem a soluções comerciais como o Scan Gauge. Eles também podem usar um scantool que usa ELM327 por USB ou Bluetooth. Os competidores populares são o Carista, BlueDriver ou uma ferramenta de diagnóstico normal do Innova / Bosch.

Queria ter uma instalação permanente no meu veículo com hardware dedicado, por isso decidi seguir o meu próprio caminho! Estou animado para compartilhar meu design de ferramenta de digitalização personalizada.

Suprimentos:

Importante -

  • Placa Arduino (pode usar Nano, Teensy, Pro Micro, Uno …) [Amazon]
  • Toca de fusível + fusível extra (certifique-se de ter o tamanho certo) [loja de peças de automóveis]
  • Conector OBD II (eu salvei um de uma ferramenta de varredura antiga) [Amazon]
  • Módulo CAN Bus MCP2515 [Amazon]
  • Display OLED (ou outro display de escolha) [Amazon]
  • Conversor Buck (ou outro regulador de comutação / tensão linear) [Amazon]
  • Cabo de 4 condutores para o seu monitor (use o cabo USB antigo, cabo de fita, etc.)
  • Muitos fios de jumper para conectar tudo

Ferramentas -

  • Voltímetro
  • Equipamento de solda
  • Decapantes de arame

Útil -

  • Impressora 3D (ou acesso a uma) para criar as seguintes peças:

    • Gabinete para arduino
    • Montagem em moldura de tela / painel
  • Prendedores para gabinete
  • Adesivo

Etapa 1: Sobre o CAN Bus (e isenção de responsabilidade)

Sobre o CAN Bus (e isenção de responsabilidade)
Sobre o CAN Bus (e isenção de responsabilidade)
Sobre o CAN Bus (e isenção de responsabilidade)
Sobre o CAN Bus (e isenção de responsabilidade)
Sobre o CAN Bus (e isenção de responsabilidade)
Sobre o CAN Bus (e isenção de responsabilidade)
Sobre o CAN Bus (e isenção de responsabilidade)
Sobre o CAN Bus (e isenção de responsabilidade)

VOCÊ ESTÁ ABRINDO UM SÉRIO CAN OF WORMS AQUI… Brincar com o seu veículo / ônibus pode causar danos e / ou operação não intencional do seu veículo! Estou fornecendo este código e instruções para você sem garantia ou garantia. Você assume todos os riscos. Experimente enquanto o veículo está ESTACIONADO PRIMEIRO! Este projeto é realmente bastante seguro se você simplesmente pesquisar um pouco sobre o que está fazendo. Se você não sabe o que qualquer parte das instruções ou do código significa, provavelmente é um sinal de que você não deve mexer no sistema elétrico do seu carro! Não aceite este projeto. Compre um dongle OBD bluetooth pré-fabricado e use-o em seu lugar. Te desejo boa sorte.

Agora que o aviso de isenção de responsabilidade foi eliminado … PODE soar familiar? Talvez semelhante a LAN (Ethernet) ou WLAN (WiFi) que você pode ter em casa … isso porque são todas redes. CAN significa Rede de Área do Controlador. É uma plataforma de comunicação digital que seu carro usa para falar consigo mesmo. Em vez de conectar os fios do computador do motor a cada sensor, luz e dispositivo do carro, todos são controlados digitalmente pela rede.

O barramento CAN é um protocolo de comunicação diferencial. Isso significa que só precisa de dois fios! Não há Tx / Rx como você pode encontrar nas comunicações seriais tradicionais e nenhuma transmissão direta entre dois dispositivos. Normalmente é encontrado como um par trançado em todo o veículo. Você o acessará por meio da porta OBD. Você não precisa necessariamente entender como esse protocolo funciona no nível fundamental, mas deve entendê-lo o suficiente para poder escrever ou modificar o código do Arduino.

Se você quiser acompanhar este projeto, certifique-se de que seu veículo tenha um ônibus CAN! Quase todos os veículos na estrada hoje têm uma porta OBD II. Todos eles têm o mesmo conector elétrico sob o painel. No entanto, existem protocolos totalmente diferentes para comunicação com base no fabricante do seu automóvel. Qualquer veículo vendido nos Estados Unidos após 2008 usa o barramento CAN ISO 15765. É isso que queremos usar neste projeto. Verifique se o seu veículo possui um barramento CAN. Lembre-se de que cada carro é único. Você terá uma velocidade de barramento CAN específica, certos códigos OBD que você deve solicitar e diversas peculiaridades que você deve mitigar ao longo do caminho.

Etapa 2: Diagrama de fiação

Diagrama de Fiação
Diagrama de Fiação

Agora é a hora de começar a planejar seu gabinete e instalação. Meu carro tem uma caixa de fusíveis no capô e outra logo abaixo do painel. Onde está o seu? É hora de começar a pensar.

Usei uma derivação de fusível no circuito do limpador de pára-brisa, pois meu Prius tem muitos circuitos fundidos ao lado da porta OBD. Você pode usar o Vbatt na porta OBD, mas cuidado! Ele está conectado à bateria, para que o dispositivo nunca desligue. Péssima ideia. Dependendo do consumo atual do Arduino, ele pode acabar com a bateria em questão de dias ou semanas se você deixar o carro parado! Se você estiver usando um display OLED, poderá ocorrer queima excessiva se o dispositivo ficar ligado o tempo todo. É muito importante que o dispositivo esteja na ignição.

Você pode ter uma solução fácil! Você pode ter um veículo com um pino de alimentação ACC / ignição na porta OBD. Muitos pinos são específicos do fabricante. Isso significa que sua porta OBD pode ter um pino de alimentação que está ligado à ignição. No entanto, não tente usar o multímetro e conectar seu arduino a qualquer coisa com 12 volts! Seu veículo pode ter um J1699 ou outro barramento serial que usa nível lógico de 12v. Quem sabe o que faria um sorteio atual! Verifique com o osciliscópio para certificar-se de que sua "fonte de 12 volts" é uma fonte de alimentação DC estável, não um sinal, antes de conectar a alimentação do arduino a qualquer outro pino além do batt na porta OBD.

Etapa 3: Fiação da porta OBD à placa CAN

Fiação da porta OBD para a placa CAN
Fiação da porta OBD para a placa CAN
Fiação da porta OBD para a placa CAN
Fiação da porta OBD para a placa CAN

Procure na pinagem de sua porta OBD para CAN baixo e CAN alto. Conecte esses fios ao alto e ao baixo na sua placa.

Agora use o aterramento de sua porta OBD como seu aterramento para este projeto! Conecte todos os fios terra juntos e certifique-se de que estejam aterrados nesta porta OBD.

Vamos nos concentrar no restante da interface SPI da placa CAN em algumas etapas.

Etapa 4: Tap Fusível e Conversor DC para DC

Tap Fusível e Conversor DC para DC
Tap Fusível e Conversor DC para DC
Tap Fusível e Conversor DC para DC
Tap Fusível e Conversor DC para DC
Tap Fusível e Conversor DC para DC
Tap Fusível e Conversor DC para DC
Tap Fusível e Conversor DC para DC
Tap Fusível e Conversor DC para DC

Não pule o conversor DC! Eu acidentalmente destruí este projeto uma vez porque decidi que o Arduino funcionaria com 12 volts da caixa de fusíveis. Acho que houve um pico de tensão de um indutor em algum lugar (o Arduino estava conectado ao mesmo fusível do motor do limpador de para-brisa) e fritou meu Nano.

Recomendado: