Forum: Mikrocontroller und Digitale Elektronik Strom messen - deepsleep


von Robert (Gast)


Lesenswert?

Hi,

nach einigen Versuchen mit einem Multimeter möchte ich etwas genaueres 
mit Autorange-Funktion benutzen. Ich habe ein Review von Anreas Spies 
gesehen: https://www.youtube.com/watch?v=HmXfyLyN38c&t=760s

CurrentRanger unter: 
https://www.youtube.com/redirect?q=https%3A%2F%2Flowpowerlab.com%2Fguide%2Fcurrentranger%2F&v=HmXfyLyN38c&redir_token=vEyZcabv-_6h2bF_8hZLECOqOCl8MTU2NzA3NDkwM0AxNTY2OTg4NTAz&event=video_description
sollte grundsätzlich meiner Anforderungen erfüllen. Die Frage ist, ob es 
zwischendurch doch nicht etwas besseres/billigeres existiert...

von Karl M. (Gast)


Lesenswert?

Videos sind schön... mehr aber nicht.

von Random .. (thorstendb) Benutzerseite


Lesenswert?


von Robert (Gast)


Lesenswert?

Karl M. schrieb:
> Videos sind schön... mehr aber nicht.

Was meinst Du genau?

von Stefan F. (Gast)


Lesenswert?

Da die Stromaufnahme im Deep Sleep so extrem geringer ist, als die Peaks 
im Betrieb, ist eine Messung recht aufwändig. Meine Variante für Arme 
geht so:
1
              1kΩ
2
3,3V o---+---[===]---+--------ESP-----o GND
3
         |           |
4
         +----(V)----+
5
         |           |
6
         +-----------+

Ich lasse ein Testprogramm laufen, dass die Hardware initialisiert und 
den ESP dann für lange Zeit schlafen legt. In diesem Zustand entferne 
ich die Drahtbrücke und messe den Spannungsabfall an dem Shunt.

Bevor der µC wieder aufwacht, muss ich die Drahtbrücke wieder einsetzen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Hmm, ich habe da bislang einfach ein Multimeter genommen, Vorgehen in 
der Software erstmal wie bei dir. Wenn das Teil dann schläft, 
Strommessbereich herunter schalten. Natürlich darf das Multimeter beim 
Umschalten den Stromkreis nicht trennen …

Genaue Messungen im Nanoamperebereich gehen mit einem einfachen 
Multimeter nicht, aber ehrlich: wer braucht das schon genau? Sowie man 
mit dem Sleep-Strom eine Größenordnung unterhalb der Selbstentladung der 
Batterien ist, ist der exakte Wert völlig unwichtig. Allerdings muss man 
dorthin auch erstmal kommen.

von Johannes S. (Gast)


Lesenswert?

Jörg W. schrieb:
> Natürlich darf das Multimeter beim
> Umschalten den Stromkreis nicht trennen …

habe ich auch schon so gemacht, vor dem Umschalten dann aber das 
Messgerät überbrückt (Laborstecker sind da praktisch).

von Patrick C. (pcrom)


Lesenswert?

* Speisen aus 1 (oder mehrere in serie) supercap mit kleinen ESR
* Mess-periode so lang wie moeglich
* Spannung(fall) ueber supercap messen
* Q=C*U=I*t benutzen
* Funktioniert fuer mich prima

Oder
* Resistor in serie mit supply (sowie angegeben von Stefanus S.
* Messung mittels differential oscilloscope (ich benutze Pico4444 aber 
$$)

von Jörg R. (solar77)


Lesenswert?

Patrick C. schrieb:
> * Speisen aus 1 (oder mehrere in serie) supercap mit kleinen ESR
> * Mess-periode so lang wie moeglich
> * Spannung(fall) ueber supercap messen
> * Q=C*U=I*t benutzen
> * Funktioniert fuer mich prima

Damit erfasst Du aber keine Min/Max Werte, sondern den Verbrauch über 
die Zeit.

: Bearbeitet durch User
von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?


von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jörg R. schrieb:
> Damit erfasst Du aber keine Min/Max Werte, sondern den Verbrauch über
> die Zeit.

Was für deep sleep normalerweise genügt.

Hat den Vorteil einer "eingebauten Integration": wenn das Gerät 
regelmäßig (aller 1 s oder so) aufwacht und dabei eine gewisse 
Energiemenge verbraucht, kannst du das damit ebenfalls erfassen.

von Stefan F. (Gast)


Lesenswert?

Jörg R. schrieb:
> Damit erfasst Du aber keine Min/Max Werte, sondern den Verbrauch über
> die Zeit.

Was durchaus auch von Interesse sein kann.

von John P. (brushlesspower)


Lesenswert?

Stefanus F. schrieb:
> Da die Stromaufnahme im Deep Sleep so extrem geringer ist, als die Peaks
> im Betrieb, ist eine Messung recht aufwändig. Meine Variante für Arme
> geht so:
>
>
1
>               1kΩ
2
> 3,3V o---+---[===]---+--------ESP-----o GND
3
>          |           |
4
>          +----(V)----+
5
>          |           |
6
>          +-----------+
7
>
>
> Ich lasse ein Testprogramm laufen, dass die Hardware initialisiert und
> den ESP dann für lange Zeit schlafen legt. In diesem Zustand entferne
> ich die Drahtbrücke und messe den Spannungsabfall an dem Shunt.
>
> Bevor der µC wieder aufwacht, muss ich die Drahtbrücke wieder einsetzen.

Genauso mache ich es auch. Nur mit einem Oszi um auch eventuelle Peaks 
zu sehen (BLE Advertise o.ä.).
Funktionierte bisher ohne Probleme.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

John P. schrieb:
> Nur mit einem Oszi um auch eventuelle Peaks zu sehen

Allerdings müsste der Oszi sinnvollerweise logarithmisch geteilt sein, 
was natürlich mit den üblichen 8-oder-so-Bit-ADCs direkt nicht machbar 
ist. Man könnte aber zu dem alten Trick greifen und eine Diode als Shunt 
nehmen: deren Flussspannung ist einigermaßen logarithmisch vom 
fließenden Strom abhängig.

von Jörg R. (solar77)


Lesenswert?

Jörg W. schrieb:
> Jörg R. schrieb:
>> Damit erfasst Du aber keine Min/Max Werte, sondern den Verbrauch über
>> die Zeit.
>
> Was für deep sleep normalerweise genügt.

Stimmt, aber aufgrund des vom TO verlinkten Videos gehe ich davon aus 
dass es ihm um die Peaks geht, bzw. die Ruhestromaufnahme.

: Bearbeitet durch User
von Bernd K. (prof7bit)


Lesenswert?

Man könnte sich auch einen Ladungsverstärker bauen der die geflossene 
Ladungsmenge integriert und dann nach ausreichend Zeit durch die Zeit 
dividieren um den mittleren Strom zu haben. Das hat den Vorteil daß dann 
auch die Peaks vom regelmäßigen Aufwachen gleich mit drin sind. So kann 
man abschätzen was das Ding aus der Batterie ziehen wird.


1
             O Vcc
2
             |              
3
            _|_             
4
           |   |
5
           |   | Last
6
           |   |
7
           |_ _|
8
             |         / reset
9
             |________/ ______
10
             |                |
11
             |___________||___|
12
             |           ||   |
13
             |    |\       C  |
14
             |    | \         |
15
             |____|- \        |
16
                  |   \_______|
17
                  |   /       |
18
              ____|+ /        O -
19
             |    | /      U      Voltmeter; Q = C * U; I = Q / t
20
             |    |/          O +
21
             |                |       
22
           __|__            __|__

Der Opamp braucht positive und negative Versorgung.

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Bernd K. schrieb:
> Man könnte sich auch einen Ladungsverstärker bauen der die geflossene
> Ladungsmenge integriert und dann nach ausreichend Zeit durch die Zeit
> dividieren um den mittleren Strom zu haben.

Naja, wie schon geschrieben: der Supercap erledigt die Integration schon 
mal ganz ohne weitere Hardware. ;-)

von Bernd K. (prof7bit)


Lesenswert?

Jörg W. schrieb:
> Bernd K. schrieb:
>> Man könnte sich auch einen Ladungsverstärker bauen der die geflossene
>> Ladungsmenge integriert und dann nach ausreichend Zeit durch die Zeit
>> dividieren um den mittleren Strom zu haben.
>
> Naja, wie schon geschrieben: der Supercap erledigt die Integration schon
> mal ganz ohne weitere Hardware. ;-)

Der Op-Amp hält das linke Ende von C auf GND, so bleibt die Spannung 
über den Prüfling auch bei längerer Messung konstant.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Bernd K. schrieb:
> so bleibt die Spannung über den Prüfling auch bei längerer Messung
> konstant

Ja, wenn man das als Dauermessung aufsetzen will, ist das sicher ein 
Punkt. Allerdings haben Integrationen natürlich die Eigenschaft, dass 
das Ergebnis, wenn man ausschließlich positive Eingangsgrößen integriert 
(die Schaltung also nichts zurückspeist :), auf die Dauer über alle 
Maßen anwächst. Man muss sich folglich auch da vorher Gedanken über die 
Dauer der Dauermessung machen …

von Lunarstromtechniker (Gast)


Lesenswert?

Da braucht man nichts bauen. Gibt es fertig wahlweise als
STM8-Discovery oder STM32L152-Discovery.

Nur ein wenig die Software anpassen!

von Bernd K. (prof7bit)


Lesenswert?

Jörg W. schrieb:
> Man muss sich folglich auch da vorher Gedanken über die
> Dauer der Dauermessung machen …

So lange bis der C die maximale Spannung erreicht hat die da möglich 
ist.

Aber im oben zitierten Fall (C aufladen, Prüfling damit betreiben und 
Absinken der Spannung messen) hat man immer einen Kompromiss: entweder 
man braucht sehr großes C und muss sehr kleine Spannungsdifferenzen 
messen wenn man nicht will daß während der Messung die Spannung am 
Prüfling zu sehr absinkt um die Messung zu verfälschen oder man wartet 
bis der Spannungsabfall größer wird um die Ladung genauer bestimmen zu 
können aber dafür sinkt während der Messung die Versorgungsspannung des 
Prüflings zu weit ab.

Mein Schaltungsvorschlag hat diesen Nachteil nicht. Du kannst 
integrieren bis die Spannung etliche gut messbare Volt erreicht ohne 
dabei den Prüfling durch absinkende Versorgungsspannung zu beeinflussen.

Falls kein Op-Amp zur Hand ist gehts auch mit folgender 
Ghetto-Improvisation:
1
                          Voltmeter U1
2
3
                          O +    - O
4
                          |        |
5
                  +_______|___||___|____O_______________
6
Labornetzteil                 ||                       _|_
7
von Hand vorsichtig          C      Voltmeter U2      |___| Prüfling
8
nachregeln         _____________________ _______________| 
9
                  -                     O

* C vorher entladen, U1=0
* Labornetzteil auf 3.3V und Einschalten
* U2 beobachten und Labornetzteil langsam hochdrehen,
  dabei dafür sorgen daß U2 konstant auf 3.3V bleibt

Nach der Zeit t kann man bequem eine relativ einfach zu messende 
Spannung an U1 ablesen die durchaus auf etliche Volt angewachsen sein 
kann ohne daß dadurch im Verlauf der Messung die Spannung am Prüfling 
nennenswert abgesunken wäre.

Man kann das erste Voltmeter auch am Labornetzteil anschließen und aus 
der Differenz zu U2 die Spannung am Kondensator bestimmen.

Wenn das Labornetzteil ein Voltmeter bereits eingebaut hat braucht nur 
ein zusätzliches Voltmeter und keine zwei.

von Robert (Gast)


Lesenswert?

Ist ein Multimeter genau genug? Bei ESP32 springen die Werten im u 
Bereich zwischen 8-20.
Sind die Geräte im video dem Geld Wert?

ich möchte schon das Verhalten aufzeichnen, ohne da Brücken/etc. zu 
entfernen, bzw. manuell umschalten.

von MaWin (Gast)


Lesenswert?

Stefanus F. schrieb:
> Meine Variante für Arme geht so:

Meine eher so:
1
  Präzisionsvoltmeter (PM2525)
2
     |     |
3
+5V--+--R--+--- uC
4
           |
5
           C
6
           |
7
          GND
R und C auswählen: C muss den Strom in den aktiven uC Zustand liefern, R 
liefert den mittleren Strom über die viel längere Standbyzeit.

von Stefan F. (Gast)


Lesenswert?

Lunarstromtechniker schrieb:
> Da braucht man nichts bauen. Gibt es fertig wahlweise als
> STM8-Discovery oder STM32L152-Discovery.
> Nur ein wenig die Software anpassen!

Wie bitte? Was haben die Discovery Boards mit Strom-Messung zu tun und 
welche Software meinst du?

von Stefan F. (Gast)


Lesenswert?

Robert schrieb:
> ich möchte schon das Verhalten aufzeichnen, ohne da Brücken/etc. zu
> entfernen, bzw. manuell umschalten.

Dann wirst du wohl sehr teure Messgeräte verwenden müssen.

Denn 400mA in 1µA Schritten sind 400.000 Schritte, oder mindestens 19 
Bits für den A/D Wandler.

von Karl K. (Gast)


Lesenswert?

Robert schrieb:
> Ist ein Multimeter genau genug? Bei ESP32 springen die Werten im u
> Bereich zwischen 8-20.

Das Multimeter hat immer einen Spannungsabfall über dem internen Shunt. 
Meist sind das 200-400mV bei Vollausschlag.

Klar kann das Multimeter 20uA messen. Aber dann fehlen im 20uA 
Messbereich auch 200mV an der Versorgungsspannung.

Kritisch wirds, wenn der uC aufwacht und 300uA zieht. Oder du einen 
Taster drückst und der 300uA durch einen Pull-Up zieht. Dann bricht die 
Spannung ein und der uC macht einen Reset.

> Sind die Geräte im video dem Geld Wert?

Das musst du entscheiden. Mir wars den uCurrent nicht wert, zumal mich 
einige Designsachen gestört haben:
2032 Batterie lässt keine Langzeitmessung zu, Ausgangsspannung zu 
niedrig
Messbereiche waren mir zu grob abgestuft.

Ich hab mir nach der Idee des uCurrent einen Verstärker mit INA118 mit 
Gain 100 und 1:10 gestuften Bereichen gebaut, den kann ich ans 
Multimeter oder ans Oszi hängen, da seh ich auch 1A Peaks auf einer 
Versorgung im mA Bereich ohne dass der uC resettet. Und damit seh ich 
auch uA im Sleep.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stefanus F. schrieb:
> Denn 400mA in 1µA Schritten

Ist eben die Frage, ob man das wirklich braucht, auch noch bei 400 mA 
jedes Mikroampere einzeln mit dem Vornamen zu kennen. Ansonsten s.o., 
eine Diode als Shunt logarithmiert "von Haus aus". Man müsste dann halt 
eine kleine Kalibrierkurve aufnehmen.

von Stefan F. (Gast)


Lesenswert?

MaWin schrieb:
> C muss den Strom in den aktiven uC Zustand liefern

Das muss aber ein sehr großer Kondensator sein. Da musst du lange 
warten, bis der aufgeladen ist und sich an R eine stabile messbare 
Spannung einstellt.

von Stefan F. (Gast)


Lesenswert?

Jörg W. schrieb:
> Ist eben die Frage, ob man das wirklich braucht, auch noch bei 400 mA
> jedes Mikroampere einzeln mit dem Vornamen zu kennen.

Mir reicht es, festzustellen, ob der Deep-Sleep Modus funktioniert. Wenn 
ich in diesem Zustand (ohne weitere Beschaltung) mehr als 100µA messen 
würde, wäre das für mich ein deutliches Zeichen, dass irgendetwas faul 
ist.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stefanus F. schrieb:
> Mir reicht es, festzustellen, ob der Deep-Sleep Modus funktioniert. Wenn
> ich in diesem Zustand (ohne weitere Beschaltung) mehr als 100µA messen
> würde, wäre das für mich ein deutliches Zeichen, dass irgendetwas faul
> ist.

Mir im Prinzip auch, wobei ich für wirklich Langzeit-Batterie-Gadgets 
Wert darauf legen würde, (deutlich) weniger als 1 µA zu sehen. Wenn das 
Gerät aber tatsächlich bspw. alle Sekunden aufwachen muss, dann müsste 
man schon irgendeine Variante wählen, die die Ladungsmenge integriert.

von Stefan F. (Gast)


Lesenswert?

Jörg W. schrieb:
> (deutlich) weniger als 1 µA

Kriegst du mit einem ESP8266 alleine wohl nicht hin.

Du hast da wohl eher an ein Konstrukt mit einem 8bit Controller als 
Timer gedacht, stimmst?

von Helmut -. (dc3yc)


Lesenswert?

Man könnte sich Anregungen im Elektor September/Oktober 2019 Seite 92ff 
holen. Artikel "MicroSupply". Ist allerdings nicht direkt brauchbar, da 
der Supplystrom nur 40mA beträgt. Müsste man halt etwas modifizieren, 
sollte aber gehen. Strom-Abtastrate ist 1kHz und kann an einen PC 
ausgeben werden.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stefanus F. schrieb:
> Jörg W. schrieb:
>> (deutlich) weniger als 1 µA
>
> Kriegst du mit einem ESP8266 alleine wohl nicht hin.

Wer WLAN macht, will sicher nicht mehrere Jahre lang aus einer kleinen 
Batterie arbeiten. :)

> Du hast da wohl eher an ein Konstrukt mit einem 8bit Controller als
> Timer gedacht, stimmst?

In dem Falle ja, wobei es sicher auch ein kleiner 32bitter sein kann, 
das macht das Kraut nicht so sehr fett.

von Lunarstromtechniker (Gast)


Lesenswert?

> Was haben die Discovery Boards mit Strom-Messung zu tun

Für deine Ahnungslosigkeit kann ich doch nichts.
Tip: Die enthalten die gesamte nötige Hardware um solcherlei
Messungen zum Kinderspiel zu machen.

von Jan L. (ranzcopter)


Lesenswert?

Stefanus F. schrieb:
> Lunarstromtechniker schrieb:
>> Da braucht man nichts bauen. Gibt es fertig wahlweise als
>> STM8-Discovery oder STM32L152-Discovery.
>> Nur ein wenig die Software anpassen!
>
> Wie bitte? Was haben die Discovery Boards mit Strom-Messung zu tun und
> welche Software meinst du?

sagt mir so auch nix, aber das STM32L053 Discovery hat tatsächlich IDD 
current mesaurement an Board, zusammen mit einem netten eInk-Display, 
und ist oft für'n Appel ohne Ei zu haben:

https://www.digikey.com/eewiki/display/microcontroller/Using+the+IDD+Current+Measurement+Feature+on+the+STM32L053+Discovery+Board

Software dazu für "STDuino" hat ein Mitforist hier mal veröffentlicht, 
tut's ganz gut, allerdings ab 100nA, afair.

von Robert (Gast)


Lesenswert?

Karl K. schrieb:
> Das musst du entscheiden. Mir wars den uCurrent nicht wert, zumal mich
> einige Designsachen gestört haben:
> 2032 Batterie lässt keine Langzeitmessung zu, Ausgangsspannung zu
> niedrig
> Messbereiche waren mir zu grob abgestuft.
>
> Ich hab mir nach der Idee des uCurrent einen Verstärker mit INA118 mit
> Gain 100 und 1:10 gestuften Bereichen gebaut, den kann ich ans
> Multimeter oder ans Oszi hängen, da seh ich auch 1A Peaks auf einer
> Versorgung im mA Bereich ohne dass der uC resettet. Und damit seh ich
> auch uA im Sleep.

Ich dachte eher CurrentRanger zu nehmen... Der hat bereits Lipo Akku... 
automatische Umschaltung der Bereiche, ohne das die Spannung bei 
Umschaltung Zusammenbricht...

Ich habe zwar alles um mir selber etwas zu basteln, habe jetzt aber 
nicht zu viel Zeit für Bastelei und wenn ich mir die Aufbai von und die 
features von CurrentRanger anschaue, dann haben die Leute dort schon 
viel nachgedacht...
Ich habe eher folgende Antwort erhofft:
- kaufe eher auf AliExpress XYZ kostet 40$ und hat die gleiche features 
(oder mehr) wie CurrentRanger...

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.