Forum: Mikrocontroller und Digitale Elektronik 13s Akku Zellenspannung messen


von Emil (Gast)


Lesenswert?

Hallo,

Ich möchte an einem 13s Akku die Spannung an jeder
Zelle mit einer genauigkeit von 0,05V messen.

Spannungsbereich von bis 54,6V wird über Spannungsteiler
hochohmig auf 3,3V herunterskaliert.
Wird wohl mindestens ein 12Bit ADC dahinter benötigt.

Es geht mir hier einzig um die 13 Kanäle und nicht um
sonstige Vorbeschaltungen.

Es sollte auch ein header oder shield oder breakout board
sein. Will keine Platine mit Eagle oder Kicad erstellen.

Nun ist mir bei Atmel oder STM kein MC mit min.
13 Channel ADC bekannt.


Mögliche Wege wären...

CD74HC4067 16 Channel analog Multiplexer breakout board.

Hier weiß ich leider nicht welche Verfälschung der mir reinbringt,
da die Kanäle wohl verlustbehaftet sind und ob ich das herausrechnen 
kann.

Kennt ihr kleine Breakout Boards die für das was ich machen möchte,
geeignet sind?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Emil schrieb:
> Nun ist mir bei Atmel oder STM kein MC mit min.
> 13 Channel ADC bekannt.

? Selbst ein kleiner STM32F100 hat 16 Kanäle, schon in der kleinsten 
Gehäusevariante LQFP64.

Emil schrieb:
> Kennt ihr kleine Breakout Boards die für das was ich machen möchte,
> geeignet sind?

Die Frage ist, ob du einen VL-Discovery mit STM32F100RB als Breakout 
Board akzeptierst.

: Bearbeitet durch User
von HildeK (Gast)


Lesenswert?

Emil schrieb:
> Ich möchte an einem 13s Akku die Spannung an jeder
> Zelle mit einer genauigkeit von 0,05V messen.
>
> Spannungsbereich von bis 54,6V wird über Spannungsteiler
> hochohmig auf 3,3V herunterskaliert.
> Wird wohl mindestens ein 12Bit ADC dahinter benötigt.

Sportlich! Nur so mal als grobe Betrachtung:
- Teiler auf 0.1% Genauigkeit (50V zu 50mV)? Du brauchst dann 
Widerstände mit 0.01% Toleranz. Gleiches gilt dann für die ADC-Referenz.
- 12Bit ADC, reicht theoretisch, praktisch aber nicht. Nur die Auflösung 
reicht.
- hochohmig? ADCs wollen meist niederohmige Eingänge.

von Udo S. (urschmitt)


Lesenswert?

Matthias S. schrieb:
> Selbst ein kleiner STM32F100 hat 16 Kanäle

Er will eine Genauigkeit besser als 0,1%.
(55V max. und Fehler kleiner 0,05V)

Da wird es mit den 12 Bit Wandlern eigentlich schon unmöglich. Deren 
Gesamtfehler dürfte locker 2-4LSB betragen.
Dazu kommt der Fehler durch seine Spannungsteiler, Referenz, 
Thermospannungen, Störspannungen, ...

HildeK war schneller :-)

: Bearbeitet durch User
von Udo S. (urschmitt)


Lesenswert?

HildeK schrieb:
> - hochohmig? ADCs wollen meist niederohmige Eingänge.

Er will fast statisch Akkuspannungen messen. Da geht ein hochohmiger 
Spannungsteiler und ein 10-33nF Kondensator zum Puffern.

von Oliver S. (oliverso)


Lesenswert?

Udo S. schrieb:
> Er will eine Genauigkeit besser als 0,1%.
> (55V max. und Fehler kleiner 0,05V)

Ich würde sagen, er will jede Zelle einzeln mit 0.05V Genauigkeit 
messen. Das wären dann ca. 4,3V max, also gut 1% Genauigkeit.

Oliver

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Udo S. schrieb:
>> Selbst ein kleiner STM32F100 hat 16 Kanäle
>
> Er will eine Genauigkeit besser als 0,1%.
> (55V max. und Fehler kleiner 0,05V)

Ich habe ja nur drauf geantwortet, das er keinen MC mit 12 Kanälen/12Bit 
findet. Ob sein Messkonzept taugt, bleibt davon unabhängig. Bei meinem 
E-Fahrzeug wird ein Differenzverstärker mit 2 Muxes zwischen den Zellen 
umgeschaltet, damit bleibt die Messspannung von der absoluten 
Gesamtspannung unabhängig.

von Rolf M. (rmagnus)


Lesenswert?

Oliver S. schrieb:
> Udo S. schrieb:
>> Er will eine Genauigkeit besser als 0,1%.
>> (55V max. und Fehler kleiner 0,05V)
>
> Ich würde sagen, er will jede Zelle einzeln mit 0.05V Genauigkeit
> messen. Das wären dann ca. 4,3V max, also gut 1% Genauigkeit.

Er misst aber nicht jede Zelle einzeln. Im Maximum misst er den gesamten 
Akku, d.h. sein Messbereich muss darauf ausgelegt sein. Als hat er einen 
Messbereich von bis zu 55V, innerhalb dem er eine Genauigkeit von 0,05V 
haben will - weniger als 0,1% des Messbereichs. Dass er nachher daraus 
die Einzelzellen-Spannungen ausrechnet, ändert an den Anforderungen an 
die Genauigkeit der Messung selbst nichts mehr.

von Oliver S. (oliverso)


Lesenswert?

Rolf M. schrieb:
> Er misst aber nicht jede Zelle einzeln.

Er misst noch gar nichts. Er hat lediglich den Wunsch, irgend etwas 
irgendwie zu messen, garniert mit vielen "ich will", "es muß", "es 
soll".

Oliver

von Rolf M. (rmagnus)


Lesenswert?

Oliver S. schrieb:
> Rolf M. schrieb:
>> Er misst aber nicht jede Zelle einzeln.
>
> Er misst noch gar nichts.

Nun gut. Dann tut er es eben nicht, sondern will es tun. So oder so sind 
die Anforderungen an die angedachte Messmethode so wie beschrieben.

> Er hat lediglich den Wunsch, irgend etwas irgendwie zu messen,

??
Er hat doch ziemlich genau beschrieben, was er messen möchte und auch 
wie er das tun möchte. Allerdings ist es auf Grund der sehr hohen 
Anforderungen an die Genauigkeit nicht unbedingt praktikabel.

> garniert mit vielen "ich will", "es muß", "es soll".

Das einzige, was ein bisschen in diese Richtung geht, ist:

Emil schrieb:
> Es sollte auch ein header oder shield oder breakout board
> sein. Will keine Platine mit Eagle oder Kicad erstellen.

von Εrnst B. (ernst)


Lesenswert?

Rolf M. schrieb:
> Er hat doch ziemlich genau beschrieben, was er messen möchte und auch
> wie er das tun möchte.

Er hat ein Problem und sich bei der Suche nach dem Lösungsweg etwas 
verrannt.

Wie andere schon geschrieben haben, die Lösung mit den Ultra-Präzisen 
Spannungsteilern und hochauflösenden ADC dahinter ist nicht wirklich 
Optimal, weder vom Ergebnis noch vom Preis-Leistungs-Verhältnis.

Evtl. macht es Sinn wenn er einen Schritt zurück macht, und sich andere 
Lösungswege anschaut.
Es gibt z.B. (Linear/Analog, Infineon, TI, NXP, ...) Schöne BMS-ICs, die 
15 Zellen auf einmal überwachen, gleichzeitig als Balancer arbeiten, und 
dir die Einzelspannungen entspannt digital melden.

LTC6812-1 z.B. als Anschauungsobjekt (Viel zu Teuer, Overkill mit 16Bit 
und 0.0005V typ.Error, schwer erhältlich, kein Breakout-Board)

Gibt's aber auch in kleiner, billiger, für weniger Zellen, aber mit 
"Daisy-Chain"-Funktion.
-> mal die parametrische Suche der üblichen Verdächtigen bemühen...

von Emil (Gast)


Lesenswert?

Danke für die Rückmeldungen.
War bezüglich Überlegungen meinerseits sehr hilfreich.

Denke, mein Messkonzept war nicht so durchdacht.
Eher für die Tonne :-)
Bin nicht so sehr in dem Hardware Thema drinnen.
Kann es aber nachvollziehen.

Die bessere und wohl üblichere Messmethode ist das mit dem 
Differenzverstärker.

Werde das noch im Detail durchdenken und mit LTspice simulieren.

Dann habe ich aber immer noch das Problem,
mir keine Platine entwickeln zu wollen.

Daher die frage ob es Differenzverstärker breakout module in dem weiten 
Eingangsbereich gibt.
0... 55V und der Mux sollte ebenfalls diese Spannung an seinen Kanälen 
können. Mögliche Verfälschungen des Mux würde wohl der 
Differenzverstärker prinzipbedingt herausnehmen.

Den Diff. Verstärker könnte ich wohl auch auf Lochrasterplatine löten.


Ich bräuchte also Ratschläge bezüglich Mux und Differenzverstärker. 
Möglicherweise gibt es hier auch schon PCB Module, die genau das 
bereitstellen, da das erfassen von vielen Spannungen über einen weiten 
Spannungsbereich jetzt nicht sooo ungewöhnlich ist.

Verzeiht mir, dass ich hier konkret frage aber ich will mir das lange 
Suchen mangels Erfahrung ersparen.

Mein Schwerpunkt liegt eher im Übermitteln der Daten über Bluetooth an 
mein Handy und Aufbereiten der Daten in einer Smartphone App. Also in 
Software.

von Emil (Gast)


Lesenswert?

Vermutlich hilft mir ein BMS mit UART Schnittstelle.

von Udo S. (urschmitt)


Lesenswert?

Emil schrieb:
> Mein Schwerpunkt liegt eher im Übermitteln der Daten über Bluetooth an
> mein Handy und Aufbereiten der Daten in einer Smartphone App.

Das ist also nur Spielerei und keine notwendige Anwendung?

von Emil (Gast)


Lesenswert?

Ist privater Natur, Hobby.
Das tut aber wohl nichts zur Sache.

Ich denke nicht, dass das Wohlergehen der Menschheit davon abhängt. Ist 
somit nicht zwingend notwendig. Aus meiner Sicht für mich aber schon 
mehr oder weniger notwendig. :-)

Ich glaube, BMS ist hier das richtige Schlagwort.
Da sollte ich mich mal schlau machen. Dort gibt es ja Lösungen und Chips 
die genau für sowas eingesetzt werden. (Zellenspannungen ermitteln.)

von Udo S. (urschmitt)


Lesenswert?

Emil schrieb:
> Ich denke nicht, dass das Wohlergehen der Menschheit davon abhängt

In einem BMS mögen die 0,05V notwendig sein, um sie auf einem Handy 
anzuzeigen in 99% aller Fälle nicht.

von Rolf M. (rmagnus)


Lesenswert?

Εrnst B. schrieb:
> Wie andere schon geschrieben haben,

Und ich auch, in dem Teil, den du nicht zitiert hast. Aber gut, dass du 
es jetzt auch nochmal geschrieben hast. :)

> Evtl. macht es Sinn wenn er einen Schritt zurück macht, und sich andere
> Lösungswege anschaut.

Das wäre definitiv sinnvoll.

Udo S. schrieb:
> Emil schrieb:
>> Mein Schwerpunkt liegt eher im Übermitteln der Daten über Bluetooth an
>> mein Handy und Aufbereiten der Daten in einer Smartphone App.
>
> Das ist also nur Spielerei und keine notwendige Anwendung?

Die meisten Hobbybastler bauen Spielereien und keine notwendigen 
Anwendungen.

von Sebastian S. (amateur)


Lesenswert?

Das wird nicht ganz einfach! Eher vielfach.
Die meisten A/D-Wandler stehen auf eine massebezogene Spannung. Woher 
nehmen wenn nicht stehlen? Sollte allerdings bei der ersten Zelle kein 
Problem sein.
Weiterhin könnte die hohe, differenzielle Spannung spannend werden.

: Bearbeitet durch User
von C. U. (chriull)


Lesenswert?

Emil schrieb:
> Ich glaube, BMS ist hier das richtige Schlagwort.
> Da sollte ich mich mal schlau machen. Dort gibt es ja Lösungen und Chips
> die genau für sowas eingesetzt werden. (Zellenspannungen ermitteln.)

Auf 
https://opensourceebikefirmware.bitbucket.io/development/Smart_BMS_with_bluetooth.html
solltest du ein paar interessante Links finden. (Fertiges BMS auf Basis 
von  BQ76940 + bluetooth und Link zu einem Github Projekt)

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.