Come funziona il can bus
Can bus for dummies
Quasi tutte le auto più recenti supportano OBD2 e la maggior parte funziona su CAN (ISO 15765). Per le auto più vecchie, siate consapevoli che anche se un connettore OBD2 a 16 pin è presente, potrebbe ancora non supportare OBD2. Un modo per determinare la conformità è identificare dove e quando è stata comprata nuova:
In particolare, lo standard OBD2 specifica il connettore OBD2, incluso un insieme di cinque protocolli su cui può funzionare. Inoltre, dal 2008, CAN bus (ISO 15765) è stato il protocollo obbligatorio per OBD2 in tutte le auto vendute negli Stati Uniti, che fondamentalmente elimina gli altri 4 protocolli nel tempo.
SAE J1962: Questo standard definisce il connettore fisico usato per l’interfacciamento OBD2, cioè il connettore OBD2. Lo standard descrive sia il connettore OBD2 del veicolo che il connettore usato dall’attrezzatura di prova esterna (per esempio uno scanner OBD2 o un registratore di dati OBD2). In particolare, lo standard detta il
SAE J1979: Lo standard SAE J1979 descrive i metodi per richiedere informazioni diagnostiche attraverso il protocollo OBD2. Include anche un elenco di ID di parametri OBD2 pubblici standardizzati (OBD2 PIDs) che gli OEM automobilistici possono implementare nelle auto (anche se non sono tenuti a farlo). Gli OEM dei veicoli possono anche decidere di
Interfaccia can bus
CAN sta per Controller Area Network, è usato per permettere ai microcontrollori e ai dispositivi di comunicare tra loro all’interno di un veicolo senza un computer host che permette il controllo e l’acquisizione dei dati. Questi dispositivi sono anche chiamati unità di controllo elettronico (ECU) e permettono la comunicazione tra tutte le parti di un veicolo.
Oggi, si possono trovare fino a 70 ECU in un’auto moderna. CAN è un bus di comunicazione seriale progettato per applicazioni industriali e automobilistiche. Per esempio, si trovano in veicoli, attrezzature agricole, ambienti industriali, ecc.
Il livello del carburante, i sensori delle porte, il contachilometri e molte altre parti di un’auto devono comunicare tra loro in qualche modo, e il CAN BUS è quello che hanno usato per farlo. Questi componenti compatibili CAN, che sono chiamati “nodi”, sono collegati con 3 fili di rame, senza un router centrale per governare il flusso di dati. Ogni nodo può ascoltare i messaggi di ogni altro nodo.
Ogni nodo ha un ID, dove quelli con l’ID più alto possono avere la priorità di “parlare” per primi mentre gli altri “ascoltano”. Questo per assicurare che non ci siano mai due nodi che parlano allo stesso tempo. Il più grande vantaggio del CAN BUS è quello di essere in grado di collegare semplicemente i componenti senza doversi preoccupare del routing del segnale.
Come leggere i dati del can bus
Il CAN-BUS Shield fornisce al vostro Arduino o Redboard le capacità del CAN-BUS e vi permette di hackerare il vostro veicolo. Questo shield vi permette di interrogare l’ECU per informazioni tra cui la temperatura del refrigerante, la posizione dell’acceleratore, la velocità del veicolo e i giri del motore. È anche possibile memorizzare questi dati o inviarli a uno schermo per fare un progetto in-dash.
Utilizza il controller CAN MCP2515 di Microchip con il transceiver CAN MCP2551. La connessione CAN è tramite un sub-D standard a 9 vie per l’uso con il cavo OBD-II. Ideale per applicazioni CAN automatiche. Lo shield ha anche un supporto per la scheda uSD, un connettore LCD seriale e un connettore per un modulo EM506 GPS. Queste caratteristiche rendono questo scudo ideale per l’applicazione di registrazione dei dati.
Come scudo, questo non funzionerà direttamente su un Arduino Mega2560, Arduino Due, ecc, perché i pin SPI sono spostati su quelle schede. Tuttavia, se hai assolutamente bisogno del Mega, avresti bisogno di ridefinire i pin, ed eseguire un ponticello dallo scudo ad uno dei pin supportati, che puoi trovare qui https://www.arduino.cc/en/Reference/SoftwareSerial. Dopo aver ridefinito i pin, puoi sempre piegare i pin se hai saldato allo scudo e reindirizzarli in modo simile a questo tutorial => http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/
Tutorial sul can bus
La sezione principale di questo articolo potrebbe essere troppo breve per riassumere adeguatamente i punti chiave. Si prega di considerare di espandere il lead per fornire una panoramica accessibile di tutti gli aspetti importanti dell’articolo. (Novembre 2020)
Un Controller Area Network (CAN bus) è un robusto standard di bus per veicoli progettato per consentire ai microcontrollori e ai dispositivi di comunicare tra loro senza un computer host. Si tratta di un protocollo basato sui messaggi, progettato originariamente per il cablaggio elettrico multiplex all’interno delle automobili per risparmiare sul rame, ma può anche essere utilizzato in molti altri contesti. Per ogni dispositivo, i dati in un frame sono trasmessi in modo sequenziale ma in modo tale che se più di un dispositivo trasmette allo stesso tempo, il dispositivo con priorità più alta può continuare mentre gli altri si tirano indietro. I frame sono ricevuti da tutti i dispositivi, compreso il dispositivo che trasmette.
Lo sviluppo del CAN bus è iniziato nel 1983 alla Robert Bosch GmbH.[1] Il protocollo è stato ufficialmente rilasciato nel 1986 alla conferenza della Society of Automotive Engineers (SAE) a Detroit, Michigan. I primi chip controller CAN furono introdotti da Intel nel 1987, e poco dopo da Philips.[1] Rilasciata nel 1991, la Mercedes-Benz W140 fu il primo veicolo di produzione a caratterizzare un sistema di cablaggio multiplex basato su CAN.[2][3]