Diverso tempo fa, guardando le alternative tra le centraline per la mia auto mi sono imbattuto in speeduino, una centralina standalone (si sostituisce all'originale) basata su arduino mega e sono rimasto colpito da quante funzioni si potessero implementare su una scheda con hardware "limitati" come quella utilizzata.
Mi sono quindi chiesto quanto sarebbe stato difficile scrivere un programma che svolgesse solo le funzioni più basilari, in ottica di utilizzarlo sulle moto.
Dopo diverso tempo di ricerca, prove ed errori e test "in laboratorio" ho messo insieme quello che mi interessava di più e che adesso vi andrò a raccontare.
Mi sono messo in testa di scrivermelo da me per poterlo utilizzare liberamente e per rendere più semplice gli sviluppi futuri perchè so bene come ragione il microcontrollore. La mia scelta per la scheda è ricaduta su un arduino nano, visto lo stesso clock dell'arduino mega in un formato molto più piccolo ed economico.
immagini visibili ai soli utenti registrati
Primo prototipo della scheda, le dimensioni totali sono 50x40x30mm. La versione finale sarà ancora più piccola!
L'obiettivo di questo progetto è sempre stato quello di avere un sistema più semplice e flessibile possibile, che ha portato anche a un costo totale veramente basso.
la mia idea era quella di poterlo utilizzare sia per convertire un'accensione a puntine in elettronica, sia di rendere programmabile un'accensione più moderna, avendo meno limitazioni possibili.
Per ora la lista delle funzioni è la seguente: (tutti i parametri sono regolabili)
una curva di anticipo in 2d (2 parametri, numero di giri e gradi di anticipo) con numero illimitato di punti
limitatore di giri
quickshifter (cambio a gas aperto e senza frizione, solo a salire)
spia cambio marcia
questi sono i risultati di due test, ovvero anticipo reale rispetto all'anticipo richiesto e variazione dell'anticipo a giri costante
immagini visibili ai soli utenti registrati
La curva di anticipo è stata scelta arbitrariamente, non userei mai questi valori su un motore
lo scostamento massimo è 1 grado, quasi sempre resta sotto 1/2 grado
immagini visibili ai soli utenti registrati
un grado a 12'000 giri sono 13us (0,000013 secondi) quindi la maggior parte del tempo l'errore è inferiore a 1/2 grado
Per funzionare necessita solo di un segnale ogni giro dell'albero motore e un'alimentazione.
Provandola al banco i risultati sono molto incoraggianti, i risultati sono completamente ripetibili e reagisce bene a qualsiasi modifica indicando che il codice gira stabilmente e ha la precisione richiesta.
Lascio due video per mostrare le funzioni principali
Link a pagina di Youtu.be
Link a pagina di Youtu.be
Se siete arrivati fin qui nonostante la lunghezza del post vi ringrazio!
Ora a voi la parola! avete domande, commenti, idee?
Ovviamente terrò aggiornato il topic con tutte le novità