ACS712

Salve a tutti, da poco mi è arrivato il modulo ACS712 per la misura della corrente(MAX 20A), ho iniziato a fare delle prove con un semplice codice che legge la tensione che mi manda il modulo solo che non riesco ad essere molto preciso, i valori variano molto. Qualcuno ha un codice già pronto da utilizzare come base per poi modificarlo a dipendenza delle necessita?
Grazie mille a tutti :slight_smile:

Non c'è nessun codice da commentare il sensore fornisce 100 millivolt per ogni ampere , se la corrente misurata è stabile è sufficiente che misuri con un tester la tensione in uscita, se la misura è corretta ma l'acquisizione balla il problema è sull'alimentazione di Arduino

Buongiorno, il mio Arduino viene alimentato tramite il cavo usb dal mio computer quindi dovrebbe essere stabile :-, per collegare il carico e indifferente come lo collego? Basta sia in serie? Sto comunque misurando dei mA al momento quindi forse è giusto che non sia precisissima la misura
grazie mille ancora per la risposta :slight_smile:

mozzini97:
Buongiorno, il mio Arduino viene alimentato tramite il cavo usb dal mio computer quindi dovrebbe essere stabile :-\

... fossi in te NON ci conterei proprio ... ::slight_smile:

Guglielmo

allora lo alimento con un'alimentatore da laboratorio, l'imprecisione non potrebbe essere data anche dalla misura che sto facendo? gli analogici vanno da 0 a 1023 valori, io sto misurando circa 10mA(misura fatta con un multimetro) forse sono un po' fuori scala...
Sono solo supposizioni, magari nemmeno il modulo funziona...

Beh certo che se scendi sotto la risoluzione del ADC ...

Arduino alimentato a 5V, risoluzione 5V/1024 = 4.8mV step. Il ACS712 da 100mV ogni 1A ... tu stai misurando 10mA per cui il ACS darà delle variazioni di 1mV ... come pretendi di misurarle ? Come minimo, per vedere una vera variazione, ti servono correnti 5 volte superiori ... 50mA, 100mA, 150mA ... e così via ...

Guglielmo

... altrimenti, per apprezzare variazioni di circa 1mV (i tuoi 10mA), devi usare il riferimento intero a 1.1V che porta ad avere una risoluzione per singolo step di circa, appunto, 1mV.

Guglielmo

devi usare il riferimento intero a 1.1V che porta ad avere una risoluzione per singolo step di circa, appunto, 1mV.

Devi comunque mettere un partitore sul segnale, ACS712 può misurare in entrambi i versi, con variazione appunto di 100mV per Amp, quindi l'uscita a 0 V è uguale a Vcc/2 , cioè 2,5 V.

Ciao, Ale.

Avevo pensato anche io che poteva misurare nei due sensi dato che trovavo un valore di 511 circa quindi se prendo la scala che va da 0 a 1023 sono a meta... quindi la risoluzione che posso utilizzare e da 0 a 511? come faccio ad eliminare la parte negativa cosi da poter andare da 0 a 1023(sempre se possibile).
Grazie mille a tutti :slight_smile:

Con un amplificatore operazionale puoi togliere o aggiungere un offset, ovviamente perdi la bidirezionalità.
Ma ti serve necessariamente l'isolamento galvanico? Altrimenti ci sono soluzioni più semplici...

Ciao, Ale.

L'unica cosa che interessa a me è misurare la corrente che scorre nel cavo per poi moltiplicarla con la tensione per sapere che potenza sta entrando nelle mie batterie... non ho bisogno di fare chissà cosa.
Quali altre soluzioni ci sarebbero? La corrente potrebbe arrivare fino a un massimo di 20A...

Quali altre soluzioni ci sarebbero?

Di che tensione parliamo?

Ciao, Ale.

La tensione varia da 0 a 24 v circa...

Se non superi i 24V l' INA219 può essere una buona scelta, trovi anche delle breakout board già pronte, leggi nel datasheet come calcolare la resistenza di shunt ottimale. Ti colleghi tramite I2C ed hai i valori di tensione, corrente e potenza collegati.
Comunque va da se che qualunque sistema scegli ti conviene inquadrare un range di corrente ragionevole, cioè in soldoni non si possono misurare con la stessa accuretezza 10 mA o 20A usando lo stesso shunt.

Ciao, Ale.

La principale precauzione quando si fanno simili circuiti e' quella di prevedere sempre un'alimentazione flottante, galvanicamente isolata dal carico ... alimentatori separati, o ancora meglio un convertitore DC-DC con ingressi ed uscite isolate ... una volta che c'e' quello, si puo usare un po di tutto, perfino un HC711, che anche se di solito si usa per leggere celle di carico, contiene comunque un'ADC a 24 bit che campiona fino ad 80 volte al secondo ed uno stadio di ingresso differenziale che puo arrivare a leggere fino a +/-20mV di fondoscala (che su 24 bit danno una bella risoluzione, comunque :wink: )

La parte piu difficile potrebbe essere trovare una resistenza da un milliohm, a quel punto :smiley:

Volevi dire HX711

Si, HX711 ... maledetti errori di battitura che si infilano da soli dappertutto :stuck_out_tongue: