FTDI - Comunicazione con arduino

Ciao a tutti, ho bisogno del vostro aiuto. Sto lavorando ad un progetto, il quale mi richiede di ricevere alcuni dati da una centralina della moto. Questa è già stata messa in comunicazione con il pc (tramite un apposito software), con un cavo che ho acquistato su ebay (il quale contiene un chip FTDI). La comunicazioe (se ben ho capito) dovrebbe avvenire tramite il CAN BUS.

Vorrei chiedere a voi se esiste un modo per prendere questi dati ed elaborarli con arduino.

Vi posto il link del cavo che ho acquistato: https://www.amazon.it/409-1-scanner-Volkswagen-autom%C3%B3vil-antes/dp/B07FQX3X7S/ref=asc_df_B07FQX3X7S/?tag=googshopit-21&linkCode=df0&hvadid=279778134840&hvpos=1o3&hvnetw=g&hvrand=831060051420029941&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1008957&hvtargid=pla-624609922684&psc=1

Vi ringrazio anticipatamente, spero di essere stato abbastanza chiaro :)

NO, quel cavo lo colleghi solo al PC, richiede difatti una USB Host (cosa che su Arduino non hai) e ... tanto software per farlo funzionare.

La cosa migliore, se vuoi fare un prgetto del genere con Arduino, è trovare una di queste interfaccie CAN (sono quasi tutte basate sul chip ELM 327) che colloquia però in Bluetooth e mettere un modulo Bluetooth collegato ad Arduino per ricevere trasmettere le informazioni.

NON è cosa banalissima e richiede una discreta esperienza lato programmazione ... purtroppo, nella tua scarna presentazione, NON ci hai fornito le informazioni più importanti che una presentazione dovrebbe dare (... quali conoscenze hai esattamente di elettronica e di programmazione).

Guglielmo

In casa avevo già un modulo bluetooth con chip ELM327 (il quale usavo in passato per far comunicare arduino uno e la macchina) ma non viene visto nessun dato con la centralina della moto. Mi sono informato meglio e ho visto che il chip ELM327 non è "supportato" dalla centralina, ma è necessario il chip FTDI.

Mi scuso per la presentazione non eccezionale, comunque sono un ingegnere informatico, non ho molti problemi con la programmazione

Sfede_: ... ma è necessario il chip FTDI.

A me NON risulta che FTDI faccia questo genere di chip (ma potrei sbagliare) ... quello che fa FTDI è l'interfaccia seriale verso la USB, ma il chip all'interno, che decodifica il CAN bus, deve essere un'altro ... ::)

Guglielmo

Di elettronica non ne capisco molto purtroppo, mi affido su quello che leggo sul web (per queste cose). E' possibile capire in qualche modo di che chip si tratta?

Ma avendo in cavo che ho linkato all'inizio, andando a prendere i due cavi segnale che corrono verso la usb, non si riesce a ricavare nulla? O quei due cavi devo essere inseriti in una scheda can bus apposita?

Ma chiariamo bene, perché non ho capito io: tu parli di un cavo OBD2 ma poi di CAN-BUS, la comunicazione è CAN-BUS o OBD2? Perché potrei anche sbagliare ma per quanto ne so, l’OBD2 è un protocollo il quale a livello fisico contiene ANCHE i segnali CAN-BUS ma sono qualcosa di diverso. Se quel cavo che hai acquistato funziona, credo che sua OBD2 quindi dovresti vedere se ci sono interfacce OBD2 per Arduino, io conosco solo uno shield CAN-BUS che presi per il mio scooter (che NON ha OBD2 ma un protocollo proprietario basato su CAN) e che in questo periodo sto iniziando a provare…

Sfede_:
… Mi sono informato meglio e ho visto che il chip ELM327 non è “supportato” dalla centralina …

… e NON mi risulta neanche questo.

Il cavo che tu hai linkato parla di compatibilità con “trasmissione iso9141 e kwp2000” (lo leggi nelle specifiche).

Bene, QUESTO modello di adattatore Bluetooth basato sempre su ELM327 V2.1 parla prioprio di KWP2000 ISO9141-2 … ::slight_smile:

Ho idea che devi informarti bene sul protocollo utilizzato dalla tua moto e vedere con quale adattatore Bluetooth è compatibile.

Guglielmo

P.S.: NO, non puoi tagliare un cavo USB e prendere i segnali USB … ti ho già detto che occorre una USB Host che non hai su Arduino.
P.P.S.: Quello che vedi e leggi sul web sono al 95% delle emerite “bojate” scritte spesso da incompetenti … quindi tutto da prendere con le molle.

docdoc: ... io conosco solo uno shield CAN-BUS che presi per il mio scooter (che NON ha OBD2 ma un protocollo proprietario basato su CAN) e che in questo periodo sto iniziando a provare...

... c'è anche questa possibilità, che quella moto NON utilizzi lo standard OBD2, ma solo segnali su CAN che poi occorre interpretare ... e quindi, ancora, sarebbe bene informarsi presso il produttore.

Guglielmo

P.S.: ... anche se, il cavo che ha indicato (QUESTO) parla proprio di OBD2 ... ::)

Sfede_:
ricevere alcuni dati da una centralina della moto. Questa è già stata messa in comunicazione con il pc (tramite un apposito software), con un cavo che ho acquistato su ebay (il quale contiene un chip FTDI). La comunicazioe (se ben ho capito) dovrebbe avvenire tramite il CAN BUS.

Allora, se QUEL cavo ti ha funzionato correttamente con un programma di diagnostica, allora credo sia OBD2 perché nella descrizione del tuo cavo leggo:

Questo cavo non può funzionare se l’ auto utilizza un sistema di protocollo/Bus come VPW, PWM o CAN-Bus

Quindi direi di scordarti il CAN-Bus, ti serve qualcosa per interfacciarti con il protocollo OBD2 e qui forse ti basterebbe, come ti ha suggerito Guglielmo, un adattatore OBD2/Bluetooth e vedere cosa ricevi se ti colleghi via Bluetooth.

Ma temo che dovresti poi studiarti il protocollo ed i messaggi specifici del produttore della tua moto, o verificare se nel connettore della tua moto (a proposito, quale?) ci siano anche i due pin del CAN-Bus.

E’ una ricerca ed una verifica che devi fare tu se vuoi approfondire la cosa.

Allora la moto ha un connettore a due pin, infatti ho dovuto acquistare un adattatore di questo tipo -Adapter OBD Ducati, MV Agusta, Moto Morini, Moto Guzzi.

Collegando a questo cavo il modulo bluetooth ELM327 non funziona, ovvero non restituisce alcun dato come lettura, mentre sulla macchina si.

Cercherò di reperire maggiori informazioni sulla centralina, penso sia l’unica via da seguire.

Sfede_: Allora la moto ha un connettore a due pin, infatti ho dovuto acquistare un adattatore di questo tipo Collegando a questo cavo il modulo bluetooth ELM327 non funziona, ovvero non restituisce alcun dato come lettura, mentre sulla macchina si.

Ah, allora il discorso cambia abbastanza, io avevo capito che invece ti funzionasse anche con la moto... Intanto: ma che moto hai? Se non hai una moto Ducati, MV Agusta, Moto Morini, o Moto Guzzi, mi sa che hai acquistato inutilmente quel cavo.

Sempre che io sappia, l'OBD2 è implementato solo sulle auto (e neanche tutte, ad esempio la mia vecchia Ford Focus del 1999 ha un protocollo diverso) e forse su moto di fascia (molto) alta.

Visto che parli di "due pin" (ma dovrebbero essere 3, verifica bene...) allora è probabile che torni il discorso CAN-BUS che anzi penso sia il più probabile. In tal caso io sto facendo qualche prova proprio con uno come QUESTO shield, che usa il CAN Bus controller MCP2515 e mette a disposizione l'interfaccia SPI.

Se riesco a fare le prove questa Domenica, ti faccio sapere. Ma intanto tu verifica per bene con il produttore della tua moto quale tipo di interfaccia abbia la tua moto.

Il modulo bluetooth ELM327 funziona solo sull'auto (collegato ad arduino con un hc-05). Nella moto non funziona. Nella moto funziona solo la combinazione dei due cavi che ho postato (con un programma nel pc).

La moto è una guzzi, ma leggendo nel forum ufficiale dicono che sia un ISO 9141 il protocollo e che nessuna guzzi abbia il CAN-BUS.

Il connettore della moto ha 3 piedini (hai ragione tu), ma solamente due fili entrano in questo connettore, ciò mi fa pensare che solamente due piedini sia effettivamente funzionati. Inoltre c'è da dire che questo tipo di prese hanno bisogno della connessione alla batteria per poter funzionare (per un discorso dei ritorno dati, qualcosa del genere, che non ho ben capito).

Quindi mi resta da capire effettivamente se sia iso 9141 oppure can-bus.

Sicuramente se vuloi interfacciarti direttamente ti occorre sapere le caratteristiche elettriche e di protocollo di quel connettore a 3 pin della moto (concordo, ne bastano 2 in genere ad esempio CAN-H e CAN-L il piedino in più o è una alimentazione o GND).

Se collegando entrambi i cavi al PC ti funziona, è possibile che il chip che c'è nella scatoletta faccia tutto lei a seconda del tipo di connessione disponibile, ma non potendo giurarlo confermo che devi chiedere quale tipo di interfaccia sia esattamente quella porta a 3 pin e quale protocollo e versione esatta usi (ad esempio dell'ISO-9141 vedo che ci sono alcune varianti, vedi ad esempio QUI dove mostrano una interfaccia ISO-9141-2).

Prova ad investigare meglio nei forum Guzzi, perché ho l'impressione che sia solo un sottoinsieme dell'OBD2. Ciao!