www.mikrocontroller.net

Forum: Gesperrte Threads to average a current over a given time analog


Autor: Gabriel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

: Verschoben durch Moderator
Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Gabriel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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.

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte keine zwei Threads zum gleichen Thema.

http://embdev.net/topic/187424

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.