Forum: Mikrocontroller und Digitale Elektronik µA und mA messen


von Wombat (Gast)


Lesenswert?

Hallo,

ich möchte mit einem Mikrocontroller Ströme in verschiedenen 
Messbereichen messen. Einerseits einen Ruhestrom von 0-50µA +-1µA, 
andererseits einen Laststrom von 0-100mA +-1mA. Die Kosten für die 
Komponenten sind nicht wichtig. Wichtiger wäre mir, dass sich der 
Aufwand in Grenzen hält. Lässt sich das mit Hall-Sensoren lösen? Oder 
braucht es eine Schaltung mit Shunt+OPV?

von stift (Gast)


Lesenswert?

Von welcher Spannung sprechen wir?
Welche Genauigkeit wird gebraucht?

von Marcus W. (marcusaw)


Lesenswert?

Um nen OPV wirst du bei µA nicht herumkommen - zumindest wenn du etwas 
Auflösung brauchst. Ein paar Daten zum Vorhaben währen allgemein nicht 
schlecht. mit nem Hallsensor wirst du wahrscheinlich keine µA messen - 
nagel' mich nicht fest, aber ich glaube nicht. eher mit nem 
Shuntwiderstand im milliohmbereich und nem OPV. Ein ina219 tut z.B. 
genau sowas.

von Wombat (Gast)


Lesenswert?

stift schrieb:
> Von welcher Spannung sprechen wir?
> Welche Genauigkeit wird gebraucht?
5V. Im µA Bereich soll die Genauigkeit bei +-1µA liegen. Sobald der 
Strom über 1mA liegt, genügt eine Genauigkeit von +-1mA

Ich ging davon aus, dass ich zwei Messpfade mit MOSFET schaltbar mache. 
Die Lösung mit dem ina219 gefällt mir schon ganz gut. Noch einfacher 
wäre natürlich ein voll integrierter Stromwandler mit Hall Prinzip aber 
ich habe schon befürchtet, dass dafür die Ströme zu klein sind.

von Michael B. (laberkopp)


Lesenswert?

Wombat schrieb:
> Lässt sich das mit Hall-Sensoren lösen?

Nein.

Aber du kannst direkt eine Wandlung Strom->Spannung per OpAmp machen.
1
  plus
2
   |   
3
  uC-Schaltung
4
   |
5
   | GND -|+\ OPA177
6
   |      |  >--+
7
   +------|-/   |
8
   |       |    |
9
 49.9R     |    |
10
   |       |    |
11
   +-------(----(---o 0..-5V
12
  E|       |    |
13
   >|------(----+
14
   | PNP   |
15
  -9V     -9V

Problem: Wenn 100mA auf 5V abgebildet werden, sind 50uA gerade mal 2.5mV 
und 1uA nur 50uV. So genau muss der D/A-Wandler auflösen können und 
OpAmp sein und trotzdem 100mA liefern können.

Mit 10 bit Auflösung am D/A und OpAmp mit Millivolt Ungenauigkeit wird 
das also nichts.
Man könnte 2 Messbereiche vorsehen, aber wer will die umschalten ?

: Bearbeitet durch User
von Christian M. (Gast)


Lesenswert?

Dieses Thema hatten wir schon mehrfach, und es läuft immer auf einen 
ellenlangen Thread hinaus und A-Wandler mit 40Bit Auflösung und 
Logarithmierer und Kondensatoren und so...

Such mal nach den entsprechenden Thread!

Gruss Chregu

von Wombat (Gast)


Angehängte Dateien:

Lesenswert?

Was ich noch klarstellen möchte: Die meine Schaltung soll nicht ihren 
eigenen Stromverbrauch messen, sondern es wird eine externe Schaltung an 
die 5V meiner Schaltung angeschlossen und deren Verbrauch soll gemessen 
werden. Aber das ändert ja eigentlich nichts.

Michael B. schrieb:
> Man könnte 2 Messbereiche vorsehen, aber wer will die umschalten ?
Das könnte meine Schaltung tun. Es darf halt nur in den µA Bereich 
geschaltet werden, wenn gerade nicht viel Strom fließt...

Christian M. schrieb:
> Such mal nach den entsprechenden Thread!
OK, ich sehe mich nochmal um.

Nebenbei habe ich mal in LTSpice etwas ganz einfaches zusammengeklickt. 
In der Simulation funktioniert es. Natürlich ohne Temperaturkompensation 
und dergleichen. Könnte diese Schaltung für diesen Fall nicht bereits 
ausreichen?

von Stefan F. (Gast)


Lesenswert?

>> Man könnte 2 Messbereiche vorsehen, aber wer will die umschalten ?
> Das könnte meine Schaltung tun.

Bisher wurde diese Idee stets wegen dem Timing verworfen. Die 
Umschaltung wäre nicht schnell genug gewesen. Wie ist denn deine 
Anforderung diesbezüglich?

Noch was: Wenn du zur Messung nur einen Shunt verwendest, brauchst du 
einen 1:2000 Verstärker. Dessen Rauschen und nicht-linearität könnte ein 
Problem werden.

Wenn du zwei Shunts verwendest, wird der Spannungsabfall am größeren 
Widerstand (den für 50µA) beim Lastwechsel (auf 100ma) wahrscheinlich zu 
groß. Wie schnell finden denn die Lastwechsel statt und wie steil sind 
die Flanken?

von Fabian F. (fabian_f55)


Lesenswert?

Was ist dein max. Spannungabfall für die Messung?

Mit 50mV kann man ganz gut Arbeiten.
Shunt mit 50 Ohm INA129 mit G=100 dahinter und deine 0-1mA entsprechen 
0-5V
Mit einem 12Bit ADC ist die Auflösung ca. +/-250nA
Wenn man den Shunt deutlich kleiner macht fängt man sich Probleme mit 
EMV und Temperaturschauschen ein.
Für den Bereich bis 100mA nimmt man dann einen 50mOhm Shunt

Die Umschaltung zwischen den bereichen macht man entweder mit einem 
Analogkomperator wenns sehr schnell gehen muss, oder per SW wenn ein 
bestimmter Strom überschritten wird. Wenn die Zielschaltung spontan 
aufwachen kann, braucht man einen großen Puffer-Kondensator auf der Last 
Seite. Sinnigerweise muss man erst den kleineren Shunt zuschalten bevor 
man den anderen trennt.

Es gibt auch fertige mV-Verstärker mit G=10 oder G=100 für Hutschiene 
wenn ein paar 100€ nicht weh tun.

von Wombat (Gast)


Lesenswert?

In meinem Fall könnte das Umschalten Funktionieren. Im Idealfall wäre 
der Lastwechsel so langsam, dass ich beim Stromanstieg schnell denn 
niederohmigen Messpfad freischalten kann. Ich kenne die Zeiten aber noch 
nicht genau. Andernfalls wäre es auch denkbar, dass meine Schaltung 
manuell per Tastendruck für die Messung des höheren Stromes "vorgewarnt" 
wird. Der höhere Strom tritt dann immer nur einmalig auf.

von Wombat (Gast)


Lesenswert?

Fabian F. schrieb:
> Was ist dein max. Spannungabfall für die Messung?
Muss ich nochmal abklären, aber 50mV bis 100mV sollten drin sein.

Fabian F. schrieb:
> Mit einem 12Bit ADC ist die Auflösung ca. +/-250nA
Das würde ja schon reichen.

Fabian F. schrieb:
> Es gibt auch fertige mV-Verstärker mit G=10 oder G=100 für Hutschiene
> wenn ein paar 100€ nicht weh tun.
Ein paar 100€ ist dann doch etwas viel. Und das Hutschienen-Format wäre 
auch zu groß. Es sollte schon noch auf einer Platine Platz finden. Mich 
wundert etwas, dass es keinen IC mit integriertem Shunt gibt?

von georg (Gast)


Lesenswert?

Wombat schrieb:
> In meinem Fall könnte das Umschalten Funktionieren

Wird es auch. Du kannst auch einen Schalter einsparen - es schadet 
nicht, wenn der µA-Shunt zum mA-Shunt parallel liegt, nicht bei einem 
Verhältnis 1:1000, und falls gewünscht kannst du die 20k ja mit 
einrechnen. Einen grösseren Einfluss wird der MOSFET haben, weil der 
On-Widerstand zum Shunt dazukommt, der darf also nur wenige mOhm haben. 
Falls das so nicht hinkommt, könntest du an beiden Enden des 
1-Ohm-Shunts messen.

Georg

von Karl (Gast)


Lesenswert?

Muss man doch nicht umschalten. 3 Verstärker mit Abstufung etwa 1, 33, 
1000 auf 3 ADC eingänge, zyklisch samplen und den passenden Wert nehmen.

von Karl (Gast)


Lesenswert?

georg schrieb:
> es schadet nicht, wenn der µA-Shunt zum mA-Shunt parallel liegt,

Wenn dann in Reihe, und jeder auf einen eigenen Verstärker. Man muss 
halt durchrechnen, ob man sich den Spannungsabfall über dem größeren 
Shunt für die mA Ströme leisten will.

von Jürgen W. (Firma: MED-EL GmbH) (wissenwasserj)


Lesenswert?

Folgender Vorschlag:

Teil 1
------
Ein MAX4372 (verschiedene Gain-Varianten verfügbar, z.B. G=50) wird mit 
dem Shunt-Widerstand für max. 100mA ausgelegt.

Beispiel: Mit Gain=50, ADC mit VREF=2.5V benötigt man Rshunt = 
2,5V/50/100mA = 500mOhm.

Teil 2: Schaltbarer nichtinv. Verstärker
----------------------------------------
Den Ausgang vom Stromsensor führst Du in einen einfachen nichtinv. 
Verstärker, dessen nominale Verstärkung auf z.B. 50 eingestellt wird.
Der Widerstand, welcher gegen Masse führt, wird mit einem Analogschalter 
von Masse trennbar gemacht, damit hat man entweder G=1 oder G=50.

Bei 50uA ergibt o.a. Schaltung 50µA*500mOhm*50*50 = 62,5mV.

Wenn der ADC eine Auflösung von z.B. 12 bit hat, dann ergibt o.a. Wert 
62,5mV/(Vref=2500mV)*2^12 = 102 LSB; das sollte ausreichen.

Zu beachten ist, daß diese Variante evtl. ein zu hohes Rauschen 
verursacht. Eine Alternative wäre, einen hochohmigen Shunt-Widerstand 
mit z.B. 1kOhm zu verwenden und einen schaltbaren 500mOhm-Shunt parallel 
zu setzen. Das Schalten müßte dann aber mit einem z.B. sehr 
niederohmigen MOSFET erfolgen, bistabilem Relais, o.ä.

: Bearbeitet durch User
von Jörg R. (solar77)


Lesenswert?

Wombat schrieb:
> Oder braucht es eine Schaltung mit Shunt+OPV?

Das Teil habe ich mir gerade gekauft:

http://www.eevblog.com/product/ucurrentgold/

http://eevblog.com/files/uCurrentArticle.pdf

https://www.welectron.com/EEVBlog-uCurrent-GOLD-Praezisions-Stromadapter-fuer-Multimeter

Zwischen den Messbereichen nA, uA und mA muss umgeschaltet werden. Der 
Ausgang liefert immer Werte im mV Bereich.

Die Burden Voltage ist geringer als bei gängigen Multimetern.

: Bearbeitet durch User
von BlaBla (Gast)


Lesenswert?


von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Wombat schrieb:
> einen Ruhestrom von 0-50µA +-1µA,
> andererseits einen Laststrom von 0-100mA +-1mA.
Wenn du das über 1 Shunt machen wolltest, dann ist die resultierende 
Forderung 100mA+-1µA. Du hättest also eine Dynamik von 1:100000 und 
bräuchtest damit ein Messystem, das 17 Bit sauber auflösen kann.

Wombat schrieb:
> Könnte diese Schaltung für diesen Fall nicht bereits ausreichen?
Bei 50µA fällt an deinem "20k-Shunt" dann aber schon 1V ab. Der sollte 
vermutlich kleiner werden. Nehmen wir mal 1k, denn du hast bei der 
Stromaufnahme zwischen dem Last- und dem Ruhezustand ja auch etwa den 
Faktor 1000.

> Könnte diese Schaltung für diesen Fall nicht bereits ausreichen?
Nur, wenn du entweder das eine oder das andere messen willst und das 
auch steuern kannst. Denn wenn dein Prüfling von sich aus dem 
Ruhezustand in den Lastzustand wechselt, du aber den vorher berechneten 
"1k-Shunt" drin hast, dann fallen an diesem Shunt 100V ab und dem 
Prüfling bleibt von den 5V nichts übrig. Der stellt dann vermutlich 
blitzartig seine Arbeit ein...

von Stefan F. (Gast)


Lesenswert?

> Muss man doch nicht umschalten. 3 Verstärker mit Abstufung etwa 1, 33,
> 1000 auf 3 ADC eingänge, zyklisch samplen und den passenden Wert nehmen.

1000-fach Verstärkern dürfte die Messung deutlich ungenau machen.

von Schorsch X. (bastelschorsch)


Lesenswert?

Wie wäre es mit 2 Verstärkern/Strommessbausteinen. Der erste mit 2k 
Messwiderstand (-> 0.2V @ 100uA), der durch Dioden begrenzt wird (also 
max. ca. 0.7V), der 2. mit 1R (->0.2V @ 200mA). Diese beiden dann messen 
und alles sollte gut sein. Spannungsabfall dabei ca 1V. Widerstandswerte 
nur als Anhaltspunkt, je nach Verstärker.

von Stefan F. (Gast)


Lesenswert?

Es geht um 5V, mit 0,7V Spannungsabfall an der Diode wird er vermutlich 
nicht glücklich.

Ansonsten ist das eine einfache praktikable Methode, habe ich schon 
öfters bei höheren Spannungen angewendet.

von Karl (Gast)


Lesenswert?

Stefanus F. schrieb:
> 1000-fach Verstärkern dürfte die Messung deutlich ungenau machen.

Ja, wenn man keine Ahnung hat, wie man sowas aufbaut, könnte das schon 
sein... Tipp: Ich würd nicht gerade mit nem TL072 anfangen.

Schorsch X. schrieb:
> Der erste mit 2k Messwiderstand

Nix 2k. Der uCurrent wurde ja schon genannt. Man nehme sich dessen 
Schaltungsidee, berechne den Shunt so, dass man sich den Spannungsabfall 
noch leisten kann und erzeuge sich die Dynamik durch Nachverstärkung. Da 
muss man halt mal nach Zero-Offset OPV schauen und sich Gedanken um 
Biaskompensation und Thermospannungen machen. Iss so bei diesen 
Ansprüchen an die Dynamik.

von analog Bits (Gast)


Lesenswert?

Man könnte den Spannungsabfall an dem Rmess für den µA Bereich mit einer 
Germanium Diode begrenzen (wenn x mA fließen)

von Wombat (Gast)


Lesenswert?

Vielen Dank für die ganzen Antworten! :)

Von den Lösungen mit Verstärkungen von 1000 und mehr würde ich gerne 
absehen, da es sich in meiner Fall ja umgehen lässt. Klasse war der 
Hinweis, dass ich natürlich den hochohmigen Shunt gar nicht schaltbar 
machen muss. War mir nicht aufgefallen.

Den on-Widerstand vom MOSFET werde ich gering halten. Und man kann den 
nominellen Wert ja auch in der Berechnung berücksichtigen. Dann ist der 
Fehler zumindest kleiner, als wenn man ihn ganz vernachlässigt.

Auch schön finde ich die Idee, den Spannungsabfall per Diode zu 
begrenzen. Dann würde die zu prüfende Schaltung nicht gleich abschalten, 
wenn sie mal höheren Strom zieht. Muss das einer Germanium Diode sein? 
Würde es nicht auch eine Schottky tun?


Karl schrieb:
> Tipp: Ich würd nicht gerade mit nem TL072 anfangen.
Den hatte ich ehrlich gesagt auch nur genommen, weil es irgendein rail 
to rail im LTSpice war. Welcher OPV wäre denn bei der Schaltung von mir 
empfehlenswert? Idealerweise bei Reichelt erhältlich...

von Michael B. (laberkopp)


Lesenswert?

Wombat schrieb:
> ich möchte mit einem Mikrocontroller Ströme in verschiedenen
> Messbereichen messen.

So macht Atmel es "Power Debugger Kit"

http://microchipdeveloper.com/8avr:low-power-example

(handumgeschaltet).

von Stefan F. (Gast)


Lesenswert?

> Und man kann den nominellen Wert ja auch in der Berechnung berücksichtigen.

Das ist gar nicht nötig, wenn du den Spannungsabfall nur am Widerstand 
misst (nicht Widerstand + MOSFET).

von Peter D. (peda)


Lesenswert?

Michael B. schrieb:
> Man könnte 2 Messbereiche vorsehen, aber wer will die umschalten ?

Niemand.
Man nimmt einen ADC mit MUX und mißt einmal die Spannung direkt und auf 
dem 2. Eingang verstärkt.
Der µC mißt dann beide Werte und ermittelt anhand einer Schwelle, 
welchen er nimmt. Damit im Umschaltpunkt der Wert nicht zappelt, 
programmiert man noch eine Hysterese.
Ich hab sowas mal mit 4 Bereichen gemacht (10nA .. 250µA). Als ADC habe 
ich den MAX1300 (16Bit) genommen. Für jeden der 4 Bereiche werden Gain 
und Offset ermittelt und im EEPROM abgelegt. Die Berechnungen erfolgen 
in float.

von Rollkugelfüller (Gast)


Lesenswert?

Schau dir mal die Schaltungen des STM8-Discovery und des
STM32L-Discovery an.

Da werkelt ein MAX9938 plus ein STT5PF20V zum umschalten...
Und niemand muss da von Hand umschalten.

> So macht Atmel es "Power Debugger Kit"
> (handumgeschaltet).

Sieht eher nach (grüner) Bananenhardware aus.
Aber das kennt Mann ja aus der Ecke.

von Christoph E. (stoppi)


Angehängte Dateien:

Lesenswert?

Probiere es einmal mit dieser Schaltung. Zur Anpassung an deinen 
gewünschten Strombereich musst du halt den 1 GOhm-Widerstand im 
Feedbackzweig tauschen bzw. mittels Drehschalter ansteuern ....

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Christoph E. schrieb:
> Probiere es einmal mit dieser Schaltung.

Warum sollte er ?

Wenn die Schaltung 100mA zieht, kann OpAmp B niemals diesen Strom 
aufbringen und über den 1GOhm Widerstand (selbst wenn man den zum 1MOhm 
bereichsanpasst) an den Verbraucher=Strombenötiger liefern, das würde 
10000 Volt Ausgangsspannugn erfordern.

Die Schaltung ist in der Form für den Zweck einfach grober Schwachsinn.

Mindestens eine Diode, die ab 0.5V Spannungsabfall am shunt langsam und 
bei 1V vollständig des Strom drumrumleitet, wäre nötig, aber die ca. 
0.7V Betreibsspannungsabfall am verbraucher wären ihm sicher zu viel.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.