Forum: Mikrocontroller und Digitale Elektronik Bewegungsmelder


von Johann (Gast)


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 ?

von Karl H. (kbuchegg)


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.

von Johann (Gast)


Lesenswert?

ja es hat auch einen Digital ausgang mit TTL, wie kann ich den PIC so 
programmieren, dass ab einer gewissen Schaltfrequenz die Tür(Diode in 
meinem fall) auf high setzt ?

von Uhu U. (uhu)


Lesenswert?

Wie wärs mit einer Messung der Zeit zwischen zwei steigenden 
Signalflanken?

von Johann (Gast)


Lesenswert?

also mit PWM ?

von Karl H. (kbuchegg)


Lesenswert?

Johann schrieb:
> also mit PWM ?


Nein

PWM: Der µC erzeugt ein Signal
Du hast: Der µC bestimmt die Periodendauer eines Signals.
Ist ganz was anderes.

von johann (Gast)


Lesenswert?

Wie bestimme ich die Periodendauer in C ?

von Nitram L. (nitram)


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... :-)

von Frank (Gast)


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

von Karl H. (kbuchegg)


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.

von Johann (Gast)


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)

von johann (Gast)


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 ?

von ingFH (Gast)


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.

von Frank (Gast)


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

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.