Archiv verlassen und diese Seite im Standarddesign anzeigen : DMS schlechtes Signal, Rauschen
Hallo,
ich lese mit meiner Steuerung ein Signal von einem DMS ein. Der A/D Wandler arbeitet mit einem Takt von 400µs.
Das Ergebnis ist mit einem sehr starken Rauschen beaufschlagt.
Kann ich man das Signal eventuell mit einem Tiefpass filtern?
Besserwessi
16.08.2011, 21:58
Ein Tiefpass könnte wirklich helfen, denn mit 400 µs ist der Wandler wohl deutlich schneller als der DMS. Das mindeste wäre ein Anti-aliasing Filter, also eine Grenzfrequenz von rund 1 kHz. Je nachdem wie schnell sich das Signal ändert auch deutlich darunter.
Zusätzlich könnte es helfen den AD mehrfach (z.B. 4 mal) auslesen und so durch Oversampling auch das Rauschen des ADs zu reduzieren, und ggf. die Auslegung des Filters zu vereinfachen.
Der Filter kann nur eine zu hohe Bandbreite reduzieren und so den Teil des Rauschens der noch ankommt. Das Rauschen selber reduziert man besser an der Quelle oder dem Verstärker.
hallo,
manche (sar-) adc's "hacken" recht heftig auf der referenzspannung herum, diese sollte (auch bei interner referenz) immer mit einem guten c unmittelbar
am adc-pin gegen eine "saubere" masse geblockt werden (tantal-c + keramik 100nF).
gruss
achim
Hallo,
interessant wäre noch die verlangte Auflösung und die Taktfrequenz des AD-Wandlers.
Ein AD-Wandler darf auch nicht zu schnell laufen (außerhalb Spezifikation), das kann sonst
große Messfehler verursachen (Bsp: Atmega32, ADC@1Mhz: 3 LSB Fehler).
Wichtig wäre auch noch Sensorimpedanz, Aquisition Time/Sample-and-Hold-Zeit des ADC.
Um die Ursache einzugrenzen, kannst du schon mal die Spannung am Sensor mit einem
Oszilloskop messen. Wenn die Spannung "sauber" sein sollte, ist der Fehler eher bei der
Signalverarbeitung zu suchen.
Außerdem kann auch eine ungünstige Masseführung zu Störungen führen. Hängen noch
irgendwelche größeren Verbraucher (Motoren etc.) an der Versorgungsspannung?
Grüße,
Bernhard
Ich habe ein gekauftes System. Also ein DMS Auswertemodul das vergossen ist und über Bus an eine Steuerung angebunden ist die ich programmiere.
Es sind keine größeren Verbraucher in der Versorgungsspannung.
Ich habe in diesem Zusammenhang des öfteren von einem 5Hz - 400Hz Filter gelesen, wäre das ein Tiefpassfilter?
Kennt ihr Quellen wo es C/C++ Sourcecodes zu z.B. einem Tiefpassfilter gibt?
Besserwessi
17.08.2011, 21:20
Um den passenden Filter zu finden müsste man schon wissen was für ein Signal interessiert, was das für ein AD wandler ist (was sind die 400 µs ?), und wie groß etwas die jetzigen Störungen sind. Ein Tiefpass hat 1 Grenzfrequenz - der 5-400 Hz Filter wäre also wohl kein Tiefopass, sondern eher ein Bandpass oder ggf. eine Bandsperre.
Der Filter wird ggf. 2 Stufig sein: ein Filter in Hardware, wenigstens um die Frequenzen jenseits der Nyquistgrenze (1/2 Abtastrate) zu unterdrücken und dann vermutlich noch ein Digitaler Filter dazu.
Eine Softwarelösung wäre z.B. http://www.rn-wissen.de/index.php/Gleitender_Mittelwert_in_C
Prinzip ist dabei stets, den Durchschnitt von mehreren Messungen zu bilden und somit das Rauschen
rechnerisch zu reduzieren.
Um den passenden Filter zu finden müsste man schon wissen was für ein Signal interessiert, was das für ein AD wandler ist (was sind die 400 µs ?), und wie groß etwas die jetzigen Störungen sind. Ein Tiefpass hat 1 Grenzfrequenz - der 5-400 Hz Filter wäre also wohl kein Tiefopass, sondern eher ein Bandpass oder ggf. eine Bandsperre.
Ich lese also 400µS das Signal aus. Ich meinte mit dem 5-400Hz, dass der Filter einstellbar von 5-400Hz ist, also nur eine Grenzfrequenz.
Aber wie kann ich jetzt einen einstellbaren Tiefpass implementieren?
hallo,
probier doch erstmal, ob ein Tiefpass am Eingang überhaupt eine Verbesserung bringt. Ein RC-Glied 47Ohm/33nF hat etwa 100Hz Grenzfrequenz.
Durch den niedrigen R-Wert kann man das zum Probieren auch mal schnell ohne Buffer vor den ADC schalten.
Gruss
Achim
hallo,
probier doch erstmal, ob ein Tiefpass am Eingang überhaupt eine Verbesserung bringt. Ein RC-Glied 47Ohm/33nF hat etwa 100Hz Grenzfrequenz.
Durch den niedrigen R-Wert kann man das zum Probieren auch mal schnell ohne Buffer vor den ADC schalten.
Gruss
Achim
Mir geht es hier um einen digitalen Filter...
hallo,
ich würde die Mittel, um das Rauschen zu bekämpfen, erst dann festlegen, wenn die Ursachen dafür genau bekannt sind.
Mit einem einfachen RC-Filter kann man erst mal sehen, ob es sich überhaupt um "höherfrequentes" Rauschen handelt, bevor
man sich die Mühe macht digitale Filter einzurichten.
Bei einer völlig asynchronen Messung würde zum Beispiel auch ein 50/100Hz-Störsignal wie Rauschen aussehen (Lässt sich
aber relativ leicht ausschliessen, einfach mal 2 Messungen im Abstand von 10 bzw. 5 ms mitteln).
mfg
Achim
Besserwessi
21.08.2011, 12:07
Ein einfacher digitaler Tiefpass ist ein gleitendes Mittel. Sonst die digitale Nachbildung eines RC Gliedes:
y = ((N-1)* Y(alt) + ADC) / N
Wobei N eine zahl (z.B: 127) ist, die die Grenzfrequenz festlegt. ADC ist der Wert vom ADC und Y bzw. Y(alt) sind die Ausgabewerte und der alte Ausgabewert.
@seite5: der RC Filter mit 47 Ohm und 33 nF gibt eher 100 kHz Grenzfrequenz. Für 100 Hz müßte man schon eher 4,7 K und 330 nF nehmen.
Danke für die Formel.
Ich habe mittlerweile auch eine Aufzeichnung von dem Signal gemacht...
19742
hallo,
Besserwessi: stimmt natürlich - hab ich wohl dir mühs und nanos mitander verwurschtelt. Ändert nichts an der Grundaussage: Medizin hilft nur, wenn ich vorher
die Krankheit richtig diagnostiziere.
jojo45: Ein Bild mit weniger Werten pro Zeiteinheit wäre gut, oder eine Wertetabelle.
mfg
Achim
Besserwessi
22.08.2011, 17:46
Das "Rauschen" sieht nicht so sehr nach Rauschen aus, sondern mehr nach Störungen. Die meisten Ausreißer gehen nach oben, und de haben auch alle eine ähnliche Größe. Da sollte man besser erst die Störungen an der Quelle beseitigen und erst dann ggf. Filtern. Nach einem Filter kann man die Störungen nur noch leichter mit Rauschen verwechseln. Beim Bild würde ein kleinerer Ausschnitt von etwa 1/10 der Zeit und mit vollständiger Achsenbeschriftung mehr helfen.
Hallo.
Ich habe jetzt die Daten als Wertetabelle im CSV Format angehängt und nochmal ein Screenshot.
19754
Hallo,
hab mir die Daten mal zurechtgestutzt und durch eine FFT "gejagt", keine Auffälligkeit gefunden.
Mein Programm zeigt mir eine Differenz Max-Min von 159018 an, was ist das für ein AD-Wandler (18Bit?),
oder sind die Daten schon "nachbehandelt" ? Wenn ja - wie ?
mfg
Achim
Hallo,
hab mir die Daten mal zurechtgestutzt und durch eine FFT "gejagt", keine Auffälligkeit gefunden.
Mein Programm zeigt mir eine Differenz Max-Min von 159018 an, was ist das für ein AD-Wandler (18Bit?),
oder sind die Daten schon "nachbehandelt" ? Wenn ja - wie ?
mfg
Achim
Das Signal ist Softwaretechnisch nicht behandelt, das ist das Rohsignal. Es ist eine 24Bit Auflösung.
Jedoch ist folgender Filter im Modul integriert:
Eingangsfilter
Eckfrequenz 5 kHz
Ordnung 3
Steilheit 60 dB
Filtercharakteristik ADC Sigma-Delta
Kann es sein das der Mess Eingang einfach zu hochohmig ist und sich jede menge "Dreck" einfängt? Ein Simpler DMS sollte doch ein etwas "ruhigeres" Signal liefern. Kann man da nicht eine Impedanz Anpassung versuchen?
Gruß Richard
Besserwessi
23.08.2011, 17:50
Ein DMS liefert normalerweise ein eher kleines Signal. Da wird man selten mehr als 10 mV bekommen, und muss entsprechend verstärken. Ganz ohne rauschen geht das nicht, so dass man danach wohl kaum noch ein 24 Bit Wandler braucht. Als Größenordnung wird man vermutlich 5 nV/ sqrt(Hz) haben,oder bei 5 kHz Bandbreite ca. 350 nV. Bei 10 mV Vollausschlag kann man da gerade man noch 15 Bit Auflösung verlangen. Je nach Verstärker kann es vor allem bei kleinen Frequenzen auch noch viel schlechter werden, wegen 1/f Rauchen, bzw. durch das höhere Rauschen der Chopper Verstärker (mehr so 100 nV /Sqrt(Hz). Damit wären dann noch rund 11 Bit über.
Danke für die Antworten. Aber was sagt mir das jetzt?
Besserwessi
23.08.2011, 18:51
Man sollte erst mal klären wie viel die einzelnen Teile selber rauschen. Also z.B. eine Messung mit kurzgeschlossenem Eingang der AD Wandlerkarte. Schon da ist nicht zu erwarten, dass die 24 Bit wirklich alle signifikant sind. Das Rauschen wird vermutlich schon deutlich größer sein. Als Nächstes wäre der DMS-verstärker dran. Da kann man z.B. die beiden Eingänge an einen Zweig der Brücke hängen (man sollte also 0 rausbekommen).
Ein gewisses Rauschen (so um +-1000 Digits) ist für diese Anwendung ganz normal und fast nicht zu vermeiden. Je nachdem wie die Verstärkung gelöst ist, kann das "normale" Rauschen auch deutlich größer ein. Ein bisschen sieht das aus nach eingekoppelten Störpulsen und 1/f rauschen. Um das zu beurteilen müsste man schon mehr über den DMS und den Verstärker wissen. Es fehlt auch immer noch eine Vollständige Skalierung der AD werte, also welcher Spannung am DMS entspricht 1 Digit.
Wegen der steilen Ausreißer nach oben hat man hier vermutlich noch irgendeine Störquelle mit drin. Da könnte z.B. das Netzteil, der PC oder auch was mechanisches sein. Die Störquelle sollte man auch finden, bevor man anfängt da was zu Filtern.
Ein DMS liefert normalerweise ein eher kleines Signal. Da wird man selten mehr als 10 mV bekommen, und muss entsprechend verstärken.
Stimmt und genau aus diesem Grund werden DMS überwiegend in Brückenschaltung verwendet, da fällt schon einmal der ganze "Dreck" von der Versorgung weg. :-)
http://www.me-systeme.de/dehnungsmessstreifen/dms-grundlagen/dms-bridge.html
Gruß Richard
021aet04
24.08.2011, 11:55
Vielleicht hilft dir das IC bei der Auswertung http://www.ti.com/lit/ds/symlink/tpic83000-q1.pdf oder diesen http://www.ti.com/lit/ds/sbos292c/sbos292c.pdf
Die bekommst die auch als Samples.
Vielleicht hilft dir das weiter.
MfG Hannes
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.