WiFi-Fernbedienung

Bei der Zahnarztpraxis-Auflösung meiner Mutter fiel mir diese Handfernbedienung für das ehemalige Röntgengerät in die Hände. Das ursprünglich kabelgebundene Gerät hat ein großzügiges Gehäuse, welches einigen Platz für eigene Elektronik bietet. Da es zudem voll funktionsfähig war und noch aus einer Zeit stammt, wo Sachen reparierbar und austauschbar gebaut wurden, konnten die Siebensegmentanzeigen wiederverwendet werden.

In das Gehäuse rein gekommen sind ein Lithium-Akku mit Ladeschaltung, ein ESP8266 für WLAN, ein Matrix-Controller für die Siebensegmentanzeigen und ein kleiner Mikrocontroller zum Auslesen der Tasten und für das Energiemanagement. Wird die Fernbedienung nicht verwendet, wird die Batterie mit weniger als 1µA belastet, sodass der Akku lange halten sollte

Der komplette Anwendungszweck ist zum jetzigen Zeitpunkt (Dez. 2020) noch offen. Idee ist die Einbindung in mein Smarthome und Steuerung von IoT. Testweise kann der Stromzähler und das Instrument damit gesteuert werden.

Konzept und Umsetzung

Nach ersten Überlegungen entstanden folgende Anforderungen:

  • Gerät hat Funkanbindung
  • Gerät ist Batteriebetrieben
  • Alle Tasten und Anzeigen funktionieren
  • Sehr geringer Ruhestromverbrauch
  • Beliebiger Tastendruck weckt Gerät auf

Prinzipiell standen zwei verschiedene Richtungen zur Auswahl: Besonders Energiesparsamen Funk, wie z.B. NRF24L01 oder WLAN. Da die  Siebensegmentanzeigen und LEDs auch einigen Strom brauchen und WLAN eine sehr flexible Lösung erlaubt (inkl. Software Updates Over the Air) fiel die Entscheidung  auf WLAN (realisiert mit ESP8266) und damit verbunden eine Versorgung durch LiPo-Akku.

Für das Auswerten der Tasten und das Anzeigen der LEDs wird ein Atmega88 verwendet, der sehr Energiesparsam (<1µA im Standby) programmiert werden kann. Er ist als I2C Slave an den ESP8266 angebunden und schaltet per Transistor alle weitere Komponenten (WLAN-Modul und Siebensegmentanzeigen) ab.

Die Siebensegmentanzeigen werden von einem LED-Matrix-Treiber (TM1638) angesteuert. Zwar ist der Treiber laut Datenblatt lediglich für 5V spezifiziert, läuft aber auch noch mit 3,3V – somit zeigte sich, dass kein Step-up-Converter benötigt wird.

Ich habe mich aus mehreren Gründen gegen ein eigenes PCB und für eine Bastellösung mit Handverdrahtung entschieden:

  1. Kostengünstige PCBs aus China gibt es nicht einzeln, sondern ab 5 Stück… Da ich nur ein Handgerät habe und der Anwendungsfall schon speziell ist, würden 4 Platinen unweigerlich rum liegen und früher oder später im Müll landen
  2. PCB-Design verschlingt erst mal etliche Zeit am PC und an Planung – da ich zur Zeit anderweitig ausgelastet bin, wollte ich das Projekt lieber ab und zu erweitern und schon früher eine funktionsfähige Lösung haben. Gleichzeitig habe ich so PC-Arbeit gegen ein bisschen basteln eingetauscht.
  3. Lange hatte ich kein zufriedenstellendes Konzept für die Siebensegmentanzeigen. So konnte ich Experiment und Implementierung besser verbinden.

Die Quelldateien zu dem Projekt finden sich auch auf Github: https://github.com/kmio42/smartControl