LED-Beleuchtung mit Bewegungsmelder und ATTINY13

Fragen zu Schaltungen, Elektronik, Elektrik usw.

Moderator: T.Hoffmann

Antworten
Worzel
User
User
Beiträge: 13
Registriert: Sa, 25.02.12, 13:18

Sa, 25.02.12, 15:01

Hallo Zusammen! :)

Ich bin hier schon seid längerem unterwegs und das Forum hat mir schon bei dem ein oder anderen Problem geholfen. Seit 2 Wochen arbeite ich nun an einem neuen Projekt und seit einigen Tagen komm ich einfach nicht mehr weiter. Geplant ist eine LED-Deko-Küchenbeleuchtung, die angehen soll wenn Jemand die Küche betritt. Hierfür verwende ich einen Bewegungsmelder der sein Signal an einem ATTINY13 schickt. Der Mikrocontroller soll dann je nach anliegender Spannung die LED-Leisten, welche über eine KSQ an 12V angeschlossen sind, ein- bzw. ausschalten. Dafür hat die KSQ einen Vadj-Eingang. Je nach anliegender Spannung (PWM vom Microcontroller) kann so der Strom für die LEDs eingestellt werden. Verwendetes Material:

Bewegungsmelder: http://www.conrad.de/ce/de/product/1725 ... Detail=005

KSQ: http://www.conrad.de/ce/de/product/1818 ... Detail=005

LED-Leisten (4 in Reihe): http://www.leds24.com/12V-30cm-QUICK-LE ... white-IP44

Hier der Schaltungsaufbau:
Küchenbeleuchtung
Küchenbeleuchtung
Nun mein Problem:
Die LEDs funktionieren ohne Probleme. Sie können aus- und eingeschaltet und über die PWM gedimmt werden. Leider sieht das beim Bewegungsmelder anders aus. Hier mal das Schaltbild zum Bewegungsmelder:
PIR-STD.png
Dachte eigentlich, dass bei Aktivierung des Bewegungsmelder der Ausgang "OUT" auf GND gezogen wird. Das kann dann vom Microcontroller erkannt werden und dieser kann dann die LEDS anschalten. Aber konnte ich nicht wirklich eine Reaktion vom Bewegungsmelder erkennen. Am "ANA."-Ausgang kommt aber eine Spannung an (auch bei keiner Aktivierung des Bewegungsmelders).

Wäre cool wenn ihr mal über meine Schaltung schauen könntet. Vielleicht hab ich ja einen Fehler gemacht. :?

Schon mal vielen Dank im vorraus!
Dateianhänge
PIR-Sensor.pdf
Bewegungsmelder
(187 KiB) 359-mal heruntergeladen
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Sa, 25.02.12, 17:23

Hallo Worzel,
welcome on board!
Dachte eigentlich, dass bei Aktivierung des Bewegungsmelder der Ausgang "OUT" auf GND gezogen wird.
Ja. das stimmt schon. Aber nur wenn da ein Potential ist, was nach GND gezogen werden kann.
Der Ausgang (Out) ist ein Open Collektor, der braucht noch einen Widerstand (etwa 1k) nach +5V, sonst hängt der 'in der Luft'.
Dann ist normal +5V (über den 1K Widerstand) und geschaltet 0V (nach GND gezogen).
Worzel
User
User
Beiträge: 13
Registriert: Sa, 25.02.12, 13:18

Sa, 25.02.12, 20:22

Ahh danke für die schnelle Antwort. Das werde ich gleich mal ausprobieren. Da hätte ich ja auch selbst drauf kommen können... :D

Also ich teste das mal und dann geb ich Rückmeldung.

lg, worzel
Worzel
User
User
Beiträge: 13
Registriert: Sa, 25.02.12, 13:18

Sa, 25.02.12, 23:34

Sooo,

also ich hab wie du gesagt hast an OUT einen 1k Widerstand gegen 5V geschaltet. Wenn der Bewegungsmelder nicht angeschlossen ist verhält sich die Schaltung wie sie soll, d.h. wenn ich denn Pin PB4 auf GND lege dann gehen die LEDs an, wenn ich den bin PB4 nicht verbinde dann liegen dort 5V an und die LEDs bleiben aus.

Wenn ich dann den Bewegungsmelder anschließe gehts aber immer noch nicht. Hab erwartet, dass ich bei Aktivierung des Sensor ungefähr 0V am Pin PB4 und bei keiner Aktivierung 5V an Pb4 habe. Ab und zu reagiert er, aber die meiste Zeit hat er immer 0V bzw. 25mV am OUT-Ausgang, manchmal aber auch 5V (ganz selten). Und wenn er mal funktioniert dann immer nur bei einer Reichweite von max 1,5 meter.

Stimmt vielleicht was nicht mit der Stromversorgung vom Sensor? Pin REF hab ich nicht verbunden, ist ja eigentlich ein Ausgang an dem ungefähr VCC/2 anliegen.

Echt keine Ahnung woran das liegen könnte... Hat vielleicht schon jemand Erfahrung mit dem Sensor??? :(
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

So, 26.02.12, 08:47

Worzel hat geschrieben: Stimmt vielleicht was nicht mit der Stromversorgung vom Sensor? Pin REF hab ich nicht verbunden, ist ja eigentlich ein Ausgang an dem ungefähr VCC/2 anliegen.
Der REF Pin liefert nur eine Referenzspannung. Ist ganz praktisch, wenn man mit dem Analogsignal arbeiten will. Sonst aber nicht weiter von Bedeutung.
Sind zufällig irgendwelche von den Lötbrücken gesetzt, dass deshalb die Reichweite so mies ist?
Worzel
User
User
Beiträge: 13
Registriert: Sa, 25.02.12, 13:18

So, 26.02.12, 10:35

Hey,

ne die Lötbrücken sind alle offen. :-)
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

So, 26.02.12, 19:57

Mal nur den Bewegungsmelder solo testen. Erst wenn der so funktioniert wie im Datenblatt angegeben, dann in die Gesamtschaltung integrieren.
Worzel
User
User
Beiträge: 13
Registriert: Sa, 25.02.12, 13:18

Mo, 27.02.12, 12:08

Hey Leute,

also ich hab den Bewegungsmelder mal auf dem Steckbrett getestet. Hierfür habe ich einen 9V-Block mit folgender Schaltung verwendet:
Steckbrett.png
Steckbrett.png (8.65 KiB) 12180 mal betrachtet
Mit dem Messgerät konnte ich folgende Werte ermitteln:
-VCC = 8,7V
-REF = 4,34V
-ANA = 1-2mV (konstant, egal ob Bewegung oder nicht)
-OUT = Hier wird keine Spannung angezeigt, das Messgerät springt konstant zwischen den Werten (ebenfalls egal ob Bewegung oder nicht)

Hab außerdem den Innenwiderstand von VCC gegen GND gemessen. Hier bekomme ich ca. 200kOhm angezeigt.

Mir sagen die Werte nicht wirklich viel. Hab ich vielleicht irgendwas falsch angeschlossen? Benötige ich eventuell noch einen Widerstand zwischen VCC-Pin und dem 9V-Block?
Strumboe
Ultra-User
Ultra-User
Beiträge: 622
Registriert: Mi, 25.08.10, 11:19
Wohnort: Quickborn

Mo, 27.02.12, 13:05

Hallo Worzel,

du hast das Ausgangssignal bestimmt mit einem Voltmeter gemessen. Mein Kenntnisstand ist, dass diese Teile nur kurze Impulse ausgeben, wenn eine Detektion erfolgte. Klemm doch einfach mal ein Ozilloskop dran. Dann müsstes du was sehen.
Es gibt derzeit nur einen bedeutetenden Hersteller für diese Teile. Das ist Murata.
Hier mal ein Ausschnitt der Beschaltung:


Gruß

Achja, das Teil ist "lose" auch gar nicht mal teuer. Um die 4€ das Stück.
Dateianhänge
Murata_PIR.jpg
Worzel
User
User
Beiträge: 13
Registriert: Sa, 25.02.12, 13:18

Mo, 27.02.12, 13:41

Hey,

ja das mit den Pulsen hab ich mir auch schon gedacht, aber leider besitze ich kein Oszi und kenne leider auch Niemanden bei dem ich mir eins ausleihen könnte. Die einzige Möglichkeit wäre ein Oszi zu kaufen, aber das wäre ganz schön teuer und außerdem glaube ich meine Freundin köpft mich wenn ich noch ein Gerät in unsere kleine Wohnung schleppe. :D

Hmm naja, mal sehen, vielleicht finde ich ja ein Schnäppchen bei ebay... 8)
Strumboe
Ultra-User
Ultra-User
Beiträge: 622
Registriert: Mi, 25.08.10, 11:19
Wohnort: Quickborn

Mo, 27.02.12, 13:53

Hallo,

vielleicht hast du ja noch einen 555er irgendwo herum fliegen. Dann baust du mit diesem einen Monstatbilen Multivibrator. Da kannst du dann das Ausganssignal fast beliebig verlängern.

Gruß
Dateianhänge
NE555_Monostabiler_27-02-2012 13-50-01.jpg
NE555_Monostabiler_27-02-2012 13-50-01.jpg (37 KiB) 12169 mal betrachtet
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mo, 27.02.12, 14:30

Die einfachste (und billigste) Variante wäre wohl ein 'Fertigteil' zu nehmen und das zu modifizieren...
Siehe auch: viewtopic.php?p=154793#p154793
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

Di, 28.02.12, 08:48

Strumboe hat geschrieben:Hallo,

vielleicht hast du ja noch einen 555er irgendwo herum fliegen. Dann baust du mit diesem einen Monstatbilen Multivibrator. Da kannst du dann das Ausganssignal fast beliebig verlängern.

Gruß
Das könnte man doch auch gleich vom µc machen lassen. Der langweilt sich doch schon so oder so :wink:
Strumboe
Ultra-User
Ultra-User
Beiträge: 622
Registriert: Mi, 25.08.10, 11:19
Wohnort: Quickborn

Di, 28.02.12, 08:58

Hallo,
@Beatbuzzer
Er hat ja bereits einen µC im Einsatz. Für ihn scheint das Triggern des PIR-Signals ein Problem darzustellen. Daher meine Lösung mit einem 555er, bei dem er das Ausgangssignal soweit verlängern kann, dass er es mit dem ATTiny programmtechnisch einfacher abgreifen kann. Obwohl auch dieser Typ einen Interrupt auswerten können müsste.
Du hast ansonsten Recht, der ATTiny wird sich wohl ein wenig langweilen....
Gruß
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

Di, 28.02.12, 09:06

Strumboe hat geschrieben:Hallo,
@Beatbuzzer
Er hat ja bereits einen µC im Einsatz. Für ihn scheint das Triggern des PIR-Signals ein Problem darzustellen.
Normalerweise kann man bis Taktfrequenz/2,5 erfassen. Das wären beim internen 8 MHz Takt eine minimale Signalzeit von 0,31 µS.

Ich hatte auch schonmal solche Bewegungsmelder Module vom C in der Hand. Die haben über 100ms Pulszeit gehabt. Wenn du direkt an den Bewegungsmelder-OUT eine LED anschließt, solltest du die mindestens blitzen/blinken sehen.
Worzel
User
User
Beiträge: 13
Registriert: Sa, 25.02.12, 13:18

Di, 28.02.12, 11:29

Hallo zusammen,

erstmal vielen Dank für die vielen Vorschläge.

Einen NE555 hab ich leider nicht Zuhause, stehen aber definitiv auf meiner nächsten Bestellliste (kosten ja nicht viel :-) ).
Eine LED direkt an den OUT-Pin des Bewegungsmelder zu hängen scheint mir eine gute Idee zu sein. Das werd ich heute Abend mal ausprobieren.

Hab mich noch mal intensiv mit dem Problem beschäftigt und ich bin der Meinung das mein Problem auch mit einem Fehler in der Softwareimplementierung zusammenhängen könnte. Bis jetzt hab ich nur in einer Schleife über eine If-Anweisung den Status des Out-Pins am Bewegungsmelder abgefragt. Da die Pulse vermutlich sehr kurz sind kann es natürlich passieren, dass die Pulsänderung vom µC nicht erkannt wird. Denke da wäre es sehr nützlich ein Interrupt zu verwenden. Leider hab ich noch nie etwas mit den Interrupt programmiert, aber das wird schon irgendwie machbar sein. Aufjedenfall werd ich das heute abend testen.

Ich werde berichten!! :-)

lg, Worzel
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

Di, 28.02.12, 12:11

Worzel hat geschrieben:Bis jetzt hab ich nur in einer Schleife über eine If-Anweisung den Status des Out-Pins am Bewegungsmelder abgefragt. Da die Pulse vermutlich sehr kurz sind kann es natürlich passieren, dass die Pulsänderung vom µC nicht erkannt wird.
Wenn in der Schleife nichts anderes zeitaufwändiges gemacht wird, reicht das normalerweise für soetwas. Ansonsten, wenn in der Mainloop keine anderen Sachen bearbeitet werden müssen, ginge auch ein Bitwait.
Worzel
User
User
Beiträge: 13
Registriert: Sa, 25.02.12, 13:18

Di, 28.02.12, 12:45

Hey,

ahh stimmt, ja ein Bitwait würde auch gehen. Das werde ich heute abend auch mal probieren. :D

lg, worzel
Worzel
User
User
Beiträge: 13
Registriert: Sa, 25.02.12, 13:18

Fr, 02.03.12, 17:50

Hallo zusammen,

erstmal entschuldigung für die doch sehr späte Statusmeldung, hatte bei der Arbeit viel um die Ohren...

Hab den Bewegungsmelder jetzt auf dem Steckbrett mit einem 9V-Block getestet. Hier könnt ihr den logischen Schaltungsaufbau sehen. Auf der linken Seite ist die Schaltung bei Bewegung und auf der rechten Seite bei keiner Bewegung dargestellt (so wie ich das ganze Verstehe):
Funktionsdarstellung PIR.png
Ergebnis auf dem Steckbrett:

Sobald die Schaltung mit Spannung versorgt wird schaltet sich die LED an (egal ob Bewegung oder nicht).
Kurz darauf fängt die LED an zu flackern (auch egal ob Bewegung oder nicht) und das bleibt dann so bis man die Spannung von der Schaltung trennt.

Hab das ganze dann noch mal ohne den Widerstand zwischen VCC und dem OUT-Pin des Bewegungsmelders getestet.
Wenn die Spannung angeschlossen wird bleibt die LED zuerst aus. Sobald der Bewegungsmelder eine Bewegung feststellt geht die LED dann an. Nach kurzer Zeit beginnt sie dann ebenfalls wieder zu flackern und geht auch erst wieder aus wenn der Stromkreis unterbrochen wird (LED vom Steckbrett gezogen). Wenn man die LED dann wieder auf das Steckbrett steckt, ist sie wieder aus. Das lässt sich dann beliebig wiederholen. Das Verhalten hab ich aber erwartet da der Bewegungsmelder ohne den Widerstand zwischen VCC und OUT bei geschlossenem MOSFET kein definiertes Potential hat.

Hab dann trotzdem noch versucht die Programmierung des µC zu ändern, d.h. das BITWAIT in das Programm zu integrieren.
Folgender Programmablauf:

[Schleifenanfang]
LEDs = aus
warte 1 sek
BITWAIT bis OUT-Pin auf GND
LEDs = an
warte 2 sek
[Schleifenende]

Ergebnis:
Leds sind zuerst 1 Sekunde aus und dann 2 Sekunden an, 1 Sekunde aus, dann wieder 2 Sekunden an usw....
Wie der Versuch mit dem Steckbrett schon erahnen lässt liegt der OUT-Pin irgendwie immer auf GND. Ist vielleicht der MOSFET defekt? :?
Worzel
User
User
Beiträge: 13
Registriert: Sa, 25.02.12, 13:18

So, 04.03.12, 00:22

Hey,

ich habe eben beim Conrad den gleichen Bewegungsmelder noch einmal bestellt. Dann werden wir ja sehen ob der MOSFET defekt ist oder nicht. :D

Außerdem hab ich noch einen anderen Bewegungsmelder bestellt (Für den Fall das der 2te Bewegungsmelder auch nicht funktioniert). Hier der Link:

http://www.conrad.de/ce/de/product/5049 ... Detail=005

Ich melde mich wenn es Neuigkeiten gibt. :)

lg, Worzel
Antworten