Notice to visitors from outside Italy: using google chrome browser as the site will be translated automatically. Thanks
How to add the tachometer, the thermometer and the voltmeter to the scooter dashboard.






Symbio è il dispositivo open-source basato su Arduino che aggiunge funzionalità al cruscotto dello scooter senza compromettere l’estetica del quadro strumenti. Le funzioni aggiuntive sono: ora e data, contagiri, voltmetro e temperatura esterna.


Per mantenere inalterata l'estetica del cruscotto, l'espansione è applicabile su tutti gli scooter che montano questo orologio (la forma dei tasti e il colore potrebbe variare leggermente):


misure orologio: 5,5 x 2,5 x 1,2 cm

Codice OEM orologio originale: Aprilia AP8212406 - Piaggio 580886 - Malaguti 17814800 / 17808300

I modelli di scooter su cui Symbio si adatta sono:

- Aprilia Scarabeo (Rotax) 125/150/200; 
- Aprilia Scarabeo (Piaggio) 250GT; 
- Aprilia Amico 50 (dal 90 al 98);
- Aprilia Gulliver 50 (dal 95 al 98);
- Aprilia Atlantic 125/200/250 (dal 2003 al 2006);
- Aprilia Atlantic 125-250 (dal 2006 al 2008);
- Aprilia Atlantic 400-500 Sprint (dal 2005 al 2008);
- Aprilia Leonardo 125/150/250;
Malaguti Centro 50/125/160; 
- Malaguti Blog 125:
- Malaguti Madison 125/150;
- Malaguti F10;
- Malaguti F12;
- Malaguti F15;
- Piaggio Ape 50;
- Piaggio Liberty;
- Piaggio X7 125;
- Piaggio Carnaby 125 (2007-2010);
- Piaggio Fly;
- Vespa LX 50/125/150 (dal 2007 al 2011);
- Vespa GT 200 (1998-2005);
- Vespa GTS 125 (2009-2015); 
- Vespa GTS 300 (2010-2013); 


Mentre per tutti gli altri è possibile procedere ugualmente, ma apportando le necessarie modifiche o trovando altre soluzioni.

 

Illustrazione funzioni e costruzione del circuito 


Non mi dilungherò molto su cos'è e cosa può fare Arduino, in rete si trova tutto, piuttosto basti sapere che si tratta di un micro controllore, il quale se opportunamente programmato e cablato, può fare davvero tantissime cose.

Allo scopo ho usato Arduino UNO ed ho progettato una shield, nome specifico per identificare le schede espansioni di Arduino, necessaria per concentrare tutti i componenti e connettere le periferiche interessate. La shield non solo semplifica il lavoro, ma rende il progetto molto più compatto, robusto e ordinato. 

Funzionamento: il progetto grazie ad un apposito programma, scritto da me e chiamato in gergo sketch, andrà a gestire ciclicamente le funzioni aggiuntive. La ciclata sarà effettuata agendo su un pulsante posizionato ad esempio sul manubrio, e i dati saranno visualizzati su un piccolo oled da montare al posto dell'attuale modulo orologio. Le funzioni aggiunte sono: data, ora e giorno corrente, contagiri, voltmetro e temperatura esterna.

Schema a blocchi funzionamento programma:

(clicca per ingrandire)

Vediamo nel dettaglio le funzioni di Symbio:

Data, ora e giorno corrente: grazie ad un modulo RTC (real time clock) DS3231, che andremo a collegare ad Arduino tramite la shield, avremo sempre a disposizione data, ora e giorno corrente. Grazie alla sua batteria tampone, il modulo funzionerà anche con lo scooter spento e batteria staccata. L'autonomia della sua batteria è garantita per molti mesi.

Feature: funzione automatica cambio ora solare/legale e viceversa.

Nota: se dovesse essere necessario reimpostare l'ora in seguito allo scaricamento della batteria tampone, sarà necessario connettere Arduino al PC e sincronizzarlo utilizzando un semplice programmino. In fondo alla pagina trovate le istruzioni e il software da scaricare.

Contagiri: sfruttando una funzione nativa del core di Arduino e grazie ad un circuito di condizionamento del segnale prelevato dal pick-up, andremo a misurare il periodo degli impulsi emessi e poi grazie a delle formule otterremo il numero di giri/min. 

Feature: ho previsto che il contagiri abbia una risoluzione di 100 giri/min. Cioè sul display visualizzeremo letture del tipo: 1000; 1100; 2100; 3400 ecc ecc cioè a step di 100 giri/min.


Voltmetro: grazie ad un circuito dedicato, diremo ad Arduino di misurare la tensione della batteria.

Feature: sotto i 12.2 V sul display compare un ! ad indicare che la batteria dello scooter è quasi scarica. Inoltre nel circuito ho previsto un trimmer per la prima taratura.

Temperatura: utilizzando il sensore della Dallas DS18B20, andremo a misurare la temperatura.

Feature: dai 3 °C in giù, sul display compare un * ad indicare il pericolo ghiaccio.

Nota: la precisione della lettura, dipende dalla posizione di montaggio della sonda. Quest'ultima deve essere posizionata il più lontano possibile da fonti di calore quali motore o radiatore e non esposta direttamente ai raggi solari. 

La fase successiva, è stata quella della realizzazione di una PCB con le stesse dimensioni di Arduino UNO: 68.6 x 53.3 mm. L'idea, è stata quella di realizzare una vera e propria shield da montare sopra le due file di strip femmina di cui è dotato Arduino. Allo scopo, ho progettato e disegnato la mia PCB double layer, che ho fatto realizzare da una ditta specializzata:

(Clicca per ingrandire)

ho saldato i componenti necessari:

(Clicca per ingrandire)

l'ho appoggiata su Arduino:

(Clicca per ingrandire)

e poi ho fatto entrare i pin maschi della mia pcb negli strip femmina di Arduino:

(Clicca per ingrandire)

Fatto ciò è necessario, per evitare che le vibrazioni possano creare malfunzionamenti, bloccare le due schede usando dei bulloncini da far passare attraverso i fori predisposti. 

Come vedete, tutte le periferiche/sensori sono connessi a Symbio in modalità pulg&play utilizzando dei morsetti appositi.
Dunque, per i restanti cablaggi, consultare il foglio istruzione: << CLICCA QUI >>.

A titolo informativo, vi lascio anche il pinout della sonda DS18B20:


E dell' oled I2C:


Ecco il tutto riposto in una pratica scatola in ABS:


Adesso procedo al montaggio dell'oled dentro la carcassa che contiene l'orologio originale. Per accedere all'orologio, non mi dilungo, consultare la guida: smontaggio cruscotto per sostituzione batteria orologio e lampadine


Una volta estratto l'orologio, l'ho aperto, l'ho privato dell'elettronica originale e ci ho inserito l'oled al quale ho saldato uno spezzone di cavo di opportuna lunghezza:



ho risolto l'arcano su come fissare l'oled alla carcassa, semplicemente interponendo tra l'oled e il coperchio, un pezzetto di spugna per imballaggi:





Osservazioni sulla soluzione adottata: installazione facilitata, togli e metti. Possibilità di tornare indietro senza problemi.



Installazione del circuito


Il montaggio, consiste essenzialmente nel portare al circuito:

- l'alimentazione proveniente da un positivo +12V sotto chiave, ad esempio dal + del clacson:


- il negativo della batteria;
- una coppia di cavetti per il pulsante aggiuntivo;
- un cavetto per il contagiri. 

Bisognerà sistemare il cavo della sonda temperatura nel punto più idoneo e posizionare l'oled al posto dell'orologio di serie. Per quest'ultimo direi che la foto sottostante parli da se. Riporre l'oled nell'alloggiamento del cruscotto e chiudere il tutto con cautela.


Procedere ora con l'alimentazione. Portare il +12V e massa al circuito. Adesso tocca al pulsante. Smontate il blocchetto comandi sinistro, effettuate un foro del diametro opportuno e montateci  il pulsante:



Nota: personalmente ho scelto di installare il pulsante sul blocchetto sinistro, ovviamente ognuno è libero di cablarlo dove meglio crede. 

A questo punto le funzioni data, ora, giorno corrente, temperatura e voltmetro sono sistemate. L'unica funzione che necessita di un pò di lavoro in più è quella del contagiri. Vediamo come fare per collegare il nostro circuito al sistema di accensione dello scooter. Per far ciò, è necessario prelevare il segnale a bassa tensione  e portarlo ad Arduino. In base al tipo di scooter, il segnale può trovarsi in punti diversi dell’impianto elettrico. Generalmente le parti che costituiscono il sistema di accensione sono:

SEGNALE BASSA TENSIONE => BOBINA => CAVO ALTA TENSIONE => CANDELA.

A monte di questi componenti, c’è il filo oggetto della nostra ricerca. Infatti, affinché la bobina possa generare alta
tensione, gli si deve necessariamente fornire un segnale a bassa tensione.

Vi è un particolare caso in cui, si è obbligati a prelevare il segnale direttamente dal pick-up e non sul filo che giunge alla bobina alta tensione. Tale circostanza, ricorre, quando il mezzo è munito della centralina C.D.I. Ed è proprio il nostro caso. Infatti dando un rapido sguardo allo schema, possiamo verificare quanto affermato. Tra i particolari 2 e 3 c'è il nostro cavo:


Per cui smontate la plastica del sotto sella e dal lato destro (lato marmitta), in prossimità del carter volano, intercettate il cavo giallo-blu (G/B) che arriva dal pick-up:



spellatelo da un lato, effettuate una saldatura e derivatevi con un cavo di opportuna lunghezza:



Per chi non possedesse lo Scarabeo, oggetto del presente approfondimento, dico subito che non c’è un sistema immediato per stabilire o meno la presenza della centralina CDI, se non facendo ricorso allo schema elettrico del proprio mezzo. Una volta identificato il filo, prima di spellarlo per effettuare la saldatura, è bene capire se si tratti di quello giusto. A tal proposito potete usare il metodo dello "spillo":


"Rubando" così il segnale, sarete certi di aver identificato il filo giusto senza il rischio di tagliare quello sbagliato.

In ogni caso, se avete difficoltà a prelevare il segnale, sappiate che esiste un altro metodo. Avvolgete un cavetto rigido attorno al cavo candela creando 5-6 spireAdesso portate le due estremità all'ingresso dedicato sulla shield. Purtroppo per via della natura dell'accoppiamento (elettromagnetico), questo sistema è meno preciso, infatti introduce degli spike che a random falsano la lettura. Ciò capita più spesso ai bassi regimi, mentre ai medio-alti la lettura è più stabile. Ma è meglio di niente...


(test per stabilire il miglior punto dal quale prelevare il segnale per il contagiri)

Riepilogando al circuito devono arrivare 5 fili: uno dal +12V - uno dalla massa (negativo batteria o telaio) - una coppia dal pulsante - uno/due dal contagiri a seconda del metodo utilizzato. Alla fine il risultato sarà più o meno questo:


Nota: allo scopo di facilitare l'upgrade e la sincronizzazione dell'orologio, ho fatto il modo che la presa usb di Arduino fosse facilmente accessibile.




Aggiornamenti



Qualora fosse disponibile un'aggiornamento importante, chi avesse già acquistato Symbio, verrà contattato via email e informato sulle migliorie/funzionalità aggiunte. In seguito a ciò, se si vorrà effettuare l'upgrade, bisognerà spedirmi Symbio con Arduino al seguito (costi a carico dell'utente). Di seguito il crono-sviluppo HW e SW di Symbio:

Hardware

- Symbio 1.0

- Nuova shield 
Symbio 1.3. La nuova scheda presenta vari fix per una gestione più razionale dei componenti e migliorie varie. La scheda inoltre è dotata di connettori singoli dedicati ad ogni sensore/periferica per una rapida installazione e sostituzione. In questo modo non sarà necessario saldare nessun cavetto sulla scheda. 

Software

symbio1.0: funzioni << data e ora + giri + temperatura + batteria >>. Hw arduino uno + lcd 8x2 + rtc ds1307.

symbio1.1: funzioni << data e ora + giri + temperatura + batteria >>. Hw arduino uno + oled 128x32 + rtc ds1307.

symbio1.2: funzioni << data, ora e giorno corrente + giri + temperatura + batteria >>. Hw arduino uno + oled 128x32 + rtc ds3231.

symbio1.2.1: come sopra ma migliorato codice lettura stato pulsante.

symbio1.2.2: come sopra ma aggiunta funzione automatica cambio ora solare/legale.

symbio1.2.3: eliminata funzione automatica cambio ora solare/legale ed implementata funzione sincronizzazione RTC tramite programma dedicato.

symbio1.2.4: aggiornato sketch con nuova libreria oled.

symbio1.3.1: aggiunta nuova funzione automatica cambio ora solare/legale.


Componenti utilizzati




- PCB con componenti elettronici vari; (Symbio fornibile da me)
- n° 1 basetta Arduino Uno R3; (fornibile da me)
- n° 1 modulo RTC DS3231 + n° 1 batteria al Litio ricaricabile tipo LIR2032; (fornibile da me)
- n° 1 sonda di temperatura DS18B20;
- n° 1 oled i2c 128x32 px (38x12mm); 
- n° 1 pulsante da pannello 12V con contatto normalmente aperto NA/NO;
- n° 1 portafusibile volante 5x20 con fusibile da 125 mA; (fornibile da me)
- scatola porta circuito di adeguate dimensioni;
- cavi, morsetti, capicorda, fascette e minuterie varie per effettuare un cablaggio pulito.


Per la lista della spesa, usiamo ebay. Dunque:


  • Per l'oled 128x32 px, dovete acquistare il tipo con sistema di connessione i2c o IIC e non SPI. Deve avere 4 pin, deve misurare 38x12 mm e per ultimo ma non meno importante, deve avere il driver IC del tipo SSD1306.            

Cerca l'oled i2c 128x32 su ebay

Nota:normalmente i venditori che vendono questo articolo sono quasi tutti cinesi ma se cercate bene trovate qualcosa anche in Italia o in Europa.

  • Contenitore circuito: le misure minime sono 59x84x37 mm. Scegliete quella che più vi piace:

Cerca la scatola su ebay


  • Per la sonda DS18B20, c'è poco da dire, vi consiglio di prendere la versione stagna già cablata:

Cerca la tua sonda DS18B20 su ebay


  • Per il pulsante la scelta è libera e dipende dai vostri gusti. Vi suggerisco qualcosa ma attenti alle misure:

Cerca il tuo pulsante su ebay


NOTA: Pagamento, trattamento dei dati personali e spedizione degli oggetti acquistati su ebay, sono sotto la responsabilità dei singoli venditori; il sito "Lo Scarabeo Rotax" non si ritiene responsabile in alcun modo degli acquisti effettuati.



Considerazioni finali e distribuzione


Mentre vi scrivo, sto conducendo gli esperimenti per:

- aggiungere la funzione contachilometri parziale (in tal senso, la nuova Symbio è già predisposta);

- dotare il programma della funzione automatica di cambio ora solare/legale.

Invece dotando il circuito di un'interfaccia bluetooth si potrebbe usare lo smartphone come schermo. E ancora, attraverso l'utilizzo di più sonde DS18B20, si potrebbe visualizzare la temperatura dell'acqua e addirittura dell'olio. Insomma c'è da divertirsi. In tal senso chiunque voglia supportare la R&D (ricerca e sviluppo) di questo progetto, può sostenere il mio impegno e il mio lavoro con una piccola donazione  

Se Symbio vi piace e volete montarlo sul vostro scooter, non dovete fare altro che scrivermi usando il modulo contatti e sarà mia premura spiegarvi tutto. 

La fornitura sarà comprensiva della scheda Symbio, del modulo RTC con batteria inclusa e di Arduino UNO. Il tutto verrà spedito già montato e programmato corredato da foglio istruzione. Per le restanti componenti sarà vostra cura reperirli seguendo la lista della spesa sopra citata.

Per richieste personalizzate, contattatemi e compatibilmente con il tempo a disposizione, valuterò le proposte.
Per info, dubbi e commenti, è disponibile sul forum il link alla discussione: pagina di supporto e sviluppo.


Download






by motoniko77






Ringraziamenti: a mia moglie che ha sopportato le "mie assenze", a mio fratello che mi ha aiutato a dare un nome e un logo al progetto, al mio amico Paolo#1 che mi ha ascoltato e consigliato, a Paolo#2 che mi ha supportato per la parte HW e a tutta la community di Arduino.CC per il supporto SW.












E per finire:

- Per restare aggiornato regalami un "mi piace" o un "+1" , oppure registrarti ai miei feedrss o alla newsletter.


Lo Scarabeo Rotax si riserva il diritto do variare in qualsiasi momento i contenuti della presente pagina.