Mini amperometro

Vorrei effettuare un controllo sulla corrente assorbita dai microservi di un robot. Vorrei che, q*uando si raggiunge una certa soglia, i motori si fermino.* Nel mio caso ho svuotato l'elettronica dei servi ed uso un motordriver, percui è sufficiente che venga eseguita l'istruzione per lo standby.

HARDWARE: Arduino pro mini3v3 Lipo 3,7V 2x servi 9gr, consumo ordinario: 80-120mA, corrente di stallo: 500mA etc.. Partitore di tensione che uso per leggere la tensione della lipo con analogRead

RANGE DA RILEVARE : idealmente da 0 a 1000mA, ma restringibile di 500 (es: da 250 a 750mA) PRECISIONE RICHIESTA: [u]bassa[/u], va bene anche un errore del 10% sulla lettura E*FFICIENZA RICHIESTA:* [u]alta[/u], il robot utilizza una batteria da 170mAh e non posso permettermi sprechi. L'efficienza ha priorità sulla precisione.

[u]La domanda è:[/u] che resistenza utilizzo? quali sono i calcoli da fare? Importante: no shunt e no roba sofisticata grazie, il robot non deve superarei 50gr di peso!

Grazie e buona giornata :-)

forse potrebbe esserti di aiuto un modulo simile anche se ha un fondo scala di 5A.

La soluzione è proprio usare l'ACS712, però deve essere dotato di un opamp, con opportuno offset, in modo da poter misurare con sufficiente risoluzione il range desiderato. Una soluzione basata su una resistenza è quella più inefficiente in assoluto in quanto si perde energia sulla stessa. Sparkfun ha una board pronta all'uso con l'ACS712 dotato di opamp, se risulta troppo grande/pesante basta usare lo schema fornito e rifarla sulle proprie esigenze, gli ACS712 si trovano da RS a 3.6 E + iva.

Leggo che l'ACS712 ha un out di 185mV/A qui

Il mio Pro mini legge intervalli di 3300/1024= 3,22mV che corrispondono a intervalli di 17,40mA

Beh un errore sulla lettura di +- 17,40 mA è più che accettabile!

Ho sbagliato in qualcosa?

E se invece utilizzassi una semplice resistenza da 0,1ohm? a 500mA perderei I^2 * R = 0,025W in calore Esempio queste:1

se usi il riferimento interno da 1,1V aumenti di risoluzione gratis.
Ciao Uwe

Bueno a sapersi @uwefed.

Ho comperato una resistenza smd da 0.05ohm quindi, usando 1,1V come Aref dovrei avere:

1) INTERVALLI TRASDOTTI dall'ADC: 1100mV\1024= 1,07mV

2) RISOLUZIONE: 1A che scorre sulla resistenza produrrebbe.. V=RI-> 0,05*1=50mV. 50mV/1,07mV= 46,7 intervalli--> 1000mA/46,7= 21,4mA

3) PERDITA DI ENERGIA come calore di I^2*R= 0,05Watt @1000mA o 0,0125Watt @500mA.

-ragazzi potete confermarmi se ho detto cassate?* -se uso 1,1V come Aref, devo alimentare l'analogico con 1,1V o posso fornirgli sempre 3,3V?

squizzy91: ... potete confermarmi se ho detto cassate?* ...

... non mi sembra che tu abbia parlato di dolci di origine Siciliana a base di gelato e canditi ... (:D)

Battute a parte ... se limiti la resistenza a valori molto bassi, ovviamente perdi meno energia (anche se un minimo di caduta ce l'hai lo stesso, ma a quei livelli potrebbe essere poco influente) ... 0.05 ohm ad 1A provocano una caduta di tensione sulla resistenza di 0,05V (50mV), il problema semmai e' che per ogni A di carico avrai solo quei 50mV da poter misurare ... 1.1V/1023=0.001075 e rotti, cioe' gradini da circa 1mV l'uno ... che e' la massima risoluzione che avresti con un riferimento di 1.1V ... quindi al massimo ci misuri 50 step (i tuoi 50mV, che sono il massimo che avresti a disposizione) ... il che significa poter misurare al massimo solo "gradini" di circa 20mA per volta, questa sarebbe la massima precisione possibile con quei valori ... ovviamente, potresti avere un bel po di problemi in caso di segnale "rumoroso", perche' su un segnale che va da 0 a 50 mV, si fa presto a ritrovarci sopra un sacco di disturbi e finire con letture ballerine ...

20mA di risoluzione vanno stra bene.

Non avevo considerato i disturbi invece. Usero' la cara vecchia media dei valori.

Se uno volesse misurare il consumo di un motore dc, che succede mettendo la resistenza? Non starei involontariamente costruendo un circuito RL? Perché so che i motori DC non van d'accordo con le resistenze.

Grazie