LIPO's - einzelne Zellenspannungen messen

In meinem nun wieder zu reaktivierendem E-Heli sind als Flug-Akku's 2x 4S1P 5000mA in Reihe verbaut.
Die Akku-Spannung kann nun von 33,6V (Ladeschluss) über 28,8V (voll/Betrieb) bis 24,0V ('Leer") haben.
Mit nem Spannungsteiler ca. 6,8:1 ließen sich dann am Dino noch ca. 4,95 (~1014) bis 3,53V (~723) messen.
Das ist zwar nicht wirklich prickelnd aber besser als nix ....

Problem ist nur: Aus der Messung der Gesamtspannung lässt sich eher so gut wie gar nicht ableiten, ob nun eine oder mehrere Zeillen durch Schaden oder Alterung vorzeitig den Geist aufgeben und Gefahr für den ganzen Akku und das Fluggerät besteht !
Also wäre schon Einzelmessung der jeweiligen Zellen angesagt / ratsam.

8 analoge Eingänge am MEGA zu spendieren wäre in meinem Fall nicht das Thema.
Wie aber nun die gestackten Einzel-Spannungen von je 3,0 bis 4,2V nach Abzug eines Offset's von z.B. 2,7V so anzupassen, das an jedem Eingang ein voller Messbereich der Differenz von 2,7 bis 4,5V (ein wenig Reserve jeweils) => 1,6V x 2,78 => angenommen 0 bis 5V an den Alanogpins ansteht, so das man den vollen Meßbereich hat ?

Mein Gedankengang was / ist bisher:
Man nehme 8 Differenzverstärker mit einer Verstärkung von 1, lege jeweils den + Eingang auf Masse/der darunterliegenden Zelle und den - Eingang jeweils auf die darüber liegende Zelle, bzw. VCC.
Den jeweiligen Ausgängen schaltet man da nochmals einen Differenzverstäker mit V=2,78 nach und legt eine Seite fest auf 2,7V.
So könnte es der Theorie nach funktionieren ....

Das sind aber immerhin 16 OPs und min. 66 Widerstände und eine Z-Diode.
Reichlich löterei auf doch nennenswerten Raum.

Hat jemand ne andere, bessere, einfachere Idee ?
Ich weiß, es gibt fertige Chips dafür, aber die haben i.d.R: ein 36/40SSOP Gehäuse, was ich nicht löten kann/will !

Für sowas gibt es Multiplexer wie den HC4051. Da brauchst du dann nur einen ADC Eingang + 3 Adress-Leitungen um 8 Spannungen zu messen.

Die Anzahl der verwursteten Eingänge ist mir (erstmal) völlig egal - die sind in meinem Projekt einfach eh "über".
Mir gehts in erste Linie darum, aus den 3,0 - 4,2V passende Spannungen im Bereich 0-5V zu bekommen, um die Auflösung zu erhöhen.

Ok, vielleicht denke ich hier auch falsch, aber man könnte das vielleicht kombinieren, so dass man nur mit einem Differenz-Verstärker für den Vergleich auskommt.

Wenn man über 2 MUX jeweils 2 benachbarte Zellen auswählt kann man deren Leitungen auf einen Substrahierer/Differenz-Verstärker legen. Dann hat man schon mal die Differenz einer Zelle gemessen. Das kann man dann noch weiter anpassen wie du gemeint hast, aber man bräuchte nicht 2 OPs pro Zelle. Dafür aber dann mehr I/O Leitungen.

Ich habe das mal in MS-Paint hingeschmiert :o

EDIT:
Das Problem hierbei ist, dass die einzelnen Kanäle nicht die Versorgungsspannung des ICs übersteigen dürfen. Und das macht z.B. nur 10V. Es gibt welche mit bis zu 40V, z.B. ADG5204, aber der hat nur 4 Bit. Muss man vielleicht mal schauen was es da so gibt.

Es gibt ja auch so was hier:
http://www.ebay.de/itm/380681601593?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1438.l2649
Man achte mal auf den Preis !

Wie bei anderen Anbietern des gleiches Teils zu lesen ist, soll der ja alle 8 Zellen sukzessive durchschalten und anzeigen. Incl. VCC.
Und nen Alarm kann man auch noch einstellen, wenn die Zellensapannung unter einen voreingestellten Wert geht.
Ist schon ein crazy Teil - würde mich mal brennend interessieren, wie die das machen !
Ich glaub ich bestell mal aus Jux sió ein Ding - für 2,20 inkl. Versand .... dauert aber wieder Wochen lang.

Der Ansatz mit dem 4051 fand ich sehr gut.
Wenn man mit nem 2. 4051 dann auch noch die Referenzspannung aus ner Widerstandskette hochschaltet, dann ....
... könnte das klappen, wenn das Prob der hohen Spannungen nicht wäre.
Den 1. könnte man ja noch mit GND auf die Ref. stellen, aber was mit dem 2. machen ?

Da kannst mal nach "High Voltage Multiplexer" suchen. Da gibts Zeug. Es gibt auch Multiplexer, die "beyond the rail" gehen, das heißt es reicht eine niedrigere Versorgungsspannung. Aber oft heißt "High Voltage" auch nur 15V. Oder beim MAX14778 sind es immerhin 25V, was aber hier auch nicht genug ist.

Das wäre z.B. was:
http://datasheets.maximintegrated.com/en/ds/MAX14752-MAX14753.pdf
Aber leider auch nur TSOP :s Aber mit niedrigen Pin Zahlen lässt sich das noch löten

Was es auch gibt ist sowas:
http://datasheets.maximintegrated.com/en/ds/MAX14777.pdf

Das ist nur ein Switch, d.h. vier Schalter, der bis zu 35V mit 5V Versorgungsspannung macht (da gibt es es sicher auch noch andere). Aber mit einem 1-aus-n Decoder wird da auch ein Multiplexer draus.

Maxim hat da ne schöne Seite:

Fang da mal ein 8:1 auszuwählen

Tja, alles hübsch - aber: Wo soll man so was zu nem adäquten Preis beziehen ?
Wenn Reichelt oder Conrad schon mit mangelnder Verfügbarkeit abwinken, dann kann so was nur selten und vor allem teuer sein.

Farnell ist für sowas gut, aber das geht nur für Gewerbetreibende. Wird für dich daher nicht in Frage kommen.
Und selbst da kostet der MAX14752 7€. Aber 500 Stück nur noch je 3,22€ :wink:
Mit www.hbe-shop.de gibt es einen Fachhändler, der das Farnell-Sortiment auch an Privateleute verkauft, aber viel teurer ist.

Solche Distributoren haben generell mehr seltenere ICs als Conrad und co. In diesem Fall aber uninteressant.

In einem anderen Thread hat jemand von TI einfach ein paar ICs als Probe angefordert und 3 Stück kostenlos bekommen :o
Du kannst dein Glück mal bei Maxim versuchen:
https://shop.maximintegrated.com/storefront/searchsample.do?menuitem=Sample&event=SampleSearchLoad

Aber k.A. ob das so einfach geht. Braucht bei Maxim leider auch eine kommerzielle Email oder eine einer Bildungseinrichtung (Schule, Uni):
"Free samples of most parts are available to registered members using commercial (e.g. @companyname.com) or educational institution(e.g. @edu.com) email accounts"

Das mit einem Differenzverstärker funktioniert prinzipiell das Problem ist Du brauchst einen Differenzverstärker der 35V aushält. Gleiches gilt für den Analog-Multiplexer.

Das einfachste ist Du nimmst Relais und schaltest 1 kOhm Widerstände zum Schutz zwischen den Relaiskotakten und dem Anzapfungen des Akkus. So kannst Du keinen Kuzschluß machen.

Grüße Uwe

Die Schaltung ist in der Theorie einfach, aber der Aufbau ist sehr kompliziert.

Das Schaltbild oben ist nur für 3 Zellen! Wobei man da auch 4 Zellen messen könnte, da der obere MUX keine Verbindung zum untersten Anschluss braucht. Aber für 8 Zellen braucht man zwei 8-Kanal-Multiplexer. Es stimmt zwar, dass ein MUX nur eine Reihe von Schaltern und ein 1-aus-n Decoder ist, aber wenn man das durch Relais ersetzt sind das 16 Stück :astonished:

Da kann man auch 16+ OPs (die in 4+ ICs gehen) und 66 Widerstände (der Teil ist problematischer) verbauen :slight_smile:

Weiß nicht, das muss auch irgendwie anders gehen...

Oder bei dem China-Teil verbleiben, auf die Automatisierung verzichten und per Hand messen :slight_smile:

Es gibt eine Möglichkeit die Widerstände um die Hälfte zu reduzieren, aber die wird dir auch nicht gefallen: Instrumentenverstärker
Die haben nur einen externen Widerstand und bei Verstärkung = 1 fällt auch der weg. Das hat natürlich einen Haken: dadurch dass das extrem präzise Verstärker sind, die eigentlich für Differenzspannungen im mV-Bereich gedacht sind, sind die sehr teuer. Die billigsten kosten meistens um die 5 Euro. Reichelt hat einen für 2,75€, aber der macht wieder die Eingangsspannung nicht mit.

Aber was anderes nochmal:

Problem ist nur: Aus der Messung der Gesamtspannung lässt sich eher so gut wie gar nicht ableiten, ob nun eine oder mehrere Zeillen durch Schaden oder Alterung vorzeitig den Geist aufgeben und Gefahr für den ganzen Akku und das Fluggerät besteht !

Mal angenommen wir hätten einen ADC der die gesamte Spannung messen könnte. Dann bräuchte man immer nur eine Zelle mehr in Reihe zu messen. Also erst eine Zelle messen. Dann zwei Zellen, dann drei, etc...Über den Spannungsanstieg könnte man die Einzelspannung errechnen und ich denke auch ob eine defekt ist. Das käme mit einem 8-Kanal Mux aus (oder direkt 8 analoge Arduino Eingänge).

Praktisch müsste man da natürlich den Spannungsbereich anpassen. Da sind wir dann wieder bei einem 7:1 Spannungsteiler...

Das einfachste ist Du nimmst Relais.....

Uwe: Mein Heli hat jetzt schon über 2,5 kg Abfluggewicht ! Und irgendwann möchte ich auch mit Haube drauf fliegen .... :grin:

Soooo - ich hab mal eben schnell was gebastelt. Musste ich leider Mit ACAD zeichen. Was anderes hab ich z. Zt. nicht.
Ist zwar nun auch keine 5-Bauteile Schaltung, aber verwendet auch keine Schütze.
Ich sag erst mal nix dazu - mal schauen was für Kommentare kommen.
Zeichnung ist angehängt.

LIPO_CONTROLLER.pdf (87.8 KB)

Duh! Auf die Idee den Akku mit einer virtuellen Masse aufzuteilen hatte man auch eher kommen können. Das ist toll :slight_smile:
Multiplexer mit 15V sind einfach zu bekommen.

Was du du da in der Mitte machst verstehe ich aber nicht 100%ig. Ok, generell bringt das die Logikpegel des oberen MUX auf den korrekten Bezug. Aber gerade das was der ULN2003 links macht ist komisch :slight_smile:

Und sind die Eingänge der Subtrahierer nicht vertauscht? Bei V=1 ist Ua = Ue+ - Ue-
Bei OP 1B z.B. hättest du dann 2.7V - 3 bis 4.2V was < 0V ist
Und auch bei den Zellen musst du "obere Leitung" - "untere Leitung" machen

... ich hab das ab heute Mittag mal so in 3 Stunden in die Maschine gepinselt - klar, dass da Fehler drin sind.
War ja auch zum testen, ob jemand aufpasst ! 8)

Ich hab mal in verschiedenen Datenblättern zum HEF4052 geguckt: Die sollen alle 18V abhaben können.
Der NE5532 (davon hab ich noch nen Sack voll) ist mit +/- 22V spezifiziert.
Die Teile sind alle gängig und mit den passiven Teilen sollte das nicht mehr als 10 Taler kosten.

@Serenifly:
Du hast recht: Uo = R4/R1 x (U2 - U1) .... Eingänge sind vertauscht !

Das "in der Mitte" mit den P-FET's dient richtig erkannt A) zur Anpassung, ist aber B) falsch, weil invertiert gegenüber der unteren Hälfte.

Die 4052 haben nur 2 Dateneingänge für die 4 I/O's.
Ich hab einfach mal den EN dazu als 3. Datenleitung zum Umschalten missbraucht.
Das "komische" ist einfach ein invertieren von EN vom unteren zum oberen MPX.

Aber auch da fällt (logo bei längerem hinsehen) auf, dass das mit D0 - D2 für ne einfache 3-Bit-Adressierung "so" nicht passt.

Mache ich mich mal an die Korrektur ....

Aber vom groben Prinzip her sollte das so gehen :slight_smile:

Ich würde da aber einen anderen OpAmp als den NE5532 nehmen. Zumindest für die ersten 2 Verstärker. Der ist Bipolar und hat daher eine recht niedrige Eingangs-Impedanz von ein paar hundert kOhm. Was man so liest ist der hauptsächlich als Audioverstärker gedacht. Deshalb wird im Datenblatt auch das niedrige Rauschen betont. Was in CMOS würde den Akku nicht belasten/entladen. Muss ja nichts besonderes sein (keine hohe Frequenz, kein rail to rail) und die gibts für ein paar Cent. Für die Spannungsanspannung kannst du den aber lassen.

Ich hab einfach mal den EN dazu als 3. Datenleitung zum Umschalten missbraucht.

Ich sehe das nicht als Missbrauch. Der EN Eingang ist ja dazu da ICs zu kaskadieren (so dass man aus 2 * 8 -> 1 * 16 macht). In dem Fall ist EN tatsächlich die nächst höhere Datenleitung. Einfache Kaskadierung ist nicht genau was hier gemacht wird, aber sehr ähnlich.

Nun ein wenig überarbeitet.
Die FETs hab ich rausgeschmissen - das mit der Selektierung der Datenlewitung müsste auch so gehen.

Bei den NE5532 hab ich eigentlich keine so großen Kopfschmerzen. 300K Re sind zwar nicht der Brüller, aber wenn man die beschaltung drumherum etwas niederohmiger hält, sollte das kein Thema sein.

Betreff Stromverbrauch: Wenn ich das so rictig sehe, zieht die Schaltung etwa 20mA aus jedem Akku - nicht grade wenig.
in erster Linie wegen den kleinen R's vor den Zenerdioden.
Hab das schon ne Ewigkeit nicht mehr berechnet und war etwas perplex ob der kleinen Werte.
Aber in Anbetracht der Tatsache, das der Motor so zwischen 15-30A zieht, kümmert mich das bischen "Nebenstrom" eher weniger.
Der Rest mit Boardelektronik und Servos hängt ja auch noch dran (Ich hab aus Gewichtsgründen extra auf einen sep. Akku verzichtet)

Ausserdem sollte man die Akku's (nicht nur Lipo's) grundsätzlich bei Nichtbetrieb trennen. Wäre schade um die teuren Teile, wenn sie tiefentladen sind !

Wo ist jetzt bitte mein Brot-Brett abgeblieben ??? ]:smiley:
Ist heute eh egal, morgen werde ich mal lossausen und mir ein paar 4052 sowie ne handvoll R's organisieren.
Und dann schaun mer mal.

Und weil hier heute keine Sonne scheint, werde ich nachher noch nen kleinen Auslese-Sketch nachlegen.
... und danach mal langsam mit einem Layout für die Schaltung anfangen.

LIPO_CONTROLLER.pdf (156 KB)

Mhh, stimmt. An das ganze andere Zeug hatte ich nicht wirklich gedacht. Eine Batterie-Lade- und/oder Überwachungsschaltung aus der Batterie zu versorgen habe ich selbst schon mal gemacht. Aber mit NiCd Akkus. :slight_smile:

Die Pegelanpassung der Datenleitungen sieht so schon mal übersichtlicher aus :slight_smile:

Bei OP3B gibt es vielleicht noch ein Problem. Das ist ein Summierer. Der Haken dabei ist, dass das auch ein Inverter ist. Ua = - V * (Ue+ + Ue-)

Du könntest auch mal probieren den Analogteil in pspice zu simulieren. Weiß aber nicht ob da bei der kostenlosen Version an die Grenzen stößt.

Vcc und Vdd sind übrigens beides positive Versorgungsspannungen. Vss ist die negative:

So - nu aber !
Das der OP3B ins negative summiert, hab ich glatt übersehen. Gedacht war es au jedenfall andersherum. :astonished:
Bezeichnungen hab ich nun auch geändert.

pspice kenne ich nur vom hörensagen. Werd ich mir mal ziehen.

LIPO_CONTROLLER.pdf (157 KB)

Mit SPICE kenne ich mich auch nicht so aus. PSpice hat da gerade bei OpAmps eine Limitierung auf 5 oder so, was ich inzwischen gesehen habe. Hier also nicht so toll. Bei LTSpice ist das glaube ich nicht der Fall was man so lesen kann:

Die Dateien scheinen aber bei beiden zueinander kompatibel zu sein.

Das war schon die gewöhnliche Grundschaltung für einen Summierer. Man muss gezielt suchen dass man da nicht-invertierende Beispiele findet. Das geht dann so:

Also scheint es jetzt zu passen :slight_smile:

Beachte aber dass du bei nicht-invertierender Konfiguration, das übliche +1 bei der Verstärkung hast! Das ist nämlich ein Grund weshalb die normalerweise invertierend aufgebaut sind (es gibt noch andere Gründe weshalb der invertierende Verstärker oft bevorzugt wird, aber hier ist das völlig egal) :slight_smile:
Bei dir ist V jetzt 4,9!

... ist doch immer wieder erstaunlich:
Man guckt zig mal auf die Schaltung, hat alle benötigten Schaltunterlagen "offen", vergleicht und vergleicht und korrigiert und sieht dann den Wald vor lauter Bäumen nicht mehr. Normale Härte ... :roll_eyes:

Mit der Platine bin ich auch fast fertig. Wird "nur" ca. 40 x 90 mm - dafür extrem dicht gepackt. Mit Standard-Bauteilen ziemlich klein !
Leider muss es 2-Seitig werden, da komme ich nicht drum herum. Egal.
Werde morgen mal fragen, was mein E-Shop für ein "Muster ohne Wert" haben will. :grin:

SMD Widerstände wären eine Option um etwas Platz zu sparen. Müssen ja nicht gleich die ganz kleinen sein. Da gibts auch welche die etwas größer sind. 1206 ist 3.2 * 1,6mm.

Ich bin mal spaßeshalber an LTspice rumspielen. Das ist viel, viel, VIEL komfortabler als Pspice. Gerade was Bauteile editieren und Spannungsquellen betrifft.
Hat zwar extrem viele LT-Bauteile die man nicht braucht, aber es gibt auch einen generischen OpAmp der hier locker reicht.

Ich habe nicht vor die ganze Schaltung aufzubauen, aber mal eine Subtrahier-Stufe aus zwei OPs :slight_smile:

EDIT: es funktioniert \o/
Allerdings taugen die Standard OPs doch nicht zur Simulation. Anscheinend kein ideales Bauteil. Mit denen geht er nicht auf 0V runter. Habe dann einen LT1218 Precision Rail-to-Rail genommen.