Solarbetrieb der BOB-Platine, verschiedene Möglichkeiten

Zum Vergleich, mein LoPy4 mit jeweils 1x HX711, BME280 und DS18B20 läuft mit Deep Sleep, LoraWAN, Sendeintervall von 20min und einem 2000mAh Akku circa 2 Wochen ohne externe Energiezufuhr. Einen Schwarmabgang kann ich damit immer noch sicher und rechtzeitig erkennen.
Ich denke auch, dass 5 Sekunden beim Szenario Technoimker über das Ziel hinaus schießen. Mit einer Reserve von 3 Tagen gehört man auch schon zu den Wetteroptimisten. :grinning:

2 Likes

Wir sind ja noch in der Testphase. Ein Messzyklus von 1 x BME280, 6 x DS18B20 und 1 x HX711 und senden dauert ca. 5 sec. Man kann dann noch 5 sec warten für einen Messzyklus von 10 sec. Das spart aber keinen Strom, das wait() kostet etwa so viel wie messen.
in FiPy-Master sind noch keine Sparmassnahmen wie abschalten und sleep eingebaut, das kommt erst in FiPy-Kamerun, ist aber noch nicht so weit.
Um einen Langzeitbetrieb zu untersuchen, muss man zuerst das Maximum kennen, wie minimaler Zyklus, maximale Auflösung der Sensoren usw.
Ich messe ja auch die Batteriespannung zum Erforschen mit einer Auflösung von 1/1000 Volt, was nachher im Betrieb auch nicht nötig sein wird.
Je nach den Erkenntnissen, die erzielt werden, kann man den Akku und das Solarmodul auch verkleinern und gut durch den Winter kommen. Auf variable Messintervalle mit viel sleep zwischendurch wird man nicht verzichten können.
Vielleicht können wir ja mit einer einfachen Powerbank und einem 5W Solarmodul auskommen.

Hi Didi,

Ok, verstehe. Bei mir ging Stromsparmaßnahmen für die MicroPython-Firmware im Batteriebetrieb damals nur schon so sehr in Fleisch und Blut über, dass ich mich ein wenig über die Grundlagenforschung an dieser Stelle – ohne Stromsparmaßnahmen(!) – wunderte, obwohl wir ja eigentlich schon viel weiter waren. Ich hatte dabei ganz vergessen, dass Du ja mit der GitHub - Hiverize/FiPy Firmware arbeitest. Sorry und viel Erfolg bei allen Tests!

Viele Grüße,
Andreas.

Ich hab bei mir Mal mit dem fipy/Kamerun Brench ein wenig getestet und bin mit der Light-Sleep Variante auf WiPy und abgeschalteten WLAN mit Imker als Datenmuli mit dem 2000mA Akku von BOB auf 215h Laufzeit gekommen und das trotz 10sec Messintervall.

Wie ich vorher schon ein paar Mal geschrieben habe ist light Sleep ganz klar im Vorteil solange man nicht nur alle 20 min sendet.

Der Nachteil im Light Sleep ist aber, das die Buttons praktisch kaum noch reagieren der WiPy ist zwischen dem Schlafen nur noch 1Sec wac.
Bis der Interrupt auf dem Button reagiert schläft er praktisch schon wieder. Wenn ich Versuche ihn per Interrupt auf dem Button zu wecken geraten die Interrupts, Pinstate, Aufwachgrund usw durcheinander.
Ist auf alle Fälle noch immer ein schwerwiegender Bug in der Pycom Firmware vorhanden. Ich bin an dem Problem dran, aber aktuell fehlt mir die Zeit mich mit dem Problem zu beschäftigen.

Für BOB habe ich eine kleine Zusatzplatine entwickelt, auf der die RTC DS3231 per Alarm und P-Kanal MOSFET die Stromversorgung des FiPy an- und abschalten kann. Mit einem INA219 kann ich Spannung, Strom und Leistung messen.


DS3231 und INA219 werden z.Z. noch von einem extra FiPy per I2C angesteuert, später soll der Mess-FiPy das tun.Der Solarlader CN3065 mit 2000 mAh-Akku ist auch dabei.
Beim DS3231 nutze ich den Alarm 1, damit kann ich den Strom im Sekundentakt schalten.
Zum Stromsparen kann der FiPy nach einem Messzyklus für beliebige Sekunden abgeschaltet werden. Der Alarm des DS3231 schaltet ihn wieder ein. So kann man alle 5, 10, 30 sec oder gar nur jede Stunde messen, abhängig von der Stromversorgung. Bei USB-Betrieb mit 5 V sind 5 sec möglicht, bei Akku-Betrieb von 4.2 V bis 3.5 V können die Messpausen variabel sein. So spart man Programmierarbeit mit den sleep-modi und dem Abschalten der einzelnen Sensoren

1 Like

Ich habe erste Mess-Ergebnisse:
FiPy1 läuft mit Hiverize/FiPy und bootet, misst und sendet 2 Messwerte, dann 5 sec 3 LED an, 5 sec LED aus, 5 sec DeepSleep
Mit Fipy3 und INA219 messe ich Spannung, Strom und Leistung:


Versorgungsspannung: zuerst 2000 mAh Akku mit 4 V, dann USB-Netzteil mit 5.2 V


Der Leistungsverlauf ist bei 4V und 5V fast gleich bei ca. 1.1W. Das ist mehr als die 1.0W, die ich bislang angenommen habe.

Der FiPy bootet in ca. 17 sec, misst 2 mal in 10 sec, 5 sec 3 LED an, 5 sec LED aus, 5 sec DeepSleep
Ob die LEDs an oder aus sind, fällt nicht gross aus bei einer Gesamtleistung von 1100 mW.
Der Verbrauch bei DeepSleep mit 350 mW ist grösser als erwartet. Vermutlich weil die Sensoren nicht abgeschaltet werden.

Mit dem Alarm 1 des DS3231 kann ich die Stromversorgung des FiPy im Sekundentakt ein- bzw- ausschalten.


Das Booten der BOB-Firmware dauert ca. 17 sec, dann 2 Messungen mit Übertragung in 10 sec, dann DeepSleep. Nach 35 sec schaltet der DS3231 den Strom für 30 sec ab. Mit Optimierung kann man mit halben Stromverbrauch jede Minute messen.

Mit doppelt so langen Pausen kommt man auf 1/3 Stromverbrauch.
So kann man mit der Wahl der Pausendauer den Stromverbrauch gut beeinflussen. Das Abschalten der Sensoren und Auslöten der LEDs wird nicht so viel bringen.
Für Messintervalle von 5 sec bis 30 sec wird es kaum Energieeinsparmöglichekeiten geben, da muss man beim FiPy mit 1.1W am USB-Netzteil rechnen.

1 Like

Ich habe den Stromverbrauch des FiPy mit der BOB-Software GitHub - Hiverize/FiPy auf der Platine BOB-HAT V6 genauer untersucht:


Nach dem Booten ( 20 sec ) folgt die 1. Messung ( 5 sec - 1. peak ), dann time.sleep(30) ( 30 sec ) und die 2. Messung ( 5 sec - 2. peak ). Danach deepsleep ( 180 sec).
Es fällt auf, dass das Messen einen leicht erhöhten Strombedarf ( ca. 50 mW mehr ) erfordert, der sleep aber 1100 mW erfordert, obwohl nichts zu tun ist.
Auch der deepsleep verbraucht mit 370 mW noch viel zu viel.

Da ist es besser, wenn man mit der Platine BOB-Strom V2 und der RTC DS3231 dem FiPy über Alarm1 den Strom ganz an- und abschaltet:


Links im Bild der Stromverbrauch mit deepsleep, rechts mit Abschalten. Wenn man die Schaltzeiten optimiert, kann man viel Strom sparen, indem man die Abschaltzeit verlängert und weniger häufig misst.
Auch könnte man die Zeiten mit der Akku-Spannung variieren: bei USB-Versorgung ( 5V ) dauernd messen, bei vollem Akku häufig und bei leerem Akku selten.

2 Likes

Wie viel mA / uA hast du da im deep sleep gemessen? Wir waren mit suboptimaler LTE-Einstellung und der Terkin-Software mit dem FiPy bei ca. 80 uA, s. Stromsparmaßnahmen für die MicroPython-Firmware im Batteriebetrieb - #173 by clemens wenns deutlich drüber lag sollte softwaretechnisch auf jeden Fall noch etwas machbar sein!

Das gleiche Bild mit Strom-Anzeige:


Im DeepSleep werden ca. 70 mA verbraucht. Da die Stromversorgung nicht ganz stabil ist ( Leerlauf 5.3 V, bei 1.1 W Leistung 5.1 V ) nehme ich lieber die vom INA219 errechnete Leistung.

Ich messe aber die vom gesamten BOB-HAT aufgenommene Leistung mit FiPy, HX711, BME280, 5 x DS18B20 und OLED. Im DeepSleep fährt der FiPy zwar runter, die Sensoren können in einen Ruhemodus geschickt werden ( muss ich noch überprüfen ), aber ihre Versorgung wird nicht abgeschaltet. Vermutlich verbraucht die Wägezelle mit der Erregung am meisten von den 370 mW.
Anstatt die Sensoren einzeln abzuschalten, schalte ich einfach das ganze Board ab, wenn das Messen fertig ist.
Während des Messens könnte man optimieren, indem man die einzelnen Sensoren hoch- und runterfährt. Aber ich glaube, dass man bei 5 sec Messen nicht viel einsparen kann. Da ist es einfacher, das ganze abzuschalten und mehr oder weniger bis zur nächsten Messung zu warten.

1 Like

Ich habe mal während des deepsleep nacheinander die Sensoren abgezogen:


Alle 30 sec DS18B20, BME280 und HX711. Die Leistung ging zurück von 370 mW auf 340 mW.
Ohne OLED werden immer noch 280 mW nur im FiPy verbraucht.
Das wird man kaum senken können. Da ist es einfacher, man schaltet den Strom ganz ab.
Nach dem Ende des deepsleep bootet der FiPy sowieso

Mein Messaufbau:


links: FiPy1 auf BOB-HAT-V6 mit 5 x DS18B20, BME280, HX711 misst und sendet Daten an BEEP
rechts: FiPy3 steuert über I2C die RTC DS3231 und 2 x Stromsensoren INA219 auf Platine BOB-Strom-V2. Zeichnet auf SD-Karte Spannung, Strom und Leistung auf.

BOB-HAT-V6 und BOB-Strom-V2 nur mit DS3231 sind so konstruiert, dass sie zusammen mit einem Akku in das BOB-Gehäuse passen.


Dann kann die BOB-Software mit dem DS3231 die Stromspar-Pausen selbst einstellen und man benötigt keinen DeepSleep .

1 Like

Nicht jeder hat 230 V am Bienenstand. Deshalb habe ich 2019 eine Solar.Stromversorgung untersucht.
Solarbetrieb der BOB-Platine, verschiedene Möglichkeiten - Bee Observer / BOB Entwicklung - Hiveeyes
Leider ist kein Serien-Gerät daraus entstanden, den Prototypen habe ich an ein Klima-Camp verschenkt.
Übergangsweise kann man 2 Powerbanks benutzen, muss die aber täglich ( oder alle paar Tage ) laden und wechseln.
Etwas länger hält ein 12 V Auto-Akku mit einem 12V USB-Adapter aus dem Autozubehör.
Für Bastler gibt es folgende Anleitung:






Wie verhinderst Du das Tiefentladen der Autobatterie, @didilamken ?

Bei dem SolarLader für Guinea macht das der LadeController ( von Amazon ),
bei der Autobatterie mit Auto-USB-Lader muss man selbst aufpassen.