PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : merkwürdige Umladekurven in verstärktem PIR Signal



uffi
21.06.2007, 14:55
Hallo Leute,

ich brauche mal Eure Hilfe.

Ich habe einen Bewegungsmelder mit einem pyroelektrischen Infrarot-Sensor (PIR) aufgebaut. So ein PIR besteht aus zwei Infrarot-sensitiven Elementen, die gegenpolig in Serie an das Gate eines FET geschaltet werden. Dadurch wird ein Signal erzeugt, wenn die beiden Elemente unterschiedlicher Infrarotstrahlung ausgesetzt sind.

Aber alles der Reihe nach, zuerst mal die Schaltung:

http://freenet-homepage.de/uffmann/Bilder/Detektor.jpg

Diese Schaltung hängt über ein ca. 1m langes Kabel am Lego Mindstorms NXT Controller, der die 4,3V Versorgung einspeist. Im NXT Controller befindet sich auch der dargestellte 10kOhm Pullup-Widerstand an 5V und der ADC-Pin des AVR-Controllers, über den das Signal dann aufgezeichnet wurde.

Wenn man nun die Hand gleichmäßig von links nach rechts oder umgekehrt über dem Sensor bewegt, oder davor gleichmäßig herumläuft, bekommt man Kurven wie die folgenden:

http://freenet-homepage.de/uffmann/Bilder/Kurve1.jpg

http://freenet-homepage.de/uffmann/Bilder/Kurve2.jpg

Mein Problem ist nun das mit den Pfeilen markierte Störsignal, welches dem verstärkten Nutzsignal überlagert ist. Es sieht vom Verlauf her aus wie eine Art Umladesignal oder Entladesignal mit einer Periode von ca. 2 Sekunden.

Das Störsignal wirkt sich umso stärker aus, je steiler die Flanke des Nutzsignals ist. Ist die Flanke des Nutzsignals nach unten gerichtet, verstärkt die Störung die Flanke nach unten und klingt dann wieder ab. Ist die Flanke des Nutzsignals nach oben gerichtet, verstärkt die Störung die Flanke nach oben und klingt dann wieder ab. Ohne Flanke des Nutzsignals tritt auch kein (meßbares) Störsignal auf.

Ich hatte zuerst den Verdacht, dass dies Störsignal über die Versorgungsspannung 4,3V vom Lego Mindstorms NXT eingespeist wird. Daher hatte ich versucht, die Referenzspannung der 2. OpAmp Stufe kapazitiv mit 200nf und 22µF gegen Masse zu entkoppeln - ohne eine Verbesserung. Ich hatte auch die 4,3 V mal mit 1000µF Elko stabilisiert, ebenfalls ohne Verbesserung.

Dann hatte ich die Vermutung, ein Störsignal könnte über den Signalausgang quasi von hinten über die OpAmp-Gegenkopplungen an die Eingänge der 1. und 2. Stufe gelangen. Daher hatte ich die 2 Spannungsfolgerstufen drangehängt, die ursprünglich nicht in der Schaltung waren - leider auch ohne Verbesserung.

Dann hatte ich meinen WLAN-Router im Verdacht bzw. dessen Beacon-Intervallsignal, welches evtl. vom PIR detektiert werden könnte oder als Störstrahlung auf den empfindlichen OpAmp Eingang aufschaltet. Also WLAN abgeschaltet - leider auch ohne Erfolg.

Dann hatte ich noch die Bluetooth-Verbindung des Lego Mindstorms NXT, des PCs oder meines Handys im Verdacht. Also alles ausgeschaltet, leider war es das auch nicht.

Ich bin nun so ziemlich am Ende meines Lateins - nun brauche ich Eure Hilfe: Wer kann das Rätsel lösen und Licht ins Dunkel bringen?

Ich komme mir im Moment so vor: ](*,)

Danke und Gruß, uffi.

Manf
21.06.2007, 17:28
Es könnte der Anschlag eines Verstärkers sein.
Der Zweite ist es nicht, für den ist ja das Signal gerade in der Mitte wenn das Signal auftritt.
Wie weit ist der Arbeitspunkt des ersten vom Anschlag entfernt und wie weit wird er ausgesteuert?
Oder einfacher wie sieht das Signal am Ausgang des ersten Verstärkers aus?
Manfred

uffi
21.06.2007, 19:07
Danke für die erste Antwort!!!

Die erste Verstärkerstufe arbeitet bei +1V. Das Signal, das vom PIR kommt, liegt bei max 20mV. Bei einer Verstärkung von 47 der ersten Stufe könnte zwar ein Anschlag gerade erreicht werden. Aber dieser Anschlag müßte doch dann im Peak des Nutzsignals auftreten, und nicht irgendwo auf der Flanke, noch dazu mit einer Periode von 2 Sekunden wiederholend.

Daher scheint mir die Hypothese unwahrscheinlich.

Trotzdem nochmal danke!!!

MoeJoeHH
21.06.2007, 19:52
hallo!

ich verstehe nicht ganz, wie das Signal denn überhaupt aussehen soll? Irgendiwe kann ich das Störsignal nicht so richtig identifizieren...

Aber generell: Hast Du vielleicht irgendwelche infrarotstrahler in der Nähe? Raumbeleuchtung etc? Wenn der Sensor auf Menschliche IR-Strahlung reagieren soll, könntest Du auch versuchen ein Filter mit ungefähr 10000nm Mittelfrequenz zu benutzen, ich glaube da liegt die vom Menschen ausgestrahlte IR-Strahlung und handelsübliche Bewegungsmelder benutzen so ein Filter auch glaube ich.

Dort wird einmal das Signal mit und einmal das ohne Filter verglichen. Über einen geeigneten Algorithmus (z.B. eine Quotientenbildung beider Signale) kann man dann entscheiden, ob eine Person oder eine Glühlampe vor dem Sensor längsgeführt wurde.

gruß
moe

MoeJoeHH
21.06.2007, 19:52
...ach ja: solche Filter sind rattenteuer...

uffi
21.06.2007, 20:15
Ein Infrarot-Kantenfilter, der bei 5µm Wellenlänge alles kurzwelligere im IR und sichtbaren Bereich abschneidet, ist schon auf der Oberfläche des Sensors aufgebaut (monokristallines Silizium-Plättchen).

Das Störsignal sind die kurzen Ausbrüche, siehe Pfeilmarkierungen. Es sieht aus wie ein Knick, der in die normale Kurve eingebaut ist.

uffi
22.06.2007, 10:16
Hallo Leute,

kurzes update: ich habe noch weitere Versuche gemacht und mittlerweile die Kondensatoren an Drain und Source des FETS (PIR) entfernt - leider treten die merkwürdigen Kurvenausbrüche immer noch auf.

Schreibt weiter Eure Vermutungen auf!

Es muß doch hier einen Elektronik-Fuchs geben, der die richtige Idee für diesen Effekt hat!!!

Oder sind die Analog-Experten ausgestorben???

Schreibt was...

Danke und Gruß, uffi.

MoeJoeHH
22.06.2007, 10:29
...ist es denn nicht vielleicht so, dass das Signal einfach so aussieht, und das keine Störung ist? Meiner Meinung nach sehen diese Störungen doch sehr geringfügig aus.

Nochmal die Frage, wie sollte denn das Signal tatsächlich aussehen? Gibt es da im Datenblatt o.ä. eine Angabe oder hast Du schon Erfahrungen mit diesen Sensoren, so dass Du Dir sicher bist, dass das auch wirklich eine Störung ist?


Es muß doch hier einen Elektronik-Fuchs geben, der die richtige Idee für diesen Effekt hat!!!

Also ich bin mit Sicherheit keiner von diesen Füchsen, von daher möchte ich mir auch nicht rausnehmen, hier der Weisheit letzten Schluss abzugeben... ;-)

Gruß Moe.

ranke
22.06.2007, 11:25
Man sieht die Störung ja mal deutlicher, mal schwächer.



Wenn man nun die Hand gleichmäßig von links nach rechts oder umgekehrt über dem Sensor bewegt


Vielleicht ist das ja auch ein ca. 1 Hz Störsignal, dann ist das möglicherweise die periodische Temperaturänderung Deiner Hand durch den Pulsschlag.

uffi
22.06.2007, 11:29
Die Kurven sehen schon prinzipiell so aus, wie sie sollen und wie es zu erwarten ist. Bis auf die sehr steilen Verläufe alle 2 Sekunden. Das ganze ist ja ein Bandpaßfilter mit einer oberen 3db-Grenzfrequenzen von etwa 7 Hz. Da sollten derart steile Flanken wie die von dem Störsignal (dV/dt = 0,5V / 25 ms) eigentlich vom Filter stärker verlangsamt werden.

Außerdem treten die Störsignale immer irgendwie bei ca. 2s, 4s, 6s und 8s auf und sind bzgl. des Zeitpunktes ihres Auftretens unabhängig vom Timing des Nutzsignals, welches durch die Bewegung meines Körpers ausgelöst wird.

ranke
22.06.2007, 11:36
Wenn die Störsignale deutlich steiler sind, als das die Filtercharakteristik nahelegt, dann kommt das Störsignal offenbar erst nach dem Filter in die Meßkette.
Wie wird die Referenzspannung des ADC erzeugt?

uffi
22.06.2007, 11:41
Als Referenzspannung wird AVCC=5V verwendet, der AREF Pin des AVR wird nur über einen 100nF gegen AGND entkoppelt. Das ganze ist in der Hardware des Lego Mindstorms NXT Controllers, die Info habe ich dessen Schaltplan entnommen.

Ich habe auch Messungen mit dem Lichtsensor des Lego Mindstorms NXT gemacht, der auch auf einen Analogpin des AVR aufgeschaltet wird. Dieser zeigt keine solchen Störungen im Meßkurvenverlauf. Daraus schließe ich, daß prinzipiell keine Störung nur über die Referenzspannung ausgelöst wird.

uffi
22.06.2007, 11:51
@ranke: die Idee mit dem Pulsschlag ist nicht schlecht, bin ich bisher nicht drauf gekommen. Allerdings ist die Störung genauso stark vorhanden, wenn ich in 3 m Entfernung mit einer Geschwindigkeit von 1m/s am Sensor vorbeilaufe. Und ist es nicht merkwürdig, dass mein Pulsschlag immer exakt zum Start der Messung synchronisiert ist?
:wink:

uffi
22.06.2007, 12:20
Habe noch Bilder von Schaltplänen des Lego Mindstorms NXT Controllers gemacht.

Hier das Interface zum Anschluß analoger Sensoren:

http://freenet-homepage.de/uffmann/Bilder/Interface.jpg

Die Mimik mit den Bipolartransistoren dient dazu, die alten Mindstorms-Sensoren, bei denen die Spannungsversorgung und das Ausgangssignal des Sensors über eine Leitung laufen, mit Spannung zu versorgen. Das geht dann so: normalerweise liegt Versorgungsspannung an, nur alle 3 ms wird für 0,1 ms die Spannung abgeschaltet und der Sensormeßwert gelesen. Für die neuen, sogenannten passiven Sensoren ist diese Schaltung deaktiviert.

Hier noch das Umfeld des ATMEGA48, der für die Auswertung der Sensoren zuständig ist:

http://freenet-homepage.de/uffmann/Bilder/ATMEGA48.jpg

ranke
22.06.2007, 12:41
Ich kenne ja das Lego Mindstorms leider überhaupt nicht (als ich aufgehört hatte, mich mit Lego zu beschäftigen, waren das noch Plastiksteine mit Noppen drauf), aber:
Könnte es da einen Task des MC geben, der die Samplingfrequenz des ADC alle 2 Sekunden kurz hüpfen läßt? Oder ist die sicher konstant? Möglicherweise ist auch der Prozessortakt nicht stabil? (dann hätte der Lichtsensor aber ähnliche Erscheinungen gehabt)

uffi
22.06.2007, 12:46
@ranke: wie Du selbst schon festgestellt hast: dann hätte die Messung am Lichtsensor den Effekt ja auch gezeigt.

Irgendwie muß die Störung schon mit dem Signalverlauf zu tun haben: große Steigung -> große Störung
kleine Steigung -> kleine Störung

ranke
22.06.2007, 13:12
Irgendwie muß die Störung schon mit dem Signalverlauf zu tun haben: große Steigung -> große Störung
kleine Steigung -> kleine Störung


... und keine Steigung -> keine Störung

Das wäre ja genau der Effekt, der durch eine nicht konstante Abtastfrequenz des ADC erzeugt würde, deshalb meine Nachfrage.



Und ist es nicht merkwürdig, dass mein Pulsschlag immer exakt zum Start der Messung synchronisiert ist?


Das finde ich auch bemerkenswert, daß das Störsignal nicht nur (einigermaßen) freqenzkonstant, sondern auch phasengleich mit dem Start der Messung ist.

Wie ist der Start der Messungen definiert, was genau passiert da?
Wird einfach ab einem bestimmten Zeitpunkt die digitale Aufzeichnung der Daten gestartet?

Der Sensor und der Verstärker werden es ja kaum mitbekommen, ob das Signal aufgezeichnet wird oder nicht.

uffi
22.06.2007, 13:21
@ranke: ja, so ist es. Das Mess-Programm wird durch Tastendruck auf dem Lego Controller gestartet. Im Mess-Programm wird erst ein Timer auf 0 gesetzt, dann wird eine Loop gestartet, die immer wieder eine Messung macht, den Timer-Wert und den Meßwert in eine Datei schreibt und dann eine Zeit () wartet, sodaß in etwa alle 24ms ein Meßwert aufgezeichnet wird usw. Nach ca. 10 Sekunden stoppt das Programm.

uffi
22.06.2007, 15:54
Bitte schreibt noch was!
Ich weiß immer noch nicht weiter.
Irgendwie muss ich doch diese Störung los werden.
](*,)

Yossarian
22.06.2007, 16:22
Hallo
Also ich kann Nutz- und Störsignal nicht auseinanderhalten...
Erst mal feststellen, ob die Störung von außen oder aus der Schaltung kommt.
Das Ganze in eine Blechkiste, erden , Stromversorgung über Batterie.
Wie sieht das Signal Stufe für Stufe aus? Was kommt aus dem PIR?
Desweiteren würde ich C4 und C5 mal verändern bzw. herausnehmen.

Mit freundlichen Grüßen
Benno

Manf
22.06.2007, 17:05
Irgendwie muß die Störung schon mit dem Signalverlauf zu tun haben: große Steigung -> große Störung
kleine Steigung -> kleine Störung

Das finde ich auch bemerkenswert, daß das Störsignal nicht nur (einigermaßen) freqenzkonstant, sondern auch phasengleich mit dem Start der Messung ist.
Tritt denn die Störung überhaupt auf, wenn kein thermisches Wechsel-Signal am Eingang ist

Ich würde auch den Spannungsverlauf auch am Ausgang des ersten Verstärkers ansehen, die Bandbreite der Verstärker ist so gering, dass durchaus Phasendrehungen zu erwarten sind.
Der Aufwand dafür wäre ja nicht so groß.

Schön wäre es mit einem Durchgang ohne Signal und dann mit einem Durchgang mit gerde einer Flanke im Signal, also ein nicht zu langsames Abdecken oder Öffnen einer Sensorhälfte.

vohopri
23.06.2007, 20:08
Hallo uffi,
deine Kurven scheinen zu zeigen, dass die Dellen synchron zum Messvorgang und nicht zum Signalverlauf sind. Schielt dein PIR aun das Oszilloskop, oder ein blinkendes Lämchen, vielleicht von der aufzeichnenden Harddisk? Irgendwie streut vom Registrierungsvorgang was ein, auf die Verarbeitungskette vom pir bis zum Schreiben der Kurve. Ich würd mal ein anderes Oszi ausborgen und sehen, ob das in einer anderen Messanordnung auch zu sehen ist. Sind die Stromversorgungen von Testobjekt und Messeinrichtung getrennt?

Viel Erfolg bei der Fahndung,
Hannes

uffi
24.06.2007, 12:22
Vielen Dank für die vielen Ideen und Hypothesen. Ich bin Euren Hinweisen nachgegangen und dadurch fündig geworden. Doch der Reihe nach:

Ich habe zunächst den Signalausgang an den Ausgang der ersten OpAmp Stufe angeschlsossen und auf externe Stromversorgung (9V-Akku) umgestellt. Das Ergebnis seht Ihr hier:

http://home.arcor.de/uffmann/Bilder/Kurve3.jpg

Die Störung ist noch da (siehe Pfeilmarkierungen).

Dann habe ich mir nochmal die Datentabelle des aufgezeichneten Signals genauer angeschaut. Dabei ist mir aufgefallen, dass immer dort, wo die Störung auftritt, ein größerer Sprung im Timer-Wert auftritt. Normalerweise ist die Schrittweite der Timerwerte immer 24 ms, bei der Störung waren jedoch immer für ein oder sogar zwei Schritte eine Schrittweite von 130 ms. Hier ein Beispiel bei ungefähr 4 Sekunden:


Timer Signal
3800 675
3824 683
3848 654
3978 640 Sprung um 130ms, statt 24 ms
4002 621
4026 596
4050 568



ranke: Könnte es da einen Task des MC geben, der die Samplingfrequenz des ADC alle 2 Sekunden kurz hüpfen läßt?

ranke's Hypthese hat voll ins Schwarze getroffen!!! Super erkannt, Hut ab!!!

Zwar hätte die Messung mit dem Lichtsensor die Störung dann auch zeigen müssen, aber dort waren die Flanken so steil, daß ich die Störzeiten bei 2,4,6, und 8 Sekunden nicht mit einer Flanke erwischt habe.

Tatsächlich hat der ATMEGA48 etwa alle 2 Sekunden eine Task, die dazu führt, daß zwischen der Abspeicherung des Timerwertes und der anschließenden Messung im Fall der Störung dann 100ms vergehen. Timerwert und Messwert gehören also gar nicht zusammen!

Also habe ich meine Auswerteroutine geändert. Und so sieht das Signal nun aus, wenn ich meine Hand in 80 cm Entfernung vor dem Sensor erst in der einen, und dann in der anderen Richtung vor dem Sensor bewege:


http://home.arcor.de/uffmann/Bilder/Kurve4.jpg

So wollte ich es gerne haben. Nun bin ich glücklich!!! O:) O:) O:)

Herzlichen Dank nochmal an alle, die mit Ihren Hypthesen zur Aufklärung des Rätsels beigetragen haben.