Hallo,
ich habe hier ne Lichtschranke, die eigentlich nur ein binäres Signal
ausgeben soll.
Leider ist es jetzt so, dass sie - wenn sich nichts dazwischen befindet
- 3,5 Volt ausgibt und wenn sich etwas zwischen Sender und Empfänger
befindet, dann gibt sie 2,5 Volt aus.
Jetzt würd ich das gerne so normieren, dass ein Signal ein sauberes
High-Signal und das andere ein sauberes Low-Signal ergibt, welches ist
eigentlich egal.
Wie kann ich das denn mit möglichst wenig (Hardware-) Aufwand ohne
Mikrocontroller machen?
Gruß
Racer443
Es handelt sich übrigens um das Lichtschrankenpaar Temic K153P, zu
welchem auch ein Beitrag auf mikrocontroller.net existiert.
Kann es sein, dass die stark lichtanfällig sind.
Bei wenig Licht habe ich die oberen Ergebnisse. Bei stärkerem Licht sind
es 3,5V und 1V
Racer443 schrieb:> Bei wenig Licht habe ich die oberen Ergebnisse. Bei stärkerem Licht sind> es 3,5V und 1V
Das heisst, du misst mehr Umgebungslicht als das des Senders. Das sind
sehr schlechte Voraussetzungen. Teste zuerst mal das ganze im Dunkeln,
bzw. so annähernd, nicht dass du noch auf den heissen Lötkolben fällst.
Gruss Reinhard
@Karl Heinz:
Bei dem CMOS Schmitt Trigger (einen anderen hab ich nicht) ändert sich
das Ausgangssignal bei einer abfallenden Flanke erst bei 1,9V. Es sollte
aber schon bei 2,5, bzw. etwas früher. Die Schwelle zwischen 2,5 und
3,5V ist eben nicht sehr groß.
@Reinhard Kern:
Da das ne Infrarot Lichtschranke ist, dachte ich es wäre nicht so
Lichtanfällig, bzw. zumindest nicht so extrem.
Meinst du, ich soll einfach die Vorwiderstände nochmal anpassen und
diesmal also bei "Dunkelheit"?
Racer443 schrieb:> Bei stärkerem Licht sind> es 3,5V und 1V
Welches Licht meinst du denn genau? Das vom Sender oder das
Umgebungslicht? Von dem sollte das Ergebnis nahezu unabhängig sein. Egal
ob IR, Licht, UV oder Gamma...
Gruss Reinhard
Normalerweise geht man her und sendet burst von einer bestimmten
Frequenz, z.B. 36kHz. Hintendran einen Bandpass am Empfänger und du
siehst nur etwas, wenn deine IR-LED auch bei 36kHz sendet und sonst eben
nicht.
Was ist deine Anwendung? Lichtschranke und einen Durchgang erkennen,
Datenübertragung, Drehzahlmessung, Distanzmessung?
Wenn LED und Empfänger am selben µC angeschlossen sind und der Empfänger
am ADC hängt, kann man auch eine Umgebungslichtkompensation machen, z.B.
wenn es um die Helligkeitserkennung von Oberflächen geht.
Schreib mal mehr über deine Anwendung und gib uns mal ein bissl
Kontext...
@Reinhard Kern:
Meine das Umgebungslicht. Ja dachte auch, das sei unabhängig davon.
@René B.:
Okay sorry dann schildere ich mal mein Vorhaben:
Ich habe die obengenannte Lichtschranke mit einem Abstand von 1,5-2cm
zwischen Sender und Empfänger und möchte lediglich einen Durchgang
erkennen, also wenn sich etwas zwischen der Lichtschranke befindet.
Vielleicht liegt es auch daran, dass ich es nicht getaktet habe.
Wie würde das mit der Umgebungslichtkompensation funktionieren?
Gruß
Racer443
Ja die sind eigentlich ziemlich gut ausgerichtet.
Aber ich "montiere" die Lichtschranke jetzt doch nochmal anders und pass
die Vorwiderstände an, dann gibts vielleicht auch ein besseres Ergebnis.
Okay funktioniert jetzt problemlos.
Hab die Lichtschranken jetzt komplett anders angeordnet und jetzt hat
das Signal entweder ~0,5V oder knapp 5V. Damit kann man doch viel
sauberer arbeiten.
Dann hab ich es noch mit einem Schmitt-Trigger, nem Kondensator und 2
Widerständen "entprellt" und jetzt liefert die Schaltung ein sauberes
Signal!
Danke an alle für die Hilfe.
Für eine einfache Art der Umgebungslichtkompensation an einem µC braucht
es folgendes:
- Du kannst die LED mit einem Pin aus dem µC ein/ausschalten
- Du kannst den Vorwärtsstrom über der Empfängerdiode mit einem
Widerstand
messen und den Wert am ADC einlesen.
Die Vorgehensweise ist folgende:
- Du schaltest die IR-LED aus
- Misst die Spannung am ADC
=> Das ist der Einfluss durch das Umgebungslicht. Wert abspeichern
- Jetzt schaltest du die IR-LED ein
- Erneut die Spannung am ADC messen
=> Das ist jetzt entweder: Umgebungslicht+IR-LED oder nur Umgebungslicht
Aus dem Wert und dem vorrangegangenen Wert ohne IR-LED kannst du dir
jetzt das Vorhandensein eines Objektes im Strahlgang ableiten.
Den ganze Vorgang machst du zyklisch und kannst dabei problemlos
in den kHz-Bereich vordringen.
Du kannst ja mal eine Messung machen, wenn definitiv kein Gegenstand
dazwischen ist und mal schauen, wie groß der Einfluss der IR-LED ist.
Daraus kannst du dir eine sinnvolle Grenze erstellen, ab wann du trotz
eingeschalteter LED einen Objektdurchgang triggerst.
Wenn dir ein Objekt beim Durchgang gleich noch das Umgebungslicht
abschattet, kommt dir das sogar entgegen.
Nach dem selben Prinzip arbeiten die meisten Hobby-Roboter, die eine
schwarze Linie auf weißem Grund verfolgen sollen. Nur da ist es halt
keine Durchgangs-Lichtschranke, sondern eine Reflektions-Lichtschranke.
Okay danke!
Hat jetzt auch ohne funktioniert, da sowieso nie viel Umgebungslicht
daraufscheinen wird, aber klingt eigentlich ganz logisch.
Und mein Objekt schattet sogar das Umgebungslicht, deshalb ist das
wahrscheinlich auch nicht erforderlich.
Außerdem hab ich für den Fototransistor den Vorwiderstand deutlich
erhöht. So hab ich jetzt fast 0 Volt zu gut 5 Volt, also richtig saubere
binäre Signale.
Stefanus schrieb:> Es kann auch sehr hilfreich sein, den Empfänger in eine Röhre zu packen,> so dass nur Licht von vorne eintreffen kann.
Das ist der Trick mit dem Schrumpfschlauch über ein 3mm oder 5mm
Leuchtdiodengehäuse ? Geht hier leider nicht, weil die Bauform flach
ist.