Hallo,
I am looking for a circuit that forms the average of a current over a
given time (like as long as someone presses a push-button). Does anyone
knows such a circuit? Please tell me the advantages and disadvantages,
too.
The reason why I am asking is because I have to develop a device that
can measure a very low current and therefore it needs a very small
resolution (0,001uA) but also has got a wide measuring range (10uA) -
actually it should be able to measure up to 100mA but I divided the
range in smaller pieces.
Usually I could choose a clock-frequency for the uC independently from
the resolution of the ADC but building a average joins these two
separate aspects together. So, I am now thinking about using a ADC with
a very high resolution, which means that I can do all the calculating
within the uC, or building the average analog and using a ADC with a
ordinary resolution of (10 or 12bit).
Of course I have considered the solution to integrate first and then
diving within a uC-program. But as I have to develop this device for my
thesis I want to know something about every of the three solutions. And
thats why I am especially asking now for the complete analog solution.
Many thanks in advance!
Gabriel
Ok, und hier noch einmal in Deutsch:
------------------------------------------------------------------------
-
Ich suche nach einer Schaltung die den Mittelwert eines Stromes über
eine bestimmte Zeit bildet. Bsp: Für die Dauer eines Tastendruckes wird
der Mittelwert des Stromes in einem einzelnen Kabel gebildet.
Es würden mich natürlich auch die Vor- und Nachteile der Schaltung
interessieren.
Warum ich frage: Ich soll ein Gerät entwickeln das sehr geringe Ströme
messen kann. Dazu benötigt es eine sehr geringe Auflösung (0,001uA).
Leider soll das Gerät gleichzeitig über einen relativ großen Messbereich
verfügen (10uA). - Tatsächlich verfügt es noch über einen größeren
Messbereich (bis 100mA) den ich bereits in Abschnitte aufgeteilt habe.
Das Gerät benötigt auch einen Mikrocontroller, dem dieser Mittelwert
über einen Analogen Eingang zugeführt werden soll. Gewöhnlich könnte man
die Auflösung des ADC und den Takt des Mikrocontrollers getrennt
festlegen. Doch da der Mittelwert beides miteinander verbindet muß ich
mir nun überlegen ob ich mich für eine analoge Mittelwertbildung (hohe
zeitliche Auflösung) mit einem gewöhnlichen ADC (10 oder 12Bit) oder für
eine Berechnung im uC (geringere zeitliche Auflösung) mit einem ADC sehr
hoher Auflösung entscheide.
Natürlich ist mir auch die Möglichkeit bekannt, den Strom einfach nur
analog aufzuintegrieren und dann das Teilen dem Mikrocontroller zu
überlassen.
Ich würde aber gerne etwas über alle drei Lösungen wissen. Und in diesem
Fall ist es die komplett analoge Lösung, die mich interessiert.
Vielen Dank im Vorraus!
Ich wage zu behaupten, dass ein 12 Bit ADC nicht reicht.
Eine Auflösung von 0.001 uA bei max. 100 mA Messbereich entspricht einer
Dynamik von ca. 160 dB, in Bits ausgedrückt sind das mindestens 26 oder
27 Bit.
Tobias Plüss schrieb:> Ich wage zu behaupten, dass ein 12 Bit ADC nicht reicht.
Stimmt.
> Eine Auflösung von 0.001 uA bei max. 100 mA Messbereich entspricht einer> Dynamik von ca. 160 dB, in Bits ausgedrückt sind das mindestens 26 oder> 27 Bit.
Aus diesem Grund habe ich ja den Gesamtbereich (0,001 uA ... 100mA) in
mehrere kleine Bereiche (mit je 1:10000, d.h. je 14Bit) geteilt.
-----------------------
Es geht mir hier auch nicht um den Mikrocontroller oder ADC, sondern um
eine prinzipielle analoge Schaltung, die mir eine Mittelwertbildung
ermöglicht.
Ein Buchtitel, Link oder dgl. würde mir auch schon reichen.
Selbstverständlich muss ich mich dann noch mit dem Rauschen
beschäftigen. Doch wenn mir von Euch keiner eine Komplettlösung liefert
- wovon ich nicht ausgehe - würde ich sagen, daß wir das bei diesem
Beitrag erst einmal ausklammern.
Eine solche analoge Schaltung lässt sich aus einem R und C bauen.
Allerdings ist die Zeit, über die diese Schaltung den Mittelwert bildet,
fix und lässt sich nicht einstellen. Es sei denn, du verwendest ein
Poti.
Am einfachsten wäre es, das Signal direkt mit dem Mikrocontroller zu
messen, und dann in Software den Mittelwert zu bilden. Du willst ja über
die Dauer eines Tastendrucks den Mittelwert bilden. Also müsste man
irgend eine Schaltung erfinden, die das Signal über die Dauer dieses
Tastendrucks integriert, und nachher durch die Zeit, wie lange der
Tastendruck dauerte, teilt (oder so ähnlich).
In Hardware geht sowas IMO nicht, denn das RC-Glied bildet den
Mittelwert immer über eine Feste Zeit, nämlich R * C.
Tobias Plüss schrieb:> Eine solche analoge Schaltung lässt sich aus einem R und C bauen.> Allerdings ist die Zeit, über die diese Schaltung den Mittelwert bildet,> fix und lässt sich nicht einstellen. Es sei denn, du verwendest ein> Poti.
Warum möchtest Du einen Poti verwenden und keinen Schalter?
Vielen Dank schonmal für die Antwort!
Noch ein Gedanke:
Wäre denn die Komlett-Analog-Version mit dem Tiefpass und einem normalen
ADC nicht bzgl. des Rauschens das einfacher zu überschauende System, als
eine Integrator-OP-Schaltung vor einem (ebensolchen) normalen ADC?
Rauschvermeidung an einem Tiefpass sollte doch eigentlich eine
Standardfrage in der Elektrotechnik sein. - Hmm, oder vermutlich wieder
so einfach, daß es leichter ist etwas über Rauschvermeidung an einem OP
zu finden.
-------------
Ich glaube jetzt, da ich weiß daß ich einen Tiefpass brauche, wäre ich
glücklicher über Eure vergleichende Meinungen zu den 3 beschriebenen
Lösungsmöglichkeiten bzgl. dem Rauschen:
- Strom über 10Ohm-Widerstand direkt mit ADC sehr hoher Auflösung
gemessen.
- ADC niedrigerer Auflösung und Integrator (Teilen per uC)
- ADC niedrigerer Auflösung und Tiefpass (Mittelwertbildung schon vor
dem uC)
-------------
Anmerkung:
Ich denke die Temperaturkompensation kann man vielleicht erst einmal
beiseite lassen. Das Gerät ist sehr klein und benötigt nicht einmal
Kühlung. Der Temperatureinfluß kommt also zum geringsten Teil von der
Schaltung selbst, sondern haupsächlich durch Raumtemperaturunterschiede
(Büro ohne Klimaanlage).
Drift? Nun vielleicht kann man den auch vernachlässigen, zumindest
vielleicht bei der Tiefpassvariante (da kein zusätzlicher Halbleiter).
Das Gerät wird nicht im Dauereinsatz betrieben sondern befindet sich die
längste Zeit im Schrank und wird dann ab und zu mal rausgeholt oder
vielleicht auch einmal über mehrere Tage oder maximal Wochen tagsüber
benützt. - Andererseits sollte natürlich ein Messgerät über viele Jahre
relativ ähnliche Messergebnisse liefern können. Es geht hier jedoch mehr
darum momentane Unterschiede (vmtl. nur) einmal an einem System zu
messen, als darum Unterschiede an diesem System über Jahre zu
vergleichen. Zum Vergleich verschiedener Systeme könnte man diese ja
kurz hintereinander messen, so daß der Drift beim Vergleich kaum eine
Rolle spielt.
Bitte korrigiert mich, wenn ich falsch liege! Bin über Eure Tipps
gespannt
@Walter,
Naja, wenn du einen RC-Tiefpass baust, dann ist die Zeit, über die
dieser den Mittelwert bildet, Abhängig vom Produkt R * C. Wenn du für R
einen Festwiderstand und für C einen Festkondensator nimmst, kannst du
ja nicht über beliebige Zeiten den Mittelwert bilden. Wenn man deinen
Schalter einbauen würde anstatt des Widerstands erst recht. Dann hast du
einfach einen Kondensator, welcher sich ein- und ausschalten lässt, was
wohl nicht so ganz das ist, was der Threadersteller wollte.
Das Poti muss sein, um die Zeit festlegen zu können, über die der
Mittelwert gebildet wird. Grosser Widerstand = lange Zeit, kleiner
Widerstand = kurze Zeit.
@Gabriel,
Wie man das genau macht, hängt auch von deinem Signal ab. Ändert es sich
langsam, oder sehr schnell, oder sind da irgendwelche Spikes usw. drauf.
Wenn es sich nur langsam ändert, wäre eine Mittelwertbildung im uC
sicher am einfachsten; das ginge aber nicht, wenn es ein sehr
hochfrequentes Signal ist, denn die Abtastrate des ADC ist ja begrenzt.
Gabriel schrieb:> I am looking for a circuit that forms the average of a current over a>> given time (like as long as someone presses a push-button). Does anyone>> knows such a circuit?
Do a search for: ramp generator.
That's what does the non-digital solution.
> Please tell me the advantages and disadvantages,>> too.
It does work like a charm, but it seems to be old-fashioned.