Cerca

modulo attività

modulo tecnica

Login Form

Utilizzando il linguaggio di programmazione di Scratch per Arduino (S4A) è possibile sviluppare un ottimo e versatile data logger per  monitorare la scarica di batterie (nota 1) AA o AAA (anche altri tipi di batterie adottando alcuni accorgimenti) usando le porte analogiche della scheda Arduino (il risultato è illustrato nella figura a destra).

01 prima traccia

Dato che si "monitora" la tensione V delle Batterie, viene chiamato VB logger.

Con questo video si illustrano la fattibilità, il funzionamento e l'utilità di questa applicazione.

Di seguito vengono illustrati l'hardware ed il software dello strumento ed anche, in fondo, alcune osservazioni su esperimenti su batterie condotti con il suo uso.

Ci sono anche delle proposte di miglioramento per sviluppare ulterirmente il software.

 

Lo strumento

Lo schema di principio del data logger è uguale a quello usato nella simulazione realizzata con Scratch e Picoboard: separare le funzioni fra diversi sprite in modo da visualizzare il processo coerentemente con lo schema teorico dello strumento. In aggiunta, questo approccio, consente di realizzare oggetti abbastanza indipendenti da questa specifica applicazione per potere essere copiati e riutilizzati in altre applicazioni. 

La struttura è identica a quella usata con Scratch e Picoboard rispetto ai quali sono state fatte correzioni e modifiche per rendere più fruibile l'apparato. Negli esempi applicativi eseguiti con Scratch e Picoboard è spiegato il funzionamento delle varie parti: qui non ci si inoltrerà con lo stesso dettaglio.

Si parte dallo schema hardware:apparato c2

- lo slot per la pila (di tipo AA) viene collegato ad un "mammut" per consentire il collegamento e lo scollegamento rapidi di un resistore di carico del valore di 2,2Ω/ 1W

- dallo stesso mammut partono i fili di collegamento alla scheda Arduino:

- il filo nero, collegato al polo negativo della pila, va ad uno dei pin "ground"

- il filo rosso, collegato al polo positivo della pila, va al morsetto di ingresso analogico A4 (uno vale l'altro, basta tenerne conto nello scrivere il software)

>>> nota: l'inversione della polarità, come una tensione eccedente i 5 V, danneggia il microcontrollore di Arduino

 

La scheda Arduinoscheda

La scheda Arduino svolge la funzione del sensore immettendo un valore numerico nel sistema di calcolo del PC (che è una macchina che tratta segnali digitali) grazie al convertitore analogico-digitale di cui è dotato.

Il software di Scratch "legge" in continuazione con il ciclo "per sempre" l'ingresso "Analog4" ed assegna il valore numerico ivi presente alla grandezza "segnale" realizzando così la funzione di "sensore".

Il valore numerico assegnato alla variabile "segnale" è a 10 bit per cui varia nella gamma da 0 a 1023 (1023=210-1).

L'ingresso analogico della scheda Arduino ammette tensioni nella gamma 0-5V; il valore di tensione presente al pin A4 viene convertito nel valore numerico denominato "segnale" nella gamma 0-1023 dal convertitore analogico digitale di Arduino. 

Vale allora la proporzione:

1023:5=segnale:Tensione

 

 

La sondasonda

La sonda effettua il trattamento del segnale che in questo caso consiste solo nella trasformazione in volt del segnale numerico in ingresso: questa è la "misura".

La "misura" deriva dall'operazione effettuata sul segnale dallo strumento per cui, data la proporzione appena vista, dove il valore numerico nello schema del data logger è il "segnale" generato dalla scheda Arduino, la proporzione equivale a:

1023:5=segnale: misura

per cui misura=segnale*5/1023 [V]

se si divide il valore numerico del segnale per 205 (1023/5 fa quasi 205) si ha, con buona approssimazione, la misura che è uguale alla tensione in ingresso che vogliamo monitorare.

 

 

 

 

Il registratoreregistratore

Il registratore produce due liste di valori corrispondenti

- la lista timing che riporta l'istante di tempo in cui viene efettuata la misura

- la lista record che riporta i valori di tensione approssimati al centesimo

Trascorso un intervallo di tempo pari a "periodo" avviene la misura del valore in ingresso e la sua registrazione.

Successivamente si possono esaminare tutti i valori registrati di tempo e di tensione scorrendo le due liste come illustrato nel video.

I dati da inserire in lista possono essere manipolati in modo da presentarsi in forma utile. In questo esempio il timing è in secondi ma poteva essere più opportuno presentarlo in minuti per durate di scarica molto lunghe. Il record è un valore numerico in virgola mobile che diventa di difficile lettura (oltre che mostrare precisioni prive di significato) per cui viene arrotondato al centesimo con un trucco (la fuzione arrotonda di Scratch arrotonda all'unità, non è possibile scegliere il decimale da arrotondare)

 

 

 

 

 

 

 

Il plotterplotter

Il plotter disegna il grafico della grandezza "misura" in tempo reale.

Per utilizzare bene lo spazio del grafico a disposizione, si amplifica per 100 il valore della misura.

Una descrizione del comportamento del plotter è contenuta nel progetto simulato con Scratch.

 

 

 

 

 

 

 

 

 

 

La procedura per il disegno degli assiassi prevede anche il disegno della linea di soglia che serve a valutare quando la tensione scende al di sotto di un valore convenzionale da noi ritenuto accettabile per la funzione da svolgere.

 

 

 

 

 

 

 

 

 

 

 

Lo stage (il controllore)stage

Lo stage, che svolge la funzione di coordinamento della strumentazione, prevede l'immissione del valore del periodo di campionamento e il valore di soglia da effettuare prima di avviare le misurazioni.

In questa foto lo stage è predisposto per ripetere tre volte il grafico sovrapponendo sullo stesso display tre curve di colore diverso in modo da rendere possibile l'esame grafico di eventi molto lunghi.

Ovviamente il plotter deve trattare adeguatamente i tre comandi che si susseguono:

"pronto" per disegnare il primo grafico

"continua1" per sovrapporre un secondo grafico di colore diverso

"continua2" per sovrapporre un ulteriore grafico

il tutto deve avvenire senza cancellare quelli precedenti.

 

 

 

 

 

 

 

 

Per capire guarda questo video

Per consolidare sono proposte delle esercitazioni ragionate 1 ed esercitazioni ragionate 2 dove di possono vedere vari modi di utilizzare quanto qui presentato. 

 

 

Proposte di miglioramento:

- inserire un dialogo iniziale per introdurre i parametri di soglia e periodo

- inserire una griglia nel grafico per facilitarne la lettura

- modificare i valori della lista timing per mostrare i minuti anzichè i secondi

- inserire una procedura che segnala l'attraversamento della soglia, memorizza il momento in cui avviene e calcola la capacità della batteria

- modificare il software in modo che si possa interrompere il processo, salvare il file e riprenderlo successivamente senza cancellare nulla.

 

 

nota 1): sebbene il termine corretto sia "accumulatore" quando si tratta di pila ricaricabile,  in questo articolo si usa indifferentemente il termine "batteria" e anche "pila", sia perchè nell'uso corrente del termine non si riconosce più tanta differenza e sia perchè il data logger può essere usato anche per le pile "usa e getta".