In questa sezione vedremo come realizzare un “monitor CAN BUS di tipo universale isolato galvanicamente” utilizzando la piattaforma Arduino con lo shield CAN-ISO (RubinoLab) e l’interfaccia grafica CANHacker.
Un dispositivo professionale “completo” utilizzabile per tutti i protocolli CAN-BUS, da quello per settore automobilistico a quello industriale.
Per l’acquisto di CAN-ISO: LINK
Un dispositivo CAN che consente di scrivere/leggere su Canbus per eseguire operazioni di diagnostica, analisi sul traffico di rete, identificazione problemi di rete, ecc. Ad esempio:
Nel settore automotive: può essere utilizzato per leggere i codici di errore delle auto, moto, ecc. che utilizzano OBD-II oppure eseguire operazioni di “Canbus Reverse Engineering” monitorando lo scambio di dati CAN tra unità lato motore, o inviare comandi per resettare codici di errore, eseguire test a banco di singoli sottosistemi, ecc
Nella industria: con il monitoraggio della rete è possibile aiutare i gestori di una rete CAN a identificare se una rete funziona normalmente o è congestionata. Inoltre, possono essere identificati i colli di bottiglia all’interno di una rete per migliorare le prestazioni aggiornando l’infrastruttura.
Identificazione dei problemi: Come accennato in precedenza, oltre a leggere/scrivere su CAN è possibile identificare tutti i problemi relativi alla rete. Dalle informazioni acquisite via CAN è possibile identificare i pacchetti errati e/o identificare il nodo che non ha risposto alle richieste. Ciò facilita l’identificazione dei dispositivi difettosi all’interno della rete e offre la possibilità di intraprendere azioni correttive rapide.
Ecco di cosa hai bisogno
Compra l’hardware:
Download il software:
Ora siamo pronti per iniziare!
Caratteristiche
Prima dell’installazione, vediamo cosa sono i software “Arduino canbus monitor” e “CANHacker tool”.
Lo sketch “Arduino canbus monitor”, implementa il protocollo CAN ASCII/SLCAN compatibile con CAN232/CANUSB di Lawicel. Esso può essere usato per monitorare una gran parte di protocolli CAN. Note: Per velocità CAN che eccedono i 500kbps con una alta densità di dati sulla porta seriale di Arduino, la porta seriale può diventare un collo di bottiglia.
L’interfaccia grafica “CANHacker tool” di (Lawicel) si interfaccia a “Arduino canbus monitor”. Essa implementa una comunicazione CAN con:
- invia & riceve Can Frames
- supporta lo standard (11 bit) & esteso (29 bit) frames
- supporta remote frames (RTR)
- supporta filter ID (mask + code)
- supporta can baudrates da 10Kbps fino a 1Mbps
- supporta MCP2515 @ 16 MHZ
Ora vedremo passo passo come installare il software “Arduino canbus monitor” e “CANHacker tool”.
Installazione
Ora possiamo usare il nostro “sniffer” o “monitor canbus”.
- Connettere il dispositivo CAN (Arduino+CAN-ISO shield) al PC. Aspetta che Windows assegni un numero di porta seriale COM. Verifica il numero di porta seriale assegnata da Windows in “Gestione dispositivi”.
- Avvia il software CANHacker, e in “Setting” scegliere:
- CAN Device: la porta COM assegnata a Arduino da windows
- COM Baudrate: 115200 bits/s
- CAN Baudrate: velocità della porta CAN
Fare clic sul pulsante “OK”, quindi su “Connect”. Divertiti! Monitora il tuo Can bus, salva i valori, invia messaggi, fai quello che può fare il tuo software di analisi/visualizzazione.
EXAMPLE 01
In questo test effettueremo un test di comunicazione Canbus tra due schede “Arduino UNO” con lo shield “CAN-ISO”.
Per il test occorrono:
(2) boards “ARDUINO UNO”
(2) Shields “CAN-ISO”
(1) cavo Canbus
Per utilizzare lo stesso PC per leggere/scrivere su Canbus, utilizzeremo un “terminale Windows” e come interfaccia grafica “CANHacker”.
Lo sketch per la prima scheda Arduino è “CANINO”, mentre nella seconda “Arduino canbus monitor”
Download CANINO
Download Arduino canbus monitor
Ora è possibile avviare i seguenti terminali dopo averli configurati:
CANHacker: configura la porta COM, la velocità CAN (per la board con Arduino canbus monitor);
CANINO: configura la porta COM, la velocità CAN (per la board con Canino);
Nella figura, per esempio, possiamo vedere l’invio della stringa @00A0102030405060708 dal “terminale seriale di Windows” via CAN all’interfaccia grafica “CANHacker”.
Conclusioni
Con questa soluzione avremo un completo tool, galvanicamente isolato per molteplici usi, a basso costo.
Contattateci per farci conoscere le vostre opinioni, o proporci una vostra idea/progetto. Per scriverci: info(at)rubinolab dot com
Per l’acquisto di CAN-ISO: LINK
Enjoy!