Damit der Entladevorgang in ein Tagesplot passt, habe ich ihn mit konstanten 5W entladen:
Akku -> Gleichstrom-Zähler -> Solarregler -> Umsetzer 12V/5V -> USB-Messgerät -> elektron.Last
Der theoretische Energieinhalt von 12V x 17Ah = 204Wh kann nie erreicht werden, da der Akku nur bis minimal 10.5V entladen werden darf.
Um 0:15 habe ich die Last von 5W eingeschaltet, um 19:30 war die Tiefentladungsgrenze von 10.5V erreicht. Damit ergeben sich an der Last 19.25 h x 5W = 96Wh. Der Zähler zeigte 156Wh an, die der Akku geliefert hat. Allerdings sind im Regler, dem Umsetzer und USB-Messgerät 156 - 96 = 60Wh Verluste entstanden.
Der FiPy wäre mit 1W theoretisch 96 Stunden gelaufen.
Die Entladekurve des kleinen Akkus 12V / 7Ah mit 5W entladen:
Um 0:15 entladen mit 5W, um 6:15 Stop ergibt 6h x 5W = 30Wh. Der Zähler zeigt 49Wh.
Die Verluste sind 49 - 30 = 19Wh.
Der FiPy wäre mit 1W theoretisch 30 Stunden gelaufen.
Bei meinen Tests betreibe ich seit einigen Wochen 2 FiPy mit je 10000mAh Powerbanks, die ich leider täglich wechseln muss, da sie nur knapp 1.5 Tage halten. Das ist auf Dauer unbefriedigend.
Nun habe ich folgende Powerbank gefunden:
Leider ein typisch chinesisches Produkt mit theoretischen 145Wh Energie: der Ladeeingang und die Ausgänge 1 x 12V und 4 x 5 V funktionieren, der 230V Wechselspannung-Ausgang aber nicht. Da ich ihn eh nicht benötige, habe ich das Teil nicht zurückgeschickt.
Einen 5V-Ausgang habe ich mit 1W belastet, er lieferte 70 Wh. D.h. ein FiPy mit 1W würde knapp 3 Tage laufen.
Das teste ich gerade.
vielen Dank für Deine Tests, @didilamken. Ich wollte an dieser Stelle nur nocheinmal vorschlagen, dass wir doch kollektiv von der Idee abkommen sollten, im Solarbetrieb alle 5 Sekunden messen zu wollen. Außerdem sollte der Deep Sleep Modus ordentlich erschlossen, implementiert und aktiviert sein.
Ich bin hier gerade nicht auf dem aktuellen Stand, wie das Gerät betrieben wird, denke aber, dass der Akku mit besser eingestellten Bedingungen zur Laufzeit doch ein wenig länger halten könnte.
Genau das möchte ich ja untersuchen:
im Frühling bei gutem Wetter gibt es viel Solarstrom und auch viel Aktivität bei den Bienen. Dann kann man oft messen, z.B. den Abgang eines Schwarms. Nachts und im Herbst/Winter hat man nicht so viel Strom und misst dann seltener.
Mit einer Gangreserve von 3 Tagen kann man besser eine Schlechtwetterperiode oder einen dicken Taubenschiss auf dem Solarmodul überbrücken.
Im Kamerun-Branch will ich die Stromspar-Möglichkeiten austesten.
das verstehe ich. Trotzdem ein aber: Wäre nicht die Gangreserve von vornherein viel höher, wenn a) weniger oft als 5 Sekunden(!?) gemessen werden würde und b) das Gerät zwischen den Messintervallen schlafen würde? Selbst wenn es in diesem Szenario anbleibt, könnte das WiFi und weitere Peripherie abgeschaltet werden.
Anders gesagt: Wenn ich empirisch testen will, wie weit ich mit einer Tankfüllung meines Bullis komme, fahre ich ja auch nicht 180 km/h auf der Autobahn und stehe an den Ampeln volle Kanne ausgekuppelt auf dem Gas.
Ich bin mir nicht 100%ig sicher, ob ich diese Analogie hier richtig getroffen habe und freue mich auf ein besseres Verständnis der Sachlage.
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.
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.
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!
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
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:
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.
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.
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.
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.
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
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.
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: