Contatore di giri motore per autovettura - Aiuto!

Salve a tutti! Sono Diego, ho 24 anni e sono nuovo, anzi nuovissimo. Negli ultimi giorni stavo cercando uno strumento che mi consentisse di portare avanti la mia tesi di laurea (studio ing.meccanica) ed oggi un collega di lavoro mi parla di Arduino... Vedendo il sito ed il forum mi pare di capire che la scheda è versatilissima solo che io di elettronica, purtroppo, non so nulla.. :'( ..fortunatamente almeno con il linguaggio di programmazione dovrei cavarmela poichè ho avuto un paio d'esami di C/C++. Potete consigliarmi su come utilizzare Arduino per memorizzare il numero di giri compiuti dal motore di un veicolo in moto? In internet ci sono molti kit che permettono di installare contagiri supplementari che prendono l'input dalla centralina o da una delle bobine d'accensione, ma io vorrei piuttosto uno strumento che memorizzi il numero dei giri totali, e lo incrementi di continuo, non solo il valore dei giri/minuto. Spero non sia troppo difficile da realizzare per me che ripeto sono poco ferrato in materia, ma non vorrei sbagliare o bruciare istantaneamente la scheda. Potete darmi qualche dritta?

Grazie mille.

La vedo parecchio difficile... tanto per iniziare come fai per controllare il numero di giri che fa il motore? Non puoi mica mettere qualcosa dentro il motore che veda quello che sta facendo il motore e lo conti... Non credo che una centralina memorizzi il numero di giri totali di un motore nella sua vita (a che pro?) ma potresti ipotizzare leggendo la centralina che se il motore va a 1000 giri al minuto per 30 secondi hai fatto 500 giri...

Ciao, in certe vetture c'è un uscita della centralina apposta per collegarci un contagiri aggiuntivo, in altre invece si può collegare il cavo su una delle bobine di accensione perchè l'impulso delle candele è sincronizzato ai giri.

Speravo fosse possibile prendere il segnale proprio dalla bobina del cilindro numero 1 poichè dà la scarica ogni 2 giri motore. Il problema è che non sò se le scariche in questione possano danneggiare la scheda, e se questa può riceverle comunque come segnale valido per un ipotetico contatore di giri.

Cerco proprio questo valore perchè sto studiando il tasso di usura all'aumentare del numero dei cicli di un motore ed i soli km percorsi non bastano purtroppo.. :'(

Dici che quindi non si può fare tale contatore?

la parte elettrica potrebbe essere risolta mettendo un encoder su un albero ausiliario (tipo alternatore) di tipo ottico o magnetico, perchè un encoder meccanico non penso supporti tutta quell’usura…

sorge però un problema: la variabile diventerà presto enorme
dovrai dividere questo valore perchè suppongo arduino non supporti un valore così grande…

per memorizzarlo tutto sommato ottimizzando i dati penso che si possa fare

che tipo di segnale da il cilindro?

il cilindro pochi solo calore... ;) il motore ha vari alberi collegati direttamente all'albero motore tutti girano con lo stesso numero di giri o un numero che dipende dal rapporto fra le pulegge o le corone/pignoni

anche l'alternatore ha un cavo che dà un impulso per ogni giro. oppure dal cavo della bobina (dove però scorre una tensione troppo alta dell'ordine dei 10000 volt[solo per motori benzina i disel no] che però può essere captata da un filo avvolto attorno all'isolante dopo esere squadrata)

AH ecco un argomento che avevo studiato tempo addietro per i PIC ma nessun problema ad applicarlo ad arduino.

Rilevare i giri, si puo’ fare in molti modi.
Prelevando il segnale dalla bobina lo riduci e lo filtri per un ingresso di arduino.
Trovi diversi esempi in rete dal mio segnalibri eccoti qualcosa:

http://www.transmic.net/en/90s1200.htm

In francese ma lo schema e’ ben comprensibile, viene usato direttamente il captatore.

Se invece non vuoi connetterti direttamente alla parte elettronica del motore usi un sensore di hall:

http://www.xdesignlabs.com/main/index.php?option=com_content&task=view&id=16&Itemid=35

Oppure gli infrarossi:

http://www.ikalogic.com/d_tach.php

Un altra soluzione e’ un knock sensor, che invece di contare i giri tramite il comando alle candele conta le effettive esplosioni nel motore, molto piu preciso dato che ( come saprai meglio di me ) non tutte le scintille vengono effettivamente trasformate in esplosioni e quindi giri.

Una soluzione molto alternetiva ma meno precisa e’ usare le vibrazioni, esisotno dei contagiri che rilevano le vibrazioni del motore e le trasformano nei relativi giri, si usano ad esempio nei motori da giardinaggio dove le precisione non deve essere elevatissima e non hai possibilita di arrivare alla bobina che e’ integrata al motore.
Un sensore piezo e un po’ di esperimenti si dovrebbe tirare fuori qualcosa.

Altra possibilita’ non invasiva rilevare l’alta tensione dal filo candela, lo fanno le varie pistole stroboscopiche per la taratura dell’anticipo.
Bastano alcuni giri di filo intorno al cavo della candela un operazionale e puoi rilevare da li.

http://www.freepatentsonline.com/pdf_collections_server1/uspt/patent_pdf/5208/US5208541/pdf/US5208541.pdf?k=3cec39a7162ec2acedaa086c3164c4d1

Cerca con Google “DIY CDI” e troverai un sacco di informazioni.

Pero’ mi farebbe piacere su che motore vuoi lavorare, 2 tempi, 4 tempi, vankel, ecc… che accensione usa e altre info cosi ti si puo’ aiutare meglio.

Per quanto riguarda il contatore dei giri fatti dal motore dato che il dato e’ di proporzioni cosmiche ti conviene utilizzare la tecnica del contachilometri, 5 variabili intere, la prima si incrementa di 1 ogni 1.000 giri, la seconda si incrementa di 1 ogni volta che la prima e’ 1.000 e la azzera e cosi via avresti il numero delle migliaia dei milioni dei miliardi di giri fatti ecc…

Sono cotto scusate degli aventuali errori di battitura ma non ho voglia di rivedere il post :slight_smile:

Grazie per le info che mi state dando, cmq il motore in questione è l'M160: 3 cilindri in linea 4 tempi con accensione a doppia candela per cilindro assicurata da 3 bobine doppie comandate dalla centralina motore.

Quindi dite che il collegamento via bobina è troppo pericoloso per la scheda? Non vorrei andare a toccare o istallare troppa roba perchè il vano non è molto agevole e dovrei mettere la macchina su un ponte.

A parte il problema del dove piazzare il collegamento, mi consigliereste anche quale scheda Arduino prendere e con quale Hardware ausiliario, ma i sensori Hall dove si trovano/quanto costano?

Grazie

I sensori di hall sono sensori che rilevano la vicinanza di un campo magnetico, costano poco, si trovano in molti negozi di elettronica, sono usati ad esempio per i contakilometri digitali delle biciclette, sul raggio monti il magnetino sulla forcella il sensore di hall, ogni volta che il magnete passa davanti al sensore emette un impulso che viene rilevato dall'elettronica del contakm o nel tuo caso da arduino. inizia a fare gli esperimenti conun 2009 e Atmega 328, quando funziona tutto puoi passare a schede piu' piccole ( tipo l'arduino PRO ).

che ne diresti di prendere il segnale da un iniettore? cosi' puoi costruire un piccolo cavo di derivazione con due connettori che trovi da un elettrauto e non devi fare molte modifiche all'impianto. dovresti avere cosi un onda quadra che ha il picco di 12v o 5v a seconda degli iniettori usati ogni 2 giri di albero a gomito. il segnale prelevato in quel punto dovrebbe essere abbastanza pulito, magari ti conviene usare un cavo schermato per evitare interferenze provenienti dalle candele che sono li vicino...

Non so se ci avete pensato... ma non sarebbe possibile prelevare il segnale dal negativo della bobina così come funzionavano i vecchi contagiri? penso che il segnale sia gestibile abbastanza bene da arduino... che ne pensate?

il modo piu semplice e meno invasivo è leggere il campo che viene creato intorno alla candela, ti basta un po di cavo...

fai questa prova, prendi un filo di rame di quelli con un'unica anima e avvolgilo a spirale intorno al cavo della candela, dopodichè semplicemente infilalo in un analog-in del tuo arduino e leggilo, teoricamente dovresti riuscire a prelevare il numero di giri dal campo elettromagnetico generato dall'accensione della candela :)