www.mikrocontroller.net

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


Autor: Owen Senmeis (senmeis)
Datum:

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

Autor: Matthias Lipinsky (lippy)
Datum:

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

Autor: Owen Senmeis (senmeis)
Datum:

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

Autor: Zwölf Mal Acht (hacky)
Datum:

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

Autor: Zwölf Mal Acht (hacky)
Datum:

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

Autor: Wolfgang M. (womai)
Datum:

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

Autor: Pepe (Gast)
Datum:

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

Autor: Owen Senmeis (senmeis)
Datum:

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

Autor: Matthias Lipinsky (lippy)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.