Wie baut man ein batteriebetriebenes mobiles Gerät?

Moin,

meine Frage steht schon in der Überschrift: "Wie baut man ein batteriebetriebenes mobiles Gerät?".
Konkret ist meine Frage nach der Hardware und der Entwicklungsstrategie.
Mein Ziel ist eine Fernbedienung mit Display, die ein paar Schalter hat und über WLAN ein paar MQTT Messages verschickt und MQTT Daten anzeigt.
Ich möchte damit zwei Gartenpumpen ein/ausschalten und die Restlaufzeit, evtl. noch Leistungsaufnahme und Gesamtstromverbrauch anzeigen.
Die MQTT Messages und Datenabfrage habe ich schon auf einem ESP Dev Board testweise laufen gehabt, das funktioniert soweit.
Das große Problem ist aber, dass das Gerät wie eine Fernbedienung vom Fernseher funktionieren soll.
Also batteriebetrieben, z.B mit 2-4 AA Batterien (pro Alkali-Mangan Zelle sind das bis zu 3Wh, das heisst 1-2 Jahre müssen mit 6-12Wh erreicht werden können), die dann gerne 1-2 Jahre halten sollen. (nein, ich möchte da keinen Akku und keine Solarzelle einbauen...das hat meine Fernbedienung vom Fernseher auch nicht!)
Diese Fernbedienung wird pro Jahr vielleicht 10-20x benutzt und die Pumpen laufen jedesmal 1-2 Stunden.
Das Display soll die Daten nur bei Benutzung anzeigen, bzw. auf Knopfdruck.
Es kann auch ein Hardware-Ein/Aus-Schalter benutzt werden....aber da vergisst man sicherlich das Ausschalten (und sowas hat meine Fernsehfernbedienung auch nicht).
Es ist also eine Schaltung und ein Microprozessor gefragt, der extrem wenig Strom verbraucht, sich aufwecken lässt, sich mit dem WLAN connecten kann, Schalter abfragt und ein Display ansteuern kann.

Beste Grüße,
Chris

Mikrocontroller an sich brauchen viel weniger Strom als WLAN. Einen μC zu suchen der weniger braucht ist die falsche Stelle, wo du suchst.

Du brauchst eine Kommunikation zwischen deiner Fernbedienung und einem Zwischengerät am Netz, was dann (W)LAN und MQTT beherrscht. Denn das sind die Stromfresser.

Bei Displays sind ePaper die sparsamsten. Auch Displays können viel Strom verbrauchen.

Warum nutzt du nicht ein Gerät als Fernbedienung, was fast jeder an Mann trägt, WLAN kann, ein hochauflösendes Display hat, und jederzeit problemlos geladen werden kann?

a)
soll dann die Fernbedienung auch 20 x 2h laufen oder ist die Einschaltdauer der Fernbedienung (mit den Display) kürzer? Wie lange maximal?

b)
ich glaube das "Problem" ist weniger welche Batterie, welche Microcontroller wie wirds programiert, als viel mehr "wie soll es aussehen", wo soll das ganze reinkommen, welches Display.

Ein frei programmierbares Fertiggerät für die Bastlerszene mit Wifi/Display/Taster und AA Batterie-Fach ist mir nicht bekannt.

Das tue ich, allerdings ist das personengebunden.
Ich brauche eine personenungebundene Lösung, die selten benutzt wird (10-20x pro Jahr)

Die Fernbedienung und das Display soll nur beim Benutzen laufen, d.h. zum Ein/Ausschalten und wenn man z.B nach 20min mal aifs Display schaut. Das Display könnte dafür z.B mit einem Taster für 10 Sekunden eingeschaltet werden. Also sagen sir 20x pro Jahr einschalten und 30x pro Jahr aufs Display schauen.

Das ist egal. Wenn die Hardware läuft kann ich ein passendes Gehäuse konstruieren und 3D drucken.

mir fehlt noch zu viel Kontext zu deiner eigentlichen Aufgabenstellung.

Aber da du dich eh schon auf etwas eingefahren hast machen wir es einfach:

  • nimm einen barebone ESP8266-12E, ein breakoutboard, ein OLED + ein paar Transen/FETs zum Display abschalten, ein paar Taster, einen AA Batteriehalter, einen LDO für 3.3 (kannst ja dann später mal austauschen gegen etwas besseres).
  • Den ESP8266 schickst immer wieder für 3h in den Deepsleep.
  • Den ESP8266 lässt mit einem Enable/Reset durch den User Aufwachen.
  • Wenn du da nur zweimal im Monat draufdrückst hält das schon eine Weile.

Man könnte auch einen batterie management chip suchen der die Kontrolle vom ESP / Display übernimmt, AXP192 ähnlich

oder nur zwei AA nehmen und den ESP mit 3V ohne Spannungsbegrenzung betreiben.
Das kannst je nach Teile-Verfügbarkeit nächste Woche am Laufen haben und mal 2 Monate im Testbetrieb laufen lassen.

Wenn du auf ein ESP zugreifst, der alles weitere steuert, geht das „personenungebunden“.
Webserver erstellen und jeder Client kann steuern. Handy, Laptop, PC, …

....die Anforderung ist eine physische Fernbedienung.
Ich hätte nicht nach einer physischen Fernbedienung, wie bei einem Fernseher gefragt, wenn ich mit Handy, Laptop, PC oder Tablet steuern wollte. Für eine Steuerung per Handy, Laptop, PC oder Tablet brauche ich gar nichts, denn das geht jetzt schon. Von da wo gesteuert werden soll gibt es kein Handy, Laptop, PC oder Tablet. Es soll ein separate batteriebetriebene neu zu erstellende physische Fernbedienung sein, die nur diesen einen Zweck hat.

Deine Fernsteuerung benutzt WLAN. Das heißt es befindet sich in reichte deines häuslichen WLANs.
Daher noch einma die Frage:
Auf jedem Handy gibt es einen Browser mit dem man Internetseiten aufrufen kann.
Auf jedem Handy kann man sich ein Symbol auf den Homebildschirm "pappen" das eine ganz bestimmte IP-adresse aufruft. Dazu muss man noch nicht einmal eine App installieren.

Ich habe mir zu Hause auf diese Weise eine Lüfterfernsteuerung gebaut.
Ein ESP32 ist im WLAN und hat eine fest zugewiesene IP-Adresse.
Zur dieser IP-Adressse hat auch meine Frau ein Link-Icon auf dem Smartphone
einmal antippen Internetseite wird angezeigt Lüfter kann gesteuert werden.

Wenn es an der Stelle wo die Fernsteuerung sich befindet wird explizit kein Smartphone befindet dann funktioniert diese Lösung nicht.

WLAN hat eine begrenzte Reichweite. Ein ESP8266 / ESP32 kann da nicht 7m- weit vom nächsten Repeater oder Router entfernt sein. Auf so eine Entfernung wird das nur unzuverlässig funktionieren.

Hast du die WLAN-Verbindung zu einem echten ESP8266 / ESP32 von der entferntesten / ungünstigsten Stelle getestet? Ein Smartphone kurz hinhalten und RSSI-Pegel messen reicht da nicht.

Wenn es einen Ein/Ausschalter geben darf in der Art:
Einen Taster drücken Gerät geht für 30 Sekunden an und dann automatisch wieder aus.
Dann hält sich der Stromverbrauch in Grenzen. Abhängig von der WLAN-Empfangstärke wird es vom Einschalten bis die Verbindung steht 2 bis 15 Sekunden dauern. Wenn das in Ordnung ist, dass es auch mal 15 Sekunden dauert dann kann man das mit WLAN machen.

Wenn dir das zu lange ist, dann müsste man eine andere Funkttechnik nehmen. 433MHz Funkmodule die man mit einem möglichst stromsparend zu betreibenden Microcontroller verbindet.
Mehrzahl weil man dann an stationärer Stelle ein zweites Funkmodul braucht.

vgs

....ich begreife nicht, warum das so schwer zu verstehen ist?! Die Frage ist nach einer physischen Fernbedienung...nix anderes. Warum schlagen so viele Leute was anderes vor?
ICH benutze für die Anwendung mein Handy.. aber danach habe ich nie gefragt weil es damit kein Problem gibt. Das funktioniert seit Jahren.

Dort wo es gesteuert werden soll, werden es verschiedene wechselnde Personen benutzen, die sich mit ihrem privaten Handy nicht in das WLAN einwählen dürfen und auch keine App für einen möglicherweise nur einmaligen Gebrauch installieren wollen...oder können.

Wir sind immernoch bei MQTT via WLAN...und nicht bei 433MHz

Die elektrische Installation ist seit Jahren im Betrieb und soll auch nicht geändert werden. Da laufen Shellies und ein Monitoring.

Ich brauche NUR eine MQTT Fernbedienung über WLAN.

Hallo,
ich glaube ja nicht das Du mit Deiner Lösung glücklich wirst. Die Webserver Lösung mit dem Handy würde ich vorziehen.

Aber gut, Du hast Dich anscheinend anders entschieden. Dann betrachte das doch erst mal als Versuch in den Du nicht viel investieren musst. Bau einen ESP mit einem OLE Display und alles was Du brauchst in einen Gehäuse. Bau einen (Haupt) Schalter dazu mit dem Du die Batterie von allem trennst. Wenn Dir die Lösung zusagt kannst Du immer noch den Schalter durch einen Taster ersetzen und eine Schaltung drumherum bauen die auf Tastendruck eine Minute den Strom einschaltet. Das geht denke ich dann auch mit dem ESP und einem Mosfet in einer Art Selbsthalte-Schaltung. Hab hier sowas mal vor einiger Zeit hier gesehen.

Ich HABE einen Webserver von wo ich die Pumpen mit meinem Handy seit Jahren aus steuere. (das bringen die Shellies von Haus aus mit).
Aber die Oma mit 84 Jahren hat kein Handy und der Nachbar darf sich nicht in mein WLAN einloggen.
Also brauche ich irgendeine andere Hardware die das per MQTT steuert.

Das habe ich erfolgreich gemacht (jedenfalls auf dem Steckbrett mit fester Stromversorgung). Das funktioniert alles.

Wie ich ja schon in der Überschrift und dem Eingangpost geschrieben habe geht es hier AUSSCHLIEßLICH darum, den Testaufbau in ein mobiles batteriebetriebenes Gerät zu bringen.

ESP8266 könnte man über ein RTC von der Versorgung trennen. ESP8266 stellt die nächste Aufweckzeit für ein eventuelles Lebenszeichen. Taster an der RTC lässt den ESP8266 vorzeitig wecken.
Beispiel: https://youtu.be/ooQUDcfs1iM
GitHub - adlerweb/uPoff: Small circuit/library to shut down a µC to save power for battery powered applications

Das einwählen ins Netz braucht den meisten Strom, da auch Zeitintensiv. Evtl. über nRF24 oder ESP-now nachdenken. Ist schneller, daher weniger Strom Verbrauch. Bräuchte dann natürlich ein GateWay zum MQTT, was ja nicht unbedingt Batterie abhängig sein muss.

Ein Stromsparendes Display braucht es auch, ePaper z.B.

Ich würde auf Lithium Akkus setzen. Vielleicht schaffst du es auf ein Jahr Laufzeit.

Wiederspricht sich, oder?

Wenn du nur ein Testaufbau in ein Gerät bringen willst, löte es zusammen, wahlweise auf einer PCB, und drucke dir, wie von dir vorgeschlagen, ein Gehäuse drumherum.

Ich denke tatsächlich darüber nach diesen Thread zu löschen und nochmal von vorne anzufangen, weil da inzwischen 95% geschrieben wurde was nicht in die richtige Richtung geht.

Also nochmal: Hier geht es nur um Hardware, die neubzu entwickeln ist, um das ganze batteriebetrieben zu realisieren.
Und zwar so schön doof und einfach wie eine Fernbedienung von einem Fernseher. Und genau da liegt der entscheidende Punkt: Schön doof einfach. Batterie rein, läuft, fertig. Diese Einfachheit hätte ich gerne.

Entwicklungsstrategie deswegen, weil es ja möglicherweise noch andere Möglichkeiten ausser einem ESP gibt, die vielleicht stromsparender sind. Ich habe selbst noch kein DeepSleep mit einem ESP gemacht, aber stelle mir dann die Frage, ob ein separates RTC noch viel mehr Sparpotential bringt?

Habe ich dir verlinkt. Wird auch viel erklärt, falls du Lust auf das Video hast.

Ein anderer µC als der ESP wird sparsamer sein. Viel mehr sparst du an einer anderen Übertragung von der Fernbedienung zum Empfänger. Der Empfänger beherrscht WLAN und MQTT, und hängt wegen des benötigten Stroms an einem Netzteil. Dies wäre dann dein Gateway von Protokoll XY zu MQTT.

Das könnte was sein. Nicht WLAN, sondern z.B. ein 433MHz oder nrf24 Gateway. Das müsste dann aber bidirektional sein. Und dann ist doe Frage wo man das Gateway hinstellt, damit es überall erreichbar ist. (Ich habe 3 Fritzboxen und 4 Repeater und ein PowerLAN um das WLAN überall hin zu verteilen. Das geht also aus dem Keller, dem Spitzboden, am der einen Seite und am anderen Ende vom Grundstück.
Ich bezweifel, dass 433MHz oder nrf24 die gleiche Abdeckung erreichen kann...bei nur einem Gateway. Mein WLAN geht überall.

Wenn du es bisher nicht kennst - Mach doch mal.

kannst ja rauslesen.
den ESP8266 bringst auf 20µA deepsleep
Der RTC8563 bräuchte nur 10µA

Wennst ein wenig suchst, findest du auch den Hinweis wie man den ESP8266 auf einstellig runterbringt, wenn man kein zeitgesteuertes Aufwachen benötigt. Ist aber für den ersten Schritt komplett egal.

Du vergleichst eine Infrarotfernsteuerung eines Fernsehrs, die nur dann sendet, wenn eine Taste gedrückt wird und keine Anzeige oder Rückmeldung hat, mit einem Selbstbauteil das über WLAN bidirektional Daten senden / empfangen soll und dazu noch eine (beleuchtete) Anzeige haben soll. Das sind meilenweite Unterschiede im Leistungsbedarf.

Ich glaube es ist unmöglich ein solches teil zu bauen das, auch wenn es nur 10-20 mal im Jahr gebraucht wird, mit 2 AA Batterien 1 Jahr durchhält.

Grüße Uwe