Minimal Hardware Design GSM-Stockwaage mit TTGO T-Call

Dafür haben wir hardwareseitig schon diverse Lösungen:

Weiter hätte ein Grundmodul mit ESP32 auch immer die Möglichkeit Daten via WLAN zu schicken. Wir haben aber auch beim BOB-Projekt gesehen, dass viele die ihre Bienen im Garten “hinterm Haus” stehen haben dann doch Probleme mit dem WLAN-Empfang haben oder doch kein Kabel zu den Bienen legen wollen, das auch bei Regen und Schnee 24/7 und 365 draußen liegen soll.

Was – denke ich – noch ein häufiges setting sein könnte: Datenversand per WLAN und Stromversorgung autark per Solar oder mit low power und Batterie, die man 1 bis 2x im Jahr wechselt. Oder eben gleich LoRa / TTN wenn WLAN mit Richtantenne und repeater dazwischen nicht geht.

Wenn man bei der Auswahl des ESP32-Moduls etwas aufpasst kann man so gut wie alle auch mit 5 V oder sogar mehr versorgen, d.h. statt eines Solarbetriebs sollte immer auch eine Stromversorgung am einfachsten über einen 5 V USB-Lader möglich sein.

Kurz: Ein ESP32-basiertes SIM800-System mit Solar kann immer “downgegraded” werden, wenn doch Strom und WLAN vorhanden ist. Wir brauchen (zusätzlich)

  • etwas code um die Daten statt per GSM mit WLAN zu versenden
  • einen Anschluss auf der Platine, um statt des LiPos 5 V von einem Netzteil anschließen zu können. Dafür habe ich mir einen Stecker aus einem USB-Ladekabel gebastelt, den Micro-USB-Stecker abgeschnitten und statt dessen einen JST-Stecker angecrimpt, dann kann ich statt eines LiPos diesen USB-Stecker verwenden. Möglich wären auch Feder- oder Schraubklemmen auf einer Platine (wie beim BOB-HAT von Didi, ist dann nur nicht verpolungssicher) oder gleich eine USB-Buchse, wie wir sie ja beim T-Com haben, da ist nur das Problem, dass ein nacktes Kabel oder ein JST-Stecker besser duch eine wasserdichte Kabeldurchführung gehen als ein Micro- oder USB-C-Stecker.

Die von Dir genannten Alternativen sind aber alle nicht qualifiziert als ‘einfach’ - nach Deiner Definition. :slight_smile:

Ist das nicht genau andersrum? Die Firmware kann momentan Daten per WLAN aber nicht per GSM vesenden.

Ja, das stimmt, wenn man “eigene Platine” ausschließt dann sind die oben gelisteten nicht “einfach” außer

Je nachdem von welcher firmware man ausgeht. Der Micropython-Code / Terkin datalogger kann aktuell nur WLAN, mein Arduino C-Code kann WLAN und GSM aber nur mit der alten SODAQ-GSM-lib. Mein kleiner Testsketch überträgt momentan die Batteriespannung per TinyGSM-lib.

Meinen bisherigen Arduino-C-Sketch auf die TinyGSM umzustellen würde ich mir zutrauen, auch den BME280 da statt des DHT einzubauen bekomme ich hin. Bei MicroPython habe ich gerade zu viele Bauchschmerzen nach den Erfahrungen des letzten Sommers, da hat selbst Andreas geschwitzt und viel Arbeit und Nerven investiert und mit unverhergesehenen Problemen und buggy firmware gekämpft.

Ich bin auf die GoalZero Guide 10 Plus PowerBanks umgestiegen, bisher habe ich es aber noch nicht vollbracht, den Status der LED als Metric zu verschicken (vgl. “Power Legend”), was aber möglich sein sollte

Verfolgen wir das hier weiter oder ist das Projekt tot?

Ich halte das eigentlich noch für sinnvoll. Der einzige Punkt, von dem wir uns wohl verabschieden müssen, ist, das wir ganz ohne Platine auskommen.

Es ist hier im thread ein “zweiteiliges” Projekt

  • Minimal Hardware Design GSM-Stockwaage
  • mit TTGO T-Call

Teil 1 sollten wir auf jeden Fall weiter verfolgen, über Teil 2 nochmal sprechen. Wir sind zwar beim Messen schon auf einen Stormverbrauch gekommen von …

… im Prinzip stelle ich mir aber imme noch die Frage:

Auch das Abschalten mit einem externen timer ist beim T-Call keine Alternative, da er nach einem Neustart nicht hoch läuft:

Der “neue” T-SIM scheint mit um die 1 mA im deep sleep keine bessere Alternative zu sein.

Da die Hardware vorhanden ist und auch die Software mit Unlocking and improving the Pythings SIM800 GPRS module for MicroPython steht sollten wir zumindest mal einen Prototypen zusammenbauen, wir hier schon skizziert, aber ohne den TPL5110, um zu schauen, wie lange der aktuell mit Solarunterstützung – eher das 2,5 W-Panel als was kleines – und einem moderaten update-Intervall von vielleicht mal bei alle 3 Stunden starten, durch hält.

Hab das gerade nochmal ausprobiert. Der EN darf tatsächlich beim Wiedereinschalten der Batterie nicht geschlossen sein, sondern muss danach einmal kurz (<1s) geschlossen werden. Sehr seltsam.
Noch seltsamer: bei 2x drücken kann man den T-Call wieder ausschalten. ???

Kann mir bitte einer der Elektrokundigen sagen, ob der EN noch irgendwo nach außen geführt wird? An dem Taster herumlöten fällt definitiv nicht mehr in die Kategorie ‘einfach’.

Alternativ könnte man den T-Call noch per USB versorgen und da die VBUS Leitung schalten. Machts aber auch nicht einfacher.

Habe die Ansicht aktualisiert und den zwischengeschalteten timer rausgeschmissen:

Eigentlich ne super Idee! Laß uns das doch mal ausprobieren!
:slight_smile:

Schaltplanzeichnen ist eigentlich nicht so mein Metier. Also verzeiht bitte, wenn das etwas unkonventionell ist.


USB_DS3231.pdf (16,7 KB)

Diese kleine Platine ist ein Zwischenstecker für den USB-Anschluss. Der DS3231 zieht das Gate für den P-Kanal MOSFET auf low und schaltet damit die VBUS Leitung (und damit die MCU) ein.
Die MCU kommuniziert per I2C mit dem DS3231, stellt darüber die neue Weckzeit ein und zieht sich am Ende selbst den Stecker.
Der Reed Kontakt dient dazu, die MCU außerplanmäßig aus dem Schlaf zu holen. Das hat den Vorteil kontaktlos zu sein - muß man also kein Gehäuse aufschrauben.

Das funktioniert mit jeder MCU, die per USB versorgt werden kann. Das sind in diesem Kontext eigentlich alle. Der Stromverbrauch der MCU oder der Sensoren spielt hiermit dann auch praktisch keine Rolle mehr (bei ‘langsamen’ Meßintervallen).

1 Like

Das finde ich nicht so zielführend, Welche 5 V-Stromquelle sollen wir dafür nutzen? Alle USB-Powerbanks scheiden aus wegen der automatischen Abschaltung. Wie könnten die wieder mit Solar aufgeladen werden? Wieder eine höherer Spannung, die verlustbehaftet gewandelt werden muss.

Dann lieber ein stromsparendes board wie den WiPy und ein SIM800 breakout dort dran mit einem LiPo wie schon oben geschildert.

Hier gab es zum T-Call noch ein paar zusätzliche Aufrufe um Strom im deep sleep zu sparen, die haben wir noch nicht alle bei uns:

Obs was bringt waage ich zu bezweifeln, der Poster spricht immer noch von 950 uA. Das wären sogar mehr wie wir gemessen haben.

z.b.:
https://www.ebay.de/itm/Raspberry-Pi-Wemos-18650-Battery-Shield-V3-V8-ESP32-ESP-32-USB-Cable-For-Arduino-/273916822649

Klar ist das mit dem Wandeln doof, aber wir können die 5V für den HX711 verwenden und die Wandlungsverluste können uns auch wurscht sein, wenn wir nichts wandeln, weil wir nichts verbrauchen.

Warum mit Stromverbrauch abmühen, wenn wir den Stecker ziehen können?

Hallo @clemens,

mein aktueller Versuchsaufbau mit einem TTGO-T-CALL, 2x HX711 & 18650LiPO der mittels Solar Panel gespeist scheint seit knapp einem Monat aus zureichen um Messwerte alle 15 Minuten zu übermitteln.

(Die extremen Ausreißer im Dashboard kommen von Tests)

Sofern der Ladezustand unter 75% sinkt - wird die Schlafphase des ESP auf 60min verlängert.

Hier Generische “state-of-the-art” Arduino-Firmware für ESP8266 und ESP32 schon mal kurz skizziert.

3 Likes

misst Du den echten Ladezustand ( schwierig zu messen ) ?
Oder nur die Spannung des Akkus ( x % von 4.2 Volt )?

Ich greif dabei auf die Werte zurück die mir das GSM-Modul liefert

  volt_level = modem.getBattPercent();
  voltage = modem.getBattVoltage() / 1000.0F;

Hatte das aber auch in der Vergangenheit mal mit Spannungsteiler und Messung,
wobei die Ermittlung mittels Funktion natürlich deutlich komfortabler ist.

Das hört sich gut an! Welches Panel hast du, vermutlich etwas mehr als 0,5 W? :-)

Geringfügig mehr hat das Solar Modul schonmit 6 W & 6V → Banggood 6W 6V - Solar Modul

Meine ersten Versuche mit einem kleineren Modul & dem damals noch gesonderten SIM800 Modul waren nicht so erfolgreich. Zumal ich mir überlegt hab das Modul lieber unterhalb der Beute zu platzieren und nur das Solar Modul der Witterung aussetze.

1 Like

Auch wenn das bei @clemens nicht so auf Begeisterung gestossen ist, werde ich das mit dem Abschalten über einen DS3231 weiter verfolgen.
Das ganze ist eigentlich sehr simpel. Hab es zwar hier in SMD gezeichnet, aber das kann man ganz locker auf einer Lochrasterplatine löten (FYI in schön würde das Board bei Aisler ca. 4€ kosten).

Als Stromversorgung bietet sich eine LiFePo4-Zelle an.
Mit Solarzelle in der Luxusversion Solar1. Alternativen dazu habe ich keine gefunden. LiFePo-Solarlader sind meistens für den Campingbedarf (mit 3S oder mehr Zellen).
Billiger ist es, einfach LiPo Solarlader zu nehmen. Die Ladeschlussspannung ist bei 4,2V und das vertragen die LiFePo4s noch. Ich konnte da noch nichts negatives ergoogeln - so richtig toll klingt das aber nicht.

Oder man nimmt LiPos und das Teil von Waveshare und lötet die LEDs aus. Und genau das werde ich dann mal ausprobieren (in der Lochraster-Version). Bis auf das Waveshare board habe ich alles dafür auf dem Tisch.
Edit: die letzte Option hat leider den Denkfehler, das, wenn man den DS3231 mit 5V betreibt, der I2C-Bus auch mit 5V läuft. Das kann der ESP32 nicht ab. Also muss entweder gleich mit 3,3V versorgt werden oder ein Pegelwandler an den Bus.

Schaltplan:

Board:

2 Likes

Ist jetzt nicht ganz so einfach geworden, wie im ersten Post beschrieben :stuck_out_tongue: aber immerhin:


Man beachte die professionelle Befestigung im Kasten. Der funkt momentan nur im WLAN, deshalb ist die Antenne noch so darunter gekruschelt.
Links oben ein 18650 Akku - die vorgesehene 14500 habe ich nicht.
Links das Waveshare Solar board, das leider nur 5V produziert. Daher wird eine Levelshifter auf der Hilfsplatine gebraucht.
Rechts oben die Hilfsplatine mit dem DS3231 (oben), level shifter (mitte rechts), MAX17043 (mitte links), daneben der MOSFET, ganz links Spannung rein und raus. Der DS3231 schaltet die Versorgung während des Deepsleeps komplett ab.
In der Mitte der HX711 zum wiegen.
Rechts unten der TTGO T-CALL.


So wird das jetzt erstmal zwei Wochen im Garten stehen, um zu sehen, wie weit man mit den Solarzellen kommt.
Momentan werden alle 10 Minuten (nachts alle 20) Daten hierhin geschickt:
https://swarm.hiveeyes.org/grafana/d/D6qEhpEWk/do-mm-stock-05

Ich muss noch die ganzen LEDs von dem Waveshare board und dem DS3231 runterlöten. Innenbeleuchtung braucht der Klemmenkasten ja eher nicht.
Nach dem Urlaub kommt dann noch der Modembetrieb dran und der zweite HX711 für die zweite Waage. Dann kann ich mir ansehen, was die Damen im Herbst so treiben.

Ich brauche von diesem Waagentyp exact diese eine. Falls Interesse an der Platine besteht, mache ich das gerne noch hübsch. In einer 3,3V Version wäre die nochmal deutlich simpler, der MAX17043 ist optional.
Damit macht man sich vollkommen unabhängig von den Verbräuchen einer MCU im deepsleep.

5 Likes

Zwei Wochen später: ist ohne Probleme durchgelaufen. Akku war am Ende voll geladen - allerdings auch kein Wunder bei dem guten Wetter.
1 Messfehler auf dem A-Kanal. Da auf dem B-Kanal nichts auffäliges war, kann es nicht die Katze gewesen sein. Werde ich weiter beobachten.
Die Innenbeleuchtung habe ich entfernt und das ganze jetzt innen hinter einem Fenster mit Spiegelfolie aufgebaut. Das simuliert Winter ganz gut. Schaun wir mal, wie weit man damit kommt.

Next up: senden per 2G. Den 2. HX7111 lege ich erstmal auf Eis und warte auf den NAU7802 oder ADS1234.

Edit: sorry, 2 Messfehler. Noch einer von heute Morgen und auch A-Kanal. Hmm, kann der höhere Gain dafür anfälliger sein?

1 Like

Der Dateineingang do-mm-stock-05 scheint tot zu sein.

Lebt denn das Projekt noch?

Oder gibt es mittlerweile evtl. einen Superstromspar-ESP32 (am Besten mit zukunftsfähigem GSM-Modul), der sich dafür besser eignet?