mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik wie stationäre Akkustandsmessung mit echter Ladungszählung realisieren


Autor: Gregor Rudorfer (gregor_r)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich zerbreche mir den Kopf jetzt schon seit langem darüber, wie ich eine 
akkuunabhängige Ladungsmessung realisieren kann.
Bzw. ein Freund ist an mich herangetreten (Maschinenbauer), ob ich ihm 
eine solche Schaltung entwerfen kann. Es geht dabei um ein Rennmotorrad, 
das keine Lichtmaschine beitzt, wegen Gewicht etc. und somit nur vom 
Akku allein versorgt wird. Somit muss der Akku leicht austauschbar sein.
Er will etwas so wie hier beschrieben ist, realisieren:
http://tinyurl.com/36jw7cc

Während des Rennens sollte der Fahrer aber über den aktuellen Akkustand, 
Verbrauch etc. informiert werden, eventuell sollen die Werte auch noch 
gespeichert werden. Also eigentlich ein richtigen Data- Logging System.

Es kommen noch einige Punkte hinzu die die ganze Sache erschweren:

1. Es sollte ein Halleffekt Stromsensor verwendet  werden, da hierbei 
keine Eingriffe in die Elektrik nötig sind ( es muss kein Kabel 
aufgetrennt werden und nichts gelötet werden) es wird nur das Hauptkabel 
vom Akku durch den Sensor gesteckt. Das bedingt aber wiederum, dass der 
Hallsensor nicht am Akku montiert werden kann, da der Hallsensor zu groß 
und auch zu teuer ist (ca. 18-25€ Stk), um ihn auf jeden Akku zu 
montieren. Der Hallsensor gibt eine um 2.5V symetrische Ausgangsspannung 
aus. 2,5V bei 0A 5V bei Maximalstrom =+25A in positiver Flussrichtung 
und 0V bei Maximalstrom =-25A in negativer Flussrichtung (entspricht der 
Umpolung des Stromflusses bzw. dem Laden des Akkus).
2. Die Ladung die aus dem Akku entnommen wird, soll mit einem Integrator 
gemessen werden.
3. Die gesamte Schaltung wird dann noch durch einen Mikrocontroller 
ergänzt der wahlweise die Spannungen der einzelnen Zellen oder die 
Gesamtspannung des Akkupacks über die ADC- Eingänge misst. Weiters 
übernimmt dieser auch die Logging Funktionen. Das ganze sollte ähnlich 
wie die Batterieinfosysteme von TI (z.B. BQ2060) funktionieren. Die 
können aber nicht verwendet werden, da sie nicht für Ströme bis 25A 
ausgelegt sind. Die Daten aufzubereiten ist dann ja auch kein Problem 
mehr, wenn man einmal die Messelektronik entwickelt hat.
Auf den Akkus befindet sich dann ein kleines EEPROM in das die Akkudaten 
des jeweiligen Akkus gespeichert werden. Dieses EEPROM wird dann über 
zusätzliche Leitungen mit der Akkumessplatine bei einem Akkuwechsel 
verbunden.

Ich hab schon mehrere Lösungsansätze durchgespielt.

1. Spannung des Hallsensors auf einen DIFF- AMP mit Abschwächung der 
mittensymetrischen Spannung auf +/- 50mV. Mit dieser Spannung würde ich 
dann einen LTC4150 speisen.
http://forestle.org/goto.php?q=LTC4150%20filetype%...
Das ist eine Battery- Gas Gauge von Linear Technology. Diese ist 
eigentlich für den Betrieb mit einem Shunt- Widerstand gebaut. Über 
diesem dürfen max. +/- 50mV abfallen. Diese Spannung will ich einem 
OPAMP erzeugen. Dem LT4150 also einen Widerstand vorgaukeln, obwohl das 
Messsignal von einem Halleffektsensor kommt. Das Problem ist halt, dass 
hier eine Spannung von 50mV verarbeitet werden muss, also schon ziemlich 
große Fehler entstehen können wenn man nicht ein perfektes 
Platinenlayout hat, oder nicht einen High- Performance Opamp um etliche 
Euro. Weiters gibt es dann das Problem, dass die Spannung von 50mV schon 
derart gering ist, dass alleine das Messen mit dem Oszi in der 
Prototypenphase, einige Messfehler mitbringt. Da falls die Spannung nur 
1mV hin und her schwankt schon erhebliche Messfehler entstehen, ist das 
ganze Konzept nicht so ganz praktikabel.

2. Die zweite Methode ist das Ganze was der LTC4150 macht diskret mit 
Opamps aufzubauen. Die Schaltung dahinter ist ja kein Geheimnis. Die ist 
im Datenblatt zu finden.  Den großen Vorteil den das mitbrächte wäre, 
dass ich die Schaltung auf 0 bis 5V auslegen kann, so dass z.B. die 
beispielsmäßige Schwankung von 1mV, die bei der ersten Methode schon 
einen großen Messfehler zur Folge hätte, nicht mehr so ins Gewicht 
fällt.
Neben diesem großen Vorteil, gäbe es aber auch den Nachteil, dass die 
Elektronik die hinter dem Ladungszähler steckt wiederum ziemlich 
aufwändig ist. Der LTC4150 hat vor dem Integrierer zwei Schalter die die 
Spannung am nichtinvertierenden Eingang des Integrierers umpolen und 
somit den Kondensator laden und entladen können. Am Ausgang des 
Integrieres wird dessen Ausgangsspannung von zwei Komparatoren auf einen 
Maximal- und einen Minimalwert hin überprüft. Wenn die Ausgangsspannung 
den Maximalwert erreicht wird der Eingang des Integrators umgepolt und 
die Spannung über dem Kondensator sinkt. Wird die untere Schwelle 
erreicht, wird wieder umgepolt und der die Spannung am Kondensator 
steigt wieder an. Diese Umpolvorgänge werden gezählt und entsprechen 
dann einem Ladungswert der aus dem Akku entnommen wurde. Sicher könnte 
man das mit Opamps diskret auf einer LP aufbauen, doch die Frage die 
sich hier wieder stellt, ist wie ungenau wird die Messchaltung dadurch.

Wie gesagt ich weis wirklich nicht welche Lösung ich jetzt wählen 
sollte. Bzw. ich wäre jedem von euch dankbar, der mir einen Vorschlag 
macht, oder mir einem Chip empfehelen kann mit dem man die Messung noch 
realisieren könnte. Fixpunkte der Schaltung sind Hallsensor und die 
Strommessung mit Integrator. Also Shuntwiderstand geht überhaupt nicht.

Schon jetzt mal vielen Dank für eure Hilfe.

Lg Gregor

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>x 1. Es sollte ein Halleffekt Stromsensor verwendet  werden

Vergiss es, viel zu ungenau.

Nimm einen Shunt.

Als IC tut es jeder uC, aber als A/D-Wandler würde ich viele bits für 
hohe Genauigkeit ohne Bereichsumschaltung nehme, LTC2400 deor so.

Fahre Testläufe, wie gut/schlecht der Akku auf unterschiedliche 
Entladungen (hoher Strom, geringer Strom, hohe Temperatur/niedrige 
Temperatur, Lagerung etc.) reagiert.

Autor: Gregor Rudorfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
>>x 1. Es sollte ein Halleffekt Stromsensor verwendet  werden
>
> Vergiss es, viel zu ungenau.
>
> Nimm einen Shunt.

Da hast du anscheinend nicht meinen letzten Absatz durchgelesen. Die 
Verwendung eines Halleffekt Sensors ist so gut wie fix. Daran wird sich 
nichts ändern. Ich würde es ja auch mit einem Shunt machen, er will es 
aber unter allen Umständen mit Halleffekt- Sensor.

So ungenau sind die gar nicht einmal:

z.B. der hier:
http://www.farnell.com/datasheets/51628.pdf
Hat 0.7% Toleranz. und 0.1% Unlinearität. Es sollte ja kein 
Präzisionsmessinstrument werden. Wenn eine Gewisse Toleranz vorhanden 
ist ist das OK. Was ich oben unter Punkt 1 mit dem +/-50mV Bereich 
gemeint hab, betrifft nur den LTC4150. Hier muss ich nämlich in einem 
Spannungsbereich von 0 bis 50mV einen Strommessbereich von 0 bis 25A 
unterbringen. Wie gesagt da wirken sich dann Stromversorgungsripple, 
Offsetspannungen, Unlinearitäten der OPAMPs schon sehr aus und gibt dann 
Fehler von weit über 10%, was dann wieder zu ungenau wäre. Und einen 
idealen Opamp gibts leider nicht.

Ich geh jetzt schlafen :)
Lg Gregor

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>x 1. Es sollte ein Halleffekt Stromsensor verwendet  werden
>
> Vergiss es, viel zu ungenau.
>
> Nimm einen Shunt.

Halleffekt-Sensotren haben vor allem das Problem, dass der Offset 
wegdriften kann, man bekommt also einen relativ hohen Offset-Fehler. 
Dieser Offset wird über der Zeit zu einer Ladung aufintegriert.

Das sollte bei dieser Anwendung aber nicht so relevant sein, weil im 
Rennbetrieb der Akku sowieso relativ schnell leer ist, das Integral wird 
also nicht sehr groß. Wenn man damit die Entladung über einen Zeitraum 
von mehreren Tage messen möchte, dann geht ein Hallwandler nicht.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Daran wird sich nichts ändern.

Dann stell das Projekt ein.

Autor: Gregor Rudorfer (gregor_r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Dann stell das Projekt ein.

Warum wirfst du gleich die Flinte ins Korn?

Johannes schrieb:
>>>x 1. Es sollte ein Halleffekt Stromsensor verwendet  werden
>>
>> Vergiss es, viel zu ungenau.
>>
>> Nimm einen Shunt.
>
> Halleffekt-Sensotren haben vor allem das Problem, dass der Offset
> wegdriften kann, man bekommt also einen relativ hohen Offset-Fehler.
> Dieser Offset wird über der Zeit zu einer Ladung aufintegriert.
>
> Das sollte bei dieser Anwendung aber nicht so relevant sein, weil im
> Rennbetrieb der Akku sowieso relativ schnell leer ist, das Integral wird
> also nicht sehr groß. Wenn man damit die Entladung über einen Zeitraum
> von mehreren Tage messen möchte, dann geht ein Hallwandler nicht.

So ein Kommentar, wie der von Johannes ist schon wesentlich hilfreicher. 
Ich stimme ihm im letzten Absatz vollkommen zu. Es sollte wie gesagt ja 
kein Präzisionsmessgerät werden.

Bzgl. der Schaltung:

Hab heute einen Geistesblitz :) gehabt, wie man es noch realisieren 
könnte. Der Vorteil dabei wäre, dass der LTC4150 verwendet werden kann, 
man nicht solch große Probleme mit der Genauigkeit bekommt, wie bei 
meiner vorherigen Methode und man mit nur einem Opamp auskommen kann 
(den OPAMP für die halbierung der Versorgungsspannung nicht 
miteingerechnet).

Der LTC4150 ist ja für die Verwendung eines Widerstands an seinen 
Messeingängen konzipiert. Wieso sollte man also eine komplzierte 
Schaltung aus OPAMPs davorhängen um einen Spannungsabfall über einem 
Widerstand vorzugaukeln? Was ist wenn man nach wie vor einen Widerstand 
verwendet, den aber von dem DIFF- Amp Speisen lässt? In etwa so wie in 
der Schaltung am Anhang.
Das sollte zumindest laut LTSpice funktionieren. Weiters hab ich den 
Vorteil, dass ich beim Umwandeln des Signals des Halleffektsensors mit 
dem DIFF-AMP einen größeren Spannungsbereich ausnutzen kann. Somit wirkt 
sich Ripple in der Messverarbeitung nicht so stark aus wie in der 1 
Version. die 50mV entstehen erst über dem Widerstand. Diesen kann man 
dann auch noch layouttechnisch mit extrem kurzen Leitungen mit dem 
LTC4150 verbinden, womit die Masche dieses Stromkreises extrem klein 
wird, und dadurch auch nicht so anfällig eingestahlten Störungen ist.

Lg Gregor

Autor: Gregor Rudorfer (gregor_r)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Gregor Rudorfer schrieb:
> In etwa so wie in
> der Schaltung am Anhang.

Hab den Schaltplan vergessen! Hier ist er!

Lg Gregor

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> MaWin schrieb:
> > Dann stell das Projekt ein.
> Warum wirfst du gleich die Flinte ins Korn?
Mein Projekt, dir was beizubringen ?
Weil es sinnlos ist sich mit Lernresistenten abzugeben.

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der Hallsensor gibt eine um 2.5V symetrische Ausgangsspannung
> aus.

Das größte Proble mit so einer Beschaltung ist die Offset-Genauigkeit. 
Der Hall-Sensor liefert eine Spannung, die zu 2,5V symmetrisch ist. Ist 
das eine genaue Spannungs-Referenz oder einfach halbe 
Versorgungsspannung. Wichtig ist, dass deine Schaltung möglichst die 
gleiche Referenzspannung verwendet, damit zu so wenig Offset-Fehler wie 
möglich bekommst. Vielleicht kann man die Referenz am Hall-Sensor 
irgendwie abgreifen.

Du solltest auf jeden Fall einen Offset-Abgleich vorsehen, Hall-Wandler 
haben üblicherweise das Problem, dass sie eine relativ große 
Offset-Drift haben. Deshalb ist es sinnvoll, wenn das ein 
Mikrocontroller macht, so dass man das auch "automatisiert" machen kann. 
Also z.B. immer bevor man losfährt, wenn man also weis, dass der Strom 0 
ist, den Offset auf 0 abgleichen.

> Der LTC4150 ist ja für die Verwendung eines Widerstands an seinen
> Messeingängen konzipiert.

Ist der LTC4150 dafür ausgelegt, dass die Sensor-Pins auf einem 
Potential von 2,5V liegen? Normalerweise liegen die ja am 
Batterie-Minuspol, also auf einer wesentlich kleineren Spannung.

> Wieso sollte man also eine komplzierte Schaltung aus OPAMPs
> davorhängen um einen Spannungsabfall über einem Widerstand vorzugaukeln?

Warum machst Du das dann? ;-)

Was ich nicht verstanden habe, ist, wofür du den zweiten OPV (IC1B) 
brauchst. Du kannst doch den Mess-Widerstand direkt zwischen Hall-Sensor 
und 2,5V-Referenz schalten, das hat dann den gleichen Effekt?

Einen Trimmer (R8) würde ich nicht einbauen, den passenden 
Widerstandswert kann man durch berechnen bzw. ausprobieren ermitteln. 
Beim Trimmmer besteht die gefahr, dass er sich durch Vibrationen im 
Betrieb verstellt.

Autor: Gregor R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes schrieb:
> Das größte Proble mit so einer Beschaltung ist die Offset-Genauigkeit.
> Der Hall-Sensor liefert eine Spannung, die zu 2,5V symmetrisch ist. Ist
> das eine genaue Spannungs-Referenz oder einfach halbe
> Versorgungsspannung. Wichtig ist, dass deine Schaltung möglichst die
> gleiche Referenzspannung verwendet, damit zu so wenig Offset-Fehler wie
> möglich bekommst. Vielleicht kann man die Referenz am Hall-Sensor
> irgendwie abgreifen.

Das ist laut Datenblatt keine Spannungsrefernz, sondern einfach die 
halbe Versogungsspannung. Deshalb stelle ich auch die Referenzspannung 
mit dem ersten OPAMP mittels eines Spannungsteilers von der 
Betriebsspannung ein. Das müssten dann halt 0.1% Widerstände sein, damit 
man eine gewisse Genauigkeit erhält. Es gibt auch einen Hallsensor, der 
die Referenzspannung zusätzlich noch über einem Pin abgreifbar macht. 
Nur leider hat dieser nicht die gewünschten Eigenschaften, und kann 
somit nicht verwendet werden. Der in Frage kommende Sensor besitzt nur 
einen Messspannungsausgang, jedoch ohne die Referenz zusätzlich noch 
herauszuführen.

Johannes schrieb:
> Du solltest auf jeden Fall einen Offset-Abgleich vorsehen, Hall-Wandler
> haben üblicherweise das Problem, dass sie eine relativ große
> Offset-Drift haben. Deshalb ist es sinnvoll, wenn das ein
> Mikrocontroller macht, so dass man das auch "automatisiert" machen kann.
> Also z.B. immer bevor man losfährt, wenn man also weis, dass der Strom 0
> ist, den Offset auf 0 abgleichen.

An sowas hab ich auch schon gedacht. Jedoch würde ich es so machen, dass 
ich die Messleitung vom Ausgang des Hallsensors zum LTC4150 unterbreche 
und während des Offsetabgleichs direkt mit der Referenz verbinde. Somit 
sollte der LTC4150 auf beiden Eingängen die Referenzspannung bekommen. 
Ist das nicht der Fall, ist der gemessene Unterschied der Offset.

Johannes schrieb:
> Ist der LTC4150 dafür ausgelegt, dass die Sensor-Pins auf einem
> Potential von 2,5V liegen? Normalerweise liegen die ja am
> Batterie-Minuspol, also auf einer wesentlich kleineren Spannung.

Das sollte laut Datenblatt kein Problem sein. Es handelt sich hier ja um 
einen "High- Side"- Sensor. Die maximale Spannung an den beiden Sens- 
Pins ist VDD+0.3. VDD ist maximal 9V. Also hält der IC die 2.5V locker 
aus. Wichtig ist nur die Spannungsdifferenz zwischen den beiden Pins. 
Und die sollte +/-50mV nicht überschreiten.

Johannes schrieb:

> Was ich nicht verstanden habe, ist, wofür du den zweiten OPV (IC1B)
> brauchst. Du kannst doch den Mess-Widerstand direkt zwischen Hall-Sensor
> und 2,5V-Referenz schalten, das hat dann den gleichen Effekt?
>
> Einen Trimmer (R8) würde ich nicht einbauen, den passenden
> Widerstandswert kann man durch berechnen bzw. ausprobieren ermitteln.
> Beim Trimmmer besteht die gefahr, dass er sich durch Vibrationen im
> Betrieb verstellt.

Stimmt eigentlich. Der zweite OPV ist redundant. Das mit dem Trimmer ist 
natürlich ein Argument. Doch die Stellschraube könnte man ja mit etwas 
Kleber fixieren oder ist das eine schlechte Idee?

Lg Gregor

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Jedoch würde ich es so machen, dass ich die Messleitung vom Ausgang des
> Hallsensors zum LTC4150 unterbreche und während des Offsetabgleichs direkt
> mit der Referenz verbinde. Somit sollte der LTC4150 auf beiden Eingängen
> die Referenzspannung bekommen. Ist das nicht der Fall, ist der gemessene
> Unterschied der Offset.

Wenn die Leitung vom Hall-Sensor unterbrochen ist, kannst du die 
Offset-Spannung doch nicht mehr erfassen. Das Problem ist vor allem die 
Offset-Spannung des Hall-Sensors, nicht der Eingangs-Offset des LTC4150.

> Es handelt sich hier ja um einen "High- Side"- Sensor. Die maximale
> Spannung an den beiden Sens-Pins ist VDD+0.3. VDD ist maximal 9V. Also
> hält der IC die 2.5V locker aus.

Überleg dir mal, was im Datenblatt auf Seite 2 folgende Angabe bedeutet:
  "Sense Voltage Common Mode Input Range: VDD–0.06 ... VDD + 0.06".

"High-Side Sensor" bedeutet, dass der Shunt-Widerstand in der positiven 
Versorgungsspannung liegt. So wird das vermutlich nicht funktionieren.

Autor: Gregor R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit der "sense common mode input voltage" ist mir schon klar. Der 
lt4150 ist ja auch gedacht seine vdd von dem Pluspol der Batterie zu 
bekommen. Somit ist dann auch die Vorgabe von vdd+0.06 und vdd-0.06 
gegeben. Ich werde in meiner Schaltung vdd einfach an die vcc/2 Spannung 
legen. Der Stromverbrauch des Lt4150 von nur ca. 100uA sollte da kein 
Problem sein, da die vcc/2 Spannung durch den davorgeschalteten OPAMP 
sowieso eine niedrige impedanz hat.

Autor: Gregor R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um die minimale Betriebsspannung von 2.7v zu halten muss ich den 
Hallsensor mit 6v versorgen, damit vcc/2 3V wird.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.