Suchen

Entwicklungstools

Integrierte Tools vereinfachen das Design stromsparender Systeme

Seite: 3/3

Firma zum Thema

Das Simplicity Studio bietet eine dynamische Darstellung des Stromverbrauchs der Zielanwendung. Die Information wird nicht nur als einfacher Wert dargestellt, sondern mittels Instrumentierung auf Code-Ebene.

Anhand des folgenden Beispiels lässt sich die Leistungsfähigkeit dieses Entwicklungstools einfach erklären: Es soll ein Sensormodul entwickelt werden, das den Verschleiß eines Elektromotors überwacht. Der Mikrocontroller muss vier induktive Sensoren überwachen, welche die Drehrichtung der Welle erkennen, die vom Motor angetrieben wird. In regelmäßigen Abständen fragt die MCU Informationen von einem Beschleunigungssensor ab, der zur Analyse von Vibrationen dient – starke Vibrationen deuten auf ein mögliches Motorproblem hin.

Beispiel Vibrationsanalyse bei Motoren

In der ersten Implementierung ist der Mikrocontroller so programmiert, dass er nach jeder Vibrationsanalyse in den Sleep-Modus übergeht. Die Verbrauchsanalyse zeigt jedoch, dass das System sein Stromverbrauchsziel deutlich übersteigt. Beim Einblick in die Liste der Funktionsaufrufe kann der Entwickler feststellen, welche Bereiche des Codes für den hohen Stromverbrauch verantwortlich sind.

In diesem Fall ist das Problem eine While-Schleife, die zur Abfrage des Sensors dient und die durch die Drehung der Antriebswelle ausgelöst wird. Bei jedem erfolgreichen Lesevorgang wird der nächste Sensor aktiviert und die Abfrage startet erneut, oder es wird die Funktion zur Vibrationsanalyse aufgerufen sobald einige Umdrehungen stattgefunden haben. Das Ergebnis ist, dass die MCU nicht in den Sleep-Modus übergeht, bis die Vibrationsanalyse abgeschlossen ist. Dabei wird die MCU durch einen Timer aktiviert, und das in einem Verhältnis, das höher als die Drehzahl der Welle ist.

Der Programmierer kann den Code nun so ändern, dass die MCU nach einem erfolgreichen Lesevorgang in den Sleep-Modus übergehen kann. Aber die MCU benötigt immer noch einen höheren Energieverbrauch als gewünscht, was am Energiebedarf der Sensorauswertung liegt. Das Problem ist, dass die MCU so eingesetzt wird, dass sie aktiv sein muss, um ein Ereignis von den Antriebswellensensoren zu verarbeiten.

Energieverbrauchsbudgets erfüllen

Es wäre besser, wenn die MCU im Sleep-Modus verbleibt, bis die Register des Analog-Komparators einen Lesevorgang registrieren, ohne dabei den Analog-Komparator dauerhaft im aktiven Zustand zu halten. Dieses Möglichkeit ist mit der Peripherie LESENSE gegeben, deren Zustandsmaschine mithilfe der entsprechenden Dokumentation (Reference Manual und Application Note) programmiert wird.

Mit einem Code-Beispiel aus der Online-Applikationsschrift kann der Entwickler diese Strategie testen. Die Zustandsmaschine kann so programmiert werden, dass die MCU solange nicht aktiviert wird, bis z.B. 100 Umdrehungen erfolgt sind. Der Entwickler passt den Beispielcode „LESENSE – Inductive Sense“ auf seine Zielanwendung an. Dank der Verwendung von LESENSE zeigt der energyAware Profiler, dass die Anwendung nun ihr vorgegebenes Energieverbrauchsbudget erfüllt.

* * Rasmus Larsen ... ist Support & Training Manager bei Energy Micro, Oslo.

(ID:32386000)