Forum: Mikrocontroller und Digitale Elektronik Vorgehensweise der A/D-Abtastung


von Owen S. (senmeis)


Lesenswert?

Servus,

Man will einen Tiefpass in den A/D-Wandler vom Mikrocontroller 
einsetzen. Die Grenzfrequenz ist 500Hz. Ich kann mir zwei Varianten 
vorstellen.

1. 1ms-Timer-Interrupt verwenden. D.h. A/D-Wandlung alle 1ms aufrufen, 
was sich nach der Nyquist-Theorie automatisch 500Hz Tiefpass ergibt.

2. A/D-Wandlung mit A/D-Interrupt direkt nacheinander aufrufen und 
komplexen Filterung-Algorithmus einsetzen, z.B. exponentielle Filterung.
Welche ist besser?

MfG
Senmeis

von Matthias L. (Gast)


Lesenswert?

>was sich nach der Nyquist-Theorie automatisch 500Hz Tiefpass ergibt.

Nein. Nach Nyquist ergibt das eine maximale Signalfrequenz von <500Hz, 
die im abgetasteten Signal noch sicher rekonstrierbar ist!

Und das auch nur unter der Bedingung, dass das Nutzsignal am AD-Eingang 
NUR Nutzfrequenzen <500Hz hat. (Stichwort: Aliasing)

Also immer: Signal => Tiefpass => AD

von Owen S. (senmeis)


Lesenswert?

Ich verstehe. Variante 1 stellt keine Filterung dar! Die jetzige Frage 
ist, wie oft A/D-Wandlungen ausgeführt werden sollen? Bei Variante 2 
wird der Mikrocontroller stets vom A/D-Wanlder belastet. Ist es eine 
gute Idee, A/D-Wandlungen jeweils in einem bestimmten Zeitabstand 
aufzurufen, sagen wir alle 1ms?

MfG
Senmeis

von Purzel H. (hacky)


Lesenswert?

Der AD Wandler filtert nicht. man bekommt nur eine Nullstelle bei der 
Abtastfrequenz. Sonst nichts. Was soll denn gemessen werden ?

von Purzel H. (hacky)


Lesenswert?

Falls das eingangssignal sowieso Bandbreitenbegrenzt ist, aber etwas 
Rauschen drauf hat, dann nimmt man die exponentielle filterung. Als 
komplex sollte man den Vorgang aber nicht bezeichen, Schieben und 
Addieren.

von Wolfgang M. (womai)


Lesenswert?

Wie schon von Matthias oben erwaehnt - filtern musst Du das analoge 
Signal VOR dem A/D-Wandler. Ansonsten kann immer Aliasing auftreten, 
ganz egal wie schnell du digitalisierst (zumindest so weit, bis die 
Analogbandbreite des A/D selber als Tiefpass wirkt, aber das sind selbst 
bei billigen PICs so 50 - 100 kHz). Wenn Du mal ein Alias-Signal hast, 
helfen Dir alle digitalen (DSP) Tricks nicht mehr weiter. Insgesamt also 
- einen ANALOGEN 500-Hz-Tiefpass vorschalten. Bei der Frequenz noch 
leicht mit Op-Amps, Kondensatoren und Widerstaenden zu realisieren. 
Microchip hat sogar einen Gratis-Filterdesigner im Netz, der den 
kompletten Schaltplan ausspuckt.

Wolfgang

von Pepe (Gast)


Lesenswert?

Welchen Prozessor verwendest Du ?
Beim ATMega z.B. läuft die Wandlung unabhängig vom Prozessor.
Also hats du als einzige Belastung das Holen des aktuellen Wertes
und das Anstossen der nächsten Wandlung.

von Owen S. (senmeis)


Lesenswert?

Trotzdem soll die Abtastfrequenz festgelegt werden, nicht wahr? Oder 
lässt man die Abtastfrequenz vom A/D-Wandler selber bestimmen, indem der 
A/D-Interrupt eingesetzt wird?

MfG
Senmeis

von Matthias L. (Gast)


Lesenswert?

> Trotzdem soll die Abtastfrequenz festgelegt werden, nicht wahr? Oder
> lässt man die Abtastfrequenz vom A/D-Wandler selber bestimmen,

Die Abtastfrequenz muss zu deinem Signal und dem was du damit machen 
willst, passend festgelegt sein. Von Dir und nicht vom Wandler.


>indem der > A/D-Interrupt eingesetzt wird?

Das sowieso. Oder willst du das Flag dauernd pollen?

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.