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.
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.
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).
* 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
$$)
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.
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.
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.
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.
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.
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.
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. ;-)
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.
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 …
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.
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.
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?
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.
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.
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.
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.
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.
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.
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?
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.
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.
> 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.
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.
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...