Solarbetrieb der BOB-Platine, verschiedene Möglichkeiten

Hi Didi,

vielen Dank für Deine Meßreihe. Mit entsprechenden Stromsparmechanismen, die wir uns bei Strom sparen beim Einsatz der MicroPython-Firmware im Batteriebetrieb erarbeitet hatten, sind wir auf ca. 40 Stunden Betriebszeit gekommen.

Vielleicht könntest Du mit den Optionen “Deep Sleep” und “Watchdog” auch noch einmal einen Versuch wagen, damit wir die Meßergebnisse besser vergleichen und ggf. überprüfen könnten.

Viele Grüße,
Andreas.

Das sind die nächsten Schritte

1 Like

Hi Didi,

Achso – erstmal im Trockendock – soweit klar.

Für den Echtbetrieb zusammen mit der Firmware hat @roh hier [1] vor kurzem schon den Treiber für die INA eingebunden. Da fehlt aber natürlich noch entsprechender Code zur Ansteuerung.

Ist das die Richtung, die Du anstrebst, den INA-Treiber in die Firmware zu integrieren, um damit Messungen veranstalten zu können? Sag gern Bescheid, falls Du dabei Unterstützung benötigst.

Viele Grüße,
Andreas.

[1] add ina219 driver from https://github.com/chrisb2/pyb_ina219 · rohlan/hiveeyes-micropython-firmware@71a5a1c · GitHub

Zur Zeit steuere ich den INA219 mit einem RaspberryPi an: 5 Messwerte je sec, gespeichert auf der SD-Karte und mit gnuplot dargestellt. Ich plane die Messung von Solarmodul, Akku und Last (FiPy), also 3 mal 5 Werte pro sec. Ich glaube das überfordert einen FiPy.

Achso, also extern. Gut, ich verstehe. Go ahead! Wir würden uns sehr über detailliertere Verbrauchsmessungen der GitHub - hiveeyes/hiveeyes-micropython-firmware: Hiveeyes MicroPython Datalogger - data logging for humans in allen Lebenslagen freuen!

Heute noch mal die Messung mit Akku und 6 Minuten Aufzeichnung


Die gleiche Hardware, aber Software hiveeyes-micropython-firmware 0.6.0 mit Watchdog und DeepSleep

Beim ersten Zyklus sieht man das volle Booten, dann Deepsleep, 60 sec warten, dann aufwachen und messen.
Im Vergleich zu oben deutlich sparsamer, aber anstatt alle 10 nur alle 100 sec Messwerte.

2 Likes

Große Klasse, @didilamken!! Sehr spannende Daten! Die offensichtlichen Ergebnisse hast du ja schon benannt, der deep sleep braucht im Vergleich zum normalen Betrieb quasi gar keinen Strom. Hast du dafür noch Zahlen? Was sind die Verbrauchswerte für A und W beim deep sleep?

Interessant finde ich, dass die hiveeyes-Software in der zweiten Hälfte – das ist vermutlich die Periode wenn die Daten verschicht werden – nur 1/3 der Energie der hiverize-Software verbraucht, in der Mess-Phase sind es noch weinger, ca. 2/3 der hiverize-Software! Was ist da anders @vinz @Diren? Kann es daran liegen, dass das LTE-Modem nicht abgeschaltet ist?

Oder gibt es Unterschiede weil das OLED mit der einen Software an ist und mit der anderen nicht, war das einheitlich @didilamken und könntest du mal ohne OLED messen?

Im ersten Messzyklus bei hiveeyes ist etwas anders als bei den beiden darauffolgenden. Hier ist der Stromverbrauch in der Messphase nicht reduziert, bei den anderen beiden Messzyklen schon. Was könnte das sein?

Strom: 0.011 A = 11 mA Leistung: 48 mW

Das OLED-Display war bei der hiveeyes-SW eingesteckt, hat aber nichts angezeigt. Bei der hiverize-SW hat es angezeigt. Ich werde den Stromverbrauch näher untersuchen.

Beim ersten Messzyklus habe ich den FiPy eingesteckt und er hat vollständig gebootet, danach brauchte er nur aus dem deep sleep aufwachen. Das wird der Unterschied sein.

Hat jemand Interesse an der Strommess-Platine ( Schaltplan, Platine, Software ) ?

1 Like

Was meinst du, bis “wie weit runter” ist denn die Messung reliabel? Ich frage auch weil wir hier ganz andere Bereiche haben:

vs.

Ggf. ist es ja das OLED, vielleicht kann man aber mit dem INA219 so kleine Ströme gar nicht reliabel messen. [edit] Was mir gerade noch eingefallen ist, die SD braucht ja auch einiges und das expansion board auch, hattest du die beiden Verbraucher auch am System während der Messung?

Für den deep sleep und normale Multimeter wird ja häufig der µCurrent Gold von Dave Jones / EEVblog oder der Current Ranger von Felix Rusu / Low Power Lab empfohlen, s. auch

Auf jeden Fall, sollen wir einen eigenen thread dazu hier erstellen, fände es super, wenn wir das auch dokumentieren könnten gibt ja sicher noch andere Anlässe so etwas zu nutzen.

Auf den INA219-PCB sind default 100 mOhm -Meßwiderstände (1% Toleranz) verbaut, sein PGA kann Werte von 1, 2, 4, oder 8 annehmen, sein interner ADC hat 12bit. Full scale bei PGA=1 sind ± 40mV, und bei PGA=8 ±320mV an den shunt-Anschlüssen. Heißt also bei Rshunt = 0,1 Ohm
für PGA=1 ±400 mA fs und für PGA=8 ±3,2A fs.

3,2 A / 4096 = 781,25 µA und
0,4 A / 4096 = 97,65 µA

Bei PGA = 1 ist Dein LSB also 0,1 mA, und bei PGA=8 0,8 mA.

Für diese Meßaufgabe wäre also ein 1 Ohm-shunt passender, damit für wenigstens ±40 mA fs eine Auflösung von 10µA da ist. Wenn man den shunt auf 10 Ohm erhöht und den PGA auf 8 setzt, hätte man bei ähnlichem fullscale (32 mA) eine Auflösung von 1µA. - Rauscht dann aber schon ziemlich und taugt ohne schalt- oder steckbare Meßwiderstände nur für wirklich sehr kleine Ströme.

1 Like

Der INA219 kann 11 mA nicht genau messen, dazu ist Messtechnik wie uCurrent Gold ( 75€ ) oder Current Ranger ( 120$ ) viel besser. Wir werden den Ruhestrom nur schätzen können ohne teure Messtechnik.
Ich vermute, dass wir mit dem INA219 ab 50 mA -> 0.25 W gut messen können.

Die nächste Strommess-Platine mit 3 x INA219 soll bei einem Solar-Regler Solar, Akku und Last bis ca 5W messen.

Die neue Strommess-Platine mit 3 x INA219 misst in den Zweigen Laden ( Solar ), Akku und Entladen ( Last ) pro Sekunde Spannung, Strom und Leistung und berechnet die Kapazität in Ah und die Energie in Wh.


Bisher habe ich den Akku nur mit einem USB-LiPo-Lader geladen und mit einer elektronischen Last mit konstantem Strom entladen.

Wegen der Übersichtlichkeit blende ich einige Kurven aus.
Der geladene LiPo-Akku von 2000 mAh wird mit fast konstanten -1A entladen und die mAh aufsummiert ( bis -2200 mAh = -2.2 Ah - schwarze Kurven ). Die Spannung des Akkus sinkt, bis ich bei 3.0V abgebrochen habe um den Akku zu schonen. Wegen des Spannungsabfalls an den Shunts der 2 INA219 ergeben sich 2 rote Kurven ( oben Akku, unten Last ).
Ebenso bei der Leistung ( blau ) Oben abgegebene Leistung des Akkus, unten aufgenomme Leistung der Last. Die Differenz heizt die beiden Shunts auf.
Die Energie ist die aufsummierte Leistung: oben Akku 7.7 Wh und unten Last 7.05 Wh

Beim Laden wird zuerst mit konstanten Strom ( ca. 1.1A ) und dann mit konstanter Spannung von 4.2 V geladen wobei der Ladestrom abnimmt. bei 0.1 A wird der Ladevorgang abgebrochen.


Die Spannungsdifferenz ( grün rot ) ergibt sich wieder aus dem Spannungsabfall der Shunts. Die mAh werden wieder aufsummiert und ergeben bei Ladeschluss wieder 0 ! ( -2200mAh + 2200 mAh )
Die abgegebene Energie des Laders beträgt 8.9 Wh

Zusammenfassend ergibt sich


Interessanterweise benötigt man für Entladen und Laden des 2000 mAh-Akkus jeweils 2200 mAh.
Bei der Energie erkennt man die Verluste: gibt der Lader noch 8.9 Wh ab, sind es beim Akku nur noch 7.7 Wh und bei der Last kommen nur noch 7.05 Wh an.

Am 15. und 19.10. habe ich das Entladen und Laden des 2000 mAh LiPo-Akkus untersucht. Aus einem vollen Akku können bei 1 A Entladestrom ca. 7 Wh Energie entnommen werden. Geladen wurde mit einem USB-Lader ( TP4056 ) und einem Solarlader ( CN3065 ) an USB.
Am 20.10. habe ich mit einem 6V / 5 Wp Solarmodul den leeren Akku


und am 21.10. den fast vollen Akku geladen

Der trübe Herbsttag am 20. hat nur magere 0.6Wh eingebracht, der USB-Lader bracht 5.5Wh ( blau). Am 21. war der Akku fast voll, Solar hat in 9 Stunden knapp 0.9 Wh gebracht, der USB-Lader brauchte kaum nachzuladen.
Wenn wir BOB im Winter mit Solar betreiben wollen, müssen wir sehr sparsam mit der vorhandenen Energie umgehen. Wenn wir alle 10 sec messen wollen und der FiPy benötigt 1 W, dann brauchen wir dazu 24 Wh am Tag. Mit Stromsparmassnahmen können wir vielleicht auf 15 Wh reduzieren.
Die können wir im Herbst mit einem 5W Solarmodul nie erreichen. Strom sparen kann man nur, indem man weniger oft misst.
Als nächstes möchte ich untersuchen, wie viel Energie ein Messzyklus benötigt. Dann könnte man die Deepsleep-Zeit abhängig vom Ladezustand des Akkus machen.

2 Likes

doch - ich hatte es Dir oben vorgerechnet: dies liegt nur am verbauten shunt; mit Rshunt= 1 Ohm sind 10µA drin , und mit 10 Ohm bei PGA=8 klappen 1µA. Nicht optimal, aber geht, und ist auch nur die Auflösung, nicht die Genauigkeit.

Nein, es geht auch mit diesem genauer.

Das stimmt allemal.


preiswerteste Heimwerker-Alternative zu den genannten (semi-)professionellen Meßverstärkern (zwinker @clemens), die auch gegen den µCurrent antreten kann (bei indoor-Nutzung und nicht allzu hoch gewählter PGA-Stufe) : im ±20mA-Bereich läßt sich bei einem shunt von 1 Ohm eine Bürdespannng von nur 1µV / 1µA erreichen! Die nutzbare Auflösung beträgt damit immerhin 100 nA; wenn man Schirmung/EMV-Aspekte, Temperatur, Feuchte und Speisespannung beachtet, geht damit eine Genauigkeit von 1µA!

µA-Meter mit HX711

(simpler Schaltplan und alternative Aufbauvarianten dazu in den Kommentaren)


Mit nur wenigen Änderungen ließe sich damit auch ein Milliohmmeter bauen, man sollte dann aber wieder über einen ADS1220 oder ADS1231 nachdenken, damit man eine Vierleiter-Messung realisieren kann - sonst nützt auch die hohe Auflösung dieser ICs nichts, und alles geht wieder im Rauschen und den parasitären Thermospannungen unter.

2 Likes

Mit dem gängigen Breakout-Board mit INA219 und 0.1 Ohm Shunt kann man bis 3.2 A messen. Das reicht bei 5 V bis gut 15 W für viele Verbraucher. Für sehr kleine Leistungen reicht die Auflösung nicht, da muss man den Wert des Shunts verändern. Wäre er 10 Ohm, könnte man max. 32 mA messen.

Der FiPy verbraucht aber im Betrieb 5 V x 200 mA = 1 W. Der Spannungsabfall am Shunt wäre 10 Ohm x 0.2 A = 2 V. Damit kämen von der Betriebsspannung 5 V nur noch 3 V beim FiPy an, der damit nicht stabil laufen kann. Man hätte also eine sehr instabile Stromversorgung im Takt des Stromverbrauchs ( 5 V im Ruhemodus und 3 V im Normalbetrieb )
Es ist also in der Praxis nicht so einfach mit einem unmodifizierten Breakout-Board den Ruhestrom des FiPy zu messen. Deshalb bezogen sich meine Ausführungen oben auf den Normalbetrieb von ca. 1 W. Um Ruheströme messen zu können, muss ich noch etwas basteln.

OK, verstehe.

Ich habe den Strom vom 21.10. mit einer grösseren Auflösung von -0.1 bis +0.3 A gezeichnet


und von 0 bis +0.01A = 10 mA

Man erkennt die Auflösung des INA219 mit 1 mA. Da kann ich keine kleinen Ströme < 10 mA sauber messen.

Ich habe einen neuen Solarlader entdeckt, der für BOB interessant sein könnte:
DEBO PWR SOLAR2 für 9,20€ bei Reichelt.

Solareingang 6 bis 24 V
Ladeeingang 5V MicroUSB
Halterung für 14500 LiPo
Anschluss für LiPo-Akkus
Ausgang 5V USB oder Stiftleiste

Dazu gibt es ein Solarmodul mit 5W

Der eingebaute Akku betreibt den FiPy nur kurz, auch der 2000 mAh-LiPo hält nur ca. 7 Stunden,
aber man kann eine Powerbank zwischenschalten. Die mit 10000 mAh betreibt den FiPy 35 Stunden wenn er alle 5 sec misst und nicht schläft.
Ob das 5W Solarmodul genügend Nachschub liefert, bezweifle ich, aber ich werde ein 20W Modul testen. Zur Not kann man auch ein grosses 12V Modul anschliessen.

Das ist das gleiche Modul wie hier in diesem thread in posting #29 und folgende beschrieben. Taugte bei meinen Versuchen leider nichts, ich denke vor allem, weil erst in 5V gewandelt wird und dann wieder zurück, zu viel Verluste. Die ganzen (unnötigen) LEDs tun dann den Rest. Das Solarpanel hat mir aber gefalllen, ist nur für den Lader und unsere Anwendung zu klein.

Die ganzen Umwandlungsverluste werden uns noch länger beschäftigen. Obwohl der FiPy nur 1 W bei 3.5 V benötigt, ist es aufwändig, diese verlustarm bereitzustellen.
Ich dachte jetzt nicht an eine möglichst effiziente Solarstromversorgung im deutschen Winter, sondern an eine robuste Stromversorgung in Kamerun. Dort fällt der Strom oft stundenweise aus.
Da mich die Kombination aus 20 W Solarmodul, 12 V Bleiakku und USB-Lader nicht völlig überzeugt haben, möchte ich jetzt die Kombination aus 20 W Solarmodul, Lademodul mit Solar- und Netz-Eingang und eine USB-Powerbank austesten.