Ich versuche, die durchschnittliche Stromaufnahme von Geräten mit niedrigem Arbeitszyklus und geringem Strom zu messen.
Beispielsweise kann ein Bluetooth Low-Energy-Gerät während der Funkübertragung (für eine Millisekunde oder so) 16 mA und zu anderen Zeiten Hintergrund- / Leerlaufstrom, z. B. 3 uA, verbrauchen.
Diese Übertragungen kommen selten vor. Wenn Sie also einen aktuellen Messwert mit einem DMM erfassen, der einmal pro Sekunde aktualisiert wird, werden falsche Messwerte angezeigt, da der DMM nicht über einen geeigneten Anti-Alias-Filter verfügt. Der Messwert hängt also davon ab, ob während der Abtastperiode des DMM eine oder zwei Funkübertragungen stattgefunden haben.
Um diesen Strom zu messen, habe ich eine speziell entwickelte Schaltung verwendet, einen externen Shunt mit einem RC darüber, bei dem der RC auf einige Sekunden eingestellt ist. Dann messe ich über das "C" in einem Niederspannungsbereich eines Voltmeters.
Gibt es Amperemeter mit geeigneter Anti-Alias-Filterung? Ich habe Keithley-Quellenmesser und HP34401-Messgeräte ausprobiert, und keiner wird es tun. (Der Keithley verfügt über einen ausgelösten Strommessmodus, der zumindest einen stabilen Messwert liefert, jedoch keinen genauen Durchschnittswert liefert.)
Antworten:
Dies ist ein schwieriges Problem. Was ich in der Vergangenheit getan habe, ist, den Strom während des kurzen Hochstromereignisses mit einer Stromsonde an einem Oszilloskop zu messen. In meinem Fall war das aktuelle Profil bei jedem Impuls gleich. Also habe ich integriert, um herauszufinden, wie viele Coulomb jeder Impuls ist. Dann könnte ich einfach die Impulse zählen. In meinem Fall hatte der Stromverbrauch zwischen den Impulsen keinen großen Einfluss auf die Batterielebensdauer (was ich herausfinden wollte), sodass ich ihn einfach ignorieren konnte. Aber Sie sollten es berechnen, um sicher zu sein. Ein Amperemeter sollte in Ordnung sein, um den Strom zwischen den Impulsen zu messen.
Wenn Ihre Stromimpulse in Länge oder Amplitude variabel sind, funktioniert dieser Ansatz möglicherweise nicht sehr gut.
Eine andere Idee ist es, einen Akku mit bekannter Kapazität zu verwenden und die Zeit zu messen, bis der Akku die Beendigungsschwelle erreicht (Sie können VBAT mit einem Protokollierungsvoltmeter protokollieren). Dies ist wahrscheinlich das, was Sie sowieso herausfinden wollen, richtig, Akkulaufzeit? Wenn Sie eine kleine Batterie verwenden, können Sie in jedem Fall in einem angemessenen Zeitrahmen eine einigermaßen gute Antwort erhalten, solange die Batterie den Impulsstrom ohne übermäßigen Abfall liefern kann.
Zu berücksichtigen ist die Änderung des Stroms mit der Spannung (in meinem Fall war es ein konstanter Strom, aber wenn Sie DC-DC-Wandler haben, entspricht dies möglicherweise eher einer konstanten Leistung).
Viel Glück.
quelle
Ich mache etwas Ähnliches, benutze aber einen Filter am Netzteil.
Schließen Sie einen großen Kondensator an, um das Gerät zu versorgen, und einen signifikanten Widerstand zwischen der externen Stromversorgung und dem Kondensator. Messen Sie nun den Strom durch den Widerstand. Ich habe ein normales Multimeter auf der 2-mA-Skala verwendet.
Wählen Sie R, um einen Abfall von 0,25 Volt bei Ihrem erwarteten Durchschnittsstrom zu erhalten, und dann C für eine Zeitkonstante, die möglicherweise das Zehnfache des Schlaf- / Wachzyklus Ihres Mikros beträgt. Ich glaube, ich habe 10.000 uF und ein paar kOhm verwendet.
Zum Hochfahren und Blinken des Mikrocontrollers müssen Sie den Widerstand umgehen oder einen viel niedrigeren Wert parallel schalten, da sonst die Versorgungsspannung zu stark abfällt. Das Schöne ist, dass Sie dies tun können, ohne die Versorgung zu unterbrechen. Wenn es dann sicher schläft, entfernen Sie die Krokodilklemmen über dem Vorwiderstand.
quelle
Wenn Sie wissen, dass die einzigen beiden Situationen TX -> 16 mA und NOTX -> 3 uA sind und Sie in diesen beiden Fällen eine genaue Messung durchführen können, können Sie ein System einrichten, das einfach den Arbeitszyklus des Prozesses misst.
Insbesondere, wenn Sie die gesamte Sendezeit akkumulierenT.T.X. über eine viel längere Zeit T. in welchem N. Übertragungsereignisse werden ausgelöst. Sie können den Durchschnittsstrom wie folgt berechnen:
Beachten Sie, dassN. sollte groß sein, wenn das einzelne Übertragungsereignis keine feste Dauer hat. Je mehrN. ist groß, je genauer icha v g wird sein. Dies sollte nicht allzu schwierig sein: Selbst eine Arduino-Karte kann so programmiert werden, dass sie lange Zeit misst. Schließen Sie einfach eine Pufferschaltung zwischen Ihrem Stromerfassungswiderstand und dem MCU-ADC an und fragen Sie kontinuierlich ab, bis Sie einen Stromstoß feststellen (TX ist eingeschaltet). . Wenn die ADC-Konvertierungszeit zu langsam ist, können Sie einen analogen Komparator an Ihren Erfassungswiderstand anschließen und seinen Ausgang als digitalen Eingang an der MCU verwenden und ihn dann kontinuierlich abfragen. Das einzige Problem besteht darin, genügend Abfragen pro Sekunde durchzuführen, um eine genaue Zeitmessung zu erhalten. Wenn Ihre Übertragungsereignisse jedoch im Vergleich zum Abfragezeitraum relativ lang sind, sollten Sie in Ordnung sein.
quelle