Forum: Mikrocontroller und Digitale Elektronik Simple unempfindliche Lichtschranke


von N. G. (newgeneration) Benutzerseite


Lesenswert?

Hallo Forum,

eine relativ einfache Frage diesmal:

Ich entwerfe gerade eine kleine Lichtschranke, diese soll aus möglichst 
wenig Komponenten bestehen.

Anforderungen:
- Seitlich schauende LED und Empfänger für direkte Platinenmontage
- kein IR-Licht, und am besten sichtbar (das sichtbar ist kein muss)
- möglichst unempfindlich gegen Tageslicht
- möglichst wenig Komponenten
- "billig" (keine teuren Komponenten)

Das Problem: in dem Raum, wo die Lichtschranke (diese bewegt sich 
selber) eingesetzt werden soll gibt es mehrere vorher nicht bekannte 
Lichtquellen, schwaches Tageslicht gehört auch dazu.

Ich hätte es jetzt als naiven Ansatz so versucht:
Die LED leuchtet nicht konstant, sondern mit ein paar Kilohertz 
(möglichst verschieden von 1.2kHz und 38-40kHz) moduliert. Der 
Empfänger, wahrscheinlich ein Phototransistor, soll dann dieses Signal 
erkennen. Es gibt jetzt 3 Möglichkeiten:
1. Empfänger sieht genau die LED: Ideal, Lichtschranke nicht 
unterbrochen und nicht gestört
2. Empfänger sieht gar nichts: Lichtschranke unterbrochen
3. Empfänger sieht konstantes Licht oder eine andere Frequenz: 
Lichtschranke ist gestört und wird ignoriert

Das ist im Prinzip mein Ziel:
Ein simpler Ausgang der high (3.3V oder 5V) ist, wenn die Lichtschranke 
unterbrochen ist und low, wenn sie nicht unterbrochen ist, oder gestört 
ist. Von mir aus auch high und low umgekehrt.

Gibt es dafür ein simple Lösung ohne gleich einen µC nehmen zu müssen?

von Falk B. (falk)


Lesenswert?

@ N. G. (newgeneration) Benutzerseite

>- Seitlich schauende LED und Empfänger für direkte Platinenmontage
>- kein IR-Licht, und am besten sichtbar (das sichtbar ist kein muss)

Also IR.

>- möglichst unempfindlich gegen Tageslicht
>- möglichst wenig Komponenten
>- "billig" (keine teuren Komponenten)

Beitrag "Re: Infrarot LED Lichtschranke"

>Das Problem: in dem Raum, wo die Lichtschranke (diese bewegt sich
>selber) eingesetzt werden soll gibt es mehrere vorher nicht bekannte
>Lichtquellen, schwaches Tageslicht gehört auch dazu.

Darum kümmert sich der Empfänger.

>Die LED leuchtet nicht konstant, sondern mit ein paar Kilohertz
>(möglichst verschieden von 1.2kHz und 38-40kHz) moduliert.

Genau.

>ist. Von mir aus auch high und low umgekehrt.

Macht alles der vollintegrierte Empfänger.

>Gibt es dafür ein simple Lösung ohne gleich einen µC nehmen zu müssen?

Siehe Link. Den Arduino kann man natürlich durch einen einfachen NE555 
ersetzen, der reicht zur Ansteuerung der IR-LED. Fequenz mittel Poti gut 
abstimmen, fertig.

von N. G. (newgeneration) Benutzerseite


Lesenswert?

Hallo Falk,

es ist ja schön, dass du immer so schnell Antwortest (Respekt!), aber:

Falk B. schrieb:
>>- kein IR-Licht
> Also IR.

Tja, okay ich schränke mich etwas ein:
auf gar keinen Fall darf die LED 920nm - 960nm ausgeben oder der 
Empfänger darauf reagieren. Eine solche Lichtquelle gibt es schon in dem 
Raum und andere Sensoren könnten dann fälschlicherweise auf die 
Lichtschranke reagieren.
Zur Sicherheit würde ich den gesamten Bereich von 850-1000nm 
ausschließen wollen.

Falk B. schrieb:
>>Die LED leuchtet nicht konstant, sondern mit ein paar Kilohertz
>>(möglichst verschieden von 1.2kHz und 38-40kHz) moduliert.

Auch das ist sehr wichtig. Leider sind die meisten IR-Receiver auf 
~40kHz abgestimmt (übliche Fernbedienungsfrequenzen), deswegen fallen 
die bei mir alle raus.

Falk B. schrieb:
> Den Arduino kann man natürlich durch einen einfachen NE555
> ersetzen, der reicht zur Ansteuerung der IR-LED. Fequenz mittel Poti gut
> abstimmen, fertig.

Das hätte ich für den Sender sowieso gemacht.

Weitere Einschränkungen:
- die Lichtschranke muss nur eine Distanz von 20cm überbrücken. Diese 
dafür aber sicher.
- die Lichtschranke wird mit etwa 500Hz - 1kHz ausgelesen, muss also 
nicht übertrieben schnell sein.

Aber das IR-Verbot von 900-980 nm ist absolut unumgehbar, genauso wie 
das Frequenzverbot von 38-40kHz und 1.2kHz

von Olelarson (Gast)


Lesenswert?

Nimm einen IS 471 FE-SH.
Das ist ein Lichtschranken-IC mit Modulation.
Du brauchst nur noch eine Sendediode.

Sehr empfindlich auf das eigene Signal. Man kann mehrere Meter 
überbrücken.
Sehr unempfindlich auf Tageslicht oder andere Störungen.

Schaltausgang.

http://www.produktinfo.conrad.com/datenblaetter/175000-199999/185094-da-01-en-IS471F_SH.pdf

von MaWin (Gast)


Lesenswert?

N. G. schrieb:
> Die LED leuchtet nicht konstant, sondern mit ein paar Kilohertz
> (möglichst verschieden von 1.2kHz und 38-40kHz) moduliert. Der
> Empfänger

So macht man das.
Siehe auch: Beitrag "Lichtschranke mit LM567 / DBL567 will nicht" und
http://www.trigonal.de/sel/blobs/relisch.png
1
  +---+--+----------------+------+--+-- +5V
2
  |   |  |                |      |  |
3
  |  4k7 |           +----+---+ 1M 220R
4
 E|   |  |           |    4   |  |  |
5
  >|--+--(--4k7---+--|5      1|--+  | 
6
  |BC307 |       10k |LM/NE567|  |  |A
7
  |      |        +--|6       |  | LED
8
  |      |        |  |        |  |  |
9
 100R 10kPoti-22n-(--|3 2  7 8|--(--+--  kann bis 100mA nach Masse schalten
10
  |      |        |  +--+--+--+  | 
11
 A|     C|        |     |  |     |
12
 LED=PhotoTrans  22n   2u2 |    4u7
13
  |      |        |     |  |     |
14
  +------+--------+-----+--+-----+----- GND
Hier drin
http://files.elv.de/Assets/Produkte/11/1123/112349/Downloads/112349_liteon_reflexlichtschranke_h209_01_data.pdf
liegen bloss 3mm LED und Photoreansistor, du kannst also die IR LED 
gegen eine sichtbare LED austauschen.

von Wolfgang (Gast)


Lesenswert?

MaWin schrieb:
> So macht man das.

Was hast du gegen einen Synchrongleichrichter?
Selbst Signale anderer IR-Sender unterdrückt der recht gut, wenn die 
nicht sehr genau die gleiche Modulationsfrequenz verwenden und man sich 
eine ausreichend lange Zeitkonstante genehmigen kann. Die bestet Methode 
wäre wohl ein Synchrondetektor mit einer PRBN-modulierten Lichtquelle 
ähnlich der Modulation beim GPS.

von Falk B. (falk)


Lesenswert?

@ Wolfgang (Gast)

>eine ausreichend lange Zeitkonstante genehmigen kann. Die bestet Methode
>wäre wohl ein Synchrondetektor mit einer PRBN-modulierten Lichtquelle
>ähnlich der Modulation beim GPS.

Und das für eine 20cm Lichtschranke? Man kann alles übertreiben . . .

von Hp M. (nachtmix)


Lesenswert?

N. G. schrieb:
> auf gar keinen Fall darf die LED 920nm - 960nm ausgeben oder der
> Empfänger darauf reagieren

Empfängerseitig kann man das mit Farbfiltern machen, was aber nicht ganz 
einfach ist, weil man ja meist nicht deren IR-Transmissionsspektrum 
kennt.

Alternativ nimmt man als Empfänger eine nicht eingefärbte rote LED und 
beleuchtet sie mit etwas kurzwelligerem Licht, also z.B. orange, gelb, 
grün, blau.
LEDs sind als Photodetektoren gar nicht schlecht, und sie sind für Licht 
mit grösserer Wellenlänge als sie selbst es aussenden vollkommen blind.
Für Licht der eigenen Farbe ist die Empfindlichkeit schon schlecht.

von Sebastian S. (amateur)


Lesenswert?

Warum eigentlich keinen Standard-IR Empfänger?

Die sind von "Haus aus" effektiv und empfindlich für ihr Frequenzband 
und stören sich auch nicht an "Gleichlicht".

Natürlich ist es sinnvoll nicht das gleiche Signal zu verwenden, wie die 
Helligkeitssteuerung Deines Fernsehers.

Soweit mir bekannt, wird das gesendete Signal 1:1 weitergeleitet.

von Andi B. (andi_b2)


Lesenswert?

N. G. schrieb:
> Leider sind die meisten IR-Receiver auf
> ~40kHz abgestimmt (übliche Fernbedienungsfrequenzen)

36kHz - 56kHz. Und das sehr schmalbandig. Man kann also durchaus mehrere 
verschiedenen parallel betreiben. ABER, das betrifft nur die 
Modulationsfrequenz, Träger ist dabei immer IR. Noch dazu gibt's Typen 
die für verschieden lange Telegramme optimiert sind - Dauersenden geht 
mit sowas nicht, nur gepulst Telegramme mit gewissen Längen und Pausen.

Trotzdem könnte sowas die beste Lösung sein. Z.B. etwas aus der 
TSOP32x/34x Serie. Mit 56kHz wäre er auch außerhalb deines verboten 
(unverständlicherweise verbotenem) Bandes. Taglichtfilter, 
Strörungsfilter, AGC und allem Pipapo was du selbst ohnehin nicht 
annähernd so gut hingkriegst, bekommst du fix und fertig. Noch eine IR 
Sendediode dazu welche du mit 56kHz gepulst modulierst und fertig. Aber 
da müsstest du deine "Verbote" überdenken. Den Tageslicht unempfindliche 
Lichtschranke und nicht IR, da würde mir nur mehr Laser einfallen ---> 
sehr viel teurer und aufwendig und für die paar cm mehr als Overkill.

Was du auch machen kannst, und ich auch schon getan habe, normale IR 
Sendediode mit z.B. 25kHz modulieren und normale IR-Empfängerdiode mit 
nachgeschaltetem 25kHz Filter. Aber die stört dir viel eher deine 
anderen Fernbedienungen, ist viel aufwendiger und ist auch nicht so 
störungsunempfindlich.

von MH (Gast)


Lesenswert?


von Joachim B. (jar)


Lesenswert?

man könnte auch mit 250 kHz modulieren (keine mir bekannt IR 
Fernbedienung nimmt 250kHz) und bei zusätzlichen Bedarf eine UV LED 
nutzen (was IR Störungen nochmals unterdrückt), nur dafür müsste man den 
Empfänger wohl diskret aufbauen

: Bearbeitet durch User
von neeee (Gast)


Lesenswert?

Moby A. schrieb im Beitrag #4663183:
> http://de.aliexpress.com/item/Smart-car-robot-E18-...

ähhh...nein

von N. G. (newgeneration) Benutzerseite


Lesenswert?

Hallo Olelarson,

> Nimm einen IS 471 FE-SH.
> Das ist ein Lichtschranken-IC mit Modulation.
> Du brauchst nur noch eine Sendediode.

leider 940nm, damit nicht nutzbar

> Sehr empfindlich auf das eigene Signal. Man kann mehrere Meter
> überbrücken.

wie gesagt, 20cm sind das Maximum.

---

Hallo MaWin, danke für die Schaltung, die probiere ich mal aus.

---

Hallo Wolfgang (Gast), dein Vorschlag ist nicht falsch und würde 
sicherlich zum Ziel führen, aber er ist schon etwas übertrieben für 
diesen Fall.

---

Hallo, Hp M. schrieb:
> N. G. schrieb:
>> auf gar keinen Fall darf die LED 920nm - 960nm ausgeben oder der
>> Empfänger darauf reagieren
>
> Empfängerseitig kann man das mit Farbfiltern machen, was aber nicht ganz
> einfach ist, weil man ja meist nicht deren IR-Transmissionsspektrum
> kennt.

Ja, das würde aufwändig werden. Wenn man aber die Diode anders als das 
vorhandene Licht moduliert, darf der Empfänger dieses ja sehen, aber er 
sollte nicht darauf reagieren, oder?

> Alternativ nimmt man als Empfänger eine nicht eingefärbte rote LED und
> beleuchtet sie mit etwas kurzwelligerem Licht, also z.B. orange, gelb,
> grün, blau.
> LEDs sind als Photodetektoren gar nicht schlecht, und sie sind für Licht
> mit grösserer Wellenlänge als sie selbst es aussenden vollkommen blind.
> Für Licht der eigenen Farbe ist die Empfindlichkeit schon schlecht.

Das ist ein guter Tipp, das werde ich mir mal anschauen und ein paar 
Farben testen.

---

Sebastian S. schrieb:
> Warum eigentlich keinen Standard-IR Empfänger?

weil schon exakt solche Signale in dem Raum existieren, auf die ich 
nicht reagieren möchte. Das kann ich auch nicht ändern.
Ich weiß das TSOPs für so was genial sind, aber die kann ich aus den 
oben genannten Gründen nicht nutzen.

---

Andi B. schrieb:
> Was du auch machen kannst, und ich auch schon getan habe, normale IR
> Sendediode mit z.B. 25kHz modulieren und normale IR-Empfängerdiode mit
> nachgeschaltetem 25kHz Filter. Aber die stört dir viel eher deine
> anderen Fernbedienungen, ist viel aufwendiger und ist auch nicht so
> störungsunempfindlich.

Wird wohl auf so was hinaus laufen. Ich werde mir evtl. auch noch ein 
paar Empfänger bestellen und ausprobieren, mal sehen was dabei raus 
kommt.

---

Joachim B. schrieb:
> man könnte auch mit 250 kHz modulieren (keine mir bekannt IR
> Fernbedienung nimmt 250kHz) und bei zusätzlichen Bedarf eine UV LED
> nutzen (was IR Störungen nochmals unterdrückt), nur dafür müsste man den
> Empfänger wohl diskret aufbauen

Genau so was wollte ich machen. Die LED mit irgendeiner Frequenz 
anzusteuern ist ja nicht das Problem, eher der Empfänger.

---

Moby A. schrieb im Beitrag #4663183:
> http://de.aliexpress.com/item/Smart-car-robot-E18-...

Warum empfehlen mir alle IR?
Das Ding kann ich leider gar nicht verbauen. Das Zeug (also LED und 
Empfänger) muss an die 2 Spitzen einer Platine montiert werden, und 
dewegen sollten sie relativ klein sein.

---

Allgemein

nochmal zu den Gegebenheiten:
http://rcj.robocup.org/rcj2016/soccer_2016.pdf
Das ist das entscheidende Regelwerk.
Man werfe eins seiner Augen auf die Abschnitte
1
- 1.2, 3. Absatz: IR aussenden ist eine unerlaubte Interferenz
2
- 2.2, 2. Absatz: macht das nochmal deutlich: eig. gar kein IR-Licht aussenden
3
- 2.9: Disqualifikation bei Verstoß (würde ich gerne vermeiden ;) )
4
- 4. Ball: Dieser sendet das oben genannte IR-Licht aus
5
- Technical Specification for pulsed Soccer Ball (Seite 15):
6
  - 2.1 IR: spezifiziert das Licht
So weit so mittelmäßig.
Mit diesem Regelwerk wird glaube ich klar, warum ich IR vermeiden 
möchte.

Es geht ja nicht nur um meinen Roboter, selbst wenn dieser nicht von 
meiner Lichtschranke beeinflusst wird, kann es immer noch sein, dass der 
Gegner doch beeinflusst wird -> Spiel verloren!

PS: ich versuche Probleme immer erst abstrakt darzustellen, dann kommt 
man oft auf neue Ideen.

von Harald W. (wilhelms)


Lesenswert?

N. G. schrieb:

>> Nimm einen IS 471 FE-SH.
>> Das ist ein Lichtschranken-IC mit Modulation.
>> Du brauchst nur noch eine Sendediode.
>
> leider 940nm, damit nicht nutzbar

Die Wellenlänge wird ja durch die Sendediode vorgegeben, die
sowieso extern angeschlossen werden muss. Sendedioden für den
von Dir gewünschten Bereich sind aber Spezialbauelemente, die
entsprechend teuer sein können. Der Empfänger reagiert dagegen
recht breitbandig. Wenn Du das verhindern willst, musst Du
schmalbandige Filter vorsetzen, die auch nicht ganz billig sind.

> wie gesagt, 20cm sind das Maximum.

Das Vorsetzen von Graufiltern zur Verringerung der Empfindlichkeit
sollte wohl das kleinste Problem sein.

So oder so: Die von Dir gemachten Vorgaben machen eine Problemlösung
nicht mehr "simpel".

von Holger L. (max5v)


Lesenswert?

Muß es denn unbedingt Licht sein?
Es gäbe ja auch noch Ultraschall, oder rein mechanische Lösungen wie ein 
Draht an einem Kippschalter.

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.