Digitales Filter für PIC18F-ADC

Gast #390419
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?
#390420
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren