Contagiri moto

Ciao a tutti ho reperito questo circuito per costruire un contagiri per il mio motorino solo che ora non so come utilizzare l’impulso con arduino

IMG_5347.JPG

Prima di tutto, nella sezione in lingua Inglese si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione ...

... poi, essendo questo il tuo primo post, nel rispetto del regolamento, ti chiedo di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Il tuo post è stato spostato nell'opportuna sezione del forum "Italiano"

Ciao, non riesco a vedere l'immagine. Comunque di che circuito si tratta? Che accensione hai sul motore? Esistono molti contagiri che non usano Arduino, senza scomodare la programmazione. Come vorresti visualizzare il numero dei giri? Ti interessa proprio il numero oppure ti bastano dei led?

Grazie dell'informazione provvedo subito a presentarmi nell'opportuna sezione
Il circuito prende il segnale da una bobina posta sul cavo della candela e io vorrei visualizzare il valore di rpm su un display lcd

Inserirei nel circuito una protezione con il diodo zener che vedi nello schema allegato. Così puoi connettere direttamente il collettore del BC547 ad un pin digitale dell’Arduino.
Il programma dovrà conteggiare gli impulso che arrivano nell’unità di tempo e moltiplicare per due, se il motorino è un due tempi.
Aspettati di raccogliere anche molti disturbi a seconda di come farai i cablaggi.

Ciao,
P.

P.S. però ho dei dubbi sul funzionamento di quel circuito…

Non ci dici che motorino hai, e questo rende un po difficile darti una risposta decente (considerando anche il fatto che ci sono pure "motorini" che arrivano a 10000 giri :P)

Quello che ti serve e' comunque un circuito in grado di fornirti in uscita un treno di impulsi di durata costante, per ottenere un risultato decente ... quindi come minimo un monostabile, non retriggerabile, che possa dare impulsi di, diciamo, 50uS costanti, innescati dal segnale preso dal cavo della candela (ma non con una bobina messa cosi, usa un pezzo di filo isolato avvolto sul cavo della candela, con un solo capo collegato ad un filtro per eliminare il piu possibile i disturbi e fornire con un transistor il trigger al monostabile, che puo anche essere un banale 555)

Potresti prendere il cavo delle puntine che va alla bobina. Oppure il cavo che va al comando di spegnimento del motore (praticamente si mettono a massa le puntine). Da lì metti un convertitore frequenza - tensione ed entri in Arduino.

La prima cosa da precisare che il cosidetto “Contagiri” altro non è che un semplice frequenzimetro.
Uno strumento che conteggia gli impulsi in arrivo dalla bobina nell’unità di tempo (tipicamente 1”).

Anche ipotizzando un motore con un valore massimo di 12.000 rpm, la frequenza così generata è di appena 200Hz e pertanto un valore largamente gestibile da Arduino.

Le soluzioni software per trasformare Arduino in un contagiri sono molte con i soliti pro/contro del caso.
Quello che io suggerisco è di utilizzare un pin con l’interrupt per contare gli impulsi in arrivo dalla bobina ed un semplice delay() per ottenere la base dei tempi.

Nel caso del contagiri, come base dei tempi non verrà utilizzato il canonico intervallo di 1”, ma bensì il valore di 0,6”. In questo modo verrà semplificato la conversione da frequenza a numero di giri.

Esempio:

  • Motore a due tempi
  • Giri Minuto = 12.000
  • Giri al secondo = 200
  • Base Tempi = 0,6 “
    Impulsi contati nel intervallo = 200 * 0,6 = 120

Aggiungi 2 zeri finali (moltiplica x100) ed ottieni il dato corretto.
Qualcuno potrebbe obiettare su un errore sistematico di +/- 100 rpm, ma posso garantire che spingersi oltre si rende la lettura sul display confusa.

Convengo con ricki158 sulla soluzione di derivare gli impulsi dalle puntine o dal polo in BT della bobina più semplice e sicuro.

lelebum:
... derivare gli impulsi dalle puntine o dal polo in BT della bobina più semplice e sicuro.

Attenzione ... le extratensioni sulle puntine possono arrivare a diverse centinaia di V di picco, quindi serve usare un partitore resistivo con valori molto elevati (anche perche' altrimenti si rischia di impedire alla bobina di funzionare corretamente) e seguito da un filtro molto "robusto", completo di zener, o anche meglio di doppio zener ... :wink:

Dopo il partitore meglio un transil da 5V, con in serie una r da 4.7k verso il pin, serve molta velocità che gli zener solitamente non hanno, in ambito automotive i transil/transzorb sono obbligatori. :slight_smile:

Per esperienza diretta posso confermare che i picchi di tensione presenti sul polo BT della bobina sono dell’ordine dei 300-400V.

A tale scopo propongo un semplice schema che oltre ad attenuare tali tensioni evita di danneggiare arduino senza ricorrere a componenti specifici.
Vista l’impedenza molto alta del partitore resistivo sono sufficenti due semplici diodi 1N4148 per tagliare ogni eventuale tensione.

Consiglio di inserire una prima resistenza subito a ridosso della bobina in modo tale che un eventuale guasto lungo la linea che porta il segnale ad arduino non possa causare problemi all’accensione.

I valori di R1 e C1 non sono critici, anzi in fase di collaudo potranno essere variati per garantire un corretto funzionamento.