Eine Publikation der Swissprofessionalmedia AG
PDF download
Stromverbrauch und Leistungsfähigkeit sollten in einem ausgeglichenen Verhältnis stehen: Ausgabe 03/2019, 21.02.2019

Bewegungserkennung mit Wearables

Wearables bedeuten für Entwickler stets grosse Herausforderungen betreffs Grösse, Energieeffizienz und Funktionsumfang. Aufgrund der grossen Auswahl an integrierten Sensoren wie Beschleunigungsmessern und Gyroskopen gilt es, die optimale Kombination aus Sensor und Mikrocontroller zu finden, ohne den Stromverbrauch für eine lange Batterielebensdauer aus dem Auge zu lassen.

Autor: Rich Miron, Senior Technical Content Developer bei Digi-Key Electronics

Der Artikel zeigt, wie sich Stromverbrauch und Leistungsfähigkeit von Wearables in ein ausgeglichenes Verhältnis bringen lassen. Anschliessend wird auf die Auswahl geeigneter Sensoren eingegangen. Zum Schluss werden noch beispielhafte Sensorlösungen vorgestellt.

Verhältnis zwischen Stromverbrauch und Leistungsfähigkeit
Am häufigsten kommen Wearables bei der Überwachung der Fitness und Gesundheit zum Einsatz. Alle Wearables enthalten Sensoren, die externe Parameter messen und die Messwerte an den Mikrocontroller des Systems weiterleiten. Aufgrund der Grössen- und Kostenbeschränkungen sowie der Erfordernis einer positiven Benutzererfahrung besteht das wichtigste Ziel beim Design von Wearables darin, die Batterielebensdauer zu verlängern. Die Wahl der Komponenten ist daher von enormer Wichtigkeit und so ist es keine Seltenheit, dass sich die Entwickler von Wearables monatelang Gedanken über die Beschaffung von weniger als einem Dutzend Komponenten machen.
Bei Embedded-Systemen steigt der Stromverbrauch mit zunehmender Leistungsfähigkeit an. Daher müssen Entwickler Komponenten mit der passenden Kombination aus Leistungsfähigkeit und Stromverbrauch auswählen. Die grosse Auswahl von Komponenten gestattet es den Entwicklern, während der Entwicklung etwas zu experimentieren, um eben diese Balance zu finden.
Mikrocontroller und manche Sensoren sind in der Regel dahingehend programmierbar, dass diese Balance während der Entwicklung der Firmware hergestellt werden kann. Mikrocontroller verfügen beispielsweise über einen Schlafmodus, in dem der Grossteil der internen Schaltkreise abgeschaltet wird, wodurch der Stromverbrauch vernachlässigbar gering wird. Während manche Sensoren häufig über Schlaf- oder Energiesparmodi verfügen, bieten viele darüber hinaus eine einstellbare Abtastrate. Das ist deshalb wichtig, da der Stromverbrauch eines Sensors linear mit der Abtastrate zunimmt. Die Entwickler der Firmware können daher mit den Abtastraten experimentieren und dabei den Stromverbrauch überwachen.

Auswahl der Sensoren
Der in Wearables am meisten anzutreffende Sensor ist ein Beschleunigungsmesser zur Messung der Bewegungsänderung. Gyroskope messen die Winkeldrehung um eine Achse, die zur Bestimmung der Richtung dieser Bewegung verwendet werden kann. Die folgenden wichtigen Faktoren gilt es bei der Auswahl eines typischen Beschleunigungsmessers und Gyroskops zu berücksichtigen:
Grösse und Form: Aufgrund der Grössen- und Gewichtsbeschränkungen sollte bei der Auswahl der Sensoren zuerst auf Grösse und Form geachtet werden. Es spielt keine Rolle, wie beeindruckend die Spezifikationen sind. Sensoren, die nicht in das Gehäuse passen, scheiden komplett aus und jedwedes unnötige Gewicht kann die Benutzererfahrung beeinträchtigen.
Stromverbrauch: Viele kleine Sensoren werden speziell für kleine, batteriebetriebene Anwendungen konzipiert, bei denen der Stromverbrauch eine wichtige Rolle spielt. Ideal ist eine Grundfläche von 5 × 5 mm oder weniger.
Genauigkeit und Auflösung: Der Sensor sollte die Anforderungen hinsichtlich Genauigkeit und Auflösung locker übertreffen. Das vereinfacht die Entwicklung und spart Zeit. Ausserdem können für das Gerät dann Firmware-Updates durchgeführt werden, die erforderlich sein können, um bei Problemen die Genauigkeit zu verbessern oder auf Anforderungsänderungen zu reagieren. Eine Auflösung von 12 Bit ist für die meisten Wearables üblich.
Mikrocontroller-Schnittstelle: Es gibt analoge und digitale Schnittstellen. Analoge geben eine Spannung aus, die proportional zum Wert des gemessenen Umgebungsverhaltens ist. Diese Interfaces haben in Wearable-Anwendungen nur einen kleinen Nutzen, da der Mikrocontroller einen leistungshungrigen A/D-Wandler oder Komparator braucht. Eine serielle Schnittstelle wie I2C oder SPI ist vorzuziehen. Viele moderne Sensoren bieten beides.

Zeitaufwendige Suche des optimalen Sensors
Berücksichtigt man alle der genannten Kriterien, kann es sehr zeitaufwändig sein, bei allen verfügbaren Lieferanten die passenden Sensoren zu finden. Autorisierte Händler wie Digi-Key Electronics erleichtern diesen Vorgang jedoch, indem sie Online-Ressourcen zur Sensorauswahl bereitstellen. Beispielsweise erleichtert die Online-Auswahlseite von Digi-Key für Beschleunigungsmesser die Auswahl des Sensors nach bestimmten Kriterien erheblich, so dass hierfür nicht ein ganzer Nachmittag sondern nur wenige Minuten benötigt werden.
Manche Lieferanten wie beispielsweise Bosch Sensortec bieten ganze Produktserien an, die speziell für Wearables konzipiert sind. Diese Sensoren sind energieeffizient, klein und bieten flexible Modi, um die Genauigkeit und den Stromverbrauch in ein ausgewogenes Verhältnis zu bringen.
Der BMA423 , ein 12-Bit-Beschleunigungsmesser für drei Achsen von Bosch Sensortec wird in einem 2 × 2 mm kleinen 12-Pin-LGA-Gehäuse geliefert. Er kann so konfiguriert werden, dass er entweder eine SPI- oder eine I2C-Schnittstelle unterstützt, und er verfügt über programmierbare Beschleunigungs- bereiche von ±2g, ±4g, ±8g und ±16g.

Intelligenter Sensor liefert wertvolle Daten
Der BMA423 kann als «intelligenter Sensor» bezeichnet werden, da er die Rohdaten des internen Beschleunigungsmessers verarbeitet und dem Entwickler dadurch hilfreiche Ergebnisse liefert. Dadurch wird der Mikrocontroller etwas entlastet, was die Entwicklung beschleunigt. Bei Einsatzg in einem Wearable für den Fitnessbereich erkennt dieser Sensor, ob der Träger stillsteht, läuft oder geht. Der BMA423 minimiert die Anzahl der externen Komponenten.
Bosch Sensortec stellt Firmware für alle seine Sensoren zur Verfügung. Beim Einschalten des BMA423 durchläuft der Sensor einen internen Einschalt-Reset (POR, Power On Reset). Nach dem System-POR sollte der Mikrocontroller den Initialisierungsprozess des BMA423 von Bosch ausführen, um den Chip korrekt zu konfigurieren.
Der Initialisierungsprozess liest zuerst die interne Chip-ID und vergleicht sie mit der in der Firmware gespeicherten Chip-ID. Dadurch wird verifiziert, dass der BMA423 verfügbar ist und einwandfrei mit dem Mikrocontroller kommuniziert. Als nächstes führt der Initialisierungsprozess einen kurzen Selbsttest durch, um den einwandfreien Betrieb zu verifizieren. Die Ergebnisse dieses Tests werden an den Mikrocontroller übermittelt. Nach der Initialisierung befindet sich das Gerät im Hochleistungsmodus, dem Modus mit dem höchsten Stromverbrauch und der höchsten Leistungsfähigkeit des Sensors.

Viele Funktionen für energiesparenden Betrieb
Der BMA423 verfügt über zahlreiche Funktionen für den energiesparenden Betrieb, unter anderem einen FIFO mit 1024 Byte. So kann der Beschleunigungsmesser Daten erfassen und speichern, während sich der Mikrocontroller in einem Energiespar- oder Schlafmodus befindet. Das spart Strom während Nicht-Echtzeitanwendungen, da der Mikrocontroller nicht dauerhaft mit dem BMA423 kommunizieren muss. Sobald durch die vom Beschleunigungsmesser an den FIFO übermittelten Daten ein vorprogrammierter FIFO-Füllstand erreicht wird, wird ein Interrupt erzeugt, um den Mikrocontroller aufzuwecken, der daraufhin die FIFO-Daten liest. Der Modus des BMA423 mit dem niedrigsten Stromverbrauch ist der Suspend-Modus. In diesem Modus geschehen keine internen Beschleunigungsmessungen, während der Status des FIFO und der internen Register beibehalten wird.

Interrupt Feature Engine erfüllt Funktion eines Schrittzählers
Wenn der BMA423 in einem Wearable für den Fitnessbereich verwendet wird, lässt sich die Entwicklung durch die Verwendung der Interrupt Feature Engine vereinfachen. Sie erfüllt die Funktion eines Schrittzählers, um automatisch die Anzahl der Schritte zu zählen und festzustellen, ob der Benutzer geht, läuft oder stillsteht. Sie erkennt ausserdem, ob das Wearable geneigt wird, ob einmal oder zweimal auf das Gerät getippt wird oder ob sich das Gerät bewegt oder nicht. Die Entwicklung wird durch die Verwendung der Feature Engine anstelle von kundenspezifischem Code vereinfacht.
Für komplexere Wearable-Anwendungen, die extreme Genauigkeit erfordern, kann man eine Trägheitsmesseinheit (IMU, Inertial Measurement Unit) verwenden. IMUs fassen einen Beschleunigungsmesser und ein Gyroskop in einem Gehäuse zusammen. Die IMU BMI16 von Bosch Sensortec enthält einen 16-Bit-MEMS-Beschleunigungsmesser für drei Achsen sowie ein 16-Bit-MEMS-Gyro-skop für drei Achsen in einem Gehäuse. Der IMU-Beschleunigungsmesser übernimmt alle Funktionen des BMA423, während das Gyroskop das Erkennen der Bewegungsrichtung ermöglicht. Auf diese Weise kann die BMI160 die relative Position, die Entfernung und die Geschwindigkeit ermitteln, und das bei einem geringeren Stromverbrauch als ein GPS. Sie wird jedoch häufig als Ergänzung zu einem GPS in fortschrittlicheren Wearables verwendet. In solchen Anwendungen liefert das GPS Informationen zur absoluten Position und zum Standort. Falls das GPS-Signal jedoch zu schwach wird, kann die IMU die Bewegung und die Beschleunigung weiter verfolgen, bis das GPS-Signal wieder empfangen wird.
Koppelnavigation mit einer IMU Mit Beschleunigungsmessern lassen sich keine konstanten Geschwindigkeiten sondern nur Geschwindigkeitsänderungen messen. Die Geschwindigkeit lässt sich jedoch aus den Beschleunigungsdaten über die Zeit berechnen. Um eine akzeptable Genauigkeit zu erreichen, ist hierfür ein Beschleunigungsmesser mit einer Auflösung von 16 Bit oder mehr erforderlich. Je höher die Abtastrate ist, desto genauer fällt die Geschwindigkeitsschätzung aus, die anschliessend zur Berechnung der zurückgelegten Entfernung verwendet werden kann.
Wie beim BMA423 auch kann der Beschleunigungsmesser der BMI160 erkennen, ob der Benutzer geht, läuft oder stillsteht. Durch die Kombination der zurückgelegten Entfernung, die aus den Messwerten des Beschleunigungsmessers berechnet wurde, und der aus den Gyroskopmesswerten ermittelten Bewegungsrichtung kann mit Hilfe von Sensor-Fusion-Berechnungen die Positon der Einheit ermittelt werden. Sensor Fusion Suite beschleunigt Entwicklung Zur Entwicklungsbeschleunigung steht die BSEC, Bosch Sensortec Environmental Cluster, Fusion Library für ARM-Mikrocontroller zum Download bereit. Hierbei handelt es sich um eine vollständige Sensor Fusion Suite, die mit der LPCXpresso-LPC54102-Evaluierungskarte von NXP Semiconductors kompatibel ist. Diese Platine bietet Optionen zur Evaluierung mehrerer MEMS-Sensoren von Bosch Sensortec, was unlängst auch die BMI160 einschliesst. Die BSEC Fusion Library ist im Lieferumfang der NXP LPC54102 enthalten. Die Evaluierungskarte kann über den USB-Steckverbinder oder eine externe Stromquelle betrieben werden. Für die Entwicklung muss zuerst die beiliegende Software LPCXpresso auf einem PC installiert werden. Die Verbindung zur LPC5102 wird hergestellt, indem Sie die Software LPCXpresso starten und die einfachen Anweisungen am Bildschirm befolgen. Sobald die Verbindung hergestellt wurde, kann das Demo-Programm für die BMI160 heruntergeladen und installiert werden.

Wearables und Batterien
Da Wearables immer kleiner und leistungsfähiger werden, müssen die Lieferanten von Batterien kleinere Batterien mit höherer Kapazität herstellen. TinyCircuits stellt zwei kleine Batterien für Wearables her. Bei der Tiny-Circuits ASR00011 handelt es sich um eine Lithium-Ionen-Batterie mit 3,7 V und einer Nennkapazität von 70 mAh. Die Spannung bei voller Ladung beträgt 4,2 V und im komplett entladenen Zustand 3,0 V. Die Batterie ist mit einer zweipoligen 1,25-mm-Mikrobuchse JST SH ausgestattet. Falls mehr Kapazität erforderlich ist, ist die ASR00011 auch mit einem Nennwert von 1100 mAh erhältlich.

Fazit
Wearables stellen Entwickler vor die Herausforderung, trotz ihrer geringen Grösse genaue Sensoren und einen niedrigen Stromverbrauch bieten müssen. Lieferanten elektronischer Komponenten fertigen Komponenten speziell für Wearables, wodurch die Auswahl erleichtert wird. Ausserdem bieten sie intelligente Sensoren mit Funktionen an, die das Design beschleunigen.

Infoservice
Digi-Key Electronics Germany GmbH
Theresienhöhe 11a, DE-80339 München
Tel. 0049 800 180 01 25, Fax 0049 89 741 21 750
eu.support@digikey.com, www.digikey.com



Wearables stellen Entwickler vor grosse Herausforderungen betreffend Grösse, Leistung und Stromverbrauch (Bildquelle: Adobe Stock)


Der BMA423 ist ein kleiner 12-Bit-Beschleunigungsmesser für drei Achsen. (Bildquelle Bosch Sensortec)


Der Beschleunigungsmesser vereinfacht das Platinenlayout, wenn die I2C-Schnittstelle verwendet wird (Bildquelle Bosch Sensortec)


Die kompakte Lithium-Ionen-Batterie ASR00011 hat ein Gewicht von nur 1,65 g (Bildquelle TinyCircuits)


Die Evaluierungskarte NXP LPC54102 kann zur Evaluierung einer Vielzahl von MEMS-Sensoren von Bosch Sensortec verwendet werden (Bildquelle Bosch Sensortec)