Ich "programmiere" seit einiger Zeit FPGAs und will jetzt ein Gerät zum
genauen Strom messen entwickeln.
Es gibt viele ADC-ICs, die entweder für kleine Ströme oder für große
Ströme ausgelegt sind.
Wie kann ich diese mit einem FPGA unterbrechungsfrei abfragen?
Es soll der Strom gemessen werden bei voller Last (z.b. 50A) und im
nächsten Augenblick der Ruhestrom des Systems.
Mein Problem ist das Umschalten der einzelnen ADC.
Gibt es eine bessere Lösung als mehrere ADC?
Für technische Vorschläge bin ich dankbar.
Martin schrieb:> Es gibt viele ADC-ICs, die entweder für kleine Ströme oder für große> Ströme ausgelegt sind.
ADC-ICs für Ströme?
Normalerweise messen diese Spannungen, und das häufigste "Gerät", um
einen Strom in eine Spannung umzuwandeln, ist halt ein Widerstand.
Dummerweise allerdings eignet sich ein Widerstand, mit dem du deine
genannten 50 A messen kannst, in aller Regel nicht auch gleichzeitig
dazu, dass du mit ihm 500 nA Ruhestrom (mal übertrieben) misst. Man
muss also diese Widerstände für verschiedene Messbereiche umschalten.
Das ist letztlich das, was auch ein Multimeter macht.
Naja, denkbar wäre:
Eine Strommessung mit Shunt, mit 100mA, die "überbrückt" man mit einer
Diode. Wenn der Messbereich z.B. 100mV ist, ist der Strom durch die
Diode vernachlässigbar. Was die Diode aber tut, ist den Shunt vor
Überlastung zu schützen, indem sie ab 0,7V dann langsam den Großteil des
Stromes übernimmt. Wenn der Shunt beispielsweise 1 Ohm ist, kommt man
mit einem 2W-Shunt aus.
In Serie dazu die zweite Messung, mit z.B. 50A Messbereich.
Messen tut man beides gleichzeitig, hinterher muss man entscheiden,
welcher Wert gültig ist. Das entscheidet man Anhand der 50A-Messung. So
als Beispiel.
Der Nachteil liegt im Spannungsabfall des Ganzen, der Vorteil in der
Geschwindigkeit - kein Umschalten, keine Umschaltzeit.
soso... schrieb:> Eine Strommessung mit Shunt, mit 100mA, die "überbrückt" man mit einer> Diode.
Wenn die Flussspannung nicht stört (bei größeren Strömen kann das schon
mal 1 V sein), kann man sowas machen. Das ergibt eine Art logarithmische
Strommessung. Sowas habe ich in mein Hochspannungsnetzteil gebaut, dort
ist der Spannungsabfall unkritisch.
Aber viel mehr als vielleicht 3 Dekaden (100 µA bis 100 mA bspw.) kann
man damit auch nicht sinnvoll abdecken.
soso... schrieb:> Naja, denkbar wäre:> Eine Strommessung mit Shunt, mit 100mA, die "überbrückt" man mit einer> Diode. Wenn der Messbereich z.B. 100mV ist, ist der Strom durch die> Diode vernachlässigbar. Was die Diode aber tut, ist den Shunt vor> Überlastung zu schützen, indem sie ab 0,7V dann langsam den Großteil des> Stromes übernimmt. Wenn der Shunt beispielsweise 1 Ohm ist, kommt man> mit einem 2W-Shunt aus.
Sorry, Nachtrag.
Weil jetzt gemeckert wird über "eine 100mA Strommessung kann keine 10nA
auf 0,1ppb genau messen". Das ist mir auch klar. Es ging um die
Verdeutlichung des Konzeptes. Natürlich kann man auch eine xxxµA oder
xxxnA-Messung mit einer 50A-Diode brücken. Vorausgesetzt, diese hat
einen ausreichend kleinen Strom bei der Spannung, mit der die Messung
arbeitet.
Martin schrieb:> Ich "programmiere" seit einiger Zeit FPGAs und will jetzt ein Gerät zum> genauen Strom messen entwickeln.> Es gibt viele ADC-ICs, die entweder für kleine Ströme oder für große> Ströme ausgelegt sind.> Wie kann ich diese mit einem FPGA unterbrechungsfrei abfragen?> Es soll der Strom gemessen werden bei voller Last (z.b. 50A) und im> nächsten Augenblick der Ruhestrom des Systems.> Mein Problem ist das Umschalten der einzelnen ADC.> Gibt es eine bessere Lösung als mehrere ADC?> Für technische Vorschläge bin ich dankbar.
Nachdem Du keine Vorgaben hast:
nimm 2 Shunts, einen für Kleines bis... 1A oder so.
In Serie geschaltet den groben Shunt, der die 100 oder mehr A packt.
Den kleinen Shunt spendierst Du 1-3 ausreichend dimensionierte Dioden
parallel, somit liegen am kleinen Shunt nie mehr als die Diodenspannung
an. Dioden dafür gibts bis etliche 100A, das geht schon.
Die 2 ADCs laufen parallel, dein FPGA fitzelt sich da die entsprechenden
Werte heraus.
BTDT mit einem Messbereich von etwas weniger als 0,5mA bis 300A.
Allerdings war es mir egal ob ich bei 10A nur mehr auf 0,05A genau
messen konnte, wichtig war das der Aufbau unter 1A auf 1mA genau und
reproduzierbar messen konnte.
Bei 300A waren 0,5A +/- absolute Genauigkeit ok, solange es auf 0,1A
reproduzierbar war.
Obacht mit den Spannungsabfällen an den Leitungen, daher bei der
Schaltungsentwicklung gut aufpassen damit das mit den Common Modes für
die ADCs paßt.
Man sollte auch den Leckstrom durch die Diode berücksichtigen, der fehlt
nämlich in der Messung. Das blöde ist: Der Leckstrom hängt von der
Spannung ab (die wiederum vom (Ruhe-)Strom abhängt).
Beim ESP8266 habe ich das so gemacht:
Den Betriebsstrom habe ich über einen 0,1Ω Widerstand gemessen.
Den Ruhestrom habe ich mit einem 1kΩ Widerstand gemessen, den ich
zunächst mit einem Draht überbrückte. Damit habe ich das WLAN Modul
gestartet und gewartet, bis es in den Ruhezustand wechselt. Danach habe
ich die Drahtbrücke entfernt und den Spannungsabfall an dem 1kΩ Shunt
gemessen.
Wichtig war dabei, dass das WLAN Modul nicht während der Messung auf
wacht. Die Langzeit-Stromaufnahme mit wechselnden Betriebszuständen kann
man so natürlich nicht messen, sondern bestenfalls hochrechnen.
> Die Langzeit-Stromaufnahme mit wechselnden Betriebszuständen kann> man so natürlich nicht messen, sondern bestenfalls hochrechnen.
Das ist aber genau das was er will oder? Er will im "naechsten
Augenblick" messen. Was nebenbei gesagt eine bizarr ungenaue Angabe ist
fuer jemanden der sich Programmierer schimpft und ernste
Loesungsvorschlaege verhindert.
Er soll mal erst definieren welchen Spannungsabfall er bei 50A erlauben
kann. Danach seinen Shunt definieren. Danach mal rechnen welche
Verstaerkung er beim kleinstem Messbereich braucht. Oder besser noch mal
schauen welchen AD-Wandler er verwenden kann (Bandbreite) und welche
Aufloesung notwendig ist um abzuschaetzen ob und wieviele Messbereiche
man braucht. Dann kann man schauen ob man die kleine Eingangsspannung
weit genug und rausch frei genug verstaerken kann.
Aufgrund eigener Erfahrung kann ich noch empfehlen dahinter einen
umschaltbaren Bandpass zu setzen. Ich arbeite mit 1Hz, 100Hz, 10khz und
250khz. Je nachdem was man gerade programmiert interessieren einem
naemlich eher Mittelwerte oder Einzelpeaks.
Eine Herausforderung wird das wenn man es auch noch potentialfrei
braucht. Mein Testaufbau auf Basis von linearisierten Optokoppler
schafft leider nicht mehr wie 200khz. Aber fertig kaufen kann man
soetwas wohl nicht egal wieviel Geld man auf den Tisch legt. Die
ueblichen Stromtastkoepfe gehen nur so bis 1mA runter, ich brauch aber
so bis 10uA.
Olaf
Olaf schrieb:> Aber fertig kaufen kann man soetwas wohl nicht egal wieviel Geld man> auf den Tisch legt.
Das einzige, was einigermaßen in die Nähe kommt, ist sowas wie HP66332A.
Martin schrieb:> Es soll der Strom gemessen werden bei voller Last (z.b. 50A) und im> nächsten Augenblick der Ruhestrom des Systems.
Das macht man mit einer Meßbereichsumschaltung, so wie es jedes
Multimeter macht. Man muss allerdings verhindern, das der Ver-
braucher plötzlich vom niedrigen auf den hohen Betriebsstrom
umschaltet.
A. S. schrieb:> soso... schrieb:>> Der Nachteil liegt im Spannungsabfall des Ganzen>> joa, die Diode sollte schon so 100W abführen können...
Davon wird der Spannungsabfall aber nicht geringer. Mit anderen Worten:
futsch ist sie trotzdem (die Spannung, nicht die Diode :.), sie fehlt
also beim zu messenden Gerät.
Das kann, aber muss nicht immer tolerierbar sein.
Jörg W. schrieb:> Davon wird der Spannungsabfall aber nicht geringer.
Das ist nur EIN Problem. Es dürfte auch schwierig sein, eine 50A-Diode
zu finden mit einem Leckstrom von 1 µA oder weniger, sonst ist die
Messung des Ruhestroms ziemlich wertlos.
Dabei geht es ja nicht um den Leckstrom in Sperrrichtung, sondern um den
Strom durch die Diode bei einer Spannung um 0 V herum. Wahrscheinlich
ist der bei einer Leistungsdiode nirgends spezifiziert.
Georg
Hallo,
> Martin schrieb:> Es soll der Strom gemessen werden bei voller Last (z.b. 50A) und im> nächsten Augenblick der Ruhestrom des Systems.
Die Varianz der Messung mit angenommener Auflösung von 0,1uA bis 100A
ist
1: 10^9. Das ist ohne eine zweckmäßige Umschaltung der Meßshunts mit
keinem Messverstärker und keinem ADC der Welt praktisch lösbar.
Da es keine verwertbaren Angaben zur Auflösungk Genauigkeit, zeitlichen
Verhalten der Last, Meßkonzept allg., Budget und Kenntnisstand
deinerseits gibt, ist jeder weiter Ratschlag momentan sinnlose
Zeitvergeudung.
Die Vorschläge zur Überbrückung eines Meßschunt mit Leistungsdioden
halte ich ebenfalls für nutzlos. Keine verfügbare Diode wird einerseits
100A aushalten und anderseits eine Leckstrom haben, welcher noch
deutlich unter der geforderten kleinsten Meßauflösung liegt. Man könnte
die Leckstrom auch zumindest teilweise kompensieren, aber da die
Erwärmung bei hohen Strömen auch noch zu einer deutlichen Drift des
Leckstromes führen wird, wird es noch viel schwierigen.
> Mein Problem ist das Umschalten der einzelnen ADC.
Nö, dein Problem, ist dass du dir der rein physikalischen Probleme noch
gar nicht bewußt bis und du versuchst grundsätzliche physikalische
Probleme mit Software zu lösen. Du brauchst überhaupt erstmal ein
tragfähiges Konzept.
> Gibt es eine bessere Lösung als mehrere ADC?
Vergiss es. Diese Fragestellung ist obsolet.
> Für technische Vorschläge bin ich dankbar.
Zeitverschwendung, wenn relevante Infos nicht kommen.
Gruß Öletronika
Eine Messung über 8 Dekaden ist bei Raumtemperatur kaum möglich. Wenn
man bei Vollausschlag einige Volt hat, kann man mit Sigma Delta Wandlern
und entsprechend geringer Rate 5 Dekaden überstreichen. Einige Volt bei
100 A sind aber auch einig 100 Watt Verlustleistung, so dass man
nochmals ein bis 2 Dekaden vergessen kann.
> Eine Messung über 8 Dekaden ist bei Raumtemperatur kaum möglich. Wenn> man bei Vollausschlag einige Volt hat, kann man mit Sigma Delta Wandlern> und entsprechend geringer Rate 5 Dekaden überstreichen.
Das von mir verlinkte Geraet scheint 24Bit Wandler zu verwenden und
behauptet eine Aufloesung von 32Bit, vermutlich auch ueber mehrere
Verstaerkerstufen, zu erreichen. Das ganze bei 250khz Bandbreite.
Machbar ist sicher einiges, aber mal eben so und in billig geht das
nicht.
Olaf
Ohne Umschalten und hunderte Watt an Abwärme könnte man magnetisch
messen, da die nur einige mOhm haben sollten könnte man mehrere in Reihe
schalten. Für den mA/uA Bereich wirds aber schwierig, eventuell kann man
einen selber bauen (oder mit viel Glück finden) der bei 100A zwar
sättigt aber nicht abraucht.
alternativ wenns um Entwicklung/Testen von Geräten geht den Leistungs-
und Ansteuerungsteil getrennt versorgen, dann geht das mit einem Shunt
recht gut
ansonsten:
U. M. schrieb:> Da es keine verwertbaren Angaben zur Auflösungk Genauigkeit, zeitlichen> Verhalten der Last, Meßkonzept allg., Budget und Kenntnisstand> deinerseits gibt, ist jeder weiter Ratschlag momentan sinnlose> Zeitvergeudung.
Olaf schrieb:> Das von mir verlinkte Geraet scheint 24Bit Wandler zu verwenden und> behauptet eine Aufloesung von 32Bit, vermutlich auch ueber mehrere> Verstaerkerstufen, zu erreichen. Das ganze bei 250khz Bandbreite.
-> Down to 1.5 nA resolution, equivalent to 32-bits of dynamic range
bedeuted nicht 32bit Auflösung.
außerdem in den Specs:
-> Rapid 1 μs switching between shunt resistors for seamless dynamic
current measurement
der schaltet also auch nur zwischen den Shunts, außerdem ist bei 3A
Schluss.
auf einem Bild kann man 2*si7615 sehen (20V, ca. 20A PMos). das geht
halt bei <3A und <15V noch gut, bei 100A nicht mehr ganz so einfach, da
muss schon ein anderes Kaliber ran.
Specs:
https://www.joulescope.com/specs/
Jörg W. schrieb:> Mit anderen Worten:> futsch ist sie trotzdem (die Spannung, nicht die Diode :.)
Den Spannungsabfall könnte man erheblich reduzieren, wenn eine
Hilfsspannung zur Verfügung steht (wahrscheinlich kein Problem), indem
man statt einer Diode einen Leistungstransistor parallel schaltet, und
den so ansteuert, dass der Spannungsabfall am Shunt begrenzt wird - so
kann man etwa bei einem 60mV-Shunt (üblich) den Spannungsabfall auf 100
mV begrenzen. Praktisch ist das eine Shunt-Regelung.
Was den Reststrom angeht, das könnte mit einem Mosfet bei Gatespannung 0
klappen.
Georg
Die EFM32-Developmentboards haben eine Strommessung von 100nA bis 100mA
onBoard. Das wird mit 2 Meßwandlern gemacht und in Software ausgewertet.
Blackbird
> Die EFM32-Developmentboards haben eine Strommessung von 100nA bis 100mA> onBoard.
Ja, das haben sie. Hilft einem bei eigenen Sachen aber nur bedingt
weiter.
Ich denke das die Moeglichkeit kleine Stroeme mit einer hohen Dynamik
und einer gewissen Bandbreite und potentialfrei mit einem fertigen
kaufbaren Geraet zu messen, ein Beduerfniss ist das immer mehr
Entwickler haben. Wenn man Schaltungen und Software entwickelt die
stromsparend sein soll dann ist das IMHO absolut unverzichtbar.
Deswegen finde ich es schon interessant das es da noch nichts von den
ueblichen verdaechtigen (Agilent, Tek, R&S, ChinaKrempel) gibt. Ich
koennte meinen Chef sicher problemlos ueberzeugen ein paar Tausend Euro
fuer einen entsprechenden Tastkopf auszugeben. Aber wenn es nur Teile
gibt wo 1mA bereits eine 1cm breite Rauschlinie ist dann ist das
unbrauchbar.
Das ich mit dieser Meinung nicht alleine bin sieht man IMHO daran das
die Geraete in oben vom mir angefuehrten Link alle schon weg sind und
das trotz eines recht hohen Preises.
Ich selber hab mir sowas selber gebaut, bin dabei allerdings einen
anderen Weg gegangen. Ich bin komplett Analog geblieben, uebertrage also
das Messignal mit einem Optokoppler. Das ist natuerlich nicht ganz so
genau, reicht mir aber. Dafuer hat man den Vorteil das man danach zum
Aufzeichnen seinen normalen Oszi einsetzen kann und dabei den
Stromverbrauch mit anderen Testsignalen aus der Schaltung in einer
Beziehung setzen kann und natuerlich die erweiterterten Triggermodis
eines Oszis oder die Mathefunktion. (Integration ueber bestimmte
Bereiche ist sehr aufschlussreich)
Olaf
U. M. schrieb:> Die Varianz der Messung mit angenommener Auflösung von 0,1uA bis 100A> ist> 1: 10^9. Das ist ohne eine zweckmäßige Umschaltung der Meßshunts mit> keinem Messverstärker und keinem ADC der Welt praktisch lösbar.
Bei 100A braucht man keinen Shunt. Mit einem soliden, aktiv parallel
geschalteten FET kommt man in den Bereich weniger mΩ, bevor es einem
Shunt oder irgendeiner Spannungsabfallbegrenzungsdiode zu warm wird. Den
Strom kann man dann über das erzeugte Magnetfeld per Hallsensor messen.
> Den Strom kann man dann über das erzeugte Magnetfeld per> Hallsensor messen.
Was denkst du denn was du damit fuer eine Bandbreite und Rauschabstand
hinbekommen wirst?
Ich denke allerdings das man 100A nicht brauchen wird. Es geht ja hier
um dicke FPGAs oder aehnliches. Also wohl auch um Betriebsspannungen in
der Gegend von 1V. Da kann man sich keine grossen Spannungsabfaelle
leisten und da kann man in der Schaltung auch nicht mal eben einen
0603er abloeten um seine Messkabel da anzuloeten. Vermutlich faehrt man
da besser wenn man vor dem POL-Konverter misst. Oder ich wuerde da
meinen i-prober auf die Leiterbahn halten.
Olaf
Olaf schrieb:> Was denkst du denn was du damit fuer eine Bandbreite und Rauschabstand> hinbekommen wirst?
Na so um die 80kHz Bandbreite bei einem Sensor für 30A mit 0.1A Rauschen
wären übliche Daten, wie du sie z.B. für den ACS712 findest.
Da ist bandbreitenmäßig noch deutlich Luft zu Gunsten des SNR.
Hallo Zusammen,
gibt es hier jemanden, der im professionellen Umfeld schon mal eine
Messschaltung für 5V @ 200A bei 10kHz Bandbreite und mindestens 5..6
gültigen Ziffern gebaut hat?
25A haben wir mit besseren Eckdaten am Laufen.
Kontakt gerne auch per PN.
Danke,
marcus
Wolfgang schrieb:> Olaf schrieb:>> Was denkst du denn was du damit fuer eine Bandbreite und Rauschabstand>> hinbekommen wirst?>> Na so um die 80kHz Bandbreite bei einem Sensor für 30A mit 0.1A Rauschen> wären übliche Daten, wie du sie z.B. für den ACS712 findest.> Da ist bandbreitenmäßig noch deutlich Luft zu Gunsten des SNR.
Bei den Angaben hat Allegro allerdings schon die Bandbreite reduziert.
Nach DB Angabe mit CF=47nF und 2Khz BW
> Bei den Angaben hat Allegro allerdings schon die Bandbreite reduziert.> Nach DB Angabe mit CF=47nF und 2Khz BW
Das ist dann aber zuwenig. Fuer solche Anwendungen sollte man schon so
100khz haben, 1Mhz waer genial.
Olaf
Olaf schrieb:> Ich denke das die Moeglichkeit kleine Stroeme mit einer hohen Dynamik> und einer gewissen Bandbreite und potentialfrei mit einem fertigen> kaufbaren Geraet zu messen, ein Beduerfniss ist das immer mehr> Entwickler haben. Wenn man Schaltungen und Software entwickelt die> stromsparend sein soll dann ist das IMHO absolut unverzichtbar.> Deswegen finde ich es schon interessant das es da noch nichts von den> ueblichen verdaechtigen (Agilent, Tek, R&S, ChinaKrempel) gibt. Ich> koennte meinen Chef sicher problemlos ueberzeugen ein paar Tausend Euro> fuer einen entsprechenden Tastkopf auszugeben. Aber wenn es nur Teile> gibt wo 1mA bereits eine 1cm breite Rauschlinie ist dann ist das> unbrauchbar.
Gibt es doch schon seit sicher 10 Jahren.
Schau dir mal die Keithley SMUs an, oder die besseren
Labornetzteile von Agilent/Keysight.
> Schau dir mal die Keithley SMUs an, oder die besseren> Labornetzteile von Agilent/Keysight.
Wie soll dir das helfen wenn du in einer vorhandenen komplexen Schaltung
an einer Stelle den Strom messen willst?
Olaf
> Keysight CX3300
Sieht super aus, kannte ich noch gar nicht. Aber....
> Keysight's new CX3300 Series Device Current Waveform Analyzer is available> now. The mainframe price starts at $33,000 for the 2-channel model and> $41,000 for the 4-channel model, with current sensors ranging from $4,800> to $6,900.
...da ist selber bauen dann wohl doch die bessere Loesung. :-)
Olaf