Tachimetro auto (ex computer di bordo)

Salve a tutti, sempre per il progetto del computer di bordo, dovrei misurare la velocità dell'auto. Ora, per evitare di attaccarmi al tachimetro (analogico), avrei pensato di prendere direttamente il segnale da una zona del motore, che a detta del carburatorista dovrebbe dare un impulso ogni tot metri. Ha detto che forse per la mia auto dovrebbe dare un impulso ogni 3 metri di percorrenza. Dunque è come se avessi un segnale ad onda quadra con lo stesso duty cycle ma che aumenta la frequenza degli impulsi proporzionalmente alla velocità (spazio percorso nell'unità di tempo -> maggiore è il numero di impulsi, maggiore è la frequenza). Qualcuno sa qualcosa in più sulla questione impulsi e funzionamento del tachimetro?

Grazie anticipatamente

Artemis

Reply to
Artemis
Loading thread data ...

Ammiravo la mia cresta allo specchio quando Artemis ha detto :

il progetto è per la tua macchina o devi fare una soluzione valida su tutte? nel primo caso ti basta prendere il segnale del contagiri e avere le misure delle ruote riduzione primaria e secondaria.

--
Nuno on zx-6r '04 working in progress...
Cambiassi donna come cambio idea sarei già endorser Hatù
*** www.gladio.org ***
Reply to
N1

N1 ha scritto:

Ciao e grazie per avermi risposto. Il progetto vale solo per la mia auto (Lancia Y 8V elefantino blu anno 2000). La tua soluzione però è troppo complessa, sembra molto più semplice quella degli impulsi ogni 3 metri percorsi. Non è facile sapere le misure delle ruote di riduzione, ho già speso un mese a caratterizzare l'iniettore e ad estrapolarne la portata.

A presto

Artemis

Reply to
Artemis

Ciao, bisognerebbe trovare gli schemi elettrici della tua auto ... Magari se trovi un'officina autorizzata Lancia ti fa dare un'occhiata ! Mi ricordo che alcune centraline elettroniche di iniezione hanno il segnale di velocità, ed inoltre sempre il segnale di velocità è presente sulla centralina dell'ABS e sulla centralina del servosterzo elettrico. Però, come ti ripeto, senza schemi elettrici è difficile e rischioso andare a tentoni !!

Luca

Reply to
Luca - IW1QIF

Beh a dire il vero non è difficile sapere i rapporti "totali" da applicare. Dovrebbe essere scritto nel manuale di officina. Secondo me è una buona soluzione, unico inconveniente è che devi "leggere" la marcia corrente. Cmq prova a smontare il cruscotto perchè in teoria al tachimetro arriva un segnale pulsante proporzionale alla velocità.

Per l'iniettore non bastava fare qualche prova mettiamo con un duty del

50% e raccogliere la quantità di liquido in un contenitore? Lo fai per 1 minuto o più e fai due conti. A meno che non chiedi il DS o le specifiche al produttore.
Reply to
Er Palma

Artemis ha scritto:

Non sono convinto, secondo me sul motore avrai degli impulsi ogni giro del motore non della ruota. Dovresti poi conoscere anche la marcia inserita per conoscere i vari giri della ruota. Un mio amico aveva smontato il cruscotto digitale di una uno turbo e dentro c'era la normale corda del contachilometri collegata a un disco forato che veniva letto da diodo+ricevitore. Se non hai la possibilita' di leggere o collegarti ai sensori che ipotizzo siano collegati alla/e ruote, potresti fissarne uno accanto prendendo come esempio l'esistente.

mandi

Reply to
bertolimarco2004

"Artemis" ha scritto nel messaggio news:46961f51$0$37195$ snipped-for-privacy@reader3.news.tin.it...

non mi sembra una buona idea partire dal motore per misurare la velocità dell'auto. A parte le influenze del vento e della pendenza, ci sarebbe il problema che in discesa in folle o con frizione staccata al tachimetro arriverebbero segnali erronei.

Perchè non cerchi una zona vicino ad un semiasse traente dove fissare un magnetino con colla epossidica al semiasse e un normale sensore magnetico (una bobina con nucleo, eventualmente rivestita di resina per proteggerla dalle intemperie) sufficientemente vicino e in posizione fissa? Avresti un segnale quasi impulsivo, che tosato e squadrato ti darebbe la velocità angolare della ruota. Da quella, conoscendo la circonferenza del battistrada avresti una stima molto più accurata.

Potresti usare anche un sistema ottico, ci sono diversi tipi di interruttori ottici, con led e fototransistor o fotodiodo già accoppiati. Alcuni li trovi nei vecchi lettori di floppyda 5 e 1/4 (controllavano la tacca di lettura/scrittura), ma non so fino a quanto siano adatti per l'esterno. Ma in commercio si trovano certamente tipi per uso pesante e non credo costino molto. Potresti usare anche un sensore Hall ed un magnetino molto piccolo.

ciao Chance :O)

Reply to
ILikeToWatch

"Artemis" ha scritto nel messaggio news:46961f51$0$37195$ snipped-for-privacy@reader3.news.tin.it...

ma scusa che tipo di contakm alla tua autovettura, è del tipo elettronico o meccanico, si è elettronico ha già un trasduttore, e che genera un'onda quadra ben stabilita, se invece meccanico, non è nessun problema perché vi sono in commercio dei trasduttori meccanici passanti, ciò significa che il percorso della classica corda, che va al tacchimetro al quale è già collegato un disco stroboscopico che di genere un'onda quadra proporzionale alla velocità dell'autovettura non alla frequenza di lavoro del motore, è totalmente errato usare una frequenza rilevata dal motore, ed ottenere una velocità in metrica, la cosa è impossibile, perché a seconda del rapporto di marcia ,che tu hai nella tua autovettura velocità è differente ma la frequenza può essere uguale, se tu vuoi costruirti un trip computer hai bisogno di un trasduttore sul cambio, due trasduttori sul circuito del carburante, uno che legge d'ingresso ed uno che rilegge il ritorno, perché egli torna l'automobile per la benzina entra ed esce, ne viene prelevata soltanto una parte per la combustione, e per ultimo dovrà e avere anche un ingresso che tu preleverai dallo spinterogeno anche se oramai molte autovetture non forniscono più questo apparato, perché è integrata nella centralina elettronica, un consiglio, che lascia perdere

Reply to
jo_me

Ammiravo la mia cresta allo specchio quando Artemis ha detto :

auto

gi?

portata.

scusa, ho dimenticato di dire che sta cosa del sensore non l'ho mai sentita e mi pare tanto fantasiosa (tipico dei meccanici) ecco perchè ho pensato l'altra soluzione e non ho tenuto conto che non hai il cambio come quello delle moto (tipico di me) e quindi l'applicazione di un conta marce potrebbe essere meno immediato.

--
Nuno on zx-6r '04 working in progress...
Cambiassi donna come cambio idea sarei già endorser Hatù
*** www.gladio.org ***
Reply to
N1

No ragazzi, aspettate tutti perché mi state proponendo soluzioni pazzesche, sensori fissati a colla, conoscere i rapporti dell'auto, roba magnetica etc... il discorso è questo:

1) Non devo aggiungere nulla all'auto, ma devo "leggere dall'auto", quindi niente sensori aggiunti o roba aggiunta, proprio come nel caso dell'iniettore.

2) Mi è stato detto da più di una persona (e anche "dove" prendere il segnale) che la mia auto come anche molte altre è dotata di un piccolo sistema elettronico che ogni 3m o 10 m (forse è già più nuova, quindi scarterei i 10 m) manda un impulso. Mi è stato mostrato anche dove attaccarmi con il tester. Mi è stato detto: "Collega i morsetti del tester qui e spingi pian piano la macchina con il quadro acceso e vedrai che dopo tot metri la tensione cambia per un pò e poi torna a 0.

Il mio problema è un altro: dato questo sistema, come posso costruire un dispositivo (analogico) che cambia la tensione in funzione della frequenza?

Tutto qui. Attaccarmi al cambio e capire quale marcia c'è, mettere magnetini sensori qua e là trascende da ciò che devo fare. Ricordate che l'auto funziona già bene da sola, con il suo contachilometri, il suo contagiri e non ha bisogno di cose in più che fanno le stesse cose. Mi chiedevo solo, dato il sistema "presente" come poterlo sfruttare in tal modo.

A presto e grazie a tutti per le risposte

Artemis

Reply to
Artemis

Er Palma ha scritto:

Esatto, è un grande inconveniente e poi ricorda che i datasheet dell'auto, non te li da nessuno, neppure la marelli in persona o l'officina autorizzata marelli. Ci sono passato qualche settimana fa e credimi sono blindati. Sono riuscito ad avere anche i codici per accedere alla banca dati delle officine autorizzate marelli, ma di quello che chiedo, neanche l'ombra.

La cosa è molto più complessa, non a caso ci ho perso un mese. Hai seguito il vecchio thread del computer di bordo? Ho messo a disposizione i dati, le foto, lo schema del circuito e il filmato. Non bastava mettere un duty cicle del 50% per 2 motivi:

1) L'iniettore non è pilotato con una semplice onda quadra ma riceve prima una "botta" da 1 ms per farlo aprire e poi una tensione di mantenimento a 28 kHz per un tempo variabile. In base a questo tempo variabile, cambia la quantità di benzina iniettata. 2) Dopo la caratterizzazione, ho valutato che considerando una portata fissa anziché "linearizzata" si commette un errore superiore a mezzo litro (su 10 euro di benzina -> 7.5 litri). Invece linearizzando la curva ricavata (in 8 ore di misure -> doppie) l'errore è quasi nullo e il computer diventa estremamente preciso con la lookup table.

Infatti la portata dell'iniettore in base a tempi di apertura differenti varia da 9 ul a 11 ul (microlitri). Questi 2 ul ti portano un errore di mezzo litro, pensa te.

Che non avrai neppure a pagarlo.

Artemis

Reply to
Artemis

Perchè ti serve in tensione? Cmq se vuoi un ottimo convertitore F/V usa il TC9400 della Microchip o il più classico (e delicato credimi..) LM2917 oppure l'AD650 che non ho provato.

Reply to
Er Palma

come ti hanno gia' detto : perche' passare attraverso una tensione analogica ?

i micro hanno praticamente tutti degli ingressi capaci di "contare" impulsi con precisione ed affidabilita' eccezionali ( non ne perdono neanche uno :-) )

cerca sulla documentazione del tuoi i cosidetti 'timer' o 'counter' se tutto manca e per frequenze non elevatissime ( diciamo 100 Hz ) puo' essere sufficiente un ingresso d'interrupt ( ma 300 m/s sono tanti :-) )

conviene mettere un qualche cosa per condizionare un po' il segnale ( un inverter a trigger, va bene 74hc14 o 40106, con un clamp in ingresso ( resistore e diodi verso massa e Vcc )

Reply to
mmm

Il Thu, 12 Jul 2007 22:48:14 +0200, Artemis ha scritto:

Non ho seguito il thread a cui ti riferisci, però le valvole si attuano in corrente. Quello che hai visto è quello che esce fuori dal chopper: la durata dell'impulso iniziale e la frequenza di chopperaggio variano a seconda delle caratteristiche di dispersione dell'iniettore, della tensione di alimentazione, della temperatura, ecc... Poi magari la centralina regola la portata regolando anche la corrente, oltre che il tempo di sparo...

Reply to
SilverLeo

Il Thu, 12 Jul 2007 14:31:43 +0200, Artemis ha scritto:

Mi permetto di farti due appunti.

1) al contachilometri arriva una frequenza proporzionale alla velocità: leggi quella con un micro qualsiasi a sei a posto. 2) dubito che il carburatorista (esistono ancora?) sia la persona giusta a cui chiedere queste cose!

Certo. Questo segnale è già presente dietro al cruscotto, se il cruscotto dell'auto è ancora tradizionale.

Sai già tutto quello che ti serve! Non ti resta che trovare il segnale, condizionarlo, acquisirlo, misurare il periodo, poi trovare sperimentalmente la caratteristica periodo/velocità. Usa un gps, non fidarti troppo dei dati di riduzione e rotolamento scritti sul manuale dell'auto...

Buon lavoro!

PS: se stai facendo un trip computer, rivedi con calma il metodo che hai usato per caratterizzare gli iniettori. Guardando frettolosamente i tuoi post vecchi ho qualche dubbio sul metodo. Hai pilotato in tensione una valvola... hmmmm....

Reply to
SilverLeo

Giusto, il trigger di schmidt è melgio usarlo insieme a uno zener da massimo 5V1.

Usa la funzione di conteggio se come credo usi un PIC o simili.

Reply to
Er Palma

SilverLeo ha scritto:

Il problema è che in un mega groviglio di fili, non credo di riuscire a beccare quelli giusti, e poi dovrei camminare con il quadro smontato.

Ti assicuro che è una persona molto molto preparata e molte delle informazioni che ho avuto sull'iniezione della mia auto (e che ho fornito a tutti voi) sono uscite dalla sua testa e si sono rivelate essere vere pari pari. Senza i suoi preziosi consigli, non avrei potuto analizzare correttamente l'iniettore.

E' tutto un blocco unico e scatolaro, posso solo togliere il quadro con

2 bottoni e 2 viti, ma poi per avere i fili devo tenere il quadro pendente. I fili in questione mi ha detto anche dove prenderli di preciso il carburatorista, quindi questo non è un problema. Mi chiedevo solo se una soluzione analogica era fattibile.

Il mio problema è che se acquisisco con il micro il segnale impulsivo senza trasformarlo opportunamente, devo gestire un secondo timercounter con interrupt, e già gestisco un interrupt esterno ed un timercounter che mi servono per l'iniettore. Se accavallo 4 interrupt completamente indipendenti, asincroni e che avvengono molto di frequente, succede un macello, mentre elaboro il primo avviene il quarto ed esco dal codice, mentre acquisisco il quarto mi arriva il 3°... Quindi pensavo in maniera analogica di creare un convertitore frequenza/tensione in modo tale da acquisirla con l'ADC del micro e sapere già la velocità.

gsp???

Tranquillo, ho utilizzato la stessa identica forma d'onda e la stessa quantità di corrente della centralina, tutto era stato accuratamente misurato in precedenza, con oscilloscopi e multimetri.

Cos'è un trip computer?

A presto e grazie

Artemis

Reply to
Artemis

mmm ha scritto:

Il problema è che non posso gestire in modo asincrono 4 interrupt, non diventa più un programma ma un salta buche.

Si non è questo il problema, è che già con un interrupt esterno ed un timer counter gestisco l'iniettore... mi occorrerebbe un altro interrupt ed un altro timer counter per gestire la velocità. Questo renderebbe il programma ingestibile... se avviene un interrupt mentre sto elaborando il tempo di apertura dell'iniettore e lo sto confrontando con la lookup table... si sfasa tutto. Dovrei disabilitare temporaneamente gli interrupt ma rischio di percepire una velocità diversa se salto 1 impulso. Però visto che il tempo di osservazione è 1s, potrei tuttavia controllare di frequente l'iniettore ma nei tempi morti dell'iniettore mi basta calcolare il delta fra 2 impulsi, che però a 1 km/h potrebbe avvenire dopo 10.8 secondi!!! Il timer counter ha bisogno di un prescaler, se lo setto al minimo ho una risoluzione di 2 us, se lo setto al massimo la risoluzione diventa di 271 us ed avendo registri di 8 bit, posso contare fino a 63 ms. Devo iterare 2 cicli ma tieni presente che tutto questo inferno lo gestisco in puro assembler... considerando che devo far eseguire calcoli di portata ogni tot ms, misure di tempi e devo pilotare un display a 32 linee con interrupt che mi saltano il programma ogni tot ms.

Più che altro sai cosa mi servirebbe? Visto che tra un'accensione e uno spegnimento l'induttore mi manda uno spike di sovratensione (sia positiva che negativa) dovrei proteggere il mio micro, magari anche con un fotoaccoppiatore, solo che si distruggerebbe anche il fotoaccoppiatore. Se metto uno zener o un diodo di ricircolo mi si allunga la forma d'onda... occorre qualcosa tipo un trigger che se già è in saturazione a 12 V, ma quando riceve lo spikes ci rimane... solo che una sovratensione lo danneggerebbe... soluzioni in merito?

A presto e grazie

Artemis

Reply to
Artemis

SilverLeo ha scritto:

Allora, ti rispiego un pò le cose. L'iniettore ha una portata fissa, non variabile e la pressione alla quale riceve la benzina è fissa. Quello che cambia è il tempo di apertura, che è regolato dalla centralina. Negli iniettori (parlo di monoiniettori) bosch il comando è dato da un'onda quadra a duty cycle variabile ed in serie a tale iniettore vi è una resistenza ballast da 3 ohm per limitare la corrente. La mia auto ha un iniettore Weber-Marelli, che non utilizza una resistenza ballast ma la compensa pilotando l'iniettore in PWM.

All'inizio gli dà una botta di 1 ms in continua per farlo aprire, e siccome il tau del circuito RL equivalente è molto alto, in 1 ms rimani nella zona lineare dell'esponenziale crescente.

Dopo questo ms la corrente inizia ad essere alta, dunque va abbassata in qualche modo. E qui interviene il PWM! L'iniettore che sta sul drain di un mosfet viene alimentato in PWM (il PWM comanda il gate del mosfet) e quindi vede ai suoi capi (Vcc e drain) un'onda quadra con duty cycle del

50% e a frequenza di 28 kHz. Essendo l'induttore dell'iniettore bello grosso e passandovi anche 2.5-3 A di corrente, non puoi sperare che veda quelle variazioni repentine. Infatti esso agisce da filtro e prende il valore della componente continua di quell'onda quadra. L'unica cosa che la centralina varia è la durata di quella corrente di mantenimento a 28 kHz, che può variare da 700 us (auto a minimo) fino a 5-10-15 ms o oltre ad alta velocità.

Caratterizzando l'iniettore a diversi tempi di apertura (da 0.35 ms a

15.5 ms circa) ho potuto constatare che la portata media dell'iniettore per ogni impulso va da 9 ul a 11 ul, e oscilla spesso attorno a 10 ul. Quindi la portata nominale è 10 ul ma siccome è un elemento non lineare come qualsiasi altra cosa esistente in natura, ha delle variazioni (il modulo della banda passante di un amplificatore o di un filtro mostra delle oscillazioni, avviene lo stesso per la portata dell'iniettore).

Se consideri una portata media di 10 ul, su 10 euro di benzina (7.35 l) ottieni un errore di mezzo litro. Quindi non sarebbe molto accurato come indicatore (6.8% di errore). Così utilizzando la lookup table ricavata sperimentalmente (ben 2 volte ho effettuato le misure, in 8 ore di lavoro complessive) riuscirei ad essere molto più preciso ed a sbagliarmi di qualche cl.

A presto

Artemis

Reply to
Artemis

Er Palma ha scritto:

Utilizzo un ATMega8535 della Atmel.

A presto

Artemis

Reply to
Artemis

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.