logo
Benvenuto, ospite. Per favore accedi o registrati per attivare tutte le funzioni: Accedi o Registrati.

Notifica

Icon
Error

6 Pagine123>»
Condividi
Opzioni
Vai all'ultimo messaggio Vai al primo messaggio non letto
Online zikkio  
#1 Inviato : martedì 23 giugno 2020 20.16.30(UTC)
zikkio

Rank: Ace driver

Iscritto: 24/07/2013(UTC)
Messaggi: 1,805
Italy
Scrive da: Torino/Biella

Ha ringraziato: 1808 volte
E' stato ringraziato: 611 volte in 407 messaggi
Durante il periodo di quarantena forzata, ho rispolverato un vecchio progetto (di fatto mai iniziato) per la creazione di un quadro strumenti digitale per la mia carriola e vorrei condividere con voi gli avanzamenti (visto che non sono bravo nella meccanica come molti di voi... proviamo con qualcosa che è più nelle mie corde book6). So benissimo che esistono prodotti commerciali a prezzi ragionevoli; se dovessi convertire il tempo che ho speso e spenderò in €, probabilmente sarebbe 3-4x il costo di una soluzione già fatta, ma volevo cmq smanettare un po' ed avere qualcosa di "mio" al 100%, quindi eccoci qua. angle

Features:

  • quadro strumenti digitale (RPM, velocità, temp acqua, temp olio, livello olio, livello benzina)
  • data logger
  • GPS laptimer (POC fatta, TBD)


Hardware:

  • raspberry Pi 3b+
  • schermo IPS 7"
  • interfaccia OBD2 bluetooth (il classico dongle cinese da pochi € basato su ELM327)
  • scheda conversione AD per input analogici (WIP)
  • circuitino per gestione tasti/funzioni da interfacciare con GPIO (WIP)
  • convertitore DC/DC per alimentare il tutto (TBD)
  • cavetteria varia ed eventuale (TBD)


Software:

  • raspbian OS (debian buster)
  • progetto custom python 3.x per la gestione della parte grafica e di I/O con il dongle, GPIO e board AD
  • libreria Adafruit per interfaccia GPIO e convertitore AD MCP3008, giusto per non reinventare la ruota (che, insomma, mi pare già ci sia parecchia carne al fuoco)


Come dicevo in apertura del post, ci ho lavorato un po' nei mesi scorsi, ad ora la situazione attuale è:

  • interfaccia grafica impostata, non ho speso troppo tempo sulle "finezze grafiche", ma mi pare cmq ad un buon punto
  • interfacciamento OBD2 impostato: purtroppo la 106 non implementa molte funzioni standard OBD2 e molte delle info del quadro stock sono gestite direttamente dagli strumenti; inizialmente speravo di fare tutto con il dongle, ma le prime prove on the road mi hanno fatto valutare anche di interfacciarmi direttamente con l'impianto elettrico
  • ingressi analogici: qui sono molto WIP, purtroppo le mie conoscenze di elettronica risalgono alle superiori; ho dei buoni ricordi ma anche tanti dubbi (farò un post dedicato in questo thread)
  • GPS laptimer: ho giusto configurato l'antenna e verificato di poter leggere i dati; in parallelo ho iniziato a fare qualche prova sul riconoscimento del taglio del traguardo (direi fondamentale per capire quando inizia/finisce un giro cheese) con risultati un po' scarsini come precisione ma tutto sommato sufficenti per dire "si può fare"


Allego qualche foto/video afro

IMG_20200604_180716.jpg
Hardware

IMG_20200602_145252.jpg
Road (o meglio, box) test

schermo+simulatore.mp4 (3,065KB) scaricato 44 volte.
Qui il quadro collegato ad un simulatore OBD, che manda dati un po' a caso, ma comodo per testare la reattività

sweep.mp4 (3,284KB) scaricato 44 volte.
Sweep test: mando tutti gli strumenti al 100% ed accendo tutte le spie, una sorta di "self-check"

Commenti, critiche, suggerimenti, insulti... tutto ammesso! :)

Modificato dall'utente venerdì 26 giugno 2020 9.56.30(UTC)  | Motivo: Non specificato

UserPostedImage
thanks 9 utenti hanno ringraziato zikkio per questo utile messaggio.
wpc692 il 23/06/2020(UTC), PaoloZ il 24/06/2020(UTC), EZ9 il 24/06/2020(UTC), linuc il 24/06/2020(UTC), rhencullen il 24/06/2020(UTC), Crono89 il 24/06/2020(UTC), GT il 24/06/2020(UTC), FrancoZ il 25/06/2020(UTC), mughi il 25/06/2020(UTC)
Offline lane  
#2 Inviato : martedì 23 giugno 2020 21.36.52(UTC)
lane

Rank: Pro driver

Iscritto: 16/10/2011(UTC)
Messaggi: 476
Scrive da: Italy

Ha ringraziato: 63 volte
E' stato ringraziato: 77 volte in 64 messaggi
Sei un grandissimo
thanks Un utente ha ringraziato lane per questo utile messaggio
zikkio il 23/06/2020(UTC)
Offline PaoloZ  
#3 Inviato : mercoledì 24 giugno 2020 6.27.07(UTC)
PaoloZ

Rank: Pro driver

Iscritto: 29/10/2016(UTC)
Messaggi: 620
Scrive da: Gölem

Ha ringraziato: 786 volte
E' stato ringraziato: 267 volte in 150 messaggi
Postato in origine da: zikkio Vai al messaggio citato
se dovessi convertire il tempo che ho speso e spenderò in €, probabilmente sarebbe 3-4x il costo di una soluzione già fatta, ma volevo cmq smanettare un po' ed avere qualcosa di "mio" al 100%


bravo bravo bravo
Tanta invidia per chi riesce ad autocostruirsi giochini del genere, io non ci provo nemmeno a buttarmi in queste cose.
Il tempo legato alla passione non ha prezzo, e qui dentro lo sappiamo tutti.

Ma per il solo materiale cosa costa ?

thanks 2 utenti hanno ringraziato PaoloZ per questo utile messaggio.
zikkio il 24/06/2020(UTC), EllePi il 06/12/2020(UTC)
Online zikkio  
#4 Inviato : mercoledì 24 giugno 2020 7.56.17(UTC)
zikkio

Rank: Ace driver

Iscritto: 24/07/2013(UTC)
Messaggi: 1,805
Italy
Scrive da: Torino/Biella

Ha ringraziato: 1808 volte
E' stato ringraziato: 611 volte in 407 messaggi
Grazie :) Concordo al 100% sul tempo investito sulle nostre passioni ;)

Postato in origine da: PaoloZ Vai al messaggio citato
Ma per il solo materiale cosa costa ?


Dovrebbe essere attorno ai 200 €: il raspberry l'avevo pagato circa 100 € tra scheda, case e accessori elettronici vari per lo sviluppo, il monitor 60 €, il dongle OBD penso una 20ina.
Mi resta da capire se comprare una board già fatta per i convertitori analogico-digitali (*) e prendere i connettori automotive per collegarmi alle spine del cruscotto originale (una decina d'euro).

*: in teoria avrei già un convertitore, era compreso nei vari accessori che ho preso con il raspberry e lo sto usando nella board prototipo. Servirebbe però qualcosa di già saldato/pronto, la board così com'è non posso montarla in auto.
UserPostedImage
thanks Un utente ha ringraziato zikkio per questo utile messaggio
PaoloZ il 24/06/2020(UTC)
Offline Farlock  
#5 Inviato : mercoledì 24 giugno 2020 8.28.47(UTC)
Farlock

Rank: Ace driver

Iscritto: 07/12/2015(UTC)
Messaggi: 1,235
Italy
Scrive da: Roma

Ha ringraziato: 566 volte
E' stato ringraziato: 775 volte in 399 messaggi
Molto fico il progetto!
Ho fatto quasi la stessa cosa sotto covid anche io :D
L'implementazione del laptimer l'ho lasciata perdere per diversi motivi, tra cui il fatto che racechrono ha un milione di vantaggi rispetto alla soluzione custom. Rimane una bella sfida, quindi in bocca al lupo per lo sviluppo :D
Per la conversione A/D valuta se usare un integrato standard o addirittura un arduino con cui gestire tutti gli input per poi girarli via seriale al raspberry pi. Una scheda arduino, magari replica, la paghi una sciocchezza e si programma molto agevolmente.
Firma_Farlock
thanks Un utente ha ringraziato Farlock per questo utile messaggio
zikkio il 24/06/2020(UTC)
Offline brambil  
#6 Inviato : mercoledì 24 giugno 2020 8.37.15(UTC)
brambil

Rank: Ace driver

Iscritto: 25/09/2014(UTC)
Messaggi: 1,064
Italy
Scrive da: Faenza

Ha ringraziato: 613 volte
E' stato ringraziato: 379 volte in 266 messaggi
Postato in origine da: Farlock Vai al messaggio citato
Molto fico il progetto!
Ho fatto quasi la stessa cosa sotto covid anche io :D
L'implementazione del laptimer l'ho lasciata perdere per diversi motivi, tra cui il fatto che racechrono ha un milione di vantaggi rispetto alla soluzione custom. Rimane una bella sfida, quindi in bocca al lupo per lo sviluppo :D
Per la conversione A/D valuta se usare un integrato standard o addirittura un arduino con cui gestire tutti gli input per poi girarli via seriale al raspberry pi. Una scheda arduino, magari replica, la paghi una sciocchezza e si programma molto agevolmente.


Su Arduino occorre stare attenti perché, specie i cloni, sono molto sensibili ai campi E.M. perciò nel caso prevedi un pulsante che forzi il reboot della scheda Arduino.
thanks Un utente ha ringraziato brambil per questo utile messaggio
zikkio il 24/06/2020(UTC)
Offline Farlock  
#7 Inviato : mercoledì 24 giugno 2020 8.45.27(UTC)
Farlock

Rank: Ace driver

Iscritto: 07/12/2015(UTC)
Messaggi: 1,235
Italy
Scrive da: Roma

Ha ringraziato: 566 volte
E' stato ringraziato: 775 volte in 399 messaggi
Postato in origine da: brambil Vai al messaggio citato
Su Arduino occorre stare attenti perché, specie i cloni, sono molto sensibili ai campi E.M. perciò nel caso prevedi un pulsante che forzi il reboot della scheda Arduino.


Sul serio? io lo ho usato in auto per anni e non ho mai avuto nessun problema book6 devo informarmi.
Firma_Farlock
Online zikkio  
#8 Inviato : mercoledì 24 giugno 2020 12.37.15(UTC)
zikkio

Rank: Ace driver

Iscritto: 24/07/2013(UTC)
Messaggi: 1,805
Italy
Scrive da: Torino/Biella

Ha ringraziato: 1808 volte
E' stato ringraziato: 611 volte in 407 messaggi
Ma arduino ha già a bordo dei convertitori AD? Non credo cambierebbe più di tanto la situazione attuale, perchè quello che mi sta dando da pensare è la parte di interfacciamento elettrico, nel senso che il quadro (la parte di input analogico) non deve interferire con la ECU falsando ad esempio la temperatura acqua o altri segnali usati anche per la gestione del motore. Dovrebbero essere tutti segnali di tensione che vado a leggere in parallelo (dal punto di vista elettrico), quindi fornendo una resistenza in ingresso molto alta non andrei a rubare troppa corrente all'impianto originale... credo che anche il quadro attuale funzioni allo stesso modo.

L'MCP3008 ha una Vref a 3.3 o 5V (anche altri AD non arrivano a 12V), quindi dovrò cmq fare un divisore di tensione tipo questo:
UserPostedImage

Non mi è chiaro se basterà (perchè l'AD ha cmq la giusta resistenza/impedenza in ingresso) o no... book6

Come dicevo sopra, per evitare troppe saldature di precisione (che non fa parte delle mie capacità), pensavo di usare delle board con morsetti tipo questa:
UserPostedImage
UserPostedImage
Offline Farlock  
#9 Inviato : mercoledì 24 giugno 2020 19.04.45(UTC)
Farlock

Rank: Ace driver

Iscritto: 07/12/2015(UTC)
Messaggi: 1,235
Italy
Scrive da: Roma

Ha ringraziato: 566 volte
E' stato ringraziato: 775 volte in 399 messaggi
i segnali dei sensori automotive sono quasi tutti 0-5v, quindi basta che ti colleghi in parallelo senza voltage divider.
i convertitori A/D(arduino li ha onboard) hanno resistenze enormi in input, quindi non distorci nulla e non dai fastidio alla centralina.
L'unico dato "complicato" da prelevare è il numero di giri. Anni fa lo feci con un fotoaccoppiatore, usciva un segnale digitale (un onda quadra) e la davo sempre in pasto ad arduino che ha un input asincrono utilizzabile per calcolare la frequenza dell'onda/numero di giri motore.
Firma_Farlock
thanks Un utente ha ringraziato Farlock per questo utile messaggio
zikkio il 24/06/2020(UTC)
Online zikkio  
#10 Inviato : mercoledì 24 giugno 2020 19.10.40(UTC)
zikkio

Rank: Ace driver

Iscritto: 24/07/2013(UTC)
Messaggi: 1,805
Italy
Scrive da: Torino/Biella

Ha ringraziato: 1808 volte
E' stato ringraziato: 611 volte in 407 messaggi
Postato in origine da: Farlock Vai al messaggio citato
i segnali dei sensori automotive sono quasi tutti 0-5v, quindi basta che ti colleghi in parallelo senza voltage divider.
i convertitori A/D(arduino li ha onboard) hanno resistenze enormi in input, quindi non distorci nulla e non dai fastidio alla centralina.
L'unico dato "complicato" da prelevare è il numero di giri. Anni fa lo feci con un fotoaccoppiatore, usciva un segnale digitale (un onda quadra) e la davo sempre in pasto ad arduino che ha un input asincrono utilizzabile per calcolare la frequenza dell'onda/numero di giri motore.


Aaaaaaaaa che belle notizie! Grazie per le info!

Mi va di coulomb (per restare in tema): gli rpm li prendo da OBD :)
UserPostedImage
Offline Farlock  
#11 Inviato : giovedì 25 giugno 2020 7.55.41(UTC)
Farlock

Rank: Ace driver

Iscritto: 07/12/2015(UTC)
Messaggi: 1,235
Italy
Scrive da: Roma

Ha ringraziato: 566 volte
E' stato ringraziato: 775 volte in 399 messaggi
Postato in origine da: zikkio Vai al messaggio citato
Aaaaaaaaa che belle notizie! Grazie per le info!

Mi va di coulomb (per restare in tema): gli rpm li prendo da OBD :)


Controlla solo la velocità di refresh. a seconda dell'obd (dipende anche dalla macchina) e della quantità di dati che vuoi visualizzare, potrebbe essere un po' lento. Diciamo che va bene per indicare la marcia ma magari non per una shift light :)
Comunque se ti serve qualcosa chiedi pure, per quel poco che so, provo ad aiutarti :D
Firma_Farlock
thanks Un utente ha ringraziato Farlock per questo utile messaggio
zikkio il 25/06/2020(UTC)
Offline Alfatester  
#12 Inviato : giovedì 25 giugno 2020 10.20.24(UTC)
Alfatester

Rank: Pro driver

Iscritto: 04/10/2017(UTC)
Messaggi: 389
Italy
Scrive da: Torino

Ha ringraziato: 471 volte
E' stato ringraziato: 161 volte in 111 messaggi
Ciao, intanto complimentissimi perchè secondo me alla fine, a fronte di un grosso inevitabile sbattimento, verrà fuori un gran bel lavoro!!

Per quanto riguarda gli €€€€ non penso affatto che avresti speso meno a prenderne uno bell'e pronto.

Il mio l'ho pagato circa 500 sterline (era un seminuovo Km0. Diciamo solo aperto mai usato, e funziona. Di norma per un nuovo nuovo credo ci siano 100sterline in più, vado a memoria).

Ecco il mio

UserPostedImage

Ma come vedi non è a colori! Diciamo che è la versione super base di uno schermo completo con tutte le temp (che non faccia solo contagiri...)

Quindi grandissimo lavoro e complimenti!! bravo bravo bravo bravo
Mx5 NB Honda K20
EX -- Alfa 75 2.0 Twin Spark 1987
Alfa Giulietta 2.0 1985
Alfa 166 V6 3.2 24v 2003
thanks Un utente ha ringraziato Alfatester per questo utile messaggio
zikkio il 25/06/2020(UTC)
Offline brambil  
#13 Inviato : giovedì 25 giugno 2020 10.51.23(UTC)
brambil

Rank: Ace driver

Iscritto: 25/09/2014(UTC)
Messaggi: 1,064
Italy
Scrive da: Faenza

Ha ringraziato: 613 volte
E' stato ringraziato: 379 volte in 266 messaggi
Postato in origine da: Farlock Vai al messaggio citato
Sul serio? io lo ho usato in auto per anni e non ho mai avuto nessun problema book6 devo informarmi.


Ti parlo per esperienza personale.

Arduino che comandava un motoriduttore in C/C tramite ponte H (sia fatto con integrati sia fatto con relé, a scopo di debugging).

Ogni X minuti il motore veniva fermato e dopo 0,5s di pausa partiva in senso opposto.
Sul banco tutto ok, anche con un solo alimentatore.
Messo in scatola unica Arduino, alimentatori (2 uno per Arduino ed uno per il MR per evitar robe spurie in input ad Arduino) e condensatore buffer con MR posizionato a circa 2m dalla scatola di comando dopo 4-5 inversioni Arduino andava in blocco e non invertiva più, display con simboli casuali, pulsante non prendeva il segnale.
Reset della board e ripartiva perfetto.

Aperto il box, messa la board Arduino in una scatola dedicata un po' distanziata dagli stadi di alimentazione e dal MR tutto ok.
Suppongo che il picco di avvio del MR o l'arresto creassero campi fastidiosi per Arduino.
Online zikkio  
#14 Inviato : giovedì 25 giugno 2020 12.07.51(UTC)
zikkio

Rank: Ace driver

Iscritto: 24/07/2013(UTC)
Messaggi: 1,805
Italy
Scrive da: Torino/Biella

Ha ringraziato: 1808 volte
E' stato ringraziato: 611 volte in 407 messaggi
Postato in origine da: Farlock Vai al messaggio citato
Controlla solo la velocità di refresh. a seconda dell'obd (dipende anche dalla macchina) e della quantità di dati che vuoi visualizzare, potrebbe essere un po' lento. Diciamo che va bene per indicare la marcia ma magari non per una shift light :)


Nelle prove che ho fatto, ottengo un valore in circa 5-6 ms (tempo misurato da quando mando la richiesta a quando ricevo la risposta), direi ben oltre quello che sono in grado di vedere io mentre guido cheese Ad ora cmq sto leggendo i dati ad una frequenza di circa 60 Hz, a frequenze superiori non riuscirei a visualizzare i dati sul display (tra l'altro devo controllare, forse non arriva a 60Hz)

Ah, visto che si parla di marce, ho sviluppato un contamarce software che "indovina" la marcia in funzione della velocità e dei giri motore (ovviamente è configurato sull'attuale rapportatura del cambio). Sulla carta funziona, sarà poi da provare sul campo... sicuramente durante i cambi marcia andrà un po' in palla cheese

Postato in origine da: Farlock Vai al messaggio citato
Comunque se ti serve qualcosa chiedi pure, per quel poco che so, provo ad aiutarti :D


Grazie per il supporto blue e grazie a tutti per i complimenti. grouphug
UserPostedImage
Offline Farlock  
#15 Inviato : giovedì 25 giugno 2020 12.28.32(UTC)
Farlock

Rank: Ace driver

Iscritto: 07/12/2015(UTC)
Messaggi: 1,235
Italy
Scrive da: Roma

Ha ringraziato: 566 volte
E' stato ringraziato: 775 volte in 399 messaggi
Postato in origine da: zikkio Vai al messaggio citato
Nelle prove che ho fatto, ottengo un valore in circa 5-6 ms (tempo misurato da quando mando la richiesta a quando ricevo la risposta), direi ben oltre quello che sono in grado di vedere io mentre guido cheese Ad ora cmq sto leggendo i dati ad una frequenza di circa 60 Hz, a frequenze superiori non riuscirei a visualizzare i dati sul display (tra l'altro devo controllare, forse non arriva a 60Hz)

Ah, visto che si parla di marce, ho sviluppato un contamarce software che "indovina" la marcia in funzione della velocità e dei giri motore (ovviamente è configurato sull'attuale rapportatura del cambio). Sulla carta funziona, sarà poi da provare sul campo... sicuramente durante i cambi marcia andrà un po' in palla cheese



Grazie per il supporto blue e grazie a tutti per i complimenti. grouphug


Accidenti! 5-6ms a messaggio è NIENTE. Allora vai tranquillo con questa configurazione ;)
Il contamarce lo ho fatto che io così. Se dai un po' di margine alle rapportature, funziona perfettamente. Intendo dire che consider il cambio in prima se il rapporto è compreso tra tot e tot, e così via.

Firma_Farlock
Online zikkio  
#16 Inviato : giovedì 25 giugno 2020 17.44.32(UTC)
zikkio

Rank: Ace driver

Iscritto: 24/07/2013(UTC)
Messaggi: 1,805
Italy
Scrive da: Torino/Biella

Ha ringraziato: 1808 volte
E' stato ringraziato: 611 volte in 407 messaggi
Postato in origine da: Farlock Vai al messaggio citato
Accidenti! 5-6ms a messaggio è NIENTE. Allora vai tranquillo con questa configurazione ;)
Il contamarce lo ho fatto che io così. Se dai un po' di margine alle rapportature, funziona perfettamente. Intendo dire che consider il cambio in prima se il rapporto è compreso tra tot e tot, e così via.


Tu hai rilevato tempi più alti? Non vorrei ricordare male (cioè i tempi del simulatore e non quelli reali)...
UserPostedImage
Offline Farlock  
#17 Inviato : venerdì 26 giugno 2020 8.23.11(UTC)
Farlock

Rank: Ace driver

Iscritto: 07/12/2015(UTC)
Messaggi: 1,235
Italy
Scrive da: Roma

Ha ringraziato: 566 volte
E' stato ringraziato: 775 volte in 399 messaggi
Postato in origine da: zikkio Vai al messaggio citato
Tu hai rilevato tempi più alti? Non vorrei ricordare male (cioè i tempi del simulatore e non quelli reali)...


Per mia esperienza(molto limitata), difficilmente si va oltre i 10-15hz. Questo poi va diviso per il numero di canali che vuoi leggere.
Ci sono un po' di accorgimenti per ottimizzare ma non stravolgono la situazione. Magari sulla tua è particolarmente veloce o io ho sbagliato qualcosa in passato, non saprei.
A seconda del chip che è nell'interfaccia (ELM327 o STN1110) puoi usare dei comandi che velocizzano la comunicazione. Poi non so se ti sei scritto tu il sw di interfaccia o hai utilizzato qualche api già pronta.
Firma_Farlock
thanks Un utente ha ringraziato Farlock per questo utile messaggio
zikkio il 26/06/2020(UTC)
Online zikkio  
#18 Inviato : venerdì 26 giugno 2020 8.42.45(UTC)
zikkio

Rank: Ace driver

Iscritto: 24/07/2013(UTC)
Messaggi: 1,805
Italy
Scrive da: Torino/Biella

Ha ringraziato: 1808 volte
E' stato ringraziato: 611 volte in 407 messaggi
Oggi se riesco rifaccio qualche prova, giusto per non trovarmi poi alla fine ad avere un contagiri "lento"...

Uso un ELM327 pilotato direttamente da me via seriale con configurazione standard (38400 baud, CAN
settato con AT IB 10).
UserPostedImage
Feed RSS  Feed Atom
Utenti che leggono la discussione
6 Pagine123>»
Vai al forum  
Tu NON puoi creare discussioni in questo forum.
Tu NON puoi rispondere alle discussioni in questo forum.
Tu NON puoi cancellare messaggi in questo forum.
Tu NON puoi modificare messaggi in questo forum.
Tu NON puoi creare sondaggi in questo forum.
Tu NON puoi votare nei sondaggi in questo forum.