Strommessung Schwankende Ströme mit Schaltreglern messen

Moderne Mikrocontroller mit hohen Dynamik-Umfang messen
Moderne Mikrocontroller mit hohen Dynamik-Umfang messen

Moderne Mikrocontroller nehmen im aktiven Betrieb typisch einige zehn mA auf, im Stand-by dagegen nur 100 nA. Ströme mit einem derart hohen Dynamik-Umfang zu messen macht in herkömmlicher analoger Schaltungstechnik Schwierigkeiten. Überlegen ist ein Messprinzip mit einem Schaltregler, dessen Transistor mit fester Öffnungszeit und variabler Schließzeit betrieben wird. Die Schaltfrequenz ist dann ein präzises Maß für den Strom.

Den Stromverbrauch eines elek­tronischen Bauelements oder Systems messen – nichts leichter als das, so könnte man meinen. Einen Shunt in die Leitung legen und mit einem Differenzverstärker den Spannungsabfall daran messen, schon hat man eine zum Strom proportionale Analogspannung, die man dann digitalisieren und nach Wunsch weiterverarbeiten kann.

In einfachen Fällen funktioniert das gut. In komplizierteren jedoch nicht: zum einen bei sehr hohen Strömen und Spannungen, sprich Netzanwendungen, wo eine galvanische Trennung zwischen dem stromführenden Leiter und der Messelektronik unabdingbar ist. Hier fällt das Shunt-Prinzip aus; die Lösung besteht in einer Messung des den Leiter umgebenden Magnetfelds. Dazu dienen entweder Hallsensoren oder magnetoresistive Sensoren. Über beide hat die Elektronik schon mehrfach berichtet. Der andere Fall, wo es mit dem Shunt nicht geht, liegt ganz am entgegengesetzten Ende der Stromskala: bei Anwendungen, wo die Ströme stark schwanken und dabei zeitweise bis auf extrem niedrige Werte bis herab in den nA-Bereich abfallen. Solches ist vor allem der Fall bei modernen Ultra-Low-Power-Mikrocontrollern, die in batteriebetriebenen Geräten eingesetzt werden. Damit die Betriebsdauer mit einer Akkuladung maximal wird, braucht man ein „Energy Profiling“ – eine Überwachung der Stromaufnahme in den verschiedensten Betriebszuständen.

Um Strom zu sparen, schaltet ein solcher Mikrocontroller alle jeweils nicht benötigten Funktionsteile auf dem Chip ab. Im Schlafzustand, in dem nur noch das absolute Minimum der Funktionen in Betrieb und die Taktfrequenz stark heruntergesetzt ist, sinkt dann die Stromaufnahme bis in die Größenordnung 100 nA ab. Nach dem Aufwecken steigt sie dann wieder um mehrere Zehnerpotenzen an. Während der reine Digitalteil mit relativ wenig Strom auskommt (stark abhängig von der Taktfrequenz), sind insbesondere integrierte A/D- und D/A-Umsetzer, Spannungsreferenzen und Operationsverstärker die großen Stromfresser, im Gerät selbst außerdem LEDs und Funksender. So können Ströme bis annähernd 100 mA zustande kommen. Strommessung über einen derart weiten Bereich hinweg stellt den Schaltungsentwickler vor große Herausforderungen. Es zeigt sich ganz schnell, dass dies mit einem Shunt hier nicht funktioniert. Für die extrem niedrigen Ströme müsste er sehr groß sein, damit sich überhaupt ein nennenswerter Spannungsabfall ergibt; bei den hohen Strömen wäre der dann aber derartig groß, dass die Funktion der ganzen Schaltung zusammenbrechen würde. Eine Umschaltung des Shunt ist in der Praxis auch nicht machbar. Noch ein anderes Problem: Parallel zu den Versorgungsanschlüssen des Mikrocontrollers liegt ein Pufferkondensator, der die Lastsprünge abfedert. Der Shunt bewirkt, dass bei einem Stromanstieg die Spannung etwas absinkt; der Kondensator wird anschließend wieder nachgeladen. Der zeitliche Stromverlauf in der Zuleitung ist dann nicht identisch mit der Stromaufnahme des Mikrocontrollers.

Schaltregler statt Analogmessung

So setzte eine intensive Suche nach grundsätzlich anderen Lösungen ein. Eine Messung mit dem Umweg über das Magnetfeld wie im Starkstrombereich scheidet bei so schwachen Strömen komplett aus. Untersucht wurde auch eine Stromspiegelschaltung mit einem Doppel-MOSFET. Geeignete Typen sind allerdings schwer zu finden und teuer; das Prinzip eignet sich ebenfalls nur für hohe Ströme und wird bei niedrigen sehr ungenau. Einige weitere Verfahren zeigten sich ebenfalls als nicht praxis­tauglich, so etwa mit einem Schaltregler im üblichen Betrieb mit Pulsweitenmodulation, wobei – theoretisch – das Taktverhältnis ausgewertet werden könnte. Hier führen in der Praxis unter anderem die unvermeidlichen Exemplarstreuungen bei der Drosselspule zu Messfehlern.

Eine unkonventionelle Lösung fand schließlich ein Entwickler-Team bei Texas Instruments in Freising bei München. Sie arbeitet in gewisser Weise „digital“ – in dem Sinne, dass der Last die Betriebsenergie nicht kontinuierlich zugeführt wird, sondern in einzelnen kleinen Portionen, die dann gezählt werden. Kernelement ist auch hier ein Schaltregler, in diesem Fall ein Abwärtsregler (Buck Converter), in der einfachsten Version bestehend aus Schalttransistor, der Drosselspule, der Diode und dem Speicherkondensator CL (Bild 1). Gespeist wird er aus der stabilisierten Spannungsquelle PPS, deren Ausgangsspannung mit dem Kondensator CP gestützt wird. Am Ausgang des Wandlers liegt die externe Last (also der Mikrocontroller mit seiner extrem stark schwankenden Stromaufnahme), parallel dazu der Kondensator CT. Bei Bedarf kann über einen Schalter eine feste Last (ein bekannter Widerstand) dazu geschaltet werden.

Der Trick in dieser Variante ist jetzt: Man lässt den Schaltregler nicht wie üblich mit konstanter Frequenz und variablem Ein-/Ausschalt-Verhältnis des Transistors laufen, sondern man macht die Einschaltzeit fest, stabilisiert durch die Taktfrequenz des Quarzoszillators. Diese sowie die Bauteilwerte werden so gewählt, dass während der Einschaltzeit des Transistors die Drosselspule eine Energieportion aufnimmt, die vergleichsweise klein ist gegenüber der in den Kondensatoren CP und CL gespeicherten Energie. Zur Kontrolle der Ausgangsspannung des Wandlers dient der Fehlerverstärker, der den Ist-Wert mit einem vorgegebenen Soll-Wert vergleicht. Stellt er eine zu niedrige Spannung fest, dann wird bei der nächsten Taktflanke des Oszillators der Schalttransistor für die besagte feste Zeit eingeschaltet – im praktischen Aufbau z.B. eine oder auch mehrere Perioden. Bei typischerweise 16 MHz Oszillatorfrequenz sind das dann 62,5 ns oder ein Vielfaches davon.

Die Drosselspule nimmt dann etwas Energie von CP auf und überträgt diese während der Ausschaltphase des Transistors auf CL. Die Spannungen an CP und CL ändern sich dabei nur ganz geringfügig. Für die nächsten paar Taktpulse mag dann vielleicht eine ausreichend hohe Spannung an CL liegen; der Fehlerverstärker wird daraufhin für einige Zeit keine zu niedrige Spannung signalisieren. Der Strom fließt aus CL kontinuierlich in die Last, die Spannung an CL sinkt dadurch mit der Zeit, und nach einigen Taktpulsen signalisiert der Fehlerverstärker wieder „zu niedrige Spannung“. Dann wird der Transistor erneut für dieselbe feste Zeit eingeschaltet, und der Vorgang beginnt von vorn. Je nach Last variiert hier also die Ausschaltzeit – und damit die Schaltfrequenz. In jedem Zyklus wird die gleiche Energiemenge vom Eingang zum Ausgang transportiert. Bei hohem Strombedarf der Last steigt die Zahl der Zyklen pro Sekunde entsprechend. Mit anderen Worten: Man erhält eine Frequenz proportional zum Laststrom. Die Bedingung für einen linearen Zusammenhang ist lediglich eine konstante Spannung an CP und an CL. Dies wird aber garantiert durch die Stabilisierung der Quelle und durch die stabile Referenzspannung. Die Zahl der mit dem Zähler während eines bestimmten Zeitraums gezählten Pulse ist ein Maß für die durchgeflossene Energie, durch die Messzeit und die Ausgangsspannung dividiert also für den Strom.

Wie sich in der Praxis zeigt, funktioniert das Prinzip über mehrere Dekaden hinweg. Für Ströme ab 100 nA ergibt sich eine hohe Linearität. Unterhalb davon nimmt die Genauigkeit ab, für Abschätzungen ist das Verfahren hier aber immer noch gut genug. Die durch den Spannungsabfall an der Diode und die Streukapazitäten erzeugten Verluste sind für alle Pulse gleich, ebenso die Exemplarstreuungen der verwendeten Bauelemente. Dadurch ergibt sich eine sehr viel höhere Messgenauigkeit als mit dem anfangs erwähnten PWM-Betrieb. Die Schaltung muss nur einmal anfänglich kalibriert werden. Dazu dient der bekannte Referenzwiderstand, der anstelle des Mikrocontrollers an den Ausgang gelegt wird. Die bei höherer Stromaufnahme – z.B. wegen analogen Schaltungsteilen auf dem Chip – höhere Pulsfrequenz hat wegen des Stützkondensators eine geringere Welligkeit zur Folge (Bild 2); das ist günstig.