Hi
ich hoffe ihr könnt mir helfen.
Ich habe 2 Lasersensoren (Triangulationsverfahren), welche 2 Abstände
messen und als Analogsignal (0-10V) ausgeben.
Das Problem dabei ist, dass wenn der Abstand absolut gleich bleibt
(schwarzes Signal Anfang und Ende), ist ein störendes Rauschen
vorhanden. (Welligkeit von ca. 50mV)
Problemursachen, die ausgeschlossen werden können, sind induktive
Kopplung, galvanische Kopplung und Lufteinkopplung, da ich den Sensor im
Schaltschrank und auch alleine betrieben habe. Das Ergebnis sieht gleich
aus.
Ein weiteres Problem, welches ich mir vorstellen könnte, ist die
unkonstante Spannungsquelle (Schaltnetzteil - Welligkeit 50mV). Da ich
den Sensor jedoch an einem normalen Netzteil schon laufen ließ, konnte
ich das auch ausschließen. Auch ein dazwischen geschaltener
Glättungskondensator hat keine Abhilfe gebracht
Nun ist meine Frage, wo sonst das Problem liegen kann.
Denn mein Sensor besitzt eine Genauigkeit von 0,15%, was ca. 1 mV
entspricht.
Und wenn es dafür keine Erklärung gibt, kommt die Frage auf, wie ich das
wegfiltern kann. Ich habe mir ein normales RC-Glied überlegt.
(Grenzfrequenz 5 Hz), jedoch brachte das auch nichts.
Übrigens: Aufgenommen wurden die Signale von einem Datenlogger
(Easylogger, falls den wer kennt). Den konnte ich als Fehlerquelle auch
ausschließen, da ich das Signal auch am Oszi angeschaut habe, und ein
gleiches Verhalten eingestellt hat.
Hoffe auf Hilfe.
mfg
Matthias P.
also unten sind die Sekunden eingezeichnet.
Somit wärs eine Periodendauer von 20ms
also 50Hz ... nur weiß ich wirklich nicht woher die kommen sollten.
und was könnte ich dagegen tun? Schirmen?
mfg
Matthias P.
Matthias P schrieb:> Ich habe 2 Lasersensoren (Triangulationsverfahren)
Klingt interessant, Mathias,
wenn handelsüblicher Typ, bitte ein Link auf das Datenblatt.
Ciao
Wolfgang Horn
Matthias P schrieb:> Ich habe mir ein normales RC-Glied überlegt.> (Grenzfrequenz 5 Hz), jedoch brachte das auch nichts.
Was heißt "das brachte auch nichts"? Ein 5 Hz Tiefpaß muß ein 50 Hz
Signal abschwächen, sonst war es kein 5 Hz Tiefpaß. Mit einem Tiefpaß
höherer Ordnung und niedrigerer Grenzfrequenz muß sich das Signal auf
jeden Fall unterdrücken lassen, falls es wirklich von deinem Sensor
kommt und nicht irgendwo auf dem Weg zu deiner Aufzeichnung einstreut.
Matthias P schrieb:> Denn mein Sensor besitzt eine Genauigkeit von 0,15%, was ca. 1 mV> entspricht.
Im Datenblatt steht 0,15% als Angabe für die Linearität. Verwechselst du
da nicht etwas?
aso ... ja hab ich verwechselt ^^
ich meinte die Auflösung ... die is ungefähr bei 50µm. Das entspricht
dann 0,01666%
Aber da ich gerade ein paar Versuche mit dem Datenlogger gemacht habe,
bin ich auf etwas draufgekommen.
Selbst ein geeichtes Gerät (auf mV) und eine Batter erzeugen ein
Rauschen von 50mV im Gerät.
Da wird wohl der Datenlogger schuld dran sein.
Kennt wer geeignete Geräte für meine Anwendung?
mfg
Matthias P.
Matthias P. schrieb:> Selbst ein geeichtes Gerät (auf mV) und eine Batter erzeugen ein> Rauschen von 50mV im Gerät.> Da wird wohl der Datenlogger schuld dran sein.
Was war dann das:
Matthias P schrieb:> Übrigens: Aufgenommen wurden die Signale von einem Datenlogger> (Easylogger, falls den wer kennt). Den konnte ich als Fehlerquelle auch> ausschließen, da ich das Signal auch am Oszi angeschaut habe, und ein> gleiches Verhalten eingestellt hat.
Oder hast du mit dem Oszi gemessen, während auch der Datenlogger ange-
schlossen war?
> Kennt wer geeignete Geräte für meine Anwendung?
Vielleicht brauchst du gar kein anderes Gerät. Wenn die Störung wirklich
aus dem Datenlogger kommt, müsste ihre Frequenz immer die gleiche sein.
Dann kann das Signal auch softwaremäßig mit gleitender Mittelung heraus-
gefiltert werden.
http://de.wikipedia.org/wiki/Gleitender_Mittelwert#Einfacher_gleitender_Mittelwert
Entspricht das Zeitintervall, über das gemittelt wird, exakt der Perio-
dendauer der Störung, wird diese theoretisch komplett beseitigt.
Deinem vergößerten Screenshot ist zu entnehmen, dass die Störfrequenz
ziemlich genau bei 60Hz liegt. Da die Abtastfrequenz 1kHz beträgt,
müsstest du idealerweise über jeweils 16⅔ Werte mitteln. Da das nicht
geht, behilft man sich damit, dass man für die Mittelung jeweils 16
Werte mit dem Gewicht 1 und einen 17. Wert mit dem Gewicht ⅔ versieht.
Das folgende Programm tut genau dies, wobei immer der älteste der letz-
ten 17 Messwerte geringer, nämlich W_OLDEST=⅔ gewichtet wird:
1
#include<stdio.h>
2
3
// Abtastfrequenz
4
#define F_SAMPLE 1000
5
6
// Störfrequenz
7
#define F_NOISE 60
8
9
// Das Verhältnis zwischen beiden
10
#define RATIO ((double)F_SAMPLE / F_NOISE)
11
12
// Puffergröße: nächstgrößere ganze Zahl
13
#define N ((F_SAMPLE-1) / F_NOISE + 1)
14
15
// Gewichtungsfaktor für das jeweils älteste Element im Puffer
Das Bild im Anhang zeigt das Ergebnis: Das gefilterte Signal (blau) ent-
hält zwar noch minimales Rauschen, der 60Hz-Anteil ist aber nicht mehr
zu erkennen. Durch Ändern der Parameter F_SAMPLE und F_NOISE kannst du
das Programm auch an andere Gegebenheiten anpassen.
Wie bei jedem Tiefpassfilter wird auch hier das Signal zeitlich verzö-
gert. Aber während ein RC-Tiefpass theoretisch unendlich lange braucht,
um einem Sprung des Eingangssignals zu folgen, geschieht dies bei der
gleitenden Mittelung in konstanter Zeit, in diesem Fall in 17 Abtast-
zyklen. Da die Pufferwerte im Programm mit 0 initialisiert werden,
dauert es deswegen etwa 17ms bis ein konstanter Mittelwert von etwa 13
erreicht wird.
Zum Vergleich ist im Diagramm noch das Ergebnis eines RC-Tiefpasses 1.
Ordnung mit einer Grenzfrequenz von 10Hz eingetragen (grün). Obwohl er
deutlich länger braucht, um den Zielwert zu erreichen, sind noch Reste
der 60Hz-Störung erkennbar.