Sommario:

Tachimetro/indicatore di scansione utilizzando Arduino, OBD2 e CAN Bus: 8 passaggi
Tachimetro/indicatore di scansione utilizzando Arduino, OBD2 e CAN Bus: 8 passaggi

Video: Tachimetro/indicatore di scansione utilizzando Arduino, OBD2 e CAN Bus: 8 passaggi

Video: Tachimetro/indicatore di scansione utilizzando Arduino, OBD2 e CAN Bus: 8 passaggi
Video: OBD II ecco come funziona + trucchi e curiosità 2024, Novembre
Anonim
Tachimetro/indicatore di scansione utilizzando Arduino, OBD2 e CAN Bus
Tachimetro/indicatore di scansione utilizzando Arduino, OBD2 e CAN Bus
Tachimetro/indicatore di scansione utilizzando Arduino, OBD2 e CAN Bus
Tachimetro/indicatore di scansione utilizzando Arduino, OBD2 e CAN Bus
Tachimetro/indicatore di scansione utilizzando Arduino, OBD2 e CAN Bus
Tachimetro/indicatore di scansione utilizzando Arduino, OBD2 e CAN Bus

Tutti i proprietari di Toyota Prius (o altri veicoli ibridi/speciali) sapranno che ai loro cruscotti potrebbero mancare alcuni quadranti! La mia prius non ha giri motore o indicatore di temperatura. Se sei un ragazzo delle prestazioni, potresti voler conoscere cose come l'anticipo dei tempi e i dati sul carburante in tempo reale. Se sei un hypermiler, potresti voler conoscere maggiori informazioni sul tuo risparmio di carburante.

Tutti questi valori sono calcolati dal computer del motore della tua auto. Ci vuole semplicemente uno strumento di scansione per leggere i dati. Molti proprietari di automobili curiosi si rivolgono a soluzioni commerciali come uno Scan Gauge. Possono anche utilizzare uno scantool che utilizza ELM327 tramite USB o Bluetooth. I contendenti popolari sono Carista, BlueDriver o un normale strumento di scansione diagnostica Innova/Bosch.

Volevo avere un'installazione permanente nel mio veicolo con hardware dedicato, quindi ho deciso di seguire la mia strada! Sono entusiasta di condividere il design del mio strumento di scansione personalizzato.

Forniture:

Importante -

  • Scheda Arduino (può usare Nano, Teensy, Pro Micro, Uno….) [Amazon]
  • Fusibile rubinetto + fusibile extra (assicurati di avere la giusta dimensione) [negozio di ricambi auto]
  • Connettore OBD II (ne ho recuperato uno da un vecchio strumento di scansione) [Amazon]
  • Modulo CAN Bus MCP2515 [Amazon]
  • Display OLED (o altro display a scelta) [Amazon]
  • Convertitore buck (o altro regolatore di tensione lineare/switching) [Amazon]
  • Cavo a 4 conduttori per il display (usa un vecchio cavo USB, un cavo a nastro, ecc.)
  • Un sacco di ponticelli per collegare tutto

Utensili -

  • Voltmetro
  • Attrezzatura per saldatura
  • Spelafili

Utile -

  • Stampante 3D (o accesso a una) per creare le seguenti parti:

    • Custodia per arduino
    • Supporto per cornice dello schermo/cruscotto
  • Elementi di fissaggio per custodia
  • Adesivo

Passaggio 1: informazioni sul bus CAN (e dichiarazione di non responsabilità)

Informazioni sul bus CAN (e esclusione di responsabilità)
Informazioni sul bus CAN (e esclusione di responsabilità)
Informazioni sul bus CAN (e esclusione di responsabilità)
Informazioni sul bus CAN (e esclusione di responsabilità)
Informazioni sul bus CAN (e esclusione di responsabilità)
Informazioni sul bus CAN (e esclusione di responsabilità)
Informazioni sul bus CAN (e esclusione di responsabilità)
Informazioni sul bus CAN (e esclusione di responsabilità)

QUI STAI APRIRE UN GRAVE BARATTOLO DI VERMI… Scherzare con il tuo veicolo/can bus può causare danni e/o il funzionamento involontario del tuo veicolo! Ti sto fornendo questo codice e le istruzioni senza alcuna garanzia o garanzia. Ti assumi tutti i rischi. Provalo mentre il veicolo è PARCHEGGIATO PRIMA! Questo progetto è in realtà abbastanza sicuro se fai semplicemente una piccola ricerca su ciò che stai facendo. Se non sai cosa significa una qualsiasi parte delle istruzioni o del codice, è probabilmente un segno che non dovresti scherzare con l'impianto elettrico della tua auto! Non accettare questo progetto. Acquista un dongle OBD bluetooth prefabbricato e usa quello. Ti auguro buona fortuna.

Ora che il disclaimer è fuori mano..può suonarti familiare? Forse simile a LAN (Ethernet) o WLAN (WiFi) che potresti avere a casa … questo perché sono tutte reti. CAN sta per Controller Area Network. È una piattaforma di comunicazione digitale che la tua auto usa per parlare con se stessa. Invece di far passare i cavi dal computer del motore a ciascun sensore, luce e dispositivo della tua auto, sono tutti controllati digitalmente sulla rete.

Il bus CAN è un protocollo di comunicazione differenziale. Ciò significa che ha bisogno solo di due fili! Non c'è Tx/Rx come potresti trovare nelle tradizionali comunicazioni seriali e nessuna trasmissione diretta tra due dispositivi. In genere si trova come un doppino intrecciato in tutto il veicolo. Lo accederai tramite la porta OBD. Non devi necessariamente capire come funziona questo protocollo a livello fondamentale, ma devi capirlo abbastanza per poter scrivere o modificare il codice Arduino.

Se vuoi seguire questo progetto, assicurati che il tuo veicolo abbia un bus CAN! Quasi tutti i veicoli oggi in circolazione hanno una porta OBD II. Hanno tutti lo stesso connettore elettrico sotto il cruscotto. Tuttavia, esistono protocolli molto diversi per la comunicazione in base al produttore dell'auto. Qualsiasi veicolo venduto negli Stati Uniti dopo il 2008 utilizza il bus CAN ISO 15765. Questo è ciò che vogliamo usare per questo progetto. Verifica che il tuo veicolo disponga di un bus CAN. Tieni presente che ogni auto è unica. Avrai una velocità del bus CAN specifica, alcuni codici OBD che devi richiedere e varie stranezze che devi mitigare lungo il percorso.

Passaggio 2: schema elettrico

Schema elettrico
Schema elettrico

Ora è il momento di iniziare a pianificare la custodia e l'installazione. La mia macchina ha una scatola dei fusibili nel cofano e una proprio sotto il cruscotto. Dov'è il tuo? È ora di iniziare a pensare.

Ho usato un fusibile sul circuito del tergicristallo poiché la mia Prius ha molti circuiti fusi proprio accanto alla porta OBD. Puoi usare il Vbatt sulla porta OBD, ma attenzione! È collegato alla batteria, quindi il dispositivo non si spegnerà mai. Cattiva idea. A seconda dell'assorbimento di corrente dell'Arduino, potrebbe uccidere la batteria nel giro di giorni o settimane se lasci sedere l'auto! Se stai utilizzando un display OLED, potresti riscontrare un burn-in eccessivo se il tuo dispositivo è sempre acceso. È molto importante che il dispositivo sia acceso.

Potresti avere una soluzione facile! Potresti avere un veicolo con un pin di alimentazione ACC/accensione sulla porta OBD. Molti pin sono specifici del produttore. Ciò significa che la tua porta OBD potrebbe avere un pin di alimentazione commutato sull'accensione. Tuttavia, non provare solo il multimetro e collegare il tuo arduino a qualsiasi cosa con 12 volt! Il tuo veicolo potrebbe avere un J1699 o un altro bus seriale che utilizza il livello logico 12v. Chissà cosa farebbe un sorteggio attuale! Controlla con l'oscilliscopio per assicurarti che la tua "sorgente a 12 volt" sia un alimentatore CC costante, non un segnale, prima di collegare l'alimentazione di arduino a qualsiasi altro pin oltre a batt sulla porta OBD.

Passaggio 3: cablaggio della porta OBD alla scheda CAN

Cablaggio della porta OBD alla scheda CAN
Cablaggio della porta OBD alla scheda CAN
Cablaggio della porta OBD alla scheda CAN
Cablaggio della porta OBD alla scheda CAN

Guarda il pinout della tua porta OBD per CAN Low e CAN High. Collega quei fili a High e Low sulla tua scheda.

Ora usa il terreno dalla tua porta OBD come terreno per questo progetto! Collega tutti i fili di terra insieme e assicurati che siano collegati a terra a questa porta OBD.

Ci concentreremo sul resto dell'interfaccia SPI della scheda CAN in pochi passaggi.

Passaggio 4: fusibile e convertitore da CC a CC

Fusibile e convertitore da CC a CC
Fusibile e convertitore da CC a CC
Fusibile e convertitore da CC a CC
Fusibile e convertitore da CC a CC
Fusibile e convertitore da CC a CC
Fusibile e convertitore da CC a CC
Fusibile e convertitore da CC a CC
Fusibile e convertitore da CC a CC

Non saltare il convertitore DC step-down! Ho distrutto accidentalmente questo progetto già una volta perché ho deciso di far funzionare Arduino a 12 volt dalla scatola dei fusibili. Penso che ci sia stato un picco di tensione da un induttore da qualche parte (Arduino era collegato allo stesso fusibile del motorino del tergicristallo) e ha fritto il mio Nano.

Consigliato: