Hallo,
Ich habe einiges über Spannungsmessung per MCU gelesen und mir ist klar,
dass es über einen Spannungsteiler laufen muss, da ich eine LiFePo4
Batterie messen muss und die 1,1V Referenzspannung dazu nutzen wollte.
Der Akku geht nicht über 3,6V, also nutze ich R1=10k und R2=30k. Das
müsste soweit funktionieren oder sehe ich was falsch ? Mir ist klar,
dass es ungenau ist, aber ich nutze nur ca80% der Akkukapazität und da
sind 10% Messfehler noch Ok. Die Schaltung verbraucht leider Strom auch
wenn nicht gemessen wird, allerdings ist die einzige andere Möglichkeit,
die ich gefunden habe mit Schaltbaren Opamps, dies ist jedoch um weiten
komplizierter und die Seite, die ich gefunden hatte war auf russisch, so
dass ich die Schaltung nicht ganz verstanden habe.
Gibts da eine Möglichkeit der Messung ohne, dass ich ständig Strom
verbrauche ? Mohm Widerstände sind auch nicht drin, da der AVR, den ich
benutze keine so hohen Impendanzen mag.
Meine zweite Frage ist : wie mache ich eine isolierte Messung ? Es ist
in meinem Fall notwendig, dass der Akku vollständig galvanisch getrennt
vom MCU ist. Geht sowas und mit welchen Bsuteilen könnte ich das machen
?
Ich hoffe ihr könnt mir da helfen.
Danke im Vorraus.
>Mohm Widerstände sind auch nicht drin, da der AVR, den ich>benutze keine so hohen Impendanzen mag.
Doch das geht. Es muss nur ein ausreichend grosser
Kondensator an den Spannungsteiler. 10nF sollten
reichen. Dann so alle 60s mal messen und gut.
Danke, ich probiere das mal aus. Verfälscht der Kondensator nicht die
Messung ?
Damit verliere ich weniger Strom, das löst schonmal ein Problem.
Wie sieht es mit der Isolation aus ? Jemand eine Idee ?
eventl kann man auch das GND Ende des Spannugsteilers auf einen Pin
legen, denn man zusammen mit dem ADC Eingangspin zwischendurch TriState
(Portpin als Eingang und Pullup deaktivieren) schaltet. Aber bei
ausreichend hohen Widerständen ist die Selbstentladung des Akkus
wahrscheinlich größer als die Verluste über den Spannungsteiler.
Moin,
Isoliert eine Spannung zu messen ist im Vergleich zu den anderen
Problemen ziemlich sportlich.
Warum muß das isoliert sein?
Wenn der AVR (8-Bit also Mega oder Tiny???) vom Netz versorgt wird,
hängt der doch bestimmt an einem Linearregler. Die sind weit genauer als
diese gammeligen internen 1,1V. Für 2% muss man da schon ganz miese
Komponenten nehmen.
Gruß,
Norbert
Bernd schrieb:>> Die sind weit genauer als diese gammeligen internen 1,1V.>> Das ist nicht war (siehe Datenblatt des µCs).
Aha, Linearregler mit knapp 10% Toleranz sind also üblich?
Warum schreibt man so einen Schwachsinn?
Gruß,
Norbert
Die Eingangsimpedanz der Analogeingänge ist typ. 100 MOhm, kannst also
ruhig Widerstände 3MOhm und 1MOhm nehmen. Und Widerstände mit 0,1%
kosten heute auch kein Geld mehr. Der größte Fehler ist sind die 1,1V.
Linuxfan schrieb:> der Akku ist nicht die Spannungsquelle des> AVRs. Der AVR bekommt seinen Strom aus dem Netz.
Schade, denn sonst gäbe es eine schöne schicke Alternative. Wenn du nach
Alternativen fragst, wäre eine komplette Beschreibung hilfreich um
weitere Optionen zu prüfen. Welchen Zweck erfüllt der Akku denn, wenn er
nicht der Versorgung des Mikrocontrollers dient?
Linuxfan schrieb:> Gibts da eine Möglichkeit der Messung ohne, dass ich ständig Strom> verbrauche ? Mohm Widerstände sind auch nicht drin, da der AVR, den ich> benutze keine so hohen Impendanzen mag
Da wäre der genannte Kondensator bei hochohmigen Spannungsteiler oder
man opfert einen weiteren Pin um den Spannungsteiler erst kurz vor der
Messung mit dem anderen Pol zu verbinden.
Norbert S. schrieb:> Bernd schrieb:>>> Die sind weit genauer als diese gammeligen internen 1,1V.>>>> Das ist nicht war (siehe Datenblatt des µCs).>> Aha, Linearregler mit knapp 10% Toleranz sind also üblich?> Warum schreibt man so einen Schwachsinn?>> Gruß,> Norbert
Jeder 7805 aus Opas Bastelkiste hat eine engere Toleranz als die interne
1.1V Bandgapreferenz. Sie ändert sich aber über die Lebensdauer nicht so
sehr. Bei der Temperatur habe ich ganz grob mal nen Drift von 70ppm/*C
ermittelt. Wenn Mensch also ein halbwegs genaues Multimeter hat, kann
ein Korrekturfaktor mit eingerechnet werden. Oder halt nen LM4040 o.Ä,
kostet ja nun auch nicht die Welt.
Viele Grüße
Matze
Hallo,
hochohmig geht schon, aber nicht galvanisch getrennt. Das lässt sich nur
machen, wenn man für die Senderseite der galvanischen Trennung eine
extra Stromversorgung vorsieht, etwa mit DC-DC-Wandler von der
AVR-Versorgung. Dann kann man auf der Akku-Seite eine hochohmige
Messschaltung vorsehen, die die Daten an die AVR-Seite überträgt, z.B.
einen V/F-Wandler und einen Optokoppler. Dafür braucht man eine
Hilfsenergie.
Georg
Die Meiner Erfahrung nach beste Lösung galvanisch getrennt Messungen
durchzuführen ist einen externen AD-Umsetzer zu verwenden und den über
die Isolationsbarriere mit SPI oder I²C anzuschließen. Dann einen
einfachen transformatorischen Isolator rein der auch die Hilfsenergie
zur Verfügung stellt (gibts z. B. von Analog Devices) und den
Spannungsteiler mit einem MOSFET schaltbar machen. Ich würde da keine
Widerstände im 1e6 Bereich verwenden, da ist man dann anfälliger gegen
Störungen. Lieber einen Spannungsteiler im 10..100 kOhm Bereich und den
dann schaltbar. Die Isolatoren gibts oft mit vier Kanälen, einen für den
Transistor und zwei für den I²C ADU.
Habe ich schon oft verwendet und verwenden lassen und hat immer sehr gut
funktioniert.
Ach da habe ich den zweiten Teil doch komplett vergessen. Ich habe fast
den verdacht daß da mehrere Akkus in Serie einzeln vermessen werden
sollen. spekulier Aber wenn es nur um eine einzelne Zelle geht:
Galvanisch getrennt kommunizieren, da gibt es viele Möglichkeiten,
Infrarot LED optokoppler, per Übertrager...
Allerdings muß die Logik ja auch irgendwie versorgt werden. Da könnte
man auch über einen kleinen Tiny nachdenken, welcher dann im Tiefschlaf
wartet. Die Messung sähe dann so aus:
Wähle die Akkuspannung als Versorgung und Referenz.
Messe die Bandgap Referenz.
Errechne daraus die Akkuspannung.
Sende Daten.
> Ach da habe ich den zweiten Teil doch komplett vergessen. Ich habe> fast> den verdacht daß da mehrere Akkus in Serie einzeln vermessen werden> sollen. spekulier Aber wenn es nur um eine einzelne Zelle geht:
Wenn das die Anwendung sein sollte, dann würde ich eher einen dafür
passenden IC nehmen und das wäre ein IC für Akku Batterie Management.
Gibts schöne Sachen von Linear Technology.
Die 1,1 V - Referenz ist nur auf +/-10% GENAU, aber recht STABIL.
Man erreicht leicht 1...2% GENAUIGKEIT, wenn man bei Ersteinschaltung
einen Abgleich vorsieht und den Korrekturfaktor in's EEPROM
schreibt, um ihn bei jedem weiteren Einschalten dort abzurufen.
- Etwas Programmierarbeit, kostet einmalig etwas Zeit, was aber
nur bei einem Serienprodukt als Kostenfaktor relevant ist.
Potentialfrei messen?
Das bekommst du nicht so billig!
Moin,
Ich würde erstmal klären wollen, warum das denn getrennt sein muß.
Wenn es nur ein begrenzt anderes Potential ist, also so im Bereich
10-25V darüber oder darunter, bekommt man das auch gut ohne galvanische
Trennung hin.
Wie Simon das beschreibt ist es tatsächlich die "amtliche" Lösung aber
für einen Bastler ohne viel Erfahrung kann das in gestörter Umgebung
auch sauber in die Hose gehen.
Mit Transienten geht da garantiert mal ein Telegramm in die Hose und
ohne Fehlerbehandlung steht der unbedarfte Bastler dann blöd da.
Ausserdem scheint mir das angesichts der Fragestellung den Aufwand um
eine Grössenordnung aufzubohren.
Wenn man sich gerade den Spannungsteiler angelesen hat, sind I2C oder
SPI mit einem AD-Wandler ja schon kein Selbstgänger, wenn vor zwei
Wochen die erste blinkende LED Begeisterung ausgelöst hat.
LiFePo4 kenne ich nun nicht so gut aber bei LiPo und 80% Kapazität sind
10% der Spannung durchaus ein Problem. 25% der Spannung sind 100% der
Kapazität (so ungefähr).
Linuxfan:
Beschreibe doch mal bitte genauer was Du da vorhast. Das klingt nach
einer Problematik, die man vielleicht anders und viel einfacher lösen
kann.
Strombelastung: Bei 100k und 3,6V hält ein 1000mAh Akku rechnerisch gut
3 Jahre. Da wäre der Akku auch von alleine längst leer. (Sondermüll)
Taschenrechner immer in Reichweite haben kann manchmal nicht schaden...
Gruß,
Norbert
Jakob schrieb:> Die 1,1 V - Referenz ist nur auf +/-10% GENAU, aber recht STABIL.> Man erreicht leicht 1...2% GENAUIGKEIT, wenn man bei Ersteinschaltung> einen Abgleich vorsieht und den Korrekturfaktor in's EEPROM> schreibt, um ihn bei jedem weiteren Einschalten dort abzurufen.>> - Etwas Programmierarbeit, kostet einmalig etwas Zeit, was aber> nur bei einem Serienprodukt als Kostenfaktor relevant ist.
Warum zum Teufel sollte man das tun wenn der µC an einem 7805 oder sowas
hängt?
Und das mit dem Kostenfaktor hast Du wohl falsch herum verstanden:
Genau anders herum. In der Serie könnte das Sinn machen um den
Spannungsregler bei Batteriebetrieb einzusparen. Bei Netzbetrieb ist das
aber vollkommener Nonsens.
Matthias Q. schrieb:> Drift von 70ppm/*C
Prima, selbst an einem Exemplar gemessen oder steht das im Datenblatt?
Immerhin ist das etwa 50% besser als die Drift von z.B. einem LP2950.
Edit: Ca. +-1% von -25 bis +85°C. Also das kann nicht die
Lebensberechtigung der internen 1,1V Referenz sein.
Gruß,
Norbert
Selbst gemessen mit Kältespray und Sommersonnefensterbank mit
sagenhafter n=2. Also Ca -40 bis +40.
Ich mache es so, dass ich die interne Referenz für ADC verwende, jeweils
ausmesse und das Ergebnid als Korrekturfaktor speichere.
So kann ich auch gleich die ggf. vorhandene Toleranz der Messschaltung
ausmessen und auch korrigieren. Offset der OPV, Widerstandstolleranzen
etc. lassen sich Exemplarspezifisch bestimmen, messen und korrigieren.
Viele Grüße
Matze
Linuxfan schrieb:> Meine zweite Frage ist : wie mache ich eine isolierte Messung ?
Um welche Isolationsspannung geht es?
Eine Möglichkeit für die isolierte Messung wäre, einen kleinen µC zu
nehmen, der galvanisch mit dem Akku verbunden ist und über einen
isolierenden DC/DC-Wandler versorgt wird. Der überträgt dann die Daten
seriell über einen Optokoppler/Adum zu deinem Zielsystem.
Linuxfan schrieb:> Die Schaltung verbraucht leider Strom auch> wenn nicht gemessen wird, allerdings ist die einzige andere Möglichkeit,> die ich gefunden habe
Dann schau hier im Forum mal nach Batteriewächter
Dort wird über einen FET im Spannungsteiler der Spannungsteiler
deaktiviert solange nicht gemessen wird.
Gruß Anja