Forum: Mikrocontroller und Digitale Elektronik Shunt-Messung für Stromfluss in beide Richtungen


von Marian (phiarc) Benutzerseite


Lesenswert?

Moin,

ich bastel gerade an einem kleinen Batteriemanagementsystem wo ich u.a. 
den aktuellen Lade/Entladestrom erfassen möchte.

Daher war meine erste Idee einen 0.09 Ω Shunt direkt zwischen 
Batteriemasse und Gerätemasse zu schalten. Jetzt ist die Frage, wie ich 
am geschicktesten mit einem ADC den Spannungsabfall messen kann…

Nach meinem Gedankengang wäre die Spannung überm Shunt negativ, vom 
Massepotential nach dem Shunt aus gesehen, wenn die Batterie entladen 
wird und positiv wenn sie aufgeladen wird.


… der AVR-ADC mag natürlich negative Spannungen gar nicht, jemand eine 
Idee, wie ich das am einfachsten messen kann?

Die Battiespannung ist >10 V, also scheidet High-Side Sensing wohl aus, 
was?

von Bernd S. (bernds1)


Lesenswert?

Entweder den ADC im differentiellen Modus betreiben (Messung zwischen 
zwei Pins) oder einen Operationsverstärker davorsetzen. Da kannst du 
dann zum Beispiel das Ausgangssignal so setzen, daß "Null Strom" einen 
Offset von 2,5V hat. Maximaler negativer Strom wäre dann 0V am Ausgang 
und maximaler positiver Strom wären 5V am Ausgang.

von Klaus D. (kolisson)


Lesenswert?

INA 219

von Marian (phiarc) Benutzerseite


Lesenswert?

Bernd S. schrieb:
> Entweder den ADC im differentiellen Modus betreiben (Messung zwischen
> zwei Pins)

Wenn der Spannungsabfall negativ ist, ist ja auch die Eingangsspannung 
an einem der differentiellen Eingangspins negativ… das erlaubt der AVR 
doch nicht, oder?

Datenblatt ATtiny?61:
> 0 - VCC ADC Input Voltage Range

Also Opamp in Addiererschaltung, wo ich einfach 2.5 V (aus 
Spannungsteiler) addiere. Klingt nach einem Plan…

von Bernd S. (bernds1)


Lesenswert?

Marian B. schrieb:
>
> Wenn der Spannungsabfall negativ ist, ist ja auch die Eingangsspannung
> an einem der differentiellen Eingangspins negativ… das erlaubt der AVR
> doch nicht, oder?

Du mußt doch nicht den AVR auf die gleiche Masse hängen wie die 
Batterie?
Wenn du deine Schaltung isoliert aufbaust (über einen DC/DC-Wandler), 
dann  hast du keinen Bezug mehr zwischen AVR und Batterie. Und die Pins 
messen wirklich nur die Differenz zwischen den beiden Beinen. Zwischen 
ADC-Eingang und GND des AVR liegt keine Spannung mehr an.
>
> Datenblatt ATtiny?61:
>> 0 - VCC ADC Input Voltage Range
>
> Also Opamp in Addiererschaltung, wo ich einfach 2.5 V (aus
> Spannungsteiler) addiere. Klingt nach einem Plan…

Oder du nimmst den INA219, den Klaus vorgeschlagen hat. Auch eine gute 
Idee, der wird über I²C angesteuert und verträgt +/-26V im differential 
mode.

Noch eine Möglichkeit: der ZXCT1041, ist im SOT23-Gehäuse und kann auch 
beide Stromrichtungen.

von Marian (phiarc) Benutzerseite


Lesenswert?

Bernd S. schrieb:
> Marian B. schrieb:
>>
>> Wenn der Spannungsabfall negativ ist, ist ja auch die Eingangsspannung
>> an einem der differentiellen Eingangspins negativ… das erlaubt der AVR
>> doch nicht, oder?
>
> Du mußt doch nicht den AVR auf die gleiche Masse hängen wie die
> Batterie?
> Wenn du deine Schaltung isoliert aufbaust (über einen DC/DC-Wandler),
> dann  hast du keinen Bezug mehr zwischen AVR und Batterie. Und die Pins
> messen wirklich nur die Differenz zwischen den beiden Beinen. Zwischen
> ADC-Eingang und GND des AVR liegt keine Spannung mehr an.

Stimmt, allerdings wollte ich die Schaltung möglichst einfach halten. Da 
kommt ein 08/15-Opamp als (nicht-invertierender) Summierer einfach 
günstiger weg :-)
Außerdem muss der AVR noch ein paar MOSFETs ansteuern (um die Ladung zu 
aktivieren bzw. sich selbst und den Verbraucher von der Batterie zu 
trennen, falls sie zu tief entladen wird) und dann wird es isoliert doch 
ziemlich haarig…

von Mr. X (Gast)


Lesenswert?

Bernd S. schrieb:
> Wenn du deine Schaltung isoliert aufbaust (über einen DC/DC-Wandler),
> dann  hast du keinen Bezug mehr zwischen AVR und Batterie. Und die Pins
> messen wirklich nur die Differenz zwischen den beiden Beinen.

Auch ein Differenzverstärker hat so etwas wie einen "Common Mode Range". 
Auch die einpolige Spannungsmessung muss erst noch erfunden werden.

von Wolfgang (Gast)


Lesenswert?

Marian B. schrieb:
> Die Battiespannung ist >10 V, also scheidet High-Side Sensing wohl aus,
> was?

High Side Strommessung ist in gewissen Grenzen keine Problem, zumal man 
ganz ohne Signalaufbereitung sowieso nicht auskommen wird.
Beitrag "Stromsensor Schaltung mit OPV"

Wie wäre es mit ein paar Fakten deinerseits?

Um welchen Spannungsbereich geht es 100V, 50V, 20V, 12V ...?
">10V" ist ein weites Feld.

Hat dein µC irgendetwas, was eine Analogsignalaufbereitung erlaubt?

von Bernd S. (bernds1)


Lesenswert?

Mr. X schrieb:
>
> Auch ein Differenzverstärker hat so etwas wie einen "Common Mode Range".
> Auch die einpolige Spannungsmessung muss erst noch erfunden werden.

Sorry, du hast recht. Ich ging davon aus, daß der AVR tatsächlich eine 
richtige Differenzmessung macht. Dann hätte das funktioniert. Aber er 
mißt nur zwei Spannungen an den Eingängen (gegen GND!) und bildet intern 
die Differenz dieser beiden Meßwerte. Das ist ein großer Unterschied.
Ich nehme alles zurück! :-)

Also auch an Marian:
Differenzmessung mit dem AVR hilft dir hier nicht weiter.

von Fritz (Gast)


Lesenswert?

Marian B. schrieb:
> Bernd S. schrieb:
>> Entweder den ADC im differentiellen Modus betreiben (Messung zwischen
>> zwei Pins)
>
> Wenn der Spannungsabfall negativ ist, ist ja auch die Eingangsspannung
> an einem der differentiellen Eingangspins negativ… das erlaubt der AVR
> doch nicht, oder?
>
> Datenblatt ATtiny?61:
>> 0 - VCC ADC Input Voltage Range

Es ist zwar nicht erlaubt, aber bei einem Attiny44(V/A) funktioniert das 
trotzdem, solange die Spannung natürlich klein genug ist, damit die 
interne Diode noch nicht leitet. Für letztere braucht man natürlich eine 
entsprechende Strombegrenzung.

Alternativ könnte man den Pegel auch einfach mit einen Spannungsteiler 
nach Vcc, Vref oder eine andere geeignete Spannung hochziehen.

von Michael L. (nightflyer88)


Angehängte Dateien:

Lesenswert?

Zur Messung von Positiven und Negativen Strömen benutzte ich einen 
ACS711. Der Strom fliest direkt durch den IC. Der ACS711 basiert auf 
einem Hallsensor und gibt eine Analoge Spannung aus, die durch einen uC 
weiterverarbeitet werden kann.

max. Strom: +/- 25A

Ausgangsspannungen am ACS711:
+25A = 3.3V
0A = 1.65V
-25A = 0V

von Carsten R. (kaffeetante)


Lesenswert?

Bei einer Zelle komm ich gerade nicht drauf wie es einfach geht, obwohl 
es eigentlich einfacher sein sollte.^^ Oder ich denke da falsch. Man 
könnte zwei Operationsverstärker nehmen. Der eine wird so beschaltet, 
daß er den Ladestrom mißt, der andere so, daß er den Entladestrom mißt.

Bei mehreren Zellen würde ich den Shunt von der Masse aus gezählt 
zwischen der untersten und der zweiten Zelle anbringen. Solange die 
Zellspannung+Shuntspannung nicht über der Versorgungsspannung liegt 
sollte das gehen. Ansonsten hilft ein Spannungsteiler. Dann noch das 
Signal differentiell messen, bzw. bei Bedarf vorher noch Verstärken. So 
kann am Shunt aus Sicht vom AVR keine negative Spannung auftauchen 
solange die unterste Zelle nicht tiefentladen und durch den Rest des 
Akkupacks verpolt wird. Da wäre aber ohnehin der Notaus fällig.

Gruß Carsten

von Klaus D. (kolisson)


Lesenswert?

Google mal nach "lt an105".
Da findest du dann [PDF]
AN105 - Current Sense Circuit Collection - Linear Technology.

Wenn du so im Bereich der Seite 26 herumliest findest du eine
hinlänglich bekannte Schaltung. Wegen der Bidirektionaltität baut man 
deise dann halt 2 mal auf.
Man benötigt dann 3 Stück OPV.

Was daran jetzt einfacher sein soll als nen INA219 oder was ähnliches 
erschliesst sich mir nicht auf den ersten und auch nicht auf den 2ten 
Blick.

Gruss Klaus

von Michael L. (nightflyer88)


Lesenswert?

oder du nimmst eben einen ACS711, da ist alles drin was du brauchst. Da 
brauchst du nichtmal einen Shunt. Und die Weiterverarbeitung kannst du 
direkt mit jedem normalen uC mit ADC machen.

Kosten tuts bei Farnell gerade mal €3.15
http://de.farnell.com/allegro-microsystems/acs711klctr-25ab-t/current-sensor-25a-3-3v-8soic/dp/2057424

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.