MarcoTrax":1r028nwv ha detto:
:nod) Una volta che si hanno i dati, nel rappresentarli ci si può sbizzarrire! Il mio obiettivo è avere il più possibile integrato nel cruscotto centrale.
Si infatti il mio problema e' avere i dati :asd)
Il mio obbiettivo era piu' ambizioso... magari meno integrazione ma molto piu' "estremo" nella rappresentazione. Un vero e proprio cruscutto digitale programmabile a piacere :elio)
Comunque capisco che la vostra soluzione e' piu' fattibile e molto meno invasiva :nod)
Kontorotsui":1r028nwv ha detto:
Io di interfacce ne ho provate un po' ma i dati che escono sulla OBD non sono validi... Ho provato 2 interfacce basate sul chip ELM: ELM4000 ed ELM2055. Ho usato il programma ScanTool e un altro che si chiama OBD-II ScanMaster.
Non ricordo dove ma avevo letto che sulle ALFA (o FIAT in generale non ricordo) i dati disponibili erano ben pochi... Inoltre su CAN-B (quella veicolo) girano pochi dati.
Esatto. Io ho usato l'ELM232 per leggere i dati dalla OBD, pero' non solo erano pochi (ma comunque sufficienti al mio scopo, almeno all'inizio)... soprattutto erano troppo leeeenti.
Altrimenti avrei avuto gia' il cruscotto sul palmare... avevo cominciato gia' a scrivere l'interfaccia grafica.
Kontorotsui":1r028nwv ha detto:
Per i Dati "interessanti" bisogna comunicare tramite linea K direttamente con la centralina motore. Oppure vedere cosa si tira fuori dalla CAN-C (quella motore) utilizzando il Body come Gateway.
Infatti io pensavo di interfacciarsi direttamente con la linea K, usando l'interfaccia MobyDick. Mi mancavano pero' i protocolli... e ora anche il tempo :mecry)
Kontorotsui":1r028nwv ha detto:
Ecco degli screen che ho fatto sulla mia con l'interfaccia ELM4000:
Esattamente quelli che ho fatto io, ma appunto i tempi di refresh sono troppo lenti.
Kontorotsui":1r028nwv ha detto:
Io uso il protocollo Standard ISO 14230 (Keyword Protocol 2000) con ID a 11-bit.
Programmo in C con MPLAB IDE V7.31. Per inviare i messaggi uso una funzione in una libreria ( CANSendMessage(Packet->ID,Packet->Data,Packet->Length,Packet->Flag); ) a cui passo i dati del pacchetto e lei si occupa di "trasferirli" al microchip apposito che invia i dati sulla rete CAN.
Ahhh, ora si ragiona
Quindi la CAN dell'Alfa Romeo usa il KWP2000. Eccellente :elio) questa me la scrivo.
Ma non ho capito una cosa... ora e' chiaro che fai il programma in C con la libreria (dove l'hai trovata? Era insieme all'interfaccia?) ma no ho capito poi dopo il software compilato dove lo metti. Fai l'upload in un chip microcontrollore come quelli di cui parli sotto? L'upload come lo fai? Via seriale?
Kontorotsui":1r028nwv ha detto:
Appena lo sento gli chiedo che chip ha usato.
su
www.microrchip.com ne trovi (ES: MCP2510 CAN Controller.. credo).
Ahhh, si grazie. Ho visto che c'e' l'MCP2515 che e' quello di ultima generazione.
Kontorotsui":1r028nwv ha detto:
Per le specifiche del protocollo KWP2000 prova su
http://www.ozenelektronik.com, li trovi di tutto. Per quanto riguarda le specifiche del cruscotto... io ci lavoro con queste cose e mi sono informato al lavoro.
Uhm, lavori al centro ricerche della Fiat?
Comunque se usa il protocollo KWP2000 sono a posto
tantopiu' che il cruscotto mi interessa molto meno. Almeno nel primo stadio del lavoro che ci voglio fare.
Eventualmente ste specifiche dei messaggi per parlare col cruscotto si potrebbero avere? :elio)
Kontorotsui":1r028nwv ha detto:
Aspetta. Mi sono spiegato male e ho commesso un errore. la velocità della rete CAN-B è di 50 Kbits.
E i dati viaggiano a quella velocità.
MA il messaggio che contiene la velocità e quello che contiene il dato dei giri motore + temperatura acqua (che vengono inviati dal Body Computer e letti dal cruscotto) arrivano rispettivamente ogni 100ms e ogni 50ms (e non ogni 250ms come ho detto prima), come da specifica.
Infatti molti sul forum hanno notato che la lancetta del contagiri non è proprio lineare e un po' scatta...
secondo me il motivo è questo :nod)
E infatti era quello che volevo sapere.
Sapevo della velocita' a 50Kbit, ma dipende ogni quanto vengono mandati i dati sulla rete. Se la frequenza e' sui 10-20Hz mi va benone
Ma questi dati di velocita', giri e temperatura dell'acqua li leggi seguendo il protocollo KWP2000?
E soprattutto, gli altri come velocita' "effettiva", reale temperatura dell'acqua, massa d'aria, ecc. li leggi sempre sulla CAN? Usando i messaggi CAN specificati nel KWP2000?
Kontorotsui":1r028nwv ha detto:
Spero di essere stato esauriente!
Ciao!!
Moltissimo :hail)
E complimenti per il lavoro che stai facendo :OK) avessi piu' tempo mi ci rimetterei su anche io.