CAN-ISO con interfaccia grafica CANHacker

CAN-ISO con interfaccia grafica CANHacker

Category : PROGETTI CAN-BUS

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

Dopo aver download “Arduino canbus monitor”:

  1. carica lo sketch “arduino-canbus-monitor.ino”
  2. Compilare e se non ci sono errori continua al punto 3. Se ci sono errori per mancanza delle librerie (“mcp_can.h” e “can-232.h”) zip il files in in una cartella (can-232.cpp, can-232.h, mcp_can.cpp, mcp_can.h, mcp_can_dfs.h) e poi da Arduino IDE: Sketch -> Include Library -> Add .ZIP Library. Riavvia Arduino IDE e vai al punto 1.
  3. Carica nella piattaforma Arduino
  4. Disconnetter e riconnettere Arduino su USB

Ora download “CANHackerV2.00.02.exe” e installa il software sulla piattaforma Windows. Dopo l’installazione, riavvia Windows. Ora siamo pronti.

Uso

Ora possiamo usare il nostro “sniffer” o “monitor canbus”.

  1. 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”.
  2. 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 scriverciinfo(at)rubinolab dot com

Per l’acquisto di CAN-ISO: LINK

Enjoy!


Leave a Reply