Forum: Mikrocontroller und Digitale Elektronik Energieverbrauch von Funkmodulen genau messen


von Paul H. (powl)


Lesenswert?

Hi,

ich habe hier verschiedene Funkmodule und Temperatursensoren, mit denen 
ich zusammen eine Funkübertragung bewerkstelligen will, die einen sehr 
niedrigen Energieverbrauch hat, da sie lange auf Akkubetrieb laufen 
soll. Ist ein Uni-Projekt, habe dazu mehrere Wochen Zeit und auch ein 
bisschen Budget.

Um die besten Komponenten und die beste Übertragungsmethode 
herauszufinden möchte ich den Stromverbrauch der Komponenten in allen 
Betriebzuständen genau messen. Das ist natürlich nicht ganz 
unproblematisch. Zum einen Verbrauchen Funkmodul und Mikrocontroller 
beim Messen/Senden immer mal wieder für wenige Millisekunden bis zu 
20mA, im Schlafmodus dann wieder für eine lange Zeit nur wenige µA. Noch 
dazu ist die Stromaufnahme auch während der Sendezeit nicht konstant 
sondern variiert u.U. mit hoher Geschwindigkeit. D.h. im Stromverbrauch 
habe ich noch sehr hohe Frequenzanteile. Wenn ich nun mit einem ADC 
einfach die Spannung an einem Shuntwiderstand abtaste bekomme ich 
einerseits das Problem, dass ich mit einer sehr hohen Frequenz abtasten 
müsste (wenn ich mir die Shuntspannung eines meiner Funkmodule auf dem 
Oszi so anschaue bräuchte ich wohl um die 100kHz Abtastrate, besser noch 
1MHz für alle Fälle) und andererseits bräuchte ich dazu noch eine 
ausreichend hohe Auflösung, da zwischen dem Stromverbrauch von Betriebs- 
und Schlafmodus mal mindestens ein Faktor von 10000 liegt. Mit ein 
bisschen Headroom sind das dann mindestens 16 Bit. Klar, das ist alles 
machbar aber ich möchte ja nicht unbedingt Wochen in die Entwicklung 
einer genauen Strommessmethode investieren, obwohl ich mir vorstellen 
könnte, dass 100kHz Abtastrate für einen flotten µC noch problemlos 
handlebar sind und ich mir lediglich einen geeigneten ADC raussuchen und 
eine Platine dazu entwerfen müsste.

Ist das die geeignetste Messmethode? Gibt es preiwerte Alternativen? 
Lieber ein Ansatz auf Basis eine Coulomb-Counters?

lg, Paul

von Stefan F. (Gast)


Lesenswert?

Ich habe hier mal von folgendem Ansatz gelesen:

Man lädt einen Kondensator mit einer bekannten Kapazität auf und 
verwendet diesen zur Stromversorgung. Dann misst man während der 
Benutzung den Spannungsabfall.

Anhand der Geschwindigkeit des Spannungsabfalls kann man die 
durchschnittliche Stromaufnahme errechnen.

Probiert habe ich das noch nicht, aber es klingt plausibel.

von Paul H. (powl)


Lesenswert?

Das müsste dann aber ein Doppelschichtkondensator oder eben ein sehr 
großer Elko sein. Wenn der Stromverbrauch dann u.U. sehr gering ist 
hätte ich wohl mit der Selbstentladung zu kämpfen (beim Supercap 
zumindest), oder? Zudem sollte die Ausgangsspannung bei konstanten 3,3V 
liegen, weshalb ich noch einen Spannungsregler benötige, der auch noch 
mal Strom verbraucht (ob der immer konstant dem Wert im Datenblatt 
entpsricht?). Ganz so praktikabel stell ich mir das gerade nicht vor, 
müsste aber noch mal drüberrechnen.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Paul H. schrieb:
> Noch dazu ist die Stromaufnahme auch während der Sendezeit nicht konstant
> sondern variiert u.U. mit hoher Geschwindigkeit. D.h. im Stromverbrauch
> habe ich noch sehr hohe Frequenzanteile.

Da holt dich natürlich sofort das Abtasttheorem ein. Aber in 
Wirklichkeit interessieren dich die hohen Frequenzanteile gar nicht. Du 
möchtest höchstwahrscheinlich die Energie pro Aussendung wissen, d.h. 
wenn du hinter deinem Strommessverstärker einen Tiefpass schaltest und 
dessen Ausgangssignal abtastest, verlierst du auch bei gemütlicher 
Abtastung nichts, weil du sowieso hinterher in der Auswertung über den 
Sende-Burst integrieren musst.

Die Dynamik ist auch kein so ernstes Problem, weil du unabhängig 
Messungen machen kannst: Standby Stromaufnahme, Energie pro Messung, 
Energie pro Aussendung. Den Rest kannst du anhand der Mess- und 
Sendehäufigkeit mit dem Taschenrechner ausrechnen

von Sebastian S. (amateur)


Lesenswert?

Falls die "Kondensatormethode" machbar ist, sollte man hier wohl am 
besten einen (vielleicht auch mehrere) hochwertigen, normalen 
Kondensator verwenden.
Später, bei normaler Anwendung, könnte ein Doppelwopper sinnvoller sein.

von Paul H. (powl)


Lesenswert?

Wolfgang schrieb:
> Da holt dich natürlich sofort das Abtasttheorem ein. Aber in
> Wirklichkeit interessieren dich die hohen Frequenzanteile gar nicht. Du
> möchtest höchstwahrscheinlich die Energie pro Aussendung wissen, d.h.
> wenn du hinter deinem Strommessverstärker einen Tiefpass schaltest und
> dessen Ausgangssignal abtastest, verlierst du auch bei gemütlicher
> Abtastung nichts, weil du sowieso hinterher in der Auswertung über den
> Sende-Burst integrieren musst.

Ja richtig, das Abtasttheorem ist das Problem, der genaue Stromverlauf 
interessiert mich nicht wirklich. Aber besteht bei Zwischenschaltung 
nicht das Problem, dass der Tiefpass die hohen Frequenzanteile einfach 
komplett ausblendet und somit deren Energieanteile komplett wegfallen? 
D.h. ich verfälsche damit letztendlich mein Messergebnis.

von Georg M. (g_m)


Lesenswert?

Paul H. schrieb:
> (wenn ich mir die Shuntspannung eines meiner Funkmodule auf dem
> Oszi so anschaue bräuchte ich wohl um die 100kHz Abtastrate, besser noch
> 1MHz für alle Fälle)

Haben diese Module keine Blockkondensatoren? Wird Energie aus dem Akku 
wirklich so hochfrequent gesaugt?

von Wolfgang (Gast)


Lesenswert?

Paul H. schrieb:
> Aber besteht bei Zwischenschaltung
> nicht das Problem, dass der Tiefpass die hohen Frequenzanteile einfach
> komplett ausblendet und somit deren Energieanteile komplett wegfallen?

Da solltest du dich nochmal mit den Grundlagen beschäftigen. Du 
betreibst deine Schaltung mit konstanter Spannung, d.h. die Leistung ist 
proportional zum Strom(linearer Zusammenhang). Damit wird alles einfach, 
weil du im Integral dann nur noch den mittleren Strom brauchst.

von Stefan F. (Gast)


Lesenswert?

> Haben diese Module keine Blockkondensatoren? Wird Energie aus dem
> Akku wirklich so hochfrequent gesaugt?

Zumindest bei den ESP8266 Modulen schwankt die Stromaufnahme im Betrieb 
zwischen ca 80mA und etwa mehr als 300mA. Das sind sehr kurze aber hohe 
Peaks.

von Stefan F. (Gast)


Lesenswert?

Man könnte die Stromaufnahme über einen Shunt messen, und dessen 
Ausgangsspannung vor der Messung durch einen Tiefpass leiten.

Damit ist aber noch nicht das Problem der extremen Differenz zwischen 
Ruhestromaufnahme und Normalbetrieb gelöst.

von Wolfgang (Gast)


Lesenswert?

Stefan U. schrieb:
> Das sind sehr kurze aber hohe Peaks.

Sooh sehr kurz nun auch nicht - immerhin einige Millisekunden

von Paul H. (powl)


Lesenswert?

Ja das ist selbstverständlich. Aber ich betrachte das gerade aus 
signalverarbeitungstechnischer Sicht. Klar bekomme ich die Gesamtenergie 
des Signals wenn ich über das gesamte abgetastete Signal integriere. 
Aber wenn ich einfach das Spektrum nach oben hin mit einem Tiefpass 
abschneide (oder zumindest dämpfe) dann fehlt mir diese Energie doch 
nach der Integration später im Ergebnis, denn nach Parseval entspricht 
die Energie im Frequenzbereich auch der Energie im Zeitbereich. D.h. 
wenn ich da filtere dann bekomme ich nicht einfach die mittlere Leistung 
sondern einen etwas geringeren Wert. Wo ist der Denkfehler?

von Stefan F. (Gast)


Lesenswert?

> D.h. wenn ich da filtere dann bekomme ich nicht einfach die mittlere Leistung
> sondern einen etwas geringeren Wert.

Verstehe ich nicht. Ein Tiefpass hinter dem Shunt (hat im Idealfall) 
keinen Einfluss auf den Spannungsabfall am Shunt. Ein Tiefpass liefert 
an seinem Ausgang den Mittelwert der Spannung, also ein Indiz für den 
Mittelwert des Stromverbrauchs.

Wenn man den Mittelwert des Stromverbrauchs mit der als konstant 
angenommenen Versorgungsspannung multipliziert, erhält man die mittlere 
Leistungsaufnahme.

Oder etwa nicht? Jetzt hast du mich aber verunsichert!

von Wolfgang (Gast)


Lesenswert?

Paul H. schrieb:
> D.h. wenn ich da filtere dann bekomme ich nicht einfach die mittlere
> Leistung sondern einen etwas geringeren Wert.

Wieso?
Der höherfrequente Anteil mittelt sich doch über die Zeit sowieso weg, 
egal ob die Mittelung im TP oder im Integral passiert.

von Paul H. (powl)


Lesenswert?

Aber warum sollte sich Leistung wegmitteln? Das Signal wird im Integral 
doch quadriert. Da mittelt sich doch nichts weg.

von Stefan F. (Gast)


Lesenswert?

P = U * I

Was wird da quadriert?

von Anja (Gast)


Lesenswert?

Hallo,

es gibt auch 16-Bit oder 24-Bit (DEWETRON) Oszilloskope.
z.B. hier eine Messung mit einem 16-Bit Scope:

https://www.mikrocontroller.net/articles/Batteriew%C3%A4chter#Nachtrag2:_Strommessung_mit_dem_Oszi

Batteriewächter

Gruß Anja

von Sebastian S. (amateur)


Lesenswert?

Wird eine Prüfschaltung bestehend aus einem Reihenwiderstand und einem 
Parallelkondensator vorgeschaltet, so sollte sich ein vernünftiges 
Ergebnis, auch mit einer "normalen" Abtastfrequenz erreichen lassen.

Egal wie die Stromaufnahme aussieht, der Strom muss durch den 
Widerstand. Da lässt er sich auch messen. Der Kondensator sollte dafür 
sorgen, das die "extremen" Spitzen geglättet werden. Ein gutes 
elektrisches Verhalten vorausgesetzt gibt es in diesem Bild keine 
Löcher. Die Spannung am Kondensator macht das Andere.
Für die tatsächliche Messung sollte man sich aber den Kondensator selber 
basteln. Also ein paar µF mit geringem ESR und zur moralischen 
Unterstützung was hochwertiges, keramisches parallel.

Aber wie bereits gesagt: Wenn es keinen Hinterausgang gibt, muss der 
Strom durch den Widerstand und der Kondensator hält die Spitzen im Zaum.

Zwei Sachen sollten aber im Auge behalten werden. Kann eine exakte 
Prüfmethode nicht garantiert werden, so müssen Strom und Spannung 
gleichzeitig gemessen werden. Im Rahmen der maximal auftretenden Spitzen 
bzw. deren noch vorhandenen Frequenz. Ist bei Sendemodulen nicht immer 
zu gewährleisten. Auch wenn zur Prüfung immer die selben Daten auf die 
Reise geschickt werden.

von Wolfgang (Gast)


Lesenswert?

Paul H. schrieb:
> Aber warum sollte sich Leistung wegmitteln? Das Signal wird im Integral
> doch quadriert. Da mittelt sich doch nichts weg.

Doch, lies hier noch mal:

Wolfgang schrieb:

von Jim M. (turboj)


Lesenswert?

Paul H. schrieb:
> Zum einen Verbrauchen Funkmodul und Mikrocontroller
> beim Messen/Senden immer mal wieder für wenige Millisekunden bis zu
> 20mA, im Schlafmodus dann wieder für eine lange Zeit nur wenige µA.

Genau für solche Messungen verwende ich hier ein Silabs EFM32WG STK. Das 
kann Ströme von <1µA bis ca. 50 mA bei 3.3V Versorgung messen - mittels 
AEM:
https://www.silabs.com/community/mcu/32-bit/knowledge-base.entry.html/2014/05/21/using_aem_to_measure-BdWl

Das ist zwar eigentlich für den aufgelöteten Prozessor gedacht- den kann 
man aber mit dem Energy Mode Demoprogramm in einem Sparmodus (EM4) im nA 
Bereich quasi totlegen.

Abtasttheorem kann man bei Spannungsversorgung mittels Kondensator (so 
einige 10 µF) am Testgerät begegnen - das bügelt die Stromaufnahme 
"glatt", was man bei kleinen Batterien sowieso machen muss wegen 
Innenwiderstand.

Normalerweise will man ja die mittlere Energieaufnahme wissen.

von batman (Gast)


Lesenswert?

Da gibts doch einen patentierten Trick: Man baut (oder käuft) sich einen 
Schaltregler, der pro Schalttakt eine konstante bekannte Ladung 
überträgt und zählt dann einfach die Takte oder Frequenz, die er 
braucht, um die Ausgangsspannung zu halten.

von Paul H. (powl)


Angehängte Dateien:

Lesenswert?

So, ich habe die Sache noch mal weiter untersucht :-)

Zum einen habe ich mir noch mal aufgemalt, wie die Energie überhaupt 
berechnet wird. Ihr habt vollkommen recht, die Energie ist proportional 
zum Integral der Spannung über dem Messshunt, hier wird nix quadriert. 
Somit mitteln sich alle höheren Frequenzen wirklich einfach raus, für 
die Integration zählen nur die 0Hz.

Um das mal experimentell zu untersuchen habe ich mir in Matlab ein 
Skript geschrieben, welches ein Beispielsignal abtastet und zunächst 
direkt aufsummiert um die Energie zu berechnen und dann das ganze noch 
mal, nur dass nun das Signal durch einen Tiefpassfilter 1. Ordnung 
geschickt wird(was in der Realität ein RC-Tiefpass wäre). Im Ergebnis 
ist die Energie dann genau gleich.

D.h. ich kann für eine Leistungs- oder Energiemessung problemlos das 
Eingangssignal problemlos mit einem RC-Glied glätten und dann abtasten 
und halte somit immer schön das Abtasttheorem ein :-)

von pegel (Gast)


Lesenswert?

Für den nRF51822 hat sich hier einer Gedanken darüber gemacht:

https://www.youtube.com/watch?v=F7RI6CTpj64

von Olaf (Gast)


Angehängte Dateien:

Lesenswert?

Also ich hab mir ja einfach einen Stromtastkopf auf Basis eines MAX4080 
gebaut. (siehe Bild)

Den Maximalstrom stellt man sich ueber Widerstaende ein. Ich hab zwei 
Typen, einmal 10mA und einmal 100mA. Bandbreite ist 250khz. Ich hab auch 
noch eine Luxusversion die man an Labornetzteilen dazwischenstecken kann 
und da hab ich noch einen Filter drauf das man auf verschiedene 
Grenzfrequenzen umschalten kann.
Das Bild zeigte eine Messung an einem nRF51822 bei laufender 
Datenuebertragung.

Ziemlich cool oder? Jedenfalls im vergleich zu einen ordentlichen Haufen 
Geld nach Agilent zu tragen. :-)

Olaf

von Stefan F. (Gast)


Lesenswert?

> Ziemlich cool oder?

Sicher. Es müssen nicht immer hoch universelle Messgeräte sein.
Ich baue mir auch oft Hilfsmittel, die nur eingeschränkt nutzbar sind 
aber für mich ihren Zweck erfüllen.

von Olaf (Gast)


Lesenswert?

Das coole in dem Fall ist das Wissen um die Existenz des MAX4080. Der 
nimmt einen fast die gesamte Arbeit ab, hat 250khz Bandbreite und kommt 
mit 70V am Eingang klar. Das ist schon praktisch.

Olaf

von Paul H. (powl)


Lesenswert?

Wie messen eigentlich Multimeter? Filten die auch über ein RC-glied und 
tasten dann einfach ab?


Wieso gibt es überhaupt Coulomb-Counter IC, die intern analog 
integrieren anstatt direkt mit einem ADC abzutasten? Wegen der großen 
Dynamik zu niedrigem Preis?

von Harald (Gast)


Lesenswert?

Paul H. schrieb:
> Wie messen eigentlich Multimeter? Filten die auch über ein
> RC-glied und
> tasten dann einfach ab?

Meist Dual-Slope Verfahren, ein integrierendes Prinzip.

von Olaf (Gast)


Lesenswert?

> Wieso gibt es überhaupt Coulomb-Counter IC, die intern analog
> integrieren anstatt direkt mit einem ADC abzutasten? Wegen der großen
> Dynamik zu niedrigem Preis?

Vermutlich eher wegen dem Stromverbrauch.

Olaf

von Anja (Gast)


Lesenswert?

Harald schrieb:
> Meist Dual-Slope Verfahren, ein integrierendes Prinzip.

Wobei der Wandler die meiste Zeit "blind" ist.
Es wird nur in der Integrationsphase gemessen.
Während der De-Integration und während dem Null-Abgleich ist der Eingang 
nicht aktiv.

Bei höherwertigen Instrumenten mit Multi-Slope Wandler wird schon 
während der Integrationsphase teilweise wieder De-Integriert. Die finale 
De-Integrationsphase ist dadurch kürzer. Aber auch hier bleibt der 
Null-Abgleich ohne Eingangssignal.

Man müßte schon einen Delta-Sigma-Wandler mit kontinuierlicher Wandelung 
verwenden und alle Ergebnisse aufsummieren. Aber ohne Selbstabgleich ist 
natürlich die Offset- und Gain-Drift höher.

Gruß Anja

von Gerd E. (robberknight)


Lesenswert?


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.