Fotodiode - Schalten Sie den Digitaleingangsstift in 1 mit wenig Lichteingang

Derzeit versuche ich, mit einer Fotodiode (SFH 203) zu arbeiten, die sehr kleine Lichtmengen erkennen soll. Mit dem Digital eines Arduino kann die Fotodiode den Pin aufgrund des geringen Lichtpegels nicht auf 1 drehen. Wenn ich Licht mit einem analogen Stift messe, erhalte ich einen Wert von 25-30.

Gibt es eine Möglichkeit, den digitalen Wert mit einer kleinen Lichtmenge auf 1 zu bringen?

Geben Sie hier die Bildbeschreibung ein

Könnten Sie einen Link zum Datenblatt bereitstellen, damit wir nicht danach suchen müssen? :)
Meinst du das Datenblatt der Fotodiode?
Sie zeigen die Fotodiode in Vorwärtsrichtung. Normalerweise ist eine PIN-Fotodiode in Sperrrichtung vorgespannt. Ich bin mir nicht sicher, warum Sie eine LED in Reihe haben. Wenn Ihnen die Geschwindigkeit egal ist, können Sie ihn mit einem großen Lastwiderstand gegen Masse vorspannen und einen Komparator verwenden, um den digitalen Pin zu speisen. Idealerweise wäre die Sperrvorspannung höher als 5 V, das Datenblatt gibt einen Maximalwert von 20 V an, sodass 12 V möglicherweise in Ordnung sind, wenn sie verfügbar sind.

Antworten (4)

Soweit ich weiß, arbeiten Fotodioden "rückwärts". Das heißt, sie erzeugen einen Stromfluss von der Kathode zur Anode , so in Ihrem Schaltplan P D ist wahrscheinlich umgekehrt. Auf diese Weise findet keine Lichterkennung statt, ich denke, es fließt immer Strom durch den Stromkreis.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Das obige Schema ist mein Versuch, das zu minimieren, was für die Digitalisierung der PD-Ausgabe erforderlich ist. Es stützt sich auf die aktuelle Verstärkung (Beta) von rund 100 Q 1 Transistor. 10 μ A sollte genug sein, um zu verursachen 1 M A fließt durch den Kollektor-Emitter-Übergang. R 1 ist einfach ein Pull-up, der besagt, dass der Ausgang bei Dunkelheit HIGH ist. Q 1 dann zieht es niedrig-ish, wenn P D wird ausreichend beleuchtet.

Zur Feinabstimmung der Empfindlichkeitsschwelle können Sie versuchen, sie anzupassen R 1 (oder möglicherweise durch ein Potentiometer ersetzen.)

Fühlen Sie sich frei, auf Fehler hinzuweisen, die ich gemacht habe.

Sie haben R1 in Ihrem Schaltplan kurzgeschlossen.
Thx für deinen Beitrag! Ihr rechter pd soll in Sperrrichtung vorgespannt sein (Zeichnungsfehler). Kann man auch einen Transistor 7805 cv verwenden?
@Sathees 7805 ist kein Transistor. Es ist ein Spannungsregler.

Das Datenblatt zeigt die Empfindlichkeit der Fotodiode mit 9,5 uA pro 1000 Lux.

Jetzt weiß ich nicht, was für Sie als "schwaches Licht" gilt, aber versuchen wir 10 Lux als vernünftigen Schaltpegel - an diesem Punkt erzeugt die Fotodiode 95 nA. Nicht sehr viel ... wie ist es im Vergleich zum Dunkelstrom? Nun, das ist mit <10 nA angegeben, sodass 95 nA deutlich über dem Dunkelstrom liegen.

Wir wollen also den Arduino-Eingang auf 1 (dh > 2,5 V) mit einem Strom von 95 nA setzen. Wenn Sie die LED für den Moment vernachlässigen (sie leuchtet sowieso auf keinen Fall auf), können Sie dies einfach tun, indem Sie R1 durch R = 2,5 / 95e-9 = 27 Megaohm oder so ersetzen.

Wenn der Leckstrom des Arduino-Eingangspins viel größer als 10 nA ist, ist dies nicht genau, und wenn er größer als 100 nA ist, funktioniert es möglicherweise überhaupt nicht, oder der Schaltpegel kann etwas stark von 10 Lux abweichen, aber Sie haben es nicht habe das entsprechende Datenblatt gepostet, so dass ich das nicht überprüfen kann.

(und wie John D betont, schließen Sie die Fotodiode richtig herum an!)

Danke! Ich habe gerade den Widerstand auf 1 Megaohm geändert und der digitale Pin dreht 1 und liefert Licht (20 Lux); aber auch ohne Licht liegt sein Analogwert bei 400.
"Analogwert ist 400" wovon? 1000? 4000? 65536? Das ist der Dunkelstrom + Arduino-Pin-Leckstrom. Was eine bessere PD betrifft, wissen Sie jetzt, wie man die Datenblätter liest, sodass Sie vielleicht selbst eine finden können.

Der SFH203 hat laut Datenblatt einen λS maxEmpfindlichkeitsbereich von 850-900 nm, was dem nahen Infrarotbereich entspricht . Es ist weniger empfindlich (bis zu 10 % des Maximums) bei sichtbaren Lichtfrequenzen. Es ist eine Empfindlichkeitstabelle enthalten. Wenn Sie also eine blaue LED für Licht verwenden, kann dies den gesamten Empfindlichkeitsverlust erklären. Verwenden Sie eine 875-nm-Near-IR-LED, die viel empfindlicher ist.

Oder wenn Sie bereits eine 875-nm-LED verwenden und diese immer noch nicht empfindlich genug ist, müssen Sie einen Operationsverstärker wie einen dieser verwenden, um die Verstärkung zu erhöhen.

In Ihrer Schaltung würde der 10k-Widerstand den Strom in der (normalen) LED auf einen so kleinen Wert begrenzen, dass er wahrscheinlich nicht einmal Licht emittieren würde. Außerdem erzeugen Fotodioden einen winzigen Rückstrom , wenn sie an Licht emittiert werden, keine Vorwärtsleitfähigkeit. Werfen Sie einen Blick auf diesen Beitrag für eine andere Möglichkeit, die Fotodiode zu implementieren.

thx für den link. Glaubst du, dass ein Operationsverstärker die Empfindlichkeit der PD erhöhen würde, wie im Link beschrieben?
Definitiv. Die Verstärkung eines Operationsverstärkers wird normalerweise mit zwei Widerständen eingestellt. Abhängig von der Leistung des gewählten Operationsverstärkers kann die Verstärkung das 100.000-fache oder mehr betragen. (Aber bei solch großen Verstärkungen werden Rauschen und Interferenzen zu Problemen.)

Wie im Datenblatt angegeben, kann der SFH 203 nur etwa 10 Mikroampere Strom liefern.

Ihre LED allein zieht mehr Strom als das.

Der Arduino-Eingang sollte mit den 10µA zufrieden sein. Entfernen Sie Ihre LED und R1.

Wenn es immer noch nicht funktioniert, müssen Sie die Fotodiode möglicherweise mit einem Transistor puffern, um den Strom zu erhöhen.

Ich habe es getestet ... es funktioniert nicht ... der Strom ist zu niedrig, denke ich ... ich muss es mit einem Transistor testen
Und das würde wahrscheinlich die Diode schmelzen, wenn Sie sie direkt an 5 V anschließen