Forum: Mikrocontroller und Digitale Elektronik Zeitintervall mit Lichtschrankenkaskade und uC messen


von Jiri D. (Gast)


Lesenswert?

Hallo,

ich moechte fuer ein Projekt Zeit- und Geschwindigkeitsmessungen durch 
Lichtschranken realisieren. Prinzipiell kann man sich das aehnlich wie 
bei einem klassischen Fallexperiment vorstellen (es ist kein 
Fallexperiment; nur als Bild zu verstehen), bei dem die Zeit zwischen 
zwei Lichtschranken gemessen wird, die ein Objekt benoetigt.

Der Unterschied besteht darin, dass ich nicht nur zwei Lichtschranken 
verwenden moechte, sondern zB. 20, 50, 100... sodass die Abweichung 
reduziert wird. Die Messtrecke betraegt zB. 20m, ist aber prinzipiell 
nicht festgelegt.
Mit 20 Lichtschranken koennte also die Durchschnittsgeschwindigkeit fuer 
jeden 1m langen Abschnitt bestimmt werden.

Meine bisherige Idee sieht vor, dass alle Lichtschranken(=LS) mit drei 
Leitungen versorgt werden: +/-/Signal.
An der Signalleitung ist ein uC angeschlossen, der die Abstaende der 
Signalflanken per Input Capture Unit misst. Standardmaessig ist die 
Leiting HIGH (Pull-Up).

Die LS sollen im Normalzustand (=nicht blockiert) hochohmig sein (dh. 
Signalleitung wird nicht beeinflusst) und im blockierten Zustand die 
Signalleitung fuer zB. 5us auf LOW ziehen.

Und hier ist auch schon das Problem:
Normalerweise bekomme ich von der LS ein HIGH (=n. blockiert) oder ein 
LOW (=blockiert), das solange anhaelt, wie die LS in diesem Zustand ist 
(also das Objekt zB. davor ist) - und eben keinen kurzen Impuls.

Wie kann ich, OHNE einen zusaetzlichen uC je LS verwenden zu muessen, 
einen LOW-Impuls mit einer bestimmten Dauer (zB. 5us) erzeugen?
Ich denke, dass das mit einigen einfachen Bauteilen (zB. Schmitttrigger, 
NAND-Gatter, ...) moeglich sein sollte.


Danke fuer eure Tips!

von Axel D. (axel_jeromin) Benutzerseite


Lesenswert?

Jiri Denkdirwasaus schrieb:
> An der Signalleitung ist ein uC angeschlossen, der die Abstaende der
> Signalflanken per Input Capture Unit misst

Da ist doch schon ein µc drann! Mit dem kann man eine Flanke für einen 
Programmdurchlauf per Software machen.

Wo ist das Problem?

Axel

von Karl H. (kbuchegg)


Lesenswert?

Jiri Denkdirwasaus schrieb:

> Und hier ist auch schon das Problem:
> Normalerweise bekomme ich von der LS ein HIGH (=n. blockiert) oder ein
> LOW (=blockiert), das solange anhaelt, wie die LS in diesem Zustand ist
> (also das Objekt zB. davor ist) - und eben keinen kurzen Impuls.
>
> Wie kann ich, OHNE einen zusaetzlichen uC je LS verwenden zu muessen,
> einen LOW-Impuls mit einer bestimmten Dauer (zB. 5us) erzeugen?

Die Dauer kann doch ruhig von der LS kommen. So schnell wird dein 
Messobjekt die Lichtschranke ja nicht freigeben, dass der µC ganz am 
Ende das nicht mehr registrieren kann. Solange sich die einzelnen 
Messbereiche nicht soweit überlappen, dass das Messobjekt die nächste 
Lichtschranke schon betätigt, während die vorhergehende noch blockiert 
ist, ist das ja kein Problem. Wenn nicht, müsste man noch ein Monoflop 
per LS einsetzen, welches die Pulsdauer entsprechend verkürzt.

Und der Rest: Du suchst eine Open-Collector Schaltung. Also einfach 
einen Transistor, der von der LS angesteuert wird und die Leitung dann 
nach GND zieht.

Wobei du dir deine LS noch mal genauer ansehen solltest. Viele derartige 
Produkte haben nämlich schon eine Open-Collector Ausgangsstufe.

von Jiri D. (Gast)


Lesenswert?

Axel Düsendieb schrieb:
> Da ist doch schon ein µc drann! Mit dem kann man eine Flanke für einen
> Programmdurchlauf per Software machen.
>
> Wo ist das Problem?
Vielleicht nochmal zur Klaehrung (oder hab ichs nicht verstanden?):
Ich habe einen uC, an dessen ICP1 Pin die LS (mit Zusatzbeschaltung) 
angeschlossen sind. Dieser uC soll dann die Impulsabstaende messen.

Karl heinz Buchegger schrieb:
> Die Dauer kann doch ruhig von der LS kommen. So schnell wird dein
> Messobjekt die Lichtschranke ja nicht freigeben, dass der µC ganz am
> Ende das nicht mehr registrieren kann. Solange sich die einzelnen
> Messbereiche nicht soweit überlappen, dass das Messobjekt die nächste
> Lichtschranke schon betätigt, während die vorhergehende noch blockiert
> ist, ist das ja kein Problem.
Genau das ist der Fall (also die Ueberlappung). Das Objekt ist zB. 10cm 
lang und ich will in 5cm Abstaenden (oder kleiner) messen.

> Wenn nicht, müsste man noch ein Monoflop
> per LS einsetzen, welches die Pulsdauer entsprechend verkürzt.
Danke! Das scheint das zu sein nach dem ich gesucht habe.
Gibt es irgendwelche Bezeichnungsschemen, an denen ein Monoflop zu 
erkennen ist? Reichelt liefert bei Suche "Monoflop" nur drei Ergebnisse: 
MOS 4098, MOS 4528, MOS 4538

> Und der Rest: Du suchst eine Open-Collector Schaltung. Also einfach
> einen Transistor, der von der LS angesteuert wird und die Leitung dann
> nach GND zieht.
Ich wusste, dass ich dafuer schon mal eine Loesung hatte... Ja, 
Open-Collector ist das was ich moechte... so einfach kanns gehen.

> Wobei du dir deine LS noch mal genauer ansehen solltest. Viele derartige
> Produkte haben nämlich schon eine Open-Collector Ausgangsstufe.
Hab bisher noch keinen festen LS-Typ, aber danke ;).
Kennt jemand kompakte und guenstige (wegen Stueckzahl) nicht Gabel-LS?

Danke fuer die schnellen Antworten!

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.