Fotodiodo: convierta el pin de entrada digital en 1 con poca luz Entrada

1

Actualmente estoy tratando de trabajar con un fotodiodo (SFH 203) que se supone que detecta una cantidad muy pequeña de luz. Usando el digital de un arduino, el fotodiodo no puede girar el pin a 1 debido al bajo nivel de luz. Si mido la luz con un pin anlaog, recibo un valor de 25-30.

¿Hay alguna forma de llevar el valor digital al giro 1 utilizando una pequeña cantidad de luz?

    
pregunta Sathees

4 respuestas

2

Por lo que sé, los fotodiodos funcionan "hacia atrás". Es decir, crean un flujo de corriente desde el catode al anode , por lo que en su esquema \ $ PD \ $ es probable que ocurra lo contrario. De esta manera, no hay detección de luz, supongo que la corriente fluirá a través del circuito en todo momento.

simular este circuito : esquema creado usando CircuitLab

El esquema anterior es mi intento de minimizar lo que se requiere para digitalizar la salida de PD. Depende de la ganancia actual (Beta) de aproximadamente 100 del \ $ Q_1 \ $ transistor. \ $ 10 \ mu A \ $ debería ser suficiente para hacer que \ $ 1mA \ $ fluya a través de la unión colector-emisor. \ $ R_1 \ $ es simplemente un pull-up que dice que, en condiciones oscuras, la salida será ALTA. \ $ Q_1 \ $ luego lo baja, cuando \ $ PD \ $ se ilumina lo suficiente.

Para ajustar el umbral de sensibilidad, puede intentar ajustar \ $ R_1 \ $ (o posiblemente reemplazarlo con un potenciómetro).

No dude en señalar cualquier error que haya cometido.

    
respondido por el Dzarda
1

La hoja de datos muestra la sensibilidad del fotodiodo a 9.5 uA por 1000 lux.

Ahora no sé lo que cuenta como "poca luz" para usted, pero probemos 10 Lux como un cambio razonable en el nivel - en ese punto, el fotodiodo producirá 95nA. No mucho ... ¿cómo se compara con la corriente oscura? bien que se especifica como < 10nA por lo que 95nA está claramente por encima de la corriente oscura.

Así que queremos configurar la entrada Arduino en 1 (es decir, > 2.5V) con una corriente de 95nA. Si descuida el LED por el momento (no hay forma de que se encienda de todos modos), simplemente puede hacer esto reemplazando R1 con R = 2.5 / 95e-9 = 27 Megohms o algo así.

Si la corriente de fuga del pin de entrada de Arduino es mucho mayor que 10nA, esto no será exacto, y si es mayor que 100nA puede que no funcione en absoluto, o el nivel de conmutación puede ser muy diferente de 10 Lux, pero no he publicado la hoja de datos relevante, así que no puedo verificar eso.

(y, como lo señala John D, conecte el fotodiodo a la derecha!)

    
respondido por el Brian Drummond
1

El SFH203, por verlo, es hoja de datos , tiene un rango de sensibilidad λS max de 850-900nm, que es el rango de infrarrojo cercano . Es menos sensible (hasta un 10% del máximo) en las frecuencias de luz visible. Hay una tabla de sensibilidad incluida. Entonces, si está utilizando un LED azul para la luz, esto puede explicar toda la pérdida de sensibilidad. Use un 875nm near-IR LED y será mucho más sensible.

O si ya está utilizando un LED de 875nm y aún no es lo suficientemente sensible, tendrá que usar un amplificador operacional como uno de estos para aumentar la ganancia.

En su circuito, la resistencia de 10k limitaría la corriente en el LED (regular) a un valor tan pequeño, que probablemente ni siquiera emitiría luz. Además, los fotodiodos generan una pequeña corriente inversa cuando se emiten a la luz, no la conductancia directa. Eche un vistazo a esta publicación para otra manera de implementar el fotodiodo.

    
respondido por el rdtsc
0

Como se indica en la hoja de datos, el SFH 203 solo puede entregar alrededor de 10 microamperios de corriente.

Solo tu LED consumirá más corriente que eso.

La entrada de Arduino debe estar feliz con los 10µA. Retire su LED y R1.

Si aún no funciona, es posible que deba almacenar el fotodiodo en un búfer con un transistor para aumentar la corriente.

    
respondido por el JRE

Lea otras preguntas en las etiquetas