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


von Werner Sperandio (Gast)


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?

von Detlef _. (detlef_a)


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

von Dr. Know (Gast)


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.

von bon (Gast)


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.

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.