ARDUINO UNO - Info misurazione di piccole correnti

Buongiorno a tutti!
Vorrei chiedervi alcuni consigli su come misurare al meglio la corrente che scorre in una resistenza utilizzando Arduino UNO.

Il circuito che sto testando è molto semplice, sono tre componenti collegati in serie: una piccola cella solare che funge da generatore, una resistenza da 10 ohm, su cui dovrei andare a leggere la corrente, ed un potenziometro da 10 kohm in modo da simulare molto banalmente un aumento del carico sulla cella (al momento non ho sotto mano uno schema del circuito da allegare....).

La cella è molto piccola, arriva al massimo a 1,5/2 Volt. La corrente che dovrei misurare varia da 0,1 milli Ampere, a circa 10/15 milli Ampere.

Girando in internet ho visto diversi amplificatori per misurare la corrente, ad esempio ACS712 (datasheet), ma se ho capito bene la sua risoluzione non è adeguata considerando le correnti che devo misurare. Nel datasheet è indicato una sensibilità di 188 mV/A (per la versione x05A), per cui una variazione di 1 Ampere dovrebbe generare una variazione di 188 mV. Dovendo io misurare una corrente di circa 10mA dovrei ottenere in uscita una variazione di 1,8mV quindi troppo piccola per essere misurata dagli ingressi analogici di Arduino. E' giusto il ragionamento che ho fatto o sto sbagliando qualcosa?

Ho visto anche questo: AD8211 (datasheet)
Questo l'ho provato direttamente inserendolo nel circuito ai capi della resistenza da 10ohm (ho provato anche con una resistenza da 0,1 ohm e una da 1 ohm), ma non ho ottenuto nessun dato utile, avevo dei valori che oscillavano in modo apparentemente casuale.

Avete qualche consiglio su come misurare delle correnti così piccole?

Spero di essermi spiegato al meglio!

Per misurare tale corrente, ci vorrebbe un amplificatore.

Il AD8211 dovrebbe funzionare
Potresti usare anche un HX711 se i 2 circuiti possono essere collegati galvanicamente. Col HX amplifichi la tensione ai capi della resistenza e la digitalizzi subito.
Ciao Uwe

Se il segnale e' troppo basso, e non riferito a massa), potresti usare un INA128 o un'ampli simile per aumentarlo ... essendo un differenziale per strumenti di misura e potendo variare l'amplificazione da 1 a 1000 cambiando una sola resistenza, dovrebbe risolverti il problema dei segnali troppo bassi ...

Attenzione solo alla polarita' ed a mettere un diodo di protezione sull'ingresso di Arduino, perche' come tutti gli amplificatori differenziali, puo dare in uscita sia tensioni positive che negative, mentre Arduino sugli ingressi puo ricevere solo tensioni positive ... quindi diodo fra pin di ingresso e massa, catodo sul pin ... :wink:

Etemenanki:
Se il segnale e' troppo basso, e non riferito a massa), potresti usare un INA128 o un'ampli simile per aumentarlo ... essendo un differenziale per strumenti di misura e potendo variare l'amplificazione da 1 a 1000 cambiando una sola resistenza, dovrebbe risolverti il problema dei segnali troppo bassi ...

Attenzione solo alla polarita' ed a mettere un diodo di protezione sull'ingresso di Arduino, perche' come tutti gli amplificatori differenziali, puo dare in uscita sia tensioni positive che negative, mentre Arduino sugli ingressi puo ricevere solo tensioni positive ... quindi diodo fra pin di ingresso e massa, catodo sul pin ... :wink:

Cosa non Ti piace nel HX711?
Ciao Uwe

Non c'e' nulla che non mi piaccia nel HX711, e' solo che quello e' un convertitore AD per celle di carico dove puoi impostare il guadagno a 32, 64 o 128, mentre l'INA128 e' un'amplificatore differenziale per strumentazione dove puoi arrivare a 1000 di guadagno, per cui se ha problemi di segnali molto piccoli, forse andava meglio (anche se il vantaggio dell'HX e' che il segnale e' gia in digitale a 24 bit, mentre con l'INA dovrebbe poi leggerlo con una porta analogica e sarebbe limitato a 10 bit)

Sono semplicemente due diversi sistemi, ognuno ha i propri vantaggi e svantaggi.

(e poi di HX non ne ho in casa, mentre di INA ne ho gia usati e me ne sono pure avanzati in casa alcuni ... ci sono semplicemente piu abituato, tutto qui ;))

Grazie tante per le risposte!! Ora studierò un po' come funzionano i due sistemi e vedrò quale provare! :wink:

Buongiorno a tutti! Torno nuovamente qua a chiedervi aiuto :confused:

Come consigliato sono riuscito a procurarmi un INA128 ma ho alcuni dubbi su come l’ho collegato…

La mia idea era quella di posizionare i due ingressi dell’amplificatore ai capi della resistenza. Il + nella parte dove ho collegato il polo positivo della cella solare, ed il - all’altro capo della resistenza (che non è a massa ma è in serie con un potenziometro).
In questo modo, sempre in testa mia, in uscita dall’amplificatore dovrei ottenere una tensione opportunamente amplificata in base alla resistenza di “guadagno” inserita sull’amplificatore. La tensione rilevata sarebbe quella ai capi della resistenza, per cui la posso utilizzare per calcolare la corrente che scorre.

Ho fatto diversi tentativi ma i valori che ottengo non sono mai in linea con quelli che vado a misurare direttamente con il tester, sbaglio qualcosa nel collegare l’amplificatore? Sto sbagliando tutto quanto? Se avete idee e consigli sono ben accetti! :slight_smile:

Vi allego anche uno schema di come ho fatto i collegamenti

Un ultima cosa non mi è molto chiara:

Etemenanki:
… quindi diodo fra pin di ingresso e massa, catodo sul pin …

Ho capito il senso del diodo, ma praticamente dove va posizionato nel circuito? Va bene se lo collego tra Vout dell’amplificatore e massa?

Per il diodo (o ancora meglio, zener da 5.1V), meglio se direttamente sul pin di Arduino, perche' in serie all'uscita dell'amplificatore andrebbe collegata una resistenza (basta 1K), cosi se per caso la tensione in uscita va negativa oppure supera i 5V, non si sovraccarica l'uscita dell'amplificatore (ed 1K in serie non causa alcuna alterazione nella lettura, dato che l'impedenza interna delle porte analogiche mi sembra sia intorno ai 500 megaohm)