Bewegungsmelder

Gast #1276845
Lesenswert?
• ▲
▼
Eine Apotheke ist mit einer automatischen Türe abgesichert. Die Tür kann 
von außen mit einem Taster geöffnet werden, innen ist ein 
Passiv-Infrarot-Bewegungsmelder installiert. Erkennt der BM eine Person, 
soll die Tür automatisch geöffnet werden. Um die Sicherheit zu erhöhen, 
werden die Ausgangssignale des BM analysiert: Wenn der Digitalausgang 
ein Objekt signalisiert, soll die Geschwindigkeit des Objektes ermittelt 
werden. Die Türe wird erst ab einer bestimmten Geschwindigkeit geöffnet.

• Entwerfen Sie ein µC-Programm(für PIC18Fxx) zur Auswertung der 
Schaltfrequenz des BM. Bei Überschreitung einer bestimmten 
Schaltfrequenz soll die Türe automatisch geöffnet werden.


Kann mir jemand helfen ?
der Analoge Ausgang beträgt zwischen 0-5V, durch A/D Wandler wird auf 
0...255 Werte umgewandelt
Was is mit der Schaltfrequenz ?
#1276852
Lesenswert?
• ▲
▼
Johann schrieb:
> Eine Apotheke ist mit einer automatischen Türe abgesichert. Die Tür kann
> von außen mit einem Taster geöffnet werden, innen ist ein
> Passiv-Infrarot-Bewegungsmelder installiert. Erkennt der BM eine Person,
> soll die Tür automatisch geöffnet werden. Um die Sicherheit zu erhöhen,
> werden die Ausgangssignale des BM analysiert: Wenn der Digitalausgang
> ein Objekt signalisiert, soll die Geschwindigkeit des Objektes ermittelt
> werden. Die Türe wird erst ab einer bestimmten Geschwindigkeit geöffnet.
>
> • Entwerfen Sie ein µC-Programm(für PIC18Fxx) zur Auswertung der
> Schaltfrequenz des BM. Bei Überschreitung einer bestimmten
> Schaltfrequenz soll die Türe automatisch geöffnet werden.
>
>
> Kann mir jemand helfen ?
> der Analoge Ausgang beträgt zwischen 0-5V, durch A/D Wandler wird auf
> 0...255 Werte umgewandelt
> Was is mit der Schaltfrequenz ?

Die hat mit dem Analogausgang nichts zu tun.
Offenbar hat der BM noch einen Digitalausgang. Auf diesem Digitalausgang 
signalisiert der BM, dass sich in seinem Sichtbereich etwas bewegt. Dies 
tut er indem er ein periodiches Signal rausgibt. Je schneller das Objekt 
desto höher die Signalfrequenz oder umgekehrt.
#1277037
Lesenswert?
• ▲
▼
johann schrieb:
> Wie bestimme ich die Periodendauer in C ?

du hast zwei Möglichkeiten

1.) auf positive Flanke warten => Timer starten => auf nächste
    positive Flanke warten => Timer stoppen :-)


2.) auf negative Flanke warten => Timer starten => auf nächste
    negative Flanke warten => Timer stoppen :-)


Eigentlich ganz einfach... :-)
Gast #1277049
Lesenswert?
• ▲
▼
Ich halte es für zweifelhaft, dass mit einem PIR-Sensor überhaupt die 
Geschwindigkeit ermittelt werden kann, wenn man sich mal dessen 
Funktionsweise vergegnwärtigt.

(Bei Bedarf kann ich die ausführlich erläutern)

Wenn, dann geht das überhaupt nur mit einem Doppler-Radar-Sensor!

Frank
#1277077
Lesenswert?
• ▲
▼
Frank schrieb:
> Ich halte es für zweifelhaft, dass mit einem PIR-Sensor überhaupt die
> Geschwindigkeit ermittelt werden kann, wenn man sich mal dessen
> Funktionsweise vergegnwärtigt.

Ich denke nicht, dass das ein reales Problem ist.
Sieht nach einer Übungsaufgabe aus.
Gast #1279646
Lesenswert?
• ▲
▼
I muss die Geschwindigkeit berechnen...der Analog-Ausgang des PIR gibt 
ein Signal von 2-10 HZ, in einer Zeit von 1er Sekunde mache ich 100 
Abtastungen,
ich habe ein array für 100 Werte gemacht und daraus den Mittelwert 
berechnet, danach habe ich den Spitzenwert 
berechnet(array[wert]>mittelwert, array[wert-1] und array[wert+1]< 
array[wert], dann spitenwert=array[wert])
dies in einer for-Schleife...

wie kann ich die frequenz ermitteln? (Bei Überschreitung einer 
bestimmten
Schaltfrequenz soll die Türe automatisch geöffnet werden.)

von einem Spitzenwert zum nächsten ist die Periodendauer...oder ?
und dann frequenz=1/T
wie kann ich mit den array so programmieren das er zwei Spitzenwert 
zusammenzählt?

oder kann ich auch die Nullstellen(3 Nullstellen) zusammenzählen und 
dann habe ich die Periodendauer.
Wie zähle ich die Nullstellen zusammmen ?

danke, dass Sie mir helfen, brauch unbedingt für heute(29.05.09)
Gast #1279647
Lesenswert?
• ▲
▼
eine andere Aufgabe ist:
•Entwerfen Sie ein PC Programm, mit dem der Schwellwert für das öffnen 
der Türe vorgegeben werden kann.


Was ist der Schwellwert, wie könnte ich diese Aufgabe lösen ?
Gast #1279689
Lesenswert?
• ▲
▼
>Was ist der Schwellwert,
1
wie könnte ich diese Aufgabe lösen
 ?
Und wie du die nächste Aufgabe lösen könntest, wenn du selbst nicht 
nachdenken möchtest, würde uns auch ganz doll interessieren.
Gast #1279707
Lesenswert?
• ▲
▼
Es scheint ein grundlegendes Problem zu sein, dass den "jungen Leuten" 
nur oberflächlich oder garnicht vermittelt wird, wie man (Programmier-) 
Probleme löst. Ich habe das in letzter Zeit bereits mehrfach im engeren 
Freundes- und Bekanntenkreis erlebt, wenn die Töchter oder Söhne z.B. 
ein Studium beginnen.

Das Zerlegen komplexer Probleme in einzelne überschaubare Teil-Aufgaben, 
Bestimmung von Schnittstellen, und Systemzuständen, das Erstellen von 
einzelnen Modulen, deren Test und dann das Zusammenfügen - alles 
Fremdworte.

Da werden lediglich ein par Elemente irgend einer Programmiersprache 
hingeworfen, aber sowas wie Problemanalyse oder gar "guter Stil" kommt 
anscheinend in den Lehrplänen nicht mehr vor. Teilweise profilieren sich 
die Lehrenden damit, mit komplexen Algorithmen (z.B. FFT) ihre 
Überlegenheit zu demonstrieren, das Vermitteln von "Handwerk" dagegen 
gelingt ihnen nicht oder ist "unter ihrer Würde".

Frank

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren