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, temperatura esterna, voltmetro,  contagiri e conta km parziale.


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: ora e data, temperatura esterna, voltmetro,  contagiri e conta km parziale.

Schema a blocchi funzionamento programma a 4 funzioni:

(clicca per ingrandire)

Schema a blocchi funzionamento programma a 5 funzioni:

(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  batteria tampone ricaricabile, il modulo funzionerà anche con lo scooter spento e batteria staccata. L'autonomia della sua batteria è garantita per moltissimi 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.

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. 

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

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

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.

Inoltre, a motore spento o ingresso contagiri non cablato, il sistema passerà in automatico alla funzione successiva.

Conta km parziale: utilizzando un'altra funzione nativa del core di Arduino, un magnete al neodimio e un semplice contatto reed, andremo a contare i conta km parziali. Al bisogno sarà possibile resettare il conteggio semplicemente premendo per più di 2 sec. il solito pulsante predisposto sul cruscotto.

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 scaricabile dal box in fondo: << VAI >>


Installazione del circuito


Il montaggio, consiste essenzialmente nel portare al circuito:

  •  L'alimentazione proveniente da un positivo +12V sotto chiave, ad esempio prelevabile dal + del clacson:


  •  Il negativo della batteria;

  • Una coppia di cavetti per il pulsante aggiuntivo. Per farlo bisogna smontare il blocchetto comandi sinistro, effettuare un foro dell'opportuno diametro e montare il pulsante:



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


  • Posizionare e cablare la sonda temperatura. Sistemare la sonda temperatura nel punto più idoneo, che sia lontano da fonti di calore quali ad esempio radiatore e motore e che non sia esposto direttamente alla luce solare. Questo è il pinout della sonda DS18B20:


  • Per la funzione conta km parziale, installare un magnetino su uno dei raggi della ruota e il relativo contatto reed sulla forcella. Per fissare il magnetino su uno dei raggi della ruota praticare un foro con il trapano:


Posizionare sulla forcella il contatto reed, ponendolo all'interno di una capsula di fortuna. Io ad esempio, ho riciclato il sensore contakm della bici, ho eliminato il suo contatto reed e gli ho installato uno più sensibile:



Nel cerchio verde è evidenziato il contatto reed dotato di due fili che vanno portati a Symbio, e in quello rosso il magnetino. Per fare il modo che il magnetino ad ogni passaggio, riesca a far chiudere il contatto del contatto reed, bisogna fare attenzione a due cose:
  1. per una questione di velocità angolare, il magnete va installato il più vicino al centro della ruota e non all'estremità. Fate come mostrato nella foto in alto;
  2. acquistando il magnete al neodimio (quelli di colore metallico e non neri) del diametro di 20 mm, la distanza tra esso è il reed deve essere di circa 24 mm.


  • Un cavetto per il segnale del contagiri. Per far ciò, è necessario prelevare il segnale a bassa tensione  e portarlo a Symbio. 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 di Symbio. 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)


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:


Questo è il pin-out dell' oled I2C:


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:




Infine ri-posizionare l'oled al posto dell'orologio di serie. 


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




Alla fine il risultato sarà più o meno questo:





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/R 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.

symbio1.3.2: aggiunta funzione di conta km parziale.

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 315 mA; (fornibile da me)
- n°1 magnete al neodiminio di 20 mm con foro centrale;
- n° 1 contatto reed; 
- 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 per cablare il circuito agevolmente sono 103x64x40 mm:

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


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. Costo 60€ + S.S.

Ma se volete la soluzione all-inclusive, chiedete pure. Costo 90€ + S.S.

Per richieste personalizzate, ad esempio vi serve quella funzione e quell'altra no, contattatemi ...
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.