Hallo zusammen,
eigentlich möchte ich eine Türsprechstelle auf Raspberry Pi 3-Basis
realisieren (vgl. https://wiki.fhem.de/wiki/DoorPi_und_FHEM) und hatte
bereits hier
(https://www.doorpi.org/forum/thread/917-event-onkeypressed-l%C3%B6st-alle-30-minuten-aus/)
mein Problem geschildert. Allerdings glaube ich nach einigen
Experimenten, dass mein Problem besser in einem Elektronik-Forum
aufgehoben ist.
Ich verwende diesen PIR-Sensor (Datenblatt:
http://www.produktinfo.conrad.com/datenblaetter/500000-524999/506175-da-01-en-IR_SENSOR_A165_180_180__7M_4_9V.pdf;
Schaltplan der zugehörigen Steuerelektronik
http://www.produktinfo.conrad.com/datenblaetter/500000-524999/506178-ds-01-en-STEUEREL__F__IR_SENSOREN_IR_AP1.pdf).
Wichtige Anmerkung: Da ich den PIR-Sensor direkt an meinem Raspberry Pi
betreiben möchte, habe ich mich an dem Schaltplan nur "orientiert".
Der PIR-Sensor hat für die Bewegungsdetektion 4 Pins:
Pin 1: SYN_VCC2,5 / Output Reference
Pin 2: GND
Pin 3: PIR_SIG / Signal Output
Pin 4: +5V / Voltage Input
Pin 1 habe ich gemäß Schaltplan über einen Spannungsteiler (R28 = R29 =
100k) an Pin 4/2 angeschlossen, C24 = 100nF zwischen Pin1 und Pin 2
Um das Problem einzugrenzen und um auszuschließen, dass das Problem an
meiner Auswerteelektronik liegt, habe ich Pin 3 zunächst von meiner
Auswerteelektronik getrennt und messe direkt die Spannung zwischen Pin 3
und GND. Aktuell nur mit einem digitalen Voltmeter (!), d.h. die
Aussagen sind mit Vorsicht zu genießen. Bei Auslösung des PIR ist ein
oszillierendes Signal an Pin 3 zu erwarten.
Jetzt zu meinem konkreten Problem:
Wenn ich den PIR-Sensor an den Pins 4/2 über ein Labornetzteil mit 5V
versorge, dann verhält er sich sehr zuverlässig und genau wie erwartet.
Bei Bewegung (und nur dann) sehe ich entsprechende Spanungsänderungen an
Pin 3.
Wenn ich den PIR-Sensor an den Pins 4/2 über den Raspberry Pi 3
(konkret: über das Zusatzmodul PiFace Digital 2,
http://www.piface.org.uk/products/piface_digital_2/) mit 5V versorge,
dann löst eine Bewegung ebenfalls zuverlässig den PIR Sensor aus und ich
sehe entsprechende Spannungsänderungen an Pin 3. Soweit so gut.
Allerdings löst der PIR Sensor (reproduzierbar) auch dann aus, wenn ich
die CPU-Last des Raspberry Pi 3 plötzlich signifikant erhöhe (z.B. von
5% auf 30%).
Ganz naiv habe ich dann mal versucht, einen zusätzlichen Kondensator
zwischen Pin 4 und 2 zu schalten, zunächst 100nF, dann 10µF, dann 100µF
und schließlich 470µF. Leider hat sich an dem Verhalten trotzdem nichts
geändert (gefühlt ist die Amplitude an Pin 3 bei unerwünschten
Auslösungen nicht mehr so hoch, aber ohne Oszi kann ich das nicht
zuverlässig sagen).
Ich gehe davon aus, dass die unerwünschten Auslösungen des PIR-Sensor an
der Spannungsversorgung liegen, allerdings weiß ich (nach den Tests mit
den Kondensatoren) nicht so recht, was denn die richtige Strategie ist,
um dieses Problem in den Griff zu bekommen. Ist der Ansatz über die
Kondensatoren richtig und 470µF waren einfach noch nicht genug? Oder
sollte ich mich auf das Ausgangssignal konzentrieren und versuchen, die
unerwünschten Auslösungen herauszufiltern (wenn diese überhaupt - z.B.
aufgrund der Amplitude - von erwünschten Auslösungen zu unterscheiden
sind, das müsste ich erstmal nachmessen).
Ein paar Stichworte/Denkanstöße würden mir erstmal genügen, dann kann
ich mich da reinbohren. Aufgrund meiner mangelnden Erfahrung weiß ich
halt einfach nicht, welchen Weg ich einschlagen sollte.
Vielen Dank und noch ein schönes Wochenende,
Thomas
Thomas R. schrieb:> Ich gehe davon aus, dass die unerwünschten Auslösungen des PIR-Sensor an> der Spannungsversorgung liegen,
Ich auch. Die Kondensatoren hast du sicher einzeln getestet.
Komponiere mal 2x100nF+10µF. Eventuell bräucht's noch ne Drossel.
Wie sieht's mit der Stromversorgung aus, lange dünne Kabel....
Läuft über den GND zum PIR Versorgung und Signal gemeinsam? Trennen.
Die eigentliche Frage ist, bricht die Spannung kurzfristig ein oder saut
der Raspi da HF auf die Versorgung.
Da der PIR auch sehr wenig Strom braucht (1mA), kann es sinnvoll sein,
ihn nicht nur mit Kondis abzublocken, sondern ihn über eine RC-Siebkette
mit Widerstand und Elko zu versorgen. Das könnte z.B. ein 22-100 Ohm
Widerstand sein, mit nachfolgenden 47µF-100µF Elko.
Das Grundproblem ist schon die Spannungsversorgung. Das Ausgangssignal
der PIRs wird sehr stark gemittelt und dieser Mittelwert mit dem
aktuellen Wert verglichen. Ist der anders, hat sich was bewegt. Bei
Wacklern der Spannungsversorgung wackelt der aktuelle Wert mit, aber
nicht der gedämpfte Mittelwert -> Auslösung. Die RC-Siebung kann gehen,
braucht aber vermutlich immer noch >1000u, damit die Zeitkonstanten
passen.
Am besten wäre eine völlig getrennte Spannungsversorgung/stabilisierung,
was aber bei 5V-Singlesource etwas mühsam ist. Du könntest es zusätzlich
zur RC-Siebung noch mit einer 4.7V Zenerdiode (evtl. auch 4.3V)
probieren. Dann sollte es schon ziemlich glattgebügelt sein.
Hallo zusammen,
vielen Dank für die Anregungen. Ich habe versucht, in angehängtem
Schaltplan die unterschiedlichen Optionen zu skizzieren.
Zu Vorschlag von Teo Derix / Option 1.
> Ich auch. Die Kondensatoren hast du sicher einzeln getestet.> Komponiere mal 2x100nF+10µF. Eventuell bräucht's noch ne Drossel.
Ja, korrekt, ich habe sie einzeln getestet. In angehängtem Schaltplan
habe ich C101 = C102 = 100nF und C103 = 10µF vorgesehen, wobei
vermutlich C101 und C102 jeweils nahe an der Versorgung/am Verbraucher
zu installieren sind.
Optional noch ein zusätzliches LC-Siebglied (L101 und C104 (und C105)).
Bzgl. Dimensionierung muss ich erst noch die Kennzahlen/den
problematischen Frequenzbereich herausfinden.
Entspricht der Schaltplan in etwa Deinem Vorschlag?
> Wie sieht's mit der Stromversorgung aus, lange dünne Kabel....
Ja. Ich verwende i.W. diese beiden Typen
(https://www.conrad.de/de/schaltdraht-yv-1-x-020-mm-schwarz-conrad-components-1180540-100-m-1180540.html
und
https://www.conrad.de/de/litze-liy-1-x-014-mm-schwarz-conrad-components-604794-10-m-604794.html).
> Läuft über den GND zum PIR Versorgung und Signal gemeinsam? Trennen.
Ja. Wie meinst Du das mit "trennen"? Der PIR hat ja nur einen
GND-Anschluss.
Zu Vorschlag von Matthias S. / Option 2.
> Da der PIR auch sehr wenig Strom braucht (1mA), kann es sinnvoll sein,> ihn nicht nur mit Kondis abzublocken, sondern ihn über eine RC-Siebkette
Vgl. Vorschlag Option 2 in angehängtem Schaltplan. Ich vermute, dass Du
das RC-Siebglied gedanklich als Ergänzung zu den Kondensatoren gesehen
hast, d.h. im Schaltplan müsste ich - ähnlich wie bei Option 1 - noch 2x
100nF und ggf. einen weiteren 47µF-100µF ergänzen, korrekt?
Zu Vorschlag von Georg A. / Option 3.
> nicht der gedämpfte Mittelwert -> Auslösung. Die RC-Siebung kann gehen,> braucht aber vermutlich immer noch >1000u, damit die Zeitkonstanten> passen.
D.h. ich sollte bei Option 2 noch eine weitere Batterie Elkos parallel
zu C201 schalten?
> was aber bei 5V-Singlesource etwas mühsam ist. Du könntest es zusätzlich> zur RC-Siebung noch mit einer 4.7V Zenerdiode (evtl. auch 4.3V)> probieren. Dann sollte es schon ziemlich glattgebügelt sein.
Das habe ich mal als Option 3 im Schaltplan gezeichnet. Tatsächlich habe
ich ca. 5,4V am Raspi gemessen und ich habe noch 5,1V Zenerdioden da, so
dass ich es damit mal versuchen könnte. R302 = 20Ohm begrenzt den Strom
auf 15mA, wobei ich von max. 5mA für den PIR und min. 10mA durch die
Z-Diode ausgegangen bin. Wenn das zu knapp ist, kann ich R302 auch etwas
kleiner wählen. Das sehe ich dann.
Generelle Frage: Ich habe im Prinzip alle Bauteile für die drei Optionen
da (außer einer Drossel) und könnte am kommenden Wochenende gleich
experimentieren. Bringt es überhaupt etwas, wenn ich die Schaltungen
testweise auf einer Steckplatine zusammenstöpsle oder würde das noch
mehr "Störungen" verursachen bzw. nicht zu verlässlichen Aussagen führen
und ich sollte jede Option für sich sauber auf einer Platine verlöten.
Viele Grüße,
Thomas
Die Störungen kommen durch Stromspitzen von CPU&Co. Da sollte der Aufbau
zum Sensor recht egal sein. Du kannst den Stromverbrauch des Boards ja
mal messen und ein cpu-burn-Programm schreiben, das den alle 10s oder so
hochtreibt ;)
Thomas R. schrieb:> Bei Auslösung des PIR ist ein oszillierendes Signal an Pin 3 zu erwarten.
Und was ist zu erwarten, wenn nichts erkannt wird? Wie wertest du
dieses Signal in deinem RPi aus? Einfach, indem du den Pin-Pegel
einliest? Oder hast du da einen ADC verwendet und ziehst das
Referenzsignl vom Pin 1 ab?
> Bei Auslösung des PIR ist ein oszillierendes Signal an Pin 3 zu erwarten.
Und zwar eines, das um den Pegel der Referenzspannung hin und her
zappelt...
> Allerdings löst der PIR Sensor (reproduzierbar) auch dann aus, wenn ich> die CPU-Last des Raspberry Pi 3 plötzlich signifikant erhöhe (z.B. von> 5% auf 30%).
Und was passiert dann? Wie erkennst du diese "Auslösung"? Siehst du
diesen Lastwechsel auf der Versorgungsspannung? Was passiert, wenn du
den PIR aus dem Labornetzteil mit 5V über einen 470 Ohm Widerstand
versorgst und diesen Widerstand kurzzeitig überbückst und die Brücke
wieder aufmachst? Löst der PIR dann auch aus?
Thomas R. schrieb:> Tatsächlich habe ich ca. 5,4V am Raspi gemessen
Woraus wird der versorgt?
> Ich habe versucht, in angehängtem Schaltplan die unterschiedlichen> Optionen zu skizzieren.
Ich würde versuchen, mal die Ursache des Problems zu ermitteln. Und
dann erst irgendwas herumbasteln...
Hallo zusammen,
ich wollte mich nochmal für die Lösungsvorschläge (und Fragen) bedanken,
die mich auf die richtige Spur gebracht haben.
Nachdem ich mit meinem Voltmeter ja nur "erahnen" konnte, was da wohl
los ist, hatte ich letzte Woche die Gelegenheit, mir ein Oszi
auszuleihen und konnte sowohl die Versorgungsspannung als auch das
Ausgangssignal an Pin 3 genauer unter die Lupe nehmen.
Lothar Miller schrieb:
>> Tatsächlich habe ich ca. 5,4V am Raspi gemessen> Woraus wird der versorgt?
Er wird per PoE versorgt mit diesem Modul:
https://www.pi-supply.com/product/pi-poe-switch-hat-power-over-ethernet-for-raspberry-pi/
Ergebnis der Untersuchung: Wenn die CPU-Last erhöht wird, dann sind in
der vom Raspi zur Verfügung gestellten Spannung eindeutig (periodisch
wiederkehrende) Störungen erkennbar. D.h. nicht nur der plötzliche
CPU-Lastwechsel ist problematisch, sondern allein eine höhere CPU-Last
sorgt für (dauerhafte) Störungen in der Versorgungsspannung.
Die Störungen in der Spannungsversorgung konnte ich mit einer an den
Lösungsvorschlag von Georg A. angelehnten Schaltung zuverlässig
beseitigen (Kombination aus Kondensatoren und Zener-Diode).
Lothar Miller schrieb:
>> Bei Auslösung des PIR ist ein oszillierendes Signal an Pin 3 zu erwarten.> Und was ist zu erwarten, wenn nichts erkannt wird? Wie wertest du dieses Signal
in deinem RPi aus? Einfach, indem du den Pin-Pegel einliest? Oder hast du da einen
ADC verwendet und ziehst das Referenzsignl vom Pin 1 ab?
Das Signal läuft durch eine Fensterkomparator-Schaltung, so dass nur
Ausschläge unterhalb eines unteren bzw. oberhalb eines oberen
Schwellwertes dazu führen, dass der Eingang am RPi getriggert wird.
Bis auf einen kleinen Bock, den ich da eingebaut habe und den ich in der
nächsten Version korrigiere, funktioniert das eigentlich ganz gut.
Viele Grüße,
Thomas