Tre anni fa, quasi per gioco, un noto capo officina delle nostre ben amate terre, ci chiese se fosse possibile estrapolare da un shock absorber testing machine obsoleto, un grafico che mostrasse,  in funzione di due variabili (escursione e forza-peso), il comportamento dinamico di un ammortizzatore. La macchina in questione, la “Precisa” della Emmetec, restituiva solo i valori massimi e minimi in kg/f relativi dell’ammortizzatore, letti attraverso una cella di carico.

Emmetec Precisa

Emmetec Precisa

Per raggiungere il nostro abbiettivo, ovvero tracciare un grafico relativo al funzionamento della sospensione, era necessario un secondo dato:  l’estenzione della sospensione. Tale dato e` stato ottenuto attraverso l’installazione di un potenziometro lineare. Questa configurazione ci ha permesso di mettere in relazione i valori fornitici dalla cella di carico con i dati relativi all’estenzione.

Potenziometro in dettaglio

Potenziometro in dettaglio

Potenziometro lineare

Potenziometro lineare

Veniamo all’elettronica utilizzata, e ai sui collegamenti con Arduino. Per leggere l’escursione della sospensione, come e` stato gia` detto precedentemente, abbiamo utilizzato un potenziometro lineare. Arduino non fa altro che leggere la differenza di potenziale, che varia al variare della resistenza interna del potenziometro, restituendoci con opportuni calcoli, quella che e` la posizione della sospensione.

Cella di Carico

Cella di Carico

Per la cella di carico il discorso e` leggermente diverso, in quanto la load-cell non e` altro che un ponte di wheatstone. Senza dilungarci in nozioni di elettrotecnica, basta sapere che, come il potenzionetro, il ponte di wheatstone restituisce una differenza di potenziale, variabile al variare della flessione della cella di carico. Il problema e` che le variazioni di corrente espresse in mV non sono interpretabili da Arduino.

Elettronica

Elettronica

Come abbiamo risolto questo problema? Il problema e` stato risolto inserendo tra Arduino e la cella di carico un circuito amplificatore. La scelta tra le tante pensate e` ricaduta su un circuito integrato INA125p della Texas Instruments. La particolarita` di questo integrato sta nel fatto che la circuiteria di controllo e` pressapoco nulla, e che non necessita di alimentazione esterna, fonte di rumore, e di altri componenti inutili! Questo ci ha permesso di ridurre al minimo il rumore e di realizzare un sistema ad hoc! Per tutti i collegamenti basta guardare la figura.

Collegamenti con Arduino

Collegamenti con Arduino

Il potenziometro e la cella di carico sono stati quindi collegati ad Arduino, che leggendo i valori li comunica tramite seriale ad un PC, sul quale un applicativo scritto in Python  grafica i dati rilevati.

GraphDuino

GraphDuino

Lo sviluppo dell’applicazione “GraphDuino” e` partito da un semplice script, che permetteva di acquisire i dati e graficarli mediante l’uso della libreria Matplotlib, fino ad arrivare a un’applicazione piu` complessa dotata di GUI in TKinter. L’ultima versione di GraphDuino e` in grado di:

  • acquisire tramite porta seriale i valori inviati da Arduino in formato x#y
  • visualizzare un grafo elaborando i dati acquisiti, convertendoli dalla forma “raw”, inviata da Arduino, a dati reali mediante un’opportuna formula
  • visualizzare i valori di massimo e minimo in kg/f
  • sattare il tipo di sospensione (fork o mono)
  • comparare grafici.
  • salvare i dati raw, un’immagine del grafico, un pdf con il grafico e i dati della sospensione testata
GraphDuino

GraphDuino

Annunci