Forum: Mikrocontroller und Digitale Elektronik Arduino Amperemeter


von µbrain (Gast)


Lesenswert?

Hallo und guten Abend,

ich bin gerade dabei ein Amperemeter mit meinem Arduino zu realisieren. 
Ich habe bereits über den Spannungsteiler ein Volmeter entworfen, gebaut 
und programmiert. Nun suche ich eine simple Methode auch die Ampere 
einer angehängten Last zu messen. Habt Ihr Tipps was sich am besten 
eignet?
Ich hatte die Idee mit einem Shunt alles zu Messen. Wichtig: Es soll 
eigenbau werden und keine fertige Platine sein.
Messbereich ist 0-10A an 12V Umax.

Ich danke Euch für gute Ideen und Anregungen!

Herzlichst, µBrain!

von ACS712 (Gast)


Lesenswert?

Schau dir mal die Stromsensoren von Allegro Micro an. ACS712 zum 
Beispiel. Gibt es fertig, aber natürlich auch einzeln. Und schon Code 
für Arduino...

von MaWin (Gast)


Lesenswert?

Wo ist das Problem ? Du kannst eine Spannung messen, nach 
Spannungsteiler beim modernen Arduino AVR von 0-1.1V, nun misst du den 
Spannungsabfall am shunt.
Wenn der von 0-0.1V beträgt, kannst du immer noch 100mA auflösen (und 
90% verschenken), also 0.0 , 0.1 , ... 10.0 A anzeigen.

Wenn du Spannung und Strom gleichzeitig anzeigen willst, musst du den 
Spannungsabfall am shunt abziehen, weil du sonst nicht weisst, wo GND 
(0V) sein sollen.

von Wolfgang (Gast)


Lesenswert?

µbrain schrieb:
> Habt Ihr Tipps was sich am besten eignet?

Du könntest einen Hallsensor (z.B. ACS714 von Allegro) nehmen und 
hättest damit auch eine galvanische Trennung zwischen deinem 
Laststromkreis und der Messschaltung.

von µbrain (Gast)


Lesenswert?

MaWin schrieb:
> Wo ist das Problem ? Du kannst eine Spannung messen, nach
> Spannungsteiler beim modernen Arduino AVR von 0-1.1V, nun misst du den
> Spannungsabfall am shunt.
> Wenn der von 0-0.1V beträgt, kannst du immer noch 100mA auflösen (und
> 90% verschenken), also 0.0 , 0.1 , ... 10.0 A anzeigen.
>
> Wenn du Spannung und Strom gleichzeitig anzeigen willst, musst du den
> Spannungsabfall am shunt abziehen, weil du sonst nicht weisst, wo GND
> (0V) sein sollen.

Grundsätzlich kein Problem - Die Idee ist gut über einen Widerstand 
einfach den Spannungsabfall zu messen. Die Frage ist dann: Wie groß 
wähle ich den Widerstand um genau aufzulösen aber nicht viel Energie zu 
verblasen?

Codes brauche ich nicht, programmieren kann ich und fertige Platinen 
sind keine Lösung :)

von Karl M. (Gast)


Lesenswert?

Bester Name - µbrain,

Du kennst das Gesetz: U = I * R ?

Damit ist die Strom (A) Messung möglich.

Man verwendet für den Widerstand (R) einen 4-Leiter-Shunt, siehe mal 
nach PBV Isabellenhütte.

# 
http://www.isabellenhuette.de/fileadmin/content/praezisions-leistungswiderstaende/PBV.PDF

Gebraucht wird noch ein I/O Rail to Rail OPV mit geringer Offsetspannung 
und Drift und man muss sich für High- oder Lowside Messung entscheiden.
Ich verwende einen 1mΩ oder 10mΩ S4-Leiter-hunt und messe über die High 
Side  Anordnung des Shunts, den Strom über einen LT1637.

Siehe: Current Sense Circuit Collection
# http://cds.linear.com/docs/en/application-note/an105fa.pdf

von Magic S. (magic_smoke)


Lesenswert?

Einfach den Strom rechts und links anschließen und einen Indianer 
einstellen, der die Messergebnisse übersetzt. ;)

So, nun könnt ihr lachen oder fleißig oben rechts negativ drücken. HF!

SCNR

von µbrain (Gast)


Lesenswert?

Okay, also es bringt mir nix 12V/10A = 1,2Ohm zu wählen. Den 1,2Ohm in 
Reihe zur Last und darüber halt den Abfall zu bestimmen? - Ist wohl 
"Abfall" (?)

von Hmmm... (Gast)


Lesenswert?

Per Shunt brauchst du wenn du den ADC-Messbereich ausnutzen willt immer 
einen OPV um den geringen Spannungsabfall am Widerstand in eine am µC 
messbare Spannung zu verstärken. Sonst muss der Widerstand so groß sein 
dass zu viel Leistung dran flöten geht, du willst ja kaum 1V 
Spannungsabfall über den Shunt haben oder?

Damit ist der Schaltungsaufwand verhältnismässig hoch, denn Shunt plus 
OPV und dann kalibrieren usw.

Die Halleffekt-Stromsensoren haben da eine hohe Integrationsdichte und 
liefern schon µC-Kompatibel Nachverstärkte Ausgangsspannungen. Muss man 
ja nicht auf fertigen Boards kaufen! Die gibt es auch einzeln...

von µbrain (Gast)


Lesenswert?

aber die Lösung über einen Shunt und OPV gefällt mir am besten. Weiß 
jemand wie das in gängigen Ladegeräten für z. B. Lipos gelöst ist?

von Karl M. (Gast)


Lesenswert?

Hi,

Steht oben in dem Link zur AP von LT.

von ACS712 (Gast)


Lesenswert?

ja, dann ist wohl tatsächlich lesen der Datenblätter bzw. Appnotes 
angebracht...

viel erfolg!

von µbrain (Gast)


Lesenswert?

Dein 4 Leitershunt war nur ein Bsp? Denn dieser kann nur 10W und er 
müsste ja 12V 10A -> P = U * I 120W können(?)

von Michael B. (laberkopp)


Lesenswert?

µbrain schrieb:
> aber die Lösung über einen Shunt und OPV gefällt mir am besten. Weiß
> jemand wie das in gängigen Ladegeräten für z. B. Lipos gelöst ist?

So ähnlich, der Widerstand hat 0.01 Ohm (10mOhm) so daß 0.1V 
Spannungsabfall bei vollem Strom entstehen.

Will man mehr Auflösung, kann man auch 0.06 Ohm (60mOhm Standardshunt) 
nehmen, verliert dann 0.6V und verheizt 6 Watt.

Aber LiPoly ? Dafür ist deine Spannungsmessung nicht genau genug, LiPoly 
will 0.5% Genauigkeit damit es nicht in Flammen aufgeht, so genau sind 
weder die 3.3/5V des Arduino noch dessen 2.54/1.1V Referenzspannung.

Dazu braucht es LiIon/LiPoly Ladecontroller und 0.1% Widerstände.

von Crazy Harry (crazy_h)


Lesenswert?

µbrain schrieb:
> Dein 4 Leitershunt war nur ein Bsp? Denn dieser kann nur 10W und
> er müsste ja 12V 10A -> P = U * I 120W können(?)

Dann müßten auch 12V an ihm abfallen ;o) nochmal nachdenken .....

von oooohm (Gast)


Angehängte Dateien:

Lesenswert?

Noch mal Formelsammlung wälzen...

Die Verlustleistung am Shunt ist (Strom * Spannung) am Shunt, nicht am 
Verbaucher...

von µbrain (Gast)


Lesenswert?

Ist schon zu spät für mein Gehirn denn ich fühle mich gerade dumm und 
stehe auf dem Schlauch:

Habe hier einen Widerstand mit 3,3Ohm 2W. Wenn ich da 6V drauf gebe ist 
der Spannungsabfall = ?

P= u*i
u= r*i

Wenn mir da keiner Hilft muss ich erstmal ne Nacht drüber schlafen und 
das Bier los werden :-)

von j.w. (Gast)


Lesenswert?

oooohm schrieb:
> Die Verlustleistung am Shunt ist (Strom * Spannung) am Shunt, nicht am
> Verbaucher...

Die Spannung kann man sich nicht aussuchen, also besser gleich
1
P = I² * R

von mse2 (Gast)


Lesenswert?

µbrain schrieb:
> Wenn mir da keiner Hilft muss ich erstmal ne Nacht drüber schlafen und
> das Bier los werden :-)
Das wird wohl das beste sein!

von J. T. (chaoskind)


Lesenswert?

µbrain schrieb:

> Habe hier einen Widerstand mit 3,3Ohm 2W. Wenn ich da 6V drauf gebe ist
> der Spannungsabfall = ?

6V. Zumindest solange deine Spannungsquelle leistungsfähig genug ist, 
die 1,81A zu liefern, die so ein 3,3Ohm Widerstand benötigt, um 6 Volt 
an ihm abfallen zu lassen. Dein Widerstand verträgt 2Watt.

Rechnen wir nach. P = U*I. I = 1,81A, U = 6V,
1,81A*6V = 10,86W.

Bischen viel.

Um das nochmal zu verdeutlichen, die Frage nach, wenn ich auf nen 
Widerstand 6Volt gebe, welcher Spannungsabfall ist dann? ist in etwa so 
wie "wenn ich auf diesen Fahrradreifen 6Bar raufpump, wieviel Druck ist 
dann drauf".

Sinnvoller ist die Frage, wenn durch diesen 3,3Ohm Widerstand 1A fließt, 
wieviel Spannung fällt an ihm ab. Darauf wäre die Antwort dann 3,3V.
Denn U = R*I
3,3Ohm*1A = 3,3V

MfG Chaos

von Uwe (de0508)


Lesenswert?

Guten Morgen,
viel/ einige Hersteller habe spezielle ICs im Angebot, die für die 
Strommessung konzipiert wurden.

Z.B. über Ebay kommt an einfach an den MAXIM MAX4080TASA

# http://datasheets.maximintegrated.com/en/ds/MAX4080-MAX4081.pdf

Über die Innenbeschaltung des MAX4080TASA kann man leicht einen Bezug zu
AN105 "Current Sense Circuit Collection" herstellen:

# http://cds.linear.com/docs/en/application-note/an105fa.pdf

von Harald W. (wilhelms)


Lesenswert?

µbrain schrieb:

> ich bin gerade dabei ein Amperemeter mit meinem Arduino zu realisieren.

Wenn man nicht ganz spezielle Forderungen mit viel Rechenarbeit hat,
kann man eine Amperemeter wesentlich einfacher und genauer mit einem
7106-IC o.ä. realisieren.

von Anfänger (Gast)


Lesenswert?

Ich würde mir das als Anfänger gut überlegen mit der Auslegung für 10A 
... Das ist schon ordentlich Saft, da brennt und knallt schnell mal was, 
wenn irgendwo eine Engstelle/schlechter Kontakt ist ...

von Dirk K. (dekoepi)



Lesenswert?

Lustig, vor zwei Wochen habe ich was ähnliches angefangen - jedoch 
LiIon-Einzelzellen als Ziel. Erste Versuche waren mit 5*R47 parallel 
gelötet als Low-Side-Shunt und das direkt via Arduino auswerten. Die 
Auflösung war nicht so prickelnd.

Also OpAmps bestellt und hinzugefügt, dabei Spannungsteiler für Vbat und 
die Verstärkung passend so eingestellt, dass die 1,1V-Referenz des 
ATmega328 herhalten kann. Das war schon viel besser, aber aufgrund 
freier Verdrahtung der einzelnen kleinen Platinchen ungenau und 
störanfällig.

Jetzt mit R03-Shunt auf der High-Side, OpAmp als Differenzverstärker; 
alles so angepasst, dass die 3,3V Referenz eines STM32F030P4 für bis zu 
~2,2A reichen würde - das ist dann der zweite Graph. 12Bit auf 3,3V 
liefern mit entsprechend angepassten Spannungsteilern und Verstärkungen 
immer noch etwas bessere Auflösung als 10Bit auf 1,1V Referenz.

Gestern sind zwei ACS712-05 angekommen, da würde ich die Tage mal ein 
Vergleichsplatinchen basteln. Ich warte aber noch auf externe ADCs - ich 
will da mal gucken, ob der HX711 wirklich nur für Wägzellen taugt oder 
bei externer Referenz nicht direkt entweder einen High-Side-Shunt oder 
den ACS712 ausmessen kann. Wobei der ACS712-05 mit ~190mV / 1 A schon 
ein zu starkes Signal liefert für die mindest-Verstärkung von 32x. 
Spätestens mit AD7705/TM7705 sollte das jedoch klappen.

Also auch 12V / 10A sollten gehen, du brauchst jedoch einen 
Shunt-Widerstand, der R01 oder weniger Widerstand hat und die Leistung 
auch aushält, die darüber verbraten wird.

Vielleicht hilft dir das ja weiter.

: Bearbeitet durch User
von µbrain (Gast)


Lesenswert?

Danke für Eure Antworten. Löten solltest Du nochmal üben, da bin ich ein 
stück besser aber Wissen hast Du mehr :)!

Ich forsche heute Nacht nochmal weiter.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.