Forum: Mikrocontroller und Digitale Elektronik Treppenlichtsteuerung mit PIR und OC


von Rolf H. (b0d0)


Angehängte Dateien:

Lesenswert?

In meinem Treppenhaus (5 Etagen) möchte ich Bewegungssensoren 
installieren und damit die Treppenhausbeleuchtung einschalten.

Da ich kein Elektroniker bin und ich mich erst seit kurzem mit der 
Bastellei beschäftige, bitte ich um Nachsicht bei dieser Anfängerfrage 
aus Unsicherheit.

Nach dem Durchstöbern verschiedenster Beispiele, Schaltplanberechungen 
usw. habe ich den obigen Schaltplan entworfen (z.T. auch experimentell).

Da der Bewegungssensor (HC-SR501) eine zu geringe Ausgangsleistung hat, 
habe ich mich an einer Transistorschaltung versucht. Die steuert dann 
den Optokoppler an. Übertragen wird das Signal dann mit einem Kabel 
(Klingeldraht) zur MCU (Eingang ebenfalls mit Optokoppler geschützt).

Fragen:
* Sind die Werte für die Widerstände korrekt und der Schaltungsaufbau 
geeignet?

* Müsste das Übertragunskabel noch mit einem Kondensator entstört werden 
und wenn ja, mit welchen?

PS: Tutorial zum HC-SR501: 
http://henrysbench.capnfatz.com/henrys-bench/arduino-sensors-and-input/arduino-hc-sr501-motion-sensor-tutorial/

von Hubert G. (hubertg)


Lesenswert?

Das wird schon funktionieren.
Das der Transistor des rechten OK gesperrt ist wenn der linke BC547 
durchsteuert ist klar.

von HildeK (Gast)


Lesenswert?

Hast du einen Sack voller Optokoppler geerbt?
Also: zur galvanischen Trennung reicht einer. Und auch der muss nicht 
mit 20mA betrieben werden, 5mA reichen und die 12V zwischenden beiden OK 
entfallen auch. Am Controller nimmst du als Arbeitswiderstand 5k o.ä. 
Der OK kommt auf die Contollerseite.
Den Vorwiderstand für die OK-LED lässt du im PIR, wenn du den aufteilst 
in zwei Hälften, einen vor der LED, eine danach, dann sind die Leitungen 
auch gegen einen Schluss mit GND oder einer kleineren Spannung 
geschützt. Also zweimal 470R.

von Amateur (Gast)


Lesenswert?

Ein OK reicht auf jeden Fall.
So sparst Du Dir auch das zweite (dritte) Netzteil.
Und der Widerstand kann etwas größer werden.
Wozu allerdings, bei einer so einfachen Sache, ein Controller nötig ist, 
erschließt sich mir nicht.

von Rolf H. (b0d0)


Angehängte Dateien:

Lesenswert?

Danke für die Hinweise!

Allerdings hab ich das Problem, dass der Bewegungssensor (HC-SR501) 
nicht sehr leistungsstark ist. Wenn ich 2x470 Ohm anschließe (siehe 
Bild) bricht die Spannung drastisch ein (1,48V) und der Strom hat nur 
1,56 mA. Zu wenig für den OK und eventuell auch nicht gut für den 
Bewegungssensor (Überlastung).

Experimentell habe ich die Wert bis 22k Ohm ermittelt (siehe Tabelle).

Deshalb hab ich den Transistor vor den OK geschaltet.

Wäre es eine Lösung, den OK parallel zum Transistor zu schalten?

Anmerkung 1: Ja, OK sind sehr billig. Ich habe 30 Stück für 9,77€ 
bekommen. Also 32 Cent pro Stück.

Anmerkung 2: Ich möchte mit den Signalen eventuell nicht nur das 
Treppenhauslicht im ganzen ein und aus schalten, sondern auch nur einen 
Teil der Beleuchtung in Betrieb setzen.

von HildeK (Gast)


Lesenswert?

Du hast mich falsch verstanden!
Der Transistor bleibt. Der linke OK auch, aber statt den 220R nimmst du 
470R. Und noch einen 470R zwischen dem Kollektor und der OK-LED Kathode.
Den rechten OK entfernst du, ebenso die 470R an 12V.
Die beiden LED-Leitungen werden die Verbindung zum PIR, den OK schiebst 
du zum Controller.
Als Kollektorwiderstand des OK nimmst du 4k7 und verbindest ihn mit der 
Versorgungsspannung des Controllers.

von HildeK (Gast)


Angehängte Dateien:

Lesenswert?

So etwa ...

von Rolf H. (b0d0)


Angehängte Dateien:

Lesenswert?

Ein Bild sagt mehr als 1000 Worte. Ja, ich habe das völlig falsch 
verstanden.

Ich werde das morgen testen. Der OK braucht 1,2 V. für jeden Widerstand 
(470) bleiben dann 1,9V. Sind dann 4 mA. Da der Transistor um den Faktor 
100 verstärkt, könnte ich den Basis-Widerstand am Transistor mindestens 
verdoppeln (47k).

von HildeK (Gast)


Lesenswert?

Rolf H. schrieb:
> Da der Transistor um den Faktor
> 100 verstärkt, könnte ich den Basis-Widerstand am Transistor mindestens
> verdoppeln (47k).

Lass ihn, wenn es dem PIR nicht weh tut, was ich mir bei 22k nicht 
vorstellen kann. Außerdem: der Transistor arbeitet im Schalterbetrieb, 
da ist B im worst case nicht mehr mit 100 anzusetzen.

Aber so hatte ich es gemeint!

von HildeK (Gast)


Lesenswert?

Ich habe mir deine Sensortabelle mal angeschaut. Wahrscheinlich ist das 
sogar ein Open-Collector Ausgang mit eingebautem 1k auf 3.3V.
Mach mal einen Test mit einem 1k Pullup auf 3.3V direkt am Sensorausgang 
und messe den LOW-Pegel beim Schalten des Ausgangs. Ich wette, der kommt 
bis fast auf Null (so 200mV).

von Rolf H. (b0d0)


Angehängte Dateien:

Lesenswert?

Nach ein paar Tagen Pause habe ich die Schaltung jetzt realisiert und 
sie funktioniert prima.

Da ich die Signalleitung mit 12 V betreiben wollte, hab ich die 
Verstärkerschaltung einfach an diese 12 V angeschlossen. Dem 
Bewegungssensor ist das egal, sein Ausgang ist immer 3,3 V.

Auf dem Bild ist einmal die Vorderseite und die Rückseite der 
Miniplatine zu sehen. Der Bewegungsmelder wird an der Buchsenleiste (3x) 
aufgesteckt (3. Bild).

PS: (@HildeK) Der Bewegungssensor ist eine etwas komplexere Schaltung 
(als meine). Daher weiß ich nicht, wo ich da was messen sollte.

von Rolf H. (b0d0)


Angehängte Dateien:

Lesenswert?

Jetzt möche ich auch das Gegenstück mit der MCU nicht vorenthalten.

Ich verwende jetzt einen ESP8622 D1 Mini, später dann nur einen ESP8622 
01. Deswegen ist dort auch ein In/Out Expander vorgesehen, den ich über 
einen I2C Bus angeschlossen haben.

Den Optokoppler kann man direkt an den MCP23017 anschließen, wenn man am 
Eingang den Pullup-Widerstand einschaltet.

Der nächste Schritt wird dann sein, das Web-Interface zu programmieren.

Danach beginne ich mit dem Einbau der Teile und verwende für die 
Signalleitungen ein Telefonkabel (2x2x0,6).

Danke nochmals für die Hilfe und die freundliche Unterstützung!

PS: Programmiert wird die MCU in Lua.

: Bearbeitet durch User
von HildeK (Gast)


Lesenswert?

Rolf H. schrieb:
> PS: (@HildeK) Der Bewegungssensor ist eine etwas komplexere Schaltung
> (als meine). Daher weiß ich nicht, wo ich da was messen sollte.

Einfach an dem Ausgang des PIR (OUT 3.3V) mit Spannungsmesser messen - 
ohne weitere Beschaltung. Da, wo die Basis des Transistors (der ist doch 
von dir eingebaut?) dran hängt - aber ohne Transistor. Welchen Hub misst 
du da?
Und dann noch eine zweite Messung am selben Ausgang, wenn ein z.B. 
5k-Widerstand vom Ausgang auf eine 3.3V- oder 5V-Spannung gelegt wird. 
Welchen Hub erhältst du dann?

Rolf H. schrieb:
> Den Optokoppler kann man direkt an den MCP23017 anschließen, wenn man am
> Eingang den Pullup-Widerstand einschaltet.

Bei AVRs haben die internen Pulls ca. 35kΩ, ich weiß nicht, ob das beim 
MCP ähnliche Werte sind.
Um die Empfindlichkeit nicht zu groß zu machen, würde ich einen deutlich 
niederohmigen Pullup verwenden. Es fließen ja bei dir rund 5mA durch die 
Kopplerdiode, bei einem CTRmin von 50% (der C-Typ liegt sogar höher) 
würde ich im Pullup dann schon 2mA fließen lassen, also 1k5 ... 1k8 als 
Pull verwenden. Das reduziert die Empfindlichkeit durch Einstreuungen 
auf der längeren Leitungsseite deutlich.

von Rolf H. (b0d0)


Angehängte Dateien:

Lesenswert?

Ich hab die Anzahl der Signaldrähte halbiert. Die 12V sind jetzt den OK 
auf dem Steuerrechner und den Sensor-Modulen gemeinsam (und die Masse).

Das mit dem Pullup-Widerstand hab ich nicht ganz verstanden. Ich dachte, 
der OK reagiert wie ein Schalter, wenn es der Transistor auch tut. Falls 
es dennoch verfälschte Signale gibt, kämme ich die auf dem Controler 
wieder aus (oversampling). Und ich glaube, es hilft auch, dass als 
Signalleitung Telefonkabel genommen wird. Das ist abgeschirmt.

Wg. des Bewegungssensors. Kann ich da mal ein Muster zuschicken? Ich 
komme mit dem Messen da etwas durcheinander.

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.