Effiziente Bewegungserkennung mit Wearables

Von Bill Giovino

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von Digi-Key

Wearables bringen für Entwickler unabhängig vom Einsatzbereich stets einzigartige Anforderungen hinsichtlich Größe, Energieeffizienz und großem Funktionsumfang mit sich. Aufgrund der großen Auswahl an integrierten Sensoren wie Beschleunigungsmessern und Gyroskopen müssen Entwickler die passende Kombination aus Sensor und Mikrocontroller finden, die darüber hinaus das optimale Verhältnis zwischen Genauigkeit, Auflösung und Stromverbrauch gewährleistet, um die Batterielebensdauer zu verlängern.

In diesem Artikel wird beschrieben, wie Stromverbrauch und Leistungsfähigkeit von Wearables in ein ausgeglichenes Verhältnis gebracht werden. Anschließend wird auf die Auswahl geeigneter Sensoren eingegangen. Zum Schluss werden noch beispielhafte Sensorlösungen vorgestellt und es wird gezeigt, wie sie anzuwenden und zu betreiben sind.

Ausgeglichenes Verhältnis zwischen Stromverbrauch und Leistungsfähigkeit

Am häufigsten kommen Wearables bei der Überwachung der Fitness und der Gesundheit zum Einsatz. Alle Wearables enthalten Sensoren, die externe Parameter messen und die Messwerte an den Mikrocontroller des Systems weiterleiten. Aufgrund der Größen- 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 Monate lang Gedanken über die Beschaffung von weniger als einem Dutzend Komponenten machen.

Bei Embedded-Systemen steigt der Stromverbrauch mit zunehmender Leistungsfähigkeit typischerweise an. Dieser Umstand macht es für den Entwickler erforderlich, Komponenten mit der passenden Kombination aus Leistungsfähigkeit und Stromverbrauch auszuwählen. Die Auswahl von Komponenten mit einem hohen Maß an Flexibilität 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 Großteil 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 häufigsten anzutreffende Sensor ist ein Beschleunigungsmesser zur Messung der Bewegungsänderung des Systems. 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öße und Form: Aufgrund der Größen- und Gewichtsbeschränkungen sollte bei der Auswahl der Sensoren zuerst auf Größe 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. Suchen Sie nach Sensoren mit einer Grundfläche von 5 mm x 5 mm oder weniger.

Genauigkeit und Auflösung: Betrachten Sie die Anforderungen der Anwendung hinsichtlich Genauigkeit und Auflösung und entscheiden Sie sich dann für Sensoren, die diese Anforderungen locker übertreffen. Das vereinfacht die Entwicklung und spart Zeit. Außerdem 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: Betrachten Sie die Schnittstellen zwischen Sensoren und Mikrocontroller. Es gibt zwei Arten von Schnittstellen, analoge und digitale. Analoge Schnittstellen geben eine Spannung aus, die proportional zum Wert des gemessenen Umgebungsverhaltens ist. Diese Schnittstellen haben in Wearable-Anwendungen nur einen beschränkten Nutzen, da sie es erforderlich machen, dass der Mikrocontroller einen leistungshungrigen Analog/Digital-Wandler (ADC) oder Komparator verwendet. Eine serielle Schnittstelle wie I2C oder SPI ist vorzuziehen. Viele moderne Sensoren bieten beides.

Berücksichtigt man alle der oben genannten Kriterien, kann es äußerst zeitaufwendig 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, sodass 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 12-Bit-Beschleunigungsmesser BMA423 für drei Achsen von Bosch Sensortec beispielsweise wird in einem 12-Pin-LGA-Gehäuse mit einer Grundfläche von 2 mm x 2 mm geliefert (Abbildung 1). Er kann so konfiguriert werden, dass er entweder eine SPI- oder eine I2C-Schnittstelle unterstützt, und er verfügt über programmierbare Beschleunigungsbereiche von ±2 g, ±4 g, ±8 g und ±16 g.

Der BMA423 kann als „intelligenter Sensor“ bezeichnet werden, da er die Rohdaten des internen Beschleunigungsmessers intern verarbeitet und dem Entwickler dadurch hilfreiche Ergebnisse liefert. Dadurch wird der Mikrocontroller etwas entlastet und die Entwicklung beschleunigt. Bei Verwendung in einem Wearable für den Fitnessbereich erkennt dieser Sensor, ob der Träger stillsteht, läuft oder geht.

Abbildung: Beschleunigungsmesser BMA423 von Bosch Sensortec

Abbildung 1: Der BMA423 von Bosch Sensortec ist ein kleiner 12-Bit-Beschleunigungsmesser für 3 Achsen mit einer Grundfläche von 2 mm x 2 mm und einer Höhe von 0,95 mm für Wearables. (Bildquelle: Bosch Sensortec)

Der BMA423 minimiert die Anzahl der externen Komponenten (siehe Abbildung 2). Aus Gründen der Rauschimmunität wird empfohlen, zwischen VDDIO und Masse sowie zwischen VDD und Masse Entkopplungskondensatoren mit 100 Nanofarad (nF) zu verwenden. Diese Kondensatoren können auch weggelassen werden, um wertvollen Platz zu sparen, was jedoch mit Genauigkeitsverlusten einhergeht.

Schaltbild des Beschleunigungsmessers BMA423 für 3 Achsen von Bosch

Abbildung 2: Der Beschleunigungsmesser BMA423 für 3 Achsen von Bosch ist zur Minimierung der Anzahl an Teilen konzipiert und vereinfacht das Platinenlayout, wenn die I2C-Schnittstelle verwendet wird. (Bildquelle: Bosch Sensortec)

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.

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. Im Suspend-Modus werden keine internen Beschleunigungsmessungen durchgeführt, während der Status des FIFO und der internen Register beibehalten wird.

Um den Stromverbrauch bei Nicht-Echtzeitanwendungen zu senken, sollte der BMA423 in den Energiesparmodus anstatt in seinen standardmäßigen Hochleistungsmodus versetzt werden. Dadurch werden Bereiche des BMA423 abgeschaltet, unter anderem die externen I2C- und SPI-Schnittstellen, während Daten in den FIFO geschrieben werden. Während er sich im Energiesparmodus befindet, wechselt der BMA423 entsprechend einer Abtastrate, die über ein in der Firmware programmiertes Tastverhältnis festgelegt ist, regelmäßig zwischen dem Hochleistungsmodus und dem Schlafmodus hin und her. Je niedriger die Abtastrate ist, desto niedriger ist auch der Stromverbrauch des BMA4234. Durch die Feineinstellung dieses Tastverhältnisses kann ein ausgewogenes Verhältnis zwischen erforderlicher Genauigkeit und Stromverbrauch des Sensors erreicht werden.

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 außerdem, 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 eine Trägheitsmesseinheit (IMU, Inertial Measurement Unit) verwendet werden. 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 3 Achsen sowie ein 16-Bit-MEMS-Gyroskop für 3 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.

Das Gehäuse der BMI160 ähnelt dem des BMA423, mit dem Unterschied, dass die Grundfläche 2,5 mm x 3,0 mm beträgt und das Gehäuse 0,83 mm hoch ist. Ebenso wie der BMA423 unterstützt sie I2C- und SPI-Schnittstellen und verfügt über einen FIFO mit 1024 Byte.

Koppelnavigation mit einer IMU

Mit Beschleunigungsmessern können keine konstanten Geschwindigkeiten gemessen werden sondern ausschließlich Geschwindigkeitsänderungen. 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 anschließend zur Berechnung der zurückgelegten Entfernung verwendet werden kann. Früher wurden bei der Schätzung von Geschwindigkeit und Entfernung mit IMUs für den Verbraucherbereich kleine Fehler eingeführt, die sich mit der Zeit aufsummiert haben. Fortschritte bei MEMS-Sensoren haben jedoch dazu geführt, dass die Koppelnavigation bei Verwendung von IMUs für den Verbraucherbereich praktikabler wird.

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.

Zur Beschleunigung der Entwicklung steht die Bosch Sensortec Environmental Cluster (BSEC) 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 mehrere MEMS-Sensoren von Bosch Sensortec, was unlängst auch die BMI160 einschließt.

Bild: Evaluierungskarte NXP LPC54102

Abbildung 3: Die Evaluierungskarte NXP LPC54102 kann zur Evaluierung einer Vielzahl von MEMS-Sensoren von Bosch Sensortec verwendet werden, die BMI160 eingeschlossen. (Bildquelle: Bosch Sensortec)

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 TinyCircuits ASR00011 handelt es sich um eine Lithium-Ionen-Batterie mit 3,7 Volt und einer Nennkapazität von 70 mAh. Die Spannung bei voller Ladung beträgt 4,2 Volt und im komplett entladenen Zustand 3,0 Volt. Die Batterie ist mit einer zweipoligen 1,25-mm-Mikrobuchse JST SH (Abbildung 4) ausgestattet.

Bild: Lithium-Ionen-Batterie ASR00011 mit 3,7 Volt von Tiny Circuits

Abbildung 4: Die kompakte Lithium-Ionen-Batterie ASR00011 mit 3,7 Volt von Tiny Circuits misst 16,0 mm x 15,0 mm x 5,0 mm und hat ein Gewicht von 1,65 Gramm. Sie ist klein genug für eine Fitness-Uhr. (Bildquelle: TinyCircuits)

Falls mehr Kapazität erforderlich ist, ist die Lithium-Ionen-Batterie ASR00011 mit 3,7 Volt von Tiny Circuits auch mit einem Nennwert von 1100 mAh erhältlich. Diese Version ist mit 42,0 mm x 39,0 mm x 5,5 mm zwar zu groß für eine Fitness-Uhr, aber sie eignet sich gut für ein Gerät zur Überwachung der Gesundheit.

Fazit

Wearables stellen ihre Entwickler vor einzigartige Herausforderungen, da sie trotz ihrer geringen Größe genaue Sensoren und einen niedrigen Stromverbrauch bieten müssen. Lieferanten elektronischer Komponenten fertigen Komponenten speziell für Wearables, wodurch die Auswahl erleichtert wird. Außerdem bieten sie intelligente Sensoren mit Funktionen an, die das Design beschleunigen.

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der Digi-Key Electronics oder offiziellen Politik der Digi-Key Electronics wider.

Über den Autor

Bill Giovino

Bill Giovino ist Elektronikingenieur mit einem BSEE von der Syracuse University und einer der wenigen, die erfolgreich vom Entwicklungsingenieur über den Anwendungsingenieur zum Technologiemarketing wechselten.

Seit über 25 Jahren wirbt Bill für neue Technologien vor technischem und nicht-technischem Publikum für viele Unternehmen, darunter STMicroelectronics, Intel und Maxim Integrated. Während seiner Zeit bei STMicroelectronics trug Bill dazu bei, die frühen Erfolge des Unternehmens in der Mikrocontroller-Industrie voranzutreiben. Bei Infineon inszenierte Bill die ersten Erfolge des Unternehmens im Bereich Mikrocontroller-Design in den USA. Als Marketingberater für sein Unternehmen CPU Technologies hat Bill vielen Unternehmen geholfen, unterbewertete Produkte in Erfolgsgeschichten zu verwandeln.

Bill war zudem ein früher Anwender des Internets der Dinge, einschließlich der Implementierung des ersten vollständigen TCP/IP-Stacks auf einem Mikrocontroller. Die Botschaft von „Verkauf durch Aufklärung“ und die zunehmende Bedeutung einer klaren, gut geschriebenen Kommunikation bei der Vermarktung von Produkten im Internet sind Bills Anliegen. Er ist Moderator der beliebten „Semiconductor Sales & Marketing Group“ auf LinkedIn und spricht fließend B2E.

Über den Verlag

Nordamerikanische Fachredakteure von Digi-Key