Das ist ja auch sehr alt, bringt ein update ggf. schon was?
Ich wollte zuerst den fabrikneuen WiPy testen. Jetzt kommen die Firmwareupdates.
@didilamken, habe mal deine Zeilen code auf einen WiPy geladen, den dann auf die nackte BOB-Platine gesetzt und damit 16 uA im deep sleep gemessen:
Nun den WiPy umgesetzt auf eine Platine bei der alle BOB-Sensoren angeschlossen waren und damit verbraucht er dann schon 8 m(!)A im deep sleep:
Wenn du jetzt am Ausgang der HX711-Platine E+ und E- misst wirst du ca. 2,4 V angezeigt bekommen, das ist u.a. der Grund warum der noch so viel Strom verbraucht, der HX711 und damit die excitation voltage der Wägezelle wird nicht korrekt abgeschaltet.
Firmware war die 1.20.2.rc6-0.10.2-vanilla-squirrel-nosmartconfig [v1.20.1.r2-122-gd82a6f43e-dirty] on 2020-03-06 von Andreas.
Vielleicht ist das auch ein weiteres Probelm, die sind ggf. nicht für so kleine Ströme geeignet wie andere Messgeräte.
Ich werde heute abend weiter testen mit div. USB-Testern und Multimetern.
Ich habe aber keinen CurrentRanger.
Der deepsleep-Strom des WiPy auf einer nackten BOB-Platine ist so klein, dass ich ihn mit meinen Mitteln nicht mehr gut messen kann: 20 uA
Ich habe also bislang immer den Standbystrom des ExpansionBoards gemessen.
Während der WiPy auf der nackten BOB-Platine einen sehr kleinen deepsleep-Strom hat, ist das beim FiPy leider nicht der Fall. Den Strom habe ich mit einem Multimeter und dem INA219 auf BOB-Strom-V2 gemessen. Die Unterschiede in der Anzeige sind gering, so dass ich im folgenden die Werte des INA219 benutze, da sie sekündlich ausgelesen und aufgezeichnet werden. Ebenfalls benutze ich zum Vergleich nicht die Stromstärke in mA, sondern die Leistung in mW, da es schon ein Unterschied ist, ob ich die Schaltung mit USB ( 5.2V ), vollem Akku ( 4.1V ) oder leerem Akku ( 3.2V ) betreibe.
Das Testprogramm ist wieder RGB-Led an ( 30 sec ), time.sleep(30), machine.deepsleep(30*1000):
Die ersten drei Zyklen ist der FiPy auf der leeren BOB-Platine, gespeist über die 2-pol. Steckklemme Spannung, LED 890 mW sleep 780 mW deepsleep 290 mW
dann habe ich das ExpansionBoard angesteckt: LED 1280 mW sleep 1150 mW deepsleep 290 mW
Zum Schluss habe ich das ExpansionBoard über den USB-Anschluss eingespeist:
LED 1040 mW sleep 910 mW deepsleep 370 mW
Warum der FiPy bei Einspeisung über USB so viel weniger Leistung verbraucht, ist mir ein Rätsel.
Ergänzung 30.9.20
Der gleiche Messzyklus mit einem WiPy zeigt einen deutlich sparsameren Microcontroller:
Bei Einspeisung über Pin 5V ( 2pol. Steckklemme) ist der deepsleep-Strom sehr gering ( ca. 20 uA ), nur bei Einspeisung über USB am Expansionboard verbraucht er ca. 75 mW.
Das ist sehr viel weniger als beim FiPy. Wenn also LoRa oder LTE nicht gebraucht werden, könnte der billigere WiPy besser sein als die eierlegende Wollmilchsau FiPy. Um beim FiPy Strom zu sparen, braucht man also die Strom-Abschaltung mit dem DS3231. Per Software wird man nicht viel erreichen.
Die einfachste Stromspar-Maßnahme: FiPy gegen WiPy tauschen:
links der WiPy mit WiPy-1.20.1.r1-0.7.0-vanilla-dragonfly-onewire-i2s
rechts der FiPy mit FiPy-1.20.1.r1-0.7.0-vanilla-dragonfly-onewire-i2s
Hardware identisch BOB-HAT mit BME280, HX711 und 5 x DS18B20
Software identisch Hiverize/FiPy vom 29.8.20 mit 35 sec deepsleep am Ende der Mess-Schleife.
Der Stromverbrauch ist praktisch halbiert. Man kann auch noch in der Software optimieren, wird aber nicht so viel erreichen
Ich habe die Software zum Board BOB-Strom-V2 so erweitert, daß ich das Entladen und Laden des 2000 mAh Akkus mit Spannung, Strom und Leistung messen kann. Die Leistung wird so aufsummiert, daß ich die Energie in mWh erhalte.
Zuerst wurde der Akku mit einem FiPy und Sensoren mit 5 sec Messintervall ohne Deepsleep entladen, dann wurde er an USB wieder aufgeladen.
blau: Spannung des Akkus 4.2V bis 2.4V beim Entladen und 2.3V bis 4.2V beim Laden
grün: Leistung des FiPy ca. 1100 mW bis 0mW bei Akku leer
rot: Leistung beim Laden aus USB-Netzteil 4500 mW bei Start
die aufsummierte Energie:
grün: Der FiPy verbrauchte beim kompletten Entladen fast 8000 mWh
rot: der Akku benötigte zum kompletten Aufladen fast 10200 mWh
Fazit: im Akku wurden über 2200 mWh Verluste ( 22% ) verpulvert
interessant ist auch das Verhalten am Ende des Entladens:
Unter 3.0V scheint der FiPy in einen sparsameren Modus zu wechseln, misst und sendet aber weiter bis 2.52V, danach gibt es keinen geregelten Betrieb bis der Akku bei 2.45V abschaltet.
Inzwischen habe ich 3 Solarlader für 6 V Solarmodule und 3 MPP-Solarlader für 12 V Solarmodule im Test, und versuche auch mit der mageren Solarausbeute an einem trüben Novembertag noch messen zu können. Dazu steuert der Alarm der RTC DS3231 die Versorgung des Mess-FiPy oder -WiPy. Er schaltet den Strom für 30 sec ein, damit der FiPy booten, messen und senden kann. Dann schaltet er abhängig von der Akku-Spannung für viele sec aus.
if Uaus0 < 4.0: IntervalAlarmAus = 30 # 1 min
if Uaus0 < 3.8: IntervalAlarmAus = 90 # 2 min
if Uaus0 < 3.6: IntervalAlarmAus = 270 # 5 min
if Uaus0 < 3.4: IntervalAlarmAus = 570 # 10 min
if Uaus0 < 3.2: IntervalAlarmAus = 1170 # 20 min
if Uaus0 < 3.0: IntervalAlarmAus = 1770 # 30 min
So erhält man 60 bis 2 Messungen pro Stunde.
Mein erster Test sieht so aus:
Rot zeigt die Ladeleistung eines 50 Wp-Solarmoduls im Novembernebel : bis zu 700 mW ( milliWatt ! ) Um 8 Uhr ging die Sonne auf, um 11:30 lichtete sich der Nebel etwas, um 16 Uhr war es wieder dunkel.
Blau zeigt die Spannung eines kleinen LiPo-Akkus ( 3.7V 300 mAh ). Er war um 8 Uhr praktisch leer, mittags auf 3.7 V aufgeladen, nachmittags wieder leer.
Grün zeigt die Leistung einer angeschlossenen elektronischen Last. Sie wurde für 30 sec angeschaltet. Von 11:00 bis 13:30 30 mal und später nur 2 mal pro Stunde.
Bei dem trüben Wetter ist es schwierig, auch durch ein 50 W Solarmodul genügend Energie für häufige Messungen zu erhalten.
Blau: Die Spannung des LiPo-Akkus ( 3,7V 2000mAh ) sank in der Nacht auf 3.0 V, stieg dann aber durch die Solaraufladung auf fast 3.5 V.
Rot: Die Solarlade-Leistung war max. 350 mW ( von einem 50 W Modul ! ) und ergab eine Energie von 1400 mWh ( schwarz ).
Grün: die elektr. Last wurde unterschiedlich oft für 30 sec eingeschaltet, die Leistung ist stark abhängig von der Akku-Spannung. Die aufsummierte Energie betrug 600 mWh ( grüne Treppe ) .
Die Firmware des WiPy läuft leider nicht stabil. Er bootet häufig neu - trotz GarbageCollector und Watchdog. Das führt zu dem nicht ganz gleichmässigen Einschalten. Gestern gab es Hänger, wo nur noch Strom aus/ein weiterhalf.
Da ich jede Sekunde 8 Werte messe und aufzeichne, ergeben sich 60 x 60 x 24 x 8 = 692200 Messwerte pro Tag und ca. 11 MByte auf der SD-Karte.
Kann diese Datenmenge sinnvoll über Internet übertragen und mit Grafana angezeigt werden ?
Hallo Didi, lieben Dank für deine Beobachtungen und Messungen! Die Datenmenge ist für Grafana kein Problem. Ich weiß aber nicht, ob die Messfrequenz mit der Datenübertragung hinterher kommt. Sensoren auslesen, ggf. Verbindung aufbauen, Daten absetzen könnte mehr als 1 Sekunde dauern. hälst du die Verbindung “alive” oder muss die jedes mal neu aufgebaut werden?
Inzwischen läuft die Strommessplatine stabil mit Firmware 1.20.2.r3 und ich vergleiche die Energieausbeute an einem trüben Wintertag ( 28.12.2020 ):
Ein 6 Volt / 5 Wpeak Modul mit Solarlader CN3163 an 2000 mAh - LiPo. Das Lademodul mit dem CN3065 scheint nicht mehr erhältlich zu sein.
Schwarz: Die Spannung des Solarmoduls wird auf 4.4 V gezogen.
Grün: die Spannung des Akkus bei 3.6 V - sinkt bei Belastung
Rot: Solarleistung - bei kurzem Sonnenschein um 12:30 etwas über 1 Watt
Schwarz: die aufsummierte Leistung = geladene Energie nicht ganz 0.5 Wh. Das reicht nur für wenige Messungen.
Ein 12 Volt / 50 Wpeak Modul mit MPP-Solarlader CN3791 an 2000 mAh - LiPo
Von dem 10fach grösseren Solarmodul erhält man nur die 3fache Energie ( fast 1.5 Wh )
Die Solarspannung wird durch den MPP-Regler auf 11.3 V gehalten
Welches meinst du? Die kleine rote Platine scheint noch erhältlich zu sein:
Ich hatte nur bei Amazon gesucht. Bei Ebay hab ich noch nicht probiert.
Neue Erkenntnisse zum Stromsparen:
- Ich habe die BOB-Software überarbeitet und auf das wesentliche reduziert:
- Init von WLAN, Time, BME280, HX711, DS18B20 und OLED
- Messen und Ausgabe auf SD-Karte, OLED und Senden
- Deepsleep.
- Kein AP zur Konfiguration
Nun dauert das Booten, Messen und Senden nur noch 15 bis 17 sec
- Der WiPy ist deutlich sparsamer als der FiPy
links: WiPy mit 15 sec Messen und 15 sec Deepsleep
rechts: FiPy mit gleicher BOB-Software
Energiesparen mit von der Akkuspannung abhängigen Messintervallen:
von 7 bis 8 Uhr wurde der Akku durch Dauermessung ( 60 / h ) völlig entleert.
Ab 8:20 auf Schaltbetrieb umgeschaltet, der Akku wurde mit 5 W Solarmodul geladen, die Akkuspannung steigt. Unter 3 V nur 1 Messung / h, über 3.4 V 12 Messungen / h
blau: Spannung des Akkus
rot: Leistung des 5 Wp Solarmoduls
schwarz: aufsummierte Solarenergie
Hallo @didilamken
Sind diese Anpassungen irgendwo online verfügbar?
Ich versuche gerade mit MicroPython warm zu werden und den DS3231 auf meiner BOBcad Platine zu testen… wenn ich da was von dir abkupfern kann, wär ich noch so dankbar.
Gruss
Marcel
Ich habe zwar seit 2 Monaten nichts mehr gemacht, aber hier sind die Daten:
BOB-HAT-V6.zip (3,3 MB)
BOB-PV-V3.zip (985,5 KB)
WiPy1-Strom-V2b.zip (55,9 KB)
WiPy2-Mess-V2.zip (137,3 KB)
Super, besten Dank!
Werde es mir gerne anschauen.