Zero-Power Klingeltrafo mit RFID

Projekt

Dieses Projekt ist aus dem Zusammentreffen zweier Ereignisse entstanden:
  • Ich war (und bin es immer noch) auf der Suche nach Möglichkeiten, den Stand-By-Stromverbrauch in meinem Haushalt zur reduzieren
  • In der Zeitschrift Elektronik wurde ein Design-Wettbewerb mit dem energiesparenden Microcontroller EFM32 des Herstellers Energy Micro ausgeschrieben.

    Ich registrierte mich also zur Teilnahme daran. Einige Zeit nach der Registrierung erhielt ich das EFM32-Starterkit, das nach kurzer Begutachtung erstmal wegen wenig Zeit dafür im Schrank verschwand. Auch störte mich daran, daß wiedermal die Software dafür nur für Windows ist und die unterstützten Compiler und Debugger alle nur die üblichen kommerziellen Demo-Versionen mit Einschränkungen und Lizenzgängel sind. Später, als ich mir das Kit wieder vornahm, fand ich dann auf der Energy-Micro Website eine Application Note, wie man mit Eclipse und den Code-Sourcery-Compilern für ARM freie Tools zur Entwicklung verwenden kann. Der EFM32 hat nur den SWD (kein JTAG) als Debug-Schnittstelle, somit ist nach dem momentanen Stand der OpenOCD noch nicht wirklich praxistauglich dafür. Mit dem auf dem Kit integrierten J-Link von Segger und der mitgelieferten Software (GDB-Server, Flash-Tool und Power-Monitor) kommt man aber auch recht gut zum Ziel (dann aber wieder leider nur auf Windows). Ich werde allerdings die Entwicklung des OpenOCD in Sachen SWD weiterverfolgen, mit dem Versaloon tut sich da ja auch einiges in dieser Richtung.

    Entstanden ist dann diese Hardware:
    Bilder
    Blockschaltbild
    Schaltplan
    Schaltplan des AC-Switch

    Dazu gehört die Firmware:
    Alte Version der Firmware für den EFM32
    (Für die Code-Sourcery-Toolchain und die Libraries aus dem EFM32-STK)

    Neu: Linux-Tools

    Inzwischen gibt es von Energy Micro auf deren Webseite die Tools für Linux zum Download. Leider nur Closed-Source, aber es funktioniert. Es sind die gleichen Tools (Energy Aware Commander, Profiler usw.) wie für Windows verfügbar. Zu beachten ist dabei, daß eine passende Version von Qt installiert sein muß. Auf meinem Linux-Rechner mit OpenSUSE 11.2 funktionierten die Tools erstmal nicht, erst nachdem ich die Qt-Libraries auf den Stand von OpenSUSE 11.3 upgedated hatte, lief alles perfekt. Dies wurde auch von dem freundlichen Support von Energy Micro bestätigt: es kann offenbar Probleme geben kann, wenn eine zu alte Version von Qt installiert ist. Ich habe inzwischen die Version 4.6.3 der libQtCore drauf, mit der älteren 4.5.3 gab es die Probleme, die sich in merkwürdigen Fehlermeldungen oder Segfaults äusserten.

    Dazu habe ich auch eine neuere Version der Firmware für mein Projekt:
    Firmware für den EFM32
    In diesem tarball ist diesmal auch alles (ausser der Codesourcery-Toolchain und den Linux-Tools von Energy Micro) drin, was man braucht um das Projekt zu compilieren und auf das STK zu flashen. Bei dieser Gelegenheit habe ich das Projekt auch auf die aktuelle Version der Library von Energy Micro angepaßt (Version 2.2.1). Die Projektstruktur eignet sich auch als Ausgangspunkt für andere Entwicklungen, dabei ist allerdings darauf zu achten, daß ich (um Platz zu sparen) aus dem CMSIS-Zweig die DSP-Lib und alle controllerspezifischen Header-Files entfernt habe (ausser dem für den EFM32G890F128). Diese müssen ggf. dann wieder aus der von Energy Micro downloadbaren kompletten Library ergänzt werden.

    Es gibt auch eine Beschreibung des Prototypen:
    Beschreibung der Funktion

    Noch ein paar evtl. interessante Bauteile, die ich auch in dem Prototypen verwendet habe:

  • Das RFID-Modul von Watterott: RFID-Modul
  • Der LDO von Texas Instruments: TPS71533

  • Die kombinierte RFID/CapSense-Sensorfläche: dies ist ein Eigenbau.
    Der Trick dabei ist, zu verhindern, daß die die Spule für den RFID-Leser und die Sensorfläche für den CapSense nicht gegenseitig stören:
  • Wenn das System im Wartezustand (CapSense ist aktiv) ist, wird die Spule über ein Relais vom RFID-Leser getrennt, so daß die CapSense-Auswertung möglichst wenig beeinflußt wird.
  • Wäre die CapSense-Fläche tatsächlich eine durchgehende Fläche, so würde diese Fläche den RFID-Leser so stark dämpfen oder verstimmen, daß das RFID nicht mehr gelesen werden kann. Also habe ich die Fläche durch einen mäanderförmig verlegten isolierten Draht ersetzt. Dadurch wird die Dämpfung der RFID-Spule minimiert und das CapSense-Verfahren funktioniert immer noch.
  • Preisverleihung auf der embedded world

    Am 1. März 2011 war es dann soweit: Auf der embedded world in Nürnberg wurden am Stand von Avnet Memec die Preise verliehen. Es gibt hierzu einen Bericht auf elektroniknet.de: Preisverleihung

  • Der 1. Preis ging verdientermaßen an ein recht weit entwickeltes Projekt, in dem der EFM32 die Daten von mehreren Beschleunigungssensoren über eine Bluetooth-Verbindung an die Steuereinheit eines Rollstuhls weiterreicht. Das Gerät wird von dem Rollstuhlfahrer am Kopf getragen und der Fahrer kann damit den Rollstuhl über Kopfbewegungen steuern.
  • Der 2. Preis ist meiner :-)
  • Der 3. Preis ging an ein Team von 2 jungen Entwicklerkollegen, die einen durch Bewegung mit Strom versorgten Musikabspieler gebaut haben, um Murphys Gesetz zu entgehen: Der Akku bzw. die Batterie ist immer dann leer, wenn man sie braucht.
  • und es gab noch einen Nachwuchspreis für ein Team von Schülern, die ein mit Solarstrom versorgtes teilautonomes (kleines) Fahrzeug bauen
  • Zurück zur Homepage
      ... und ein Zaehlpixel hab ich auch :-)