giovedì 17 maggio 2012

ArduScooter 2.0 --- Arduino + Bluetooth + Android = :-)

Ecco la prima “puntata” sul progetto che sto portando avanti per lo scooter elettrico.

Diciamo che possiamo chiamarlo Ardu Scooter 2.0

Il progetto qui in “cantina” ossia, a casa mia, è iniziato ormai qualche mese con la definizione di cose volevo fare che puo’ essere sintetizzato cosi:

-         Voglio poter leggere oltre ai dati (es: AH consumati, temperature..) dell’ArduScooter 1.0 (vedi i post sotto la categoria Arduino per i dettagli), tutte e 20 le celle per poterle monitorare all’istante e loggarle per verificare che si comportino tutte in modo omogeneo. Per poterlo fare ho dovuto trovare un modo che consentisse ad Arduino di leggere piu’ di 25 segnali analogici, dargli una lettura pulita (senza partitori resistivi) e che potesse leggere delle masse separate. Arduino dai suoi input analogici legge solo i positivi, mentre la massa è condivisa su tutte le lettureL, immaginate quindi che casino sarebbe leggere le 20celle con masse in comune su Arduino.

-         Voglio avere la possibilità di inviare tutte le informazioni ad un cellulare Android per la visualizzazione e il logging. Questa affermazione è tanto semplice a dirsi quanto difficile a farsi!!

-         In futuro, ma questo nello versione 3.0 consentire al cellulare di intervenire sull’acceleratore per rimappare il comportamento sulla base di parametri impostabili da cellulare , ad esempio: max Ampere, max velocità etc..

Cosi’ da Febbraio io, con l’aiuto di mio padre, perche è lui che prepara le schede che gli disegno con le mille fori e mio fratello (che è molto piu’ skillato di me in Java) ci siamo messi a lavorarci sopra.

Oggi mi è sembrato il momento giusto per dare una idea sul punto a cui siamo arrivati.

Si puo’ dire che Arduino

adesso legge tranquillamente ben 28 segnali analogici a 12Bit, parliamo di una precisione che arriva al millivolt! Questo lo fa leggendo masse separate e senza partitori resistivi a patto di stare nel range 0 – 5V che è quello che serve per le celle al litio. Certamente a casa non ci sono disturbi sulle letture, ma quando lo montero’ sullo scooter sarà tutto da verificare, spero di non avere problemi.

Il modulo bluetooth per arduino è stato usato con successo, ha fatto un po’ soffrire, ma alla fine trasmette i dati che è un piacere. Diciamo che su questo punto il grosso dei problemi è stato determinato dalle stringhe di output verso l’esterno che spesso mandavo in crash Arduino. Magari un giorno gli dedico un post per evitarvi i problemi che ho affrontato, mi ha fatto veramente impazzire.

Android: Era la prima volta che mi cimentavo nella programmazione di dispositivi mobili, il paradigma di sviluppo è abbastanza diverso da quello classico di Java, ma come in tutte le cose dopo un po’ ci si abitua. Qui è stata implementata la lettura via bluetooth e scriva i dati sotto forma di file, inoltre prevede una visualizzazione dei dati in tempo reale ed in futuro dei sistemi di alert. A titolo di esempio potrebbe vibrare se una o piu’ celle scendono sotto un certo valore, ma su questo tema si potra’ spaziare davvero molto.

Ed ora veniamo all’esempio veramente grezzo del layout che usero’ per la visualizzazione in tempo reale delle 20 celle.

Non commentate l’estetica, serve solo a dare un’idea di come stanno andando le cose.

Certo, con il tempo che ho a casa la sera non finiro’ tanto presto , ma perche’ non iniziare a condividere i primi passi del lavoro per sapere cosa ne pensate?

Qui l’immagine del layout (solo a titolo esemplificativo, l'applicazione vera e propria è un'altra ma devo fare il video per quella), la prima colonna è il nr cella, la seconda il voltaggio e la terza è la rappresentazione grafica del voltaggio delle celle per avere un colpo d’occhio e capire rapidamente se una di queste si comporta in modo anomalo rispetto alle altre.

Presto seguirà un video che descrive in modo piu' complessivo gli elementi in gioco e descrive mentre è running lo scambio dei dati e relativa visualizzazione.

Image

5 commenti:

gianni(turbo) ha detto...

sarebbe carino tracciare anche il numero di cicli e l'energia caricata e scaricata... per vedere pian piano se cambia l'efficenza

ccrissz7 ha detto...

In effetti quando da Arduino azzero i dati di AH consumati per metterlo sotto carica potrei inviare al cellulare l'info che ha fatto un ciclo e storicizzarlo insieme al consumo di quel viaggio, buona idea!!

alain ha detto...

Sei un mostro!!! Complimenti per il progetto

jumpjack ha detto...

Pensa che io ho appena scoperto la scheda "IOIO", per interfacciare facilmente Arduino e Android (Arduoid? :-) :
http://www.robot-italy.com/product_info.php?products_id=1824

CCriss ha detto...

Jump, avevo visto anch'io alcune schede già pronte all'uso, ma poi mi sono chiesto se il collegamento senza fili non sarebbe stato meglio e mi sono risposto come vedi con il Bluetooth.
Poi c'e' il tema legato al fatto che questa scheda comunica solo con Android, mentre la mia soluzione potrebbe essere tranquillamente utilizzata anche da altri cellulari, il protocollo è standard.
Devo pero' ammettere che si semplifica molto il lavoro di integrazione con quella scheda, se la compri fammi sapere!!