Contagiri e azionamento motore elettrico

Ciao, sono nuovo del forum, e nuovo di questo mondo affascinante di arduino! :slight_smile:
Sono un vero e proprio principiante, e vorrei approfittare degli sconti di questo periodo per fare un po' di acquisti riguardo arduino. Non ho le basi ne hardware ne software, e vorrei chiedervi una mano.
Il mio progetto è quello di realizzare un sensore su un motore endotermico ad elevate prestazioni, il quale dovrebbe raggiungere i 15000 giri al minuto. Il sensore dovrebbe rilevare la velocità di rotazione e inviarmi il segnale ad arduino, che a sua volta manderà un segnale ad un motorino elettrico che avrà il compito di sollevare una valvola posta sullo scarico del motore endotermico. Il funzionamento dovrebbe essere il seguente: ad esempio a 5000 rpm il motorino dovrebbe sollevare di 5mm, a 10000 rpm di 10mm, a 15000 rpm di 15mm, ma non così a scatti ma avendo le misure intermedie, con un moto "liscio", non so se sono riuscito a spiegarmi bene. Sarei grato se qualcuno potesse suggerirmi in principio i componenti hardware che mi servono, partendo dalla scheda arduino adatta, al sensore, al motore elettrico. Grazie in anticipo!

Se il rapporto è sempre 1mm ogni 1000 giri ti basta leggere i giri e dividere per 1000 per avere i mm da alzare.
Dovrebbe "bastare" un encoder sull'albero del motore, ma non sono ferrato sull'hardware, quindi meglio che aspetti uno di quelli che ne capisce

spesso gli elettrauto leggono i giri motore dal ripple sulla tensione a 12 V

sapendo il modello dalla frequenza del ripple si risale alla velocità del motore

Ho letto in alcuni vecchi post che ci sono due metodi per rilevare i giri, o tramite induzione ( cavo avvolto attorno al cavo candela) o tramite effetto hall. Quale mi consigliate?
Inoltre di quali componenti ho bisogno (scheda arduino, sensore, cavi ecc)?

ma si tratta di un motore di seie o una cosa speciale

per un motore di serie attaccati alla ECU

per una cosa specifica descrivi la cosa, se hai contagiri, ecu, alternatore etc etc

Si tratta di una moto prototipo, al momento non ha alcuna centralina, oltre ovviamente quella che regola la scintilla della candela (tra statore e candela). Non è un motore di serie, nessun'altra centralina presente e non ho contagiri. Proprio per questo l'arduino dovrebbe avere il compito di contare gli rpm e regolare questa valvola allo scarico. Quindi in teoria posso "aggrapparmi" o al volano e quindi leggere il numero di rotazioni compiute in un minuto, o trovare il modo di intercettare le scariche che attraversano il cavo che và alla candela.

Ciao,
a mio avviso potresti usare un sensore ad effetto hall per rilevare la frequenza dei rotazione del motore, per quanto riguarda la lettura per induzione sul cavo della candela credo sia necessario pulire molto bene il segnale che si legge per evitare letture completamente sballate, probabilmente si trova anche qualcosa di già fatto.
Per quanto riguarda invece l'apertura e chiusura della valvola credo che il metodo più semplice sia utilizzare in piccolo motorino passo-passo opportunamente ridotto e gestire la posizione dell'albero da arduino. È molto semplice da fare una volta che si conoscono i rapporti di riduzione.

Come hardware ti basterebbe un Arduino, un driver adeguato al motore passo passo, il motore stesso ed il sensore per leggere la frequenza di rotazione dell'albero.

… ricordo una vecchissima discussione dove c’era la stessa necessità ed io, a suo tempo, mi ero salvato lo schema che, alla fine, era venuto fuori … L1 sono due o tre spire avvolte attorno al cavo della candela …
… provare non costa molto … ::slight_smile:

In allegato lo schema.

Guglielmo

Sensore Candela Accensione.pdf (20.2 KB)

Innanzitutto grazie ad entrambi. Guglielmo, se non ho capito male lo schema che mi hai allegato è quello che devo costruire tra cavo candela e arduino giusto? Come diceva Dinodf però immagino che questo segnale non sarebbe paragonabile a quello di un sensore hall posto sul volano in termini di precisione, o sbaglio?
Mi avete elencato i componenti di questo circuito. Immagino che mi possa bastare un arduino uno, o posso adirittura optare per un mini?
Ritornando al post di Guglielmo, giustamente provare non costa molto, avrei intenzione di provare entrambi i metodi per capire quale sia la miglior soluzione nel mio caso. Potreste indicarmi un sensore hall che possa essere adatto alle mie esigenze? (Almeno 12000 rpm)

Mi sembra che vengano sottovalutate molte cose pratiche (i progetti che partono dalla lista della spesa senza la minima conoscenza di quello che ci va in mezzo sono quasi sempre dei disastri annunciati).

Per esperienza di elimodellismo so quanto tre grammi di sbilanciamento su qualcosa che ruota a meno di 2000 rpm siano devastanti, come si può pensare di incollare un magnete a un oggetto che ruota a 15000 rpm senza trasformarlo in un proiettile? Eh si, perché il sensore hall cosa legge se non il campo magnetico di un magnete?

Sulla reale semplicità di collegare un motorino elettrico non so, in meccanica sono una capra, ma abbiamo sforzi meccanici, vibrazioni, necessità di azzeramento della posizione meccanica (un passo-passo non fornisce la posizione assoluta), possibilità di perdere passi e sfasarsi (si sa quanto sforzo, leggi newton su metro, deve reggere?)

Secondo me sono tutte cose (tra le tante altre non nominate comprese quelle di natura software) che vanno valutate prima di qualsiasi ipotetica lista spesa.

Per me buono lo schema di Guglielmo, che però va provato in condizioni reali, usando un oscilloscopio per vedere se il segnale in uscita è pulito e leggibile da Arduino. Dopo di che bisogna predisporre una lettura sotto interrupt per calcolare il periodo tra due impulsi (la lettura della frequenza sarebbe troppo lenta o imprecisa) e applicare una media mobile su diverse letture consecutive... per chi è totalmente a digiuno di informatica sono argomenti che portano via mesi nel migliore dei casi.

Cioè, ok l'entusiasmo e la motivazione, ma visto che non si sta progettando un plastico per trenino secondo me bisognerebbe prima avere le idee un po' più chiare anche su tutto quello che c'è da fare in pratica (dal punto di vista meccanico, elettrico, informatico, di sicurezza, del clima ecc).

Per quanto riguarda il tipo di Arduino utilizzabile si, il mini va bene, ma sei a conoscenza del fatto che il mini per la programmazione richiede un ulteriore convertitore seriale USB esterno a livelli elettrici TTL? Il Nano invece lo ha già a bordo, potrebbe essere più semplice da maneggiare pur avendo circa le stesse dimensioni.

Grazie delle informazioni, quindi l'arduino nano è quello che fa al caso mio. Proverò ad utilizzare lo schema che mi avete allegato, grazie a tutti dell'aiuto!

Per altri motivi sono incappato in "speeduino"

Un progetto che vuole sostituire le ECU

Mi sembra che il problema contagiri sia bene affrontato

Ci si può anche ispirare alle varie accensioni elettroniche in kit di Nuova Elettronica, oppure sempre stessa rivista, i contagiri.
Ovviamente non per i circuiti, altrimenti Guglielmo chiude tutto, ma per quanto riguarda come gestivano i segnali.

Credo che adeguatamente dimensionato il circuito proposto dal grande e competente Pier Aisa possa esser adattato facilmente alle esigenze in oggetto (PierAisa video #632 nel video viene anche spiegato chiaramente e semplicemente come dimensionare i componenti).
Credo che date le tensioni molto elevate sarà semplice, probabilmente basterà una sola spira attorno al cavo della candela, penso che collegando le masse del circuito con quella della candela il risultato sarà ottimale.
Sarà poi da controllare con un oscilloscopio il segnale di uscita per valutare se sia necessario un filtro passa basso per schermare le interferenze.

Ciao, io sono abbastanza asino per quanto riguarda Arduino, ma ti posso dare un consiglio “saggio” per il progetto. Al volano non devi collegare un magnete, ma un disco simmetrico avente una dentatura (come più ti aggrada in base alla precisione che vuoi) simile ad un fiore. Questo garantirà il minor sbilanciamento possibile delle parti in movimento con ovvi benefici in durata e sicurezza.
Ora devi scegliere il come leggere la velocità: o per via ottica (il fiore va interposto tra un riflettente ed un emettitore/ricevitore ottico) o per via induttiva (credo sia induttiva, mai posto il problema) con un prossimitore.
In alternativa rimane la candela.
Questi sono i metodi diretti.
Indirettamente puoi calcolare i giri in punti più lenti come la corona (almeno per iniziare perché non sarà mai accuratissimo come metodo) risalendo tramite i rapporti di riduzione/allungo che hai usato tra trasmissione finale e del cambio. Ovviamente l’ultimo metodo prevede una posizione della valvola standardizzata durante i distacchi della corona dall’albero motore (cambi, frenate e stazionamenti con motore al minimo).

Ultimissimo metodo diretto, ma invasivo, se è 4t puoi prendere anche, invece che l’albero motore, un albero a camme, se è 2t e ha il disco per la gestione dell’aspirazione, invece delle lamelle puoi prendere la spalla.
Buona fortuna.

Per leggere la velocità con la ruota dentata serve una bobina con un nucleo (ad esempio quella di un relè) e un magnete da applicare all'estremità del nucleo opposta a quella vicino alla ruota.
https://www.google.com/search?q=ruota+fonica
https://www.google.com/search?q=ruota+fonica+induttiva
https://www.google.com/search?q=ruota+fonica+riluttanza+magnetica