Forum: Mikrocontroller und Digitale Elektronik Effektivwert von einem aperiodischem Signal ermitteln..


von Der T. (Gast)


Lesenswert?

Hallo!

Ich habe hier ein aperiodisches Signal (im Prinzip ein Stromwert; 
ermittelt über einen Hallsensor). Das Signal sieht aus wie ein 
NF-Signal. Auch die enthaltenen Frequenzen bewegen sich in diesem 
Bereich.

Nun muß ich daraus im 500ms-Takt einen Strom ermitteln, welcher in 
diesem 500ms-Zeitfenster dem DC-Effektivwert entspricht - Tipps?

MfG,
techniker

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Abtasten, quadrieren, aufsummieren, Wurzel berechnen. Wenn die maximale 
Frequenz im kHz-Bereich liegt sollte das ein AVR gut schaffen.

von Der T. (Gast)


Lesenswert?

d.h. wie folgendes Beispiel?

T=0ms -> Zähler=0

Schleife:
1. Abgetasten: z.B. 500dez
2. Quadrieren: z.B. 500dez*500dez -> 250000
3. Aufsummieren: z.B. Zähler += 250000
Schleife wiederholen bis T=500ms

4. Vom Zähler die Wurzel ziehen -> fertig?!?


Wenn ja, dann wird die Zähler-Variable ja gigantisch gross..?!? :-o
Auch das Wurzel-ziehen wird dann seine Zeit brauchen - oder?

von STK500-Besitzer (Gast)


Lesenswert?

>Wenn ja, dann wird die Zähler-Variable ja gigantisch gross..?!? :-o

Die Zahl wird vermutlich nicht mehr als 8Byte groß sein...

>Auch das Wurzel-ziehen wird dann seine Zeit brauchen - oder?

Klar, ist ja eine Berechnung. Dazu sollte es aber optimierte Algorithmen 
geben...

von Der T. (Gast)


Lesenswert?

..was kommt eigendlich raus wenn ich das Signal durch einen OP, welcher 
als Integrierer arbeitet, durchschicke?

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Wenn du vorher nicht gleichrichtest wohl nur der DC Offset.

von Der T. (Gast)


Lesenswert?

@hauke:
Sorry, natürlich hätte ich vor davor einen elektronischen 
Zweiweggleichrichter (aufgebaut mit OPs) zu verwenden..

von Thilo M. (Gast)


Lesenswert?

>Die Zahl wird vermutlich nicht mehr als 8Byte groß sein...

Wenn du die Variablen von WINAVR verwendest (long int) wird sie maximal 
4 Byte werden können. Was größer ist mußt du selbst basteln.
Bei Berechnung alle 500ms dürfte das Timing kein Problem sein, das geht 
recht fix.

von Thilo M. (Gast)


Lesenswert?

Muss mich korrigieren, long long (uint64) sind ja 8 Byte! ;)

von Der T. (Gast)


Lesenswert?

..interessant wäre hald, was der Integrator nach der elektronischen 
Zweiweggleichrichtung liefert?

Da es keine hochgenaue Messung sein muß, würde ich eine Hardwarelösung 
favoritisieren..

von Simon K. (simon) Benutzerseite


Lesenswert?

Thilo M. wrote:
>>Die Zahl wird vermutlich nicht mehr als 8Byte groß sein...
>
> Wenn du die Variablen von WINAVR verwendest (long int) wird sie maximal
> 4 Byte werden können. Was größer ist mußt du selbst basteln.
> Bei Berechnung alle 500ms dürfte das Timing kein Problem sein, das geht
> recht fix.

uint64_t bzw. unsigned long long sind 64bit bzw. 8byte.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Der Techniker wrote:
> d.h. wie folgendes Beispiel?
>
> T=0ms -> Zähler=0
>
> Schleife:
> 1. Abgetasten: z.B. 500dez
> 2. Quadrieren: z.B. 500dez*500dez -> 250000
> 3. Aufsummieren: z.B. Zähler += 250000
> Schleife wiederholen bis T=500ms

3,5: Zähler durch Anzahl der Werte teilen

> 4. Vom Zähler die Wurzel ziehen -> fertig?!?

Genau. Bei der Abtastung aber aufpassen dass keine höheren 
Frequenzanteile als Abtastfrequenz/2 enthalten sind, also bei Bedarf 
einen Tiefpass einbauen.

> Wenn ja, dann wird die Zähler-Variable ja gigantisch gross..?!? :-o
> Auch das Wurzel-ziehen wird dann seine Zeit brauchen - oder?

Wenn das nur zwei mal pro Sekunde gemacht werden muss sollte das kein 
Problem sein.

> ..was kommt eigendlich raus wenn ich das Signal durch einen OP, welcher
> als Integrierer arbeitet, durchschicke?

Der Mittelwert. Um den Effektivwert zu bekommen musst du vorher 
quadrieren. Man kann das auch analog machen, lohnt sich in dem 
Frequenzbereich heutzutage aber nicht mehr.

von Der T. (Gast)


Lesenswert?

> Man kann das auch analog machen, lohnt sich in dem
> Frequenzbereich heutzutage aber nicht mehr.

Nur der Interesse halber: Wie? :-)

von Simon K. (simon) Benutzerseite


Lesenswert?

http://de.wikipedia.org/wiki/Quadratisches_Mittel

Wenn ich mich nicht irre, heißt diese Art des Mittelwertes auch 
Quadratisches Mittel.

von Der T. (Gast)


Lesenswert?

@Simon:
..ich dachte da eher an die Schaltung, als an die Formel.. ;)

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Der Techniker wrote:
>> Man kann das auch analog machen, lohnt sich in dem
>> Frequenzbereich heutzutage aber nicht mehr.
>
> Nur der Interesse halber: Wie? :-)

Es gibt Analogmultiplizierer als IC, ich glaube die arbeiten intern mit 
dem Logarithmus (x*y = exp(ln(x) + ln(y)). Man kann das so auch mit 
OP-Amps aufbauen. Oder man nimmt etwas mit einer ungefähr quadratischen 
Kennlinie (Diode).

von Helmi (Gast)


Lesenswert?

Der AD636 bildet dir den Effektivwert nach der Formel

http://www.analog.com/en/prod/0,,773_866_AD636,00.html

oder falls du es lieber aus einzelnen Bauteilen haben willst
http://www.national.com/ms/LB/LB-25.pdf

Bedenke bei dieser Schaltung das die Transistoren auf einem gemeinsammen 
Chip sein muessen wegen der Temperatur Drift

Gruss Helmi

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.