Wieder mal die "Lichtschranke"

Hi ,

da ich bezüglich dem Thema Arduino relativ neu bin, dürfte ich mir als Anfänger Projekt mal ganz schön was zugemutet haben aber naja … :smiley:

Das ganze versuche ich mit einem Arduino Mega umzusetzen.

Vorerst möchte ich sagen dass ich mein Projekt in einzelne Teile zerpflückt habe.

Was ich bisher geschafft habe:

6 Taster an einen Analog Pin
I2C Display mit eigenem Menü + Variablen Einstellung
Geschwindigkeitsmessung mittels Start / Stopp Lichtschranke

So nun lang genug um den heißen Brei geredet.

Mir geht es darum eine Geschwindigkeitsmessung aufzubauen.

Dabei dachte ich an IR LED + Sensoren.

Dies ist mir auch schon erfolgreich gelungen, nun brauch ich aber das Ganze nicht nur einmal sondern öfters.

Dann sind es aber nicht zwei Led’s sondern 10 oder mehr.

Nun bin ich über diverses Googeln auf den Demux Chip “CD74HC4051E” gestoßen.

Dieses Projekt hab ich nun auch wieder zerpflückt und mich nur mit dem Demux beschäftigt mit normalen LEDs. Dies ist mir auch mehr oder weniger erfolgreich gelungen, 4 von den 8 Leds haben geleuchtet ist ja schon mal was … :slight_smile: Für die restlichen vier war meine Annahme das der USB Anschluss nicht mehr hergibt. Mit dem ich momentan meine Versuche durchführe.

So aber nun müsste ich hier ja zwei Demux miteinander verbinden, wie stelle ich dies am besten an? Und kann ich diese ganz normal pulsen? (38kHz).

Störe ich mir dann mit dem Pulsen eine Zeitmessung mittels millis()?
Wie versorge ich das Board am besten mit Strom ? Hätte irgendwo im Forum mal gelesen das man das Board nicht extern mit Stromversorgen soll und gleichzeitig per USB verbinden soll. Wäre aber so gedacht um die Daten an einen PC weiterzuschicken um es grafisch aufzubereiten.

Die Empfänger würde ich dann immer zwei ( Start / Stopp Lichtschranke ) an einen Pin hängen und mittels Wiederstand ermitteln welche Auslöst. Spricht hier etwas dagegen.

Ich danke euch erst einmal für eure Mühe dies alles durchzulesen & für eure Hilfe.

Entschuldigt den ein oder anderen Rechtschreibfehler… :smiley:

LG Marvin

Wäre die Schematic für die Demux Chip’s im Anhang richtig?

4051_Schematic.png

Deine Beschreibung des Projektes ist ja sehr umfangreich, nur leider verstehe ich (wir) das nicht.

  1. Du solltest ein Schaltbild posten, wie du alles verdrahtet hast.
  2. Der Strom aus dem USB-Port reicht normalerweise für die 8 Leds aus, es sei denn du betreibst die Leds mit je 100 mA.
  3. Was machst du mit den 38 kHz an der Led ?
  4. Was für einen Empfänger verwendest du ?
  5. Und was genau soll das werden ?

HotSystems: Deine Beschreibung des Projektes ist ja sehr umfangreich, nur leider verstehe ich (wir) das nicht.

  1. Du solltest ein Schaltbild posten, wie du alles verdrahtet hast.
  2. Der Strom aus dem USB-Port reicht normalerweise für die 8 Leds aus, es sei denn du betreibst die Leds mit je 100 mA.
  3. Was machst du mit den 38 kHz an der Led ?
  4. Was für einen Empfänger verwendest du ?
  5. Und was genau soll das werden ?

Hallot HotSystems,

  1. Momentan bin ich noch nicht soweit ,... ich versuche momentan jede einzelne Situation wie oben erklärt in den Griff zu bekommen , bevor ich mich an das große ganze Wage. Dafür müsste ich die zwei Multiplex miteinander verbinden wie im Anhang meines Post, wenn dies Richtig ist & ob ich diese eben für meinen Empfänger Pulsen kann.

  2. Da könnte mir eventuell ein Fehler unterlaufen sein, da bin ich mir gerade nicht sicher

3.,4. TSOP4838

  1. Ich möchte die Geschwindigkeit 5 unterschiedlicher Objekte ermitteln und dies an unterschiedlichen Stellen , wenn möglich mit einem Arduino

Ich hoffe ich habe mich jetzt verständlich ausgedrückt ansonsten kann ich es nur Skizzieren :D

Danke nochmal für deine Mühe / Hilfe

Ok, so langsam verstehe ich es.

Nur so wird dein Projekt scheitern.

Der TSOP4838 ist ein IR-Fernbedienungsempfänger. Den kannst du nicht so einfach als Lichtschranke verwenden. Das solltest du unbedingt überdenken.

Dann geht es weiter, wenn wir ein Schaltbild haben.

Hallo,

ich denke ich weis was er möchte. Ein Messanlage aufbauen mit je einer Lichtschranke am Anfang und Ende. Irgendwelche Gegenstände über die Bahn jagen und dabei die Zeit bzw. Geschwindigkeit ermitteln. Das Ganze 8 mal.

Die TSOP4838 sind Infrarot Empfänger. Stichwort Fernbedienungen. Du benötigst IR Sendediode und Fototransistor/Fotodiode. Oder kombinierten Sender/Empfänger und auf der anderen Seite einen Reflektor. Auf die Unterbrechungen reagierst du dann.

Wenn du keine 16 Pins frei hast, kannste die multiplexen. Nur würde ich das anders machen. Die Teile einfach dauerhaft versorgen. Und nur das wirkliche Ausgangssignal was dich interessiert an den Arduino legen. Ich würde die immer Paarweise ansprechen. Würde bedeuten, die Adressleitungen der 4051er kannste parallel schalten. Die gleichnamigen Kanäle zu den Sensorpaaren Ausgängen.

Start Ziel IC1-Y0 IC2-Y0 IC1-Y1 IC2-Y1 IC1-Y2 IC2-Y2 ...

und die beiden Z "Ausgänge" legste auf 2 Eingänge vom Arduino. Würde bedeuten du benötigst am Board 3 Ausgänge für die Adressen/Selectpins plus 2 Eingänge zum einlesen des gewählten Paares was von Z rein kommt. Dann wechselst du die Paare durch je nach Lust und Laune. Wären meine Gedanken zum Thema.

HotSystems: Ok, so langsam verstehe ich es.

Nur so wird dein Projekt scheitern.

Der TSOP4838 ist ein IR-Fernbedienungsempfänger. Den kannst du nicht so einfach als Lichtschranke verwenden. Das solltest du unbedingt überdenken.

Dann geht es weiter, wenn wir ein Schaltbild haben.

Ok das ist ja schon mal was , danke dir .

Ich hätte mir jetzt den TSSP58038 rausgesucht der soll dafür hervorragend geeignet sein ?!

Ja genau Doc_Arduino wobei ich überall lese das die IR Sendediode getaktet werden muss um vom Empfänger erkannt zu werden deshalb glaube / dachte ich bisher das eine dauerhafte Versorgung nicht möglich ist / war .

Doc_Arduino: Hallo,

ich denke ich weis was er möchte. Ein Messanlage aufbauen mit je einer Lichtschranke am Anfang und Ende. Irgendwelche Gegenstände über die Bahn jagen und dabei die Zeit bzw. Geschwindigkeit ermitteln. Das Ganze 8 mal.

Die TSOP4838 sind Infrarot Empfänger. Stichwort Fernbedienungen. Du benötigst IR Sendediode und Fototransistor/Fotodiode. Oder kombinierten Sender/Empfänger und auf der anderen Seite einen Reflektor. Auf die Unterbrechungen reagierst du dann.

Wenn du keine 16 Pins frei hast, kannste die multiplexen. Nur würde ich das anders machen. Die Teile einfach dauerhaft versorgen. Und nur das wirkliche Ausgangssignal was dich interessiert an den Arduino legen. Ich würde die immer Paarweise ansprechen. Würde bedeuten, die Adressleitungen der 4051er kannste parallel schalten. Die gleichnamigen Kanäle zu den Sensorpaaren Ausgängen.

Start Ziel IC1-Y0 IC2-Y0 IC1-Y1 IC2-Y1 IC1-Y2 IC2-Y2 ...

und die beiden Z "Ausgänge" legste auf 2 Eingänge vom Arduino. Würde bedeuten du benötigst am Board 3 Ausgänge für die Adressen/Selectpins plus 2 Eingänge zum einlesen des gewählten Paares was von Z rein kommt. Dann wechselst du die Paare durch je nach Lust und Laune. Wären meine Gedanken zum Thema.

Eine Messanlage habe ich ja schon erfolgreich mit den momentanen Komponenten in Betrieb genommen.

Es scheitert ja an der Umsetzung wie ich die anderen 7 Anlagen anschließen soll . Bei dieser einen Anlage habe ich eben die IR - LED getaktet damit sie vom Empfänger erkannt wird bzw. dachte ich es so ! Und nach der Annahme das diese getaktet werden muss wusste ich nicht wie ich für die restliche Anlage die LED's takten soll.

Ich verstehe nicht wieso Du Analogmultiplexer nehmen willst. Der Arduno Mega hat 70 i/O Pins. Da sind 9 Pin ( ein Pin mit Transistor für die LEDs und 8 Eingänge) für die Lichtschranken ein Klaks.

Ich habe noch nicht verstanden ob es eine max Länge der 38kHz gibt nach der der Empfänger das Lichtsignal nicht mehr erkennt. Es gibt wegen der Filterung eine minimale Signallänge in Impulse gezählt (für den TSOP4838 sind das 10 Zyklen) und eine minimale Auszeit von >= 12 Zyklen damit H bzw L erkannt wird.

Das mußt Du ausprobieren. Ansonsten gibt es auch den IS471F der einen Oszillator und Treiber für die LED hat aber wesentlich teurer als ein TSOP bzw TSSP ist.

Grüße Uwe

Hallo,

okay, dass mit der gepulsten Sendediode ging für mich nicht hervor. Sorry.
Wenn du das schon am laufen hast und das gepulst ist, ist das Ausgangsignal dann nicht auch gepulst was du derzeit siehst?
Eigentlich suchst du doch ein eindeutiges Signal (H oder L) ob die Lichtschranke unterbrochen oder nicht unterbrochen ist bzw. ob was erkannt oder nicht erkannt wurde. Oder bin ich auf dem Holzweg?

uwefed:
Ich verstehe nicht wieso Du Analogmultiplexer nehmen willst. Der Arduno Mega hat 70 i/O Pins. Da sind 9 Pin ( ein Pin mit Transistor für die LEDs und 8 Eingänge) für die Lichtschranken ein Klaks.

Ich habe noch nicht verstanden ob es eine max Länge der 38kHz gibt nach der der Empfänger das Lichtsignal nicht mehr erkennt. Es gibt wegen der Filterung eine minimale Signallänge in Impulse gezählt (für den TSOP4838 sind das 10 Zyklen) und eine minimale Auszeit von >= 12 Zyklen damit H bzw L erkannt wird.

Das mußt Du ausprobieren.
Ansonsten gibt es auch den IS471F der einen Oszillator und Treiber für die LED hat aber wesentlich teurer als ein TSOP bzw TSSP ist.

Grüße Uwe

Hallo Uwe, danke ich glaube genau das habe ich gesucht !!! ^^

Diode wäre TSAL 6200, welchen Transistor kann ich hierfür nehmen ?! Und welchen Widerstand brauche ich vom Transistor von der Basis zum Arduino ??!

Im Anhang wäre eine Schematische Darstellung wäre diese korrekt ?! Danke dir recht Herzlich für deine Hilfe !!!

Für Lichtschrankenanwendungen musst du ein TSOP Modul verwenden, das (auch) "continous mode" unterstützt. Die meisten sind nur für "burst mode" geeignet (das ist für Fernbedienungen). Sonst bekommst du möglicherweise alle paar Sekunden Phantom-Unterbrechung. Das ist vor allem wichtig wenn du hohe Anforderungen an die zeitliche Auflösung hast.

Zum Beispiel wird bei diesem Modell auch "continous mode" unterstützt: http://www.vishay.com/docs/81926/tsop4038.pdf