www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Digitales Filter für PIC18F-ADC


Autor: Werner Sperandio (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle,

beschäftige mich nun schon länger mit dem digitalen sprich
softwäremäßigen Filtern der/s ADC-Werte/s, die vom integrierten
10-bit-ADC eines PIC18F4550 kommen. Als Entwicklungsumgebung benütze
ich den ICD2 b.z.w. MPLAB C18 als Software.

Der PIC liest die anliegende Spannung von einem Temperatursensor ein
(TMP37 von AD) und zeigt die Spannung auf einem 16x2-Standard-Display
an ("100,0 °C") . Der Wert am Display schwankt aber extrem stark, da
das Analog-Signal etwas verrauscht ist (+/- 4°C). Wahrscheinlich wegen
der Steckplatine.

Habe eine Mittelwertbildung der Samples versucht (doch es braucht
ziemlich viele Samples (30+) um die Störungen effizient zu
unterdrücken, was die Anzeige wiederum ziemlich träge macht.

Habe auch versucht die einzelnen Samples rechnerisch zu wichten (
ad[0]= 0.5*ad[1]+0.25*ad[2]+.....) um ein digitales Tiefpassfilter zu
simulieren.Leider kenn ich mich nicht so gut aus und weiss nicht wie
man gewisse Koefizienten berechnet. Diese Methode funktioniert auch
nicht so gut: sie ist träge und filtert recht schwach. Da die
Temperaturmessung nicht zeitkritisch ist brauche ich keine große
Sampling-Rate, trotzdem sollte das Filter nicht zu träge sein.

Kann mir jemand ein paar Anhaltungspunkte geben?

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn Du soviel Rauschen drauf hast, dann muß du halt warten, um
genauere Ergebnisse zu erzielen, anders geht das nicht. Da hilft auch
kein trickreiches Filter. Anders wäre das, wenn Du etwas über das
Rauschen weißst, zB. daß es einen bestimmten Frequenzgang hat, dann
wäre 'was drin'. Schön auch bei Ausreißern: Medianfilter: n Meßwerte
der Größe nach ordnen und den mittleren nehmen. Lieber mal kucken,
warum das so rauscht.

Cheers
Detlef

Autor: Dr. Know (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuche es einfach mal ein RC Glied mit R = 1K und C =100n.
Der Kondensator sollte möglichst nahe am A/D-Eingang sitzen.

Autor: bon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
hast du den Code vom ganz Anfang noch (Init. des PIC und Einlesen der 
Analogen Spannung und Anzeige auf dem LCD)?
Wäre nett wenn du ihn mal posten würdest!!
Danke schon mal.

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.