Symbio

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
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):
symbio
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 Atlantic125/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.
Sommario:

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:
schema a blocchi symbio
Schema a blocchi funzionamento programma a 5 funzioni:
schema a blocchi symbio
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 (range temperatura misurabile -55/125°C).

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:
scheda symbio
ho saldato i componenti necessari:
scheda symbio
l'ho appoggiata su Arduino:
scheda symbio
e poi ho fatto entrare i pin maschi della mia pcb negli strip femmina di Arduino:
scheda symbio
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.

Installazione del circuito

A circuito terminato, l'installazione di Symbio sullo scooter comprende 7 passaggi:

1. Prelevare un positivo +12V sotto chiave, ad esempio dal + del clacson e portarlo al +12V di Symbio:
montaggio symbio
2. Prelevare il negativo/massa dalla batteria dello scooter e portarlo a Symbio;

3. Cablare 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:
montaggio symbio montaggio symbio
Portare la coppia di cavi a Symbio.

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

4. 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:
pinout DS18B20
Portare il cavo a Symbio.

5. Per la funzione conta km parziale bisogna installare un magnetino alla base di uno dei raggi del freno a disco e il relativo contatto reed sulla forcella sinistra. Per fissare il magnetino basterà usare del mastice e poggiare semplicemente il magnetino sul disco:
magnete neodimio contakm
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:
contatto reed contakm
contakm symbio
Nel cerchio rosso è evidenziato il contatto reed dotato di due fili che vanno portati a Symbio, e in quello verde 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), la distanza tra esso è il reed deve essere di circa 22-24 mm. Dopo aver montato tutto, se i km sul display non dovessero avanzare, muovere il contatto reed come mostrato in foto:
contakm symbio
Portare il cavo a Symbio.

6. Cablare 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:
contakm symbio
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:
cavo contagiri pick-up scarabeo rotax 125 150 200
cavo contagiri pick-up scarabeo rotax 125 150 200
spellatelo da un lato, effettuate una saldatura e derivatevi con un cavo di opportuna lunghezza:
cavo contagiri pick-up scarabeo rotax 125 150 200
cavo contagiri pick-up scarabeo rotax 125 150 200
Per la Vespa 300GTS sotto al vano sottocasco, nel fascione dei cavi che vanno al gruppo farfallato, intercettate il filo rosa/nero e derivatevi con un cavo di opportuna lunghezza da collegare a Symbio. Allego una foto:
cavo contagiri vespa 300 gts
Vi lascio l'indirizzo del forum di modervespa dove si è parlato dell'argomento: cavo segnale contagiri.

Come vedete, l'utente per derivarsi dal filo del contagiri della propria Vespa, ha usato un rubacorrente. Nel qualcaso non si volesse optare per la saldatura, il rubacorrente resta una valida alternativa.

Per chi non possedesse lo Scarabeo, oggetto del presente approfondimento, o la Vespa 300 GTS, 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":
spillo ruba corrente
"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 spire. Adesso 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...
avvolgimento cavo pippetta candela
avvolgimento cavo pippetta candela
Portare il cavo a Symbio.

7. Montare l'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
orologio scarabeo rotax 125 150 200
orologio scarabeo rotax 125 150 200
Questo è il pin-out dell' oled I2C:
pinout 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:
montaggio oled i2c
montaggio oled i2c
montaggio oled i2c
Attenzione, per la scelta del cavo è importante sceglierne uno del tipo schermato (ad esempio uno per antifurti) e mantenere la tratta più corta possibile. Infine ri-posizionare l'oled al posto dell'orologio di serie e portare l' altra estremita' del cavo a Symbio.
cruscotto scarabeo rotax 125 150 200
Osservazioni sulla soluzione adottata: installazione facilitata, togli e metti. Possibilità di tornare indietro senza problemi.

Alla fine il risultato sarà più o meno questo:
montaggio symbio scarabeo rotax 125 150 200
montaggio symbio scarabeo rotax 125 150 200

Aggiornamenti

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.

symbio1.3.2.1: come sopra ma ottimizzato il codice.

symbio1.3.2.2: aggiunta funzione di tachimetro (attualmente è la mia versione definitiva a causa del tachimetro originale guasto).

symbio1.3.3: aggiunta una seconda sonda di temperatura per monitorare la temperatura del motore(solo su richiesta).

Componenti utilizzati

- PCB (senza componenti); (Symbio fornibile da me)

- n° 1 scheda Arduino Uno R3: Arduino Uno clone;

- n° 1 modulo RTC DS3231 + n° 1 batteria al Litio ricaricabile tipo LIR2032: RTC DS3231; batteria LIR2032 ricaricabile;

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

- 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. Normalmente i venditori che vendono questo articolo sono quasi tutti cinesi ma se cercate bene trovate qualcosa anche in Italia o in Europa: oled i2c 128x32px con driver ssd1306 (38x12mm);

- Per il pulsante la scelta è libera e dipende dai vostri gusti. Vi suggerisco qualcosa ma attenti alle misure: mini pulsante pannello 12V con contatto normalmente aperto;

- n° 1 portafusibile volante 5x20 con fusibile da 315 mA: portafusibile in linea 5x20;

- n°1 magnete al neodiminio di 20 mm con foro centrale;

- n° 1 contatto reed: contatto reed;

- n° 1 morsetto ruba corrente per derivazione cavo contagiri (opzionale): morsetto ruba corrente;

- Contenitore circuito: le misure minime per cablare il circuito agevolmente sono 103x64x40 mm: Scatola portacircuito in abs 103x64x40 mm;

- cavi, morsetti, capicorda, fascette e minuterie varie per effettuare un cablaggio pulito.

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 Paypal .

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 PCB Symbio (come in foto e senza i componeti saldati), delle istruzioni con lista componenti elettronici, del foglio istruzione e del programma da caricare su Arduino Uno. Per le restanti componenti sarà vostra cura reperirli seguendo la lista della spesa sopra citata. Costo 35€ comprese le S.S. (con affrancatura semplice).

symbio light
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

- Foglio istruzione Symbio V1.3 - 4 funzioni: << CLICCA QUI >>
- Foglio istruzione Symbio V1.3 - 5 funzioni: << CLICCA QUI >>
- Driver arduino clone: CH340 driver for Windows 8.1 x64 & x86
- Foglio istruzioni procedure sincronizzazione orologio: << CLICCA QUI >>
- Programma per sincronizzare l'orologio: RTCsetup.exe (credit by Luca Dentella)

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 lo supporto SW.

E per finire

- Se questa guida ti è stata utile e ti ha fatto risparmiare dei soldini, offrimi una birra e sostieni il mio impegno e il mio lavoro con una piccola donazione Paypal.

- Per info , dubbi e commenti usare il forum dello Scarabeo Rotax.

- Per restare aggiornato regalami un "mi piace", oppure registrarti alla newsletter.

Tutti gli argomenti