Ok, further research! Habe den WiPi am Multimeter, der im deep sleep 10 mA verbraucht und nacheinander die einzelnen Sensoren abgeklemmt.
kritischer Stromverbrauch einzelner Sensoren im deep sleep
Keine DS18B20 reduzieren den Verbauch nicht sonderlich, auch der BME280 ist erst mal unkritisch. Der faule Apfel oder gärige Honig ist die Wägezelle / der HX711. Wenn man E+ abklemmt geht der Verbauch von 10 mA auf ca. 3,5 mA zurück.
Ab Zeile 101 gibt es in der /hiveeyes/sensor_hx711.py eine power_off mit
und auch das logging sagt
32.4655 [hiveeyes.sensor_hx711 ] INFO : Turning off HX711
scheint aber irgendwie nicht zu greifen!
Unsere Standard-Arduino-Bibliothek kann den HX711 bzw. über den HX711 den Verbraucher Wägezelle gut abschalten, an der Hardware sollte es also nicht scheitern. Müsste 'ne Software-Geschichte sein.
Bin zu dem gleichen Ergebnis wie @Clemens gekommen, was ich mich jetzt noch frage ist, was macht der Pycom im Deep Sleep modus draus. Habe mich noch nicht viel damit beschäftigt, aber fällt der SCK dann nicht wieder auf False und der HX711 fährt dann wieder hoch?
Exakt jenes frage ich mich auch. Ich hoffe wir wissen grob was wir tun und es klappt aufgrund von PULL-UP/PULL-DOWN Charakteristika ebenfalls genau so wie anderswo auch. Wenn jemand unsere Zweifel fundiert vom Tisch wischen kann: Her damit!
Kann uns hier vielleicht irgendein eingebautes Peripheriemerkmal weiterhelfen oder gibt es bereits entsprechende Beschaltungen auf Euren Boards, @clemens und @didilamken?
Nein und Nein.
Die internen Pullup und Pulldown sind ebenso Im Deep Sleep abgeschaltet und auch die bisherigen Schaltungen weisen keine Pullup auf.
habe gerade mal getestet ein FiPy auf Clemens Weißem Board ist bei mir mit heftigen 77mA im Deep Sleep.
Ohne aufgestecktem HX711 bei 67mA.
Mit externem 10K pullup.bei 67,5mA
Habe ihn auf die schnelle einfach direkt oben auf dem HX711 zwischen VCC und SCK gehängt.
Hier geht es aber um etwas anderes. Beim Schreibenden hat das Auslesen vorher überhaupt nicht funktioniert. Ich für meinen Teil wundere mich nur über die Anomalie bei der Konfiguration des entsprechenden Pins - dort als PULL_UP, bei uns als PULL_DOWN.
Fazit
Also: Muss ich für die korrekte Ansteuerung des Pullups zur besseren Abschaltung des HX711 im deep sleep nun irgendetwas softwareseitig berücksichtigen und falls ja, könntet Ihr mir das grob beschreiben?
Nein, wen ein externer Pulup dran ist brauchst Du ihn Intern( Softwareseitig) nicht auch noch dazu schalten oder berücksichtigen.
Ich habe den Pullup jetzt auch nochmal drastisch auf 1 MOhm erhöht, da bei mir der HX711 nicht immer sauber aufgewacht ist. Er war für die Taktrate wahrscheinlich zu niedrig.
1M weil ich den hier eh gerade auf dem Schreibtisch hatte.
Die maximal mögliche Impulslänge der PD_SCK -Pulse beim HX711 ist 50 µs. Wenn dieses pad länger als -mit Zugabe- 80 µs HIGH ist, geht der HX711 schlafen und schaltet die Erregerspannung der Wägezelle aus - dem Verbraucher, den wir hier jagen.
Dies muß in der Software manifestiert werden (this is the “how could this ever have worked” -part), - unabhängig davon, daß die hier gerade besprochenen Maßnahmen für den deep sleep -Fall des Prozessors sein sollen, und da wird auch ein gewöhnlicher GPIO anders bedient als sonst.
Heißt also: Dein Streben, die Treiber auch für nur 80 µs mal endlich interruptfest™ zu bekommen, wäre auch hier schön und ist zu begrüßen! ;)
Aber für externe pull-ups solltest Du nichts anfassen müssen.
Evtl Softwareseitig noch einen internen Pull Down was erklären würde warum ich den Widerstand erhöhen musste.
Ich habe mich bisher noch nicht mit Ausgängen und Pull up und pull down beschäftigen müssen aber es scheint, das er den Pin bei False nicht auf GND gezogen wird, sondern offen/undefiniert ist.
Ja mit der FET-Schaltung wird das Signal Extern umgedreht False wird zu True und umgekehrt.
Daher müßte man Softwareseitig auch wieder alles umdrehen, damit es wieder hinter der FET-Schaltung wieder wie gewünscht ist.
Habe in deinem verlinkten Beiträgen gelesen, das das Modem anscheinend 30-60 Sec braucht um sich schlafen zu legen. Habe daher mal auf 120 Sec gestellt um das zu testen. Leider Fehlanzeige der Wert bleibt wie angenagelt bei 67mA stehen.
Meinem Modem habe ich bisher aber noch kein Firmwareupdate gegönnt meine das mal irgendwo gelesen zu haben, das extra Flashen kann/muss, Richtig?