Me gustaría usar un Arduino para leer de una gran cantidad de fotodiodos IR. He visto esta pregunta: ¿Cómo usar el fotodiodo IR SFH235 correctamente? y me gustaría usar una técnica similar al circuito de la izquierda:
Sin embargo, no solo estoy tratando de leer de un fotodiodo. Tengo una gran cantidad de fotodiodos dispuestos en una cuadrícula. Me gustaría poder leer desde esta cuadrícula con el esquema de cableado más simple posible. Pensé que podría ser posible usar un esquema similar al que se usa a menudo para las rejillas de LED:
D1,2,3 representan pines digitales. Operaría esto configurando, por ejemplo, D1 en salida BAJA y los otros dos en alta impedancia. Mi esperanza es que esto esencialmente "desactive" la segunda y tercera columna de fotodiodos (ya que sus ánodos están efectivamente desconectados), y podría usar los ADC para leer solo la primera columna. Luego cambiaría los pines digitales para activar la segunda columna, luego la tercera, etc.
esto funcionara? Originalmente me preocupaba que el estado de alta impedancia del Arduino tuviera demasiadas fugas, pero este enlace sugiere que es equivalente a una resistencia de 100 Mohm.
Aparte: soy un aficionado, realmente no tengo un buen conocimiento del comportamiento de los fotodiodos, por lo que me resulta difícil razonar sobre situaciones como esta. También tuve problemas para encontrar modelos SPICE para fotodiodos, por lo que realmente no pude simular esta configuración. ¿Alguien tiene sugerencias sobre recursos introductorios accesibles para fotodiodos o modelos SPICE?
La estructura de multiplexación básica se veía superficialmente bien. Sin embargo, los comentarios de Kevin señalaron que, tal como está dibujado, no funciona bien. Cuando están sujetos a la luz, los fotodiodos tienen una corriente definida en todos los voltajes, con polarización directa o inversa, por lo que no se pueden conectar directamente como lo sería una matriz de diodos 'adecuados' como los LED.
Puede salvar el concepto de matriz agregando un solo diodo de pequeña señal en serie con cada fotodiodo, un diodo 'adecuado' como 1N4148, para conducir la fotocorriente hasta la línea D de multiplexación. La caída de voltaje en este diodo tiene poca importancia para la precisión, ya que la fotocorriente desarrolla un voltaje en la resistencia de 1M, esto es lo que está midiendo con el ADC. La caída del diodo cambia la polarización inversa en el fotodiodo, por lo que una dispersión de estos aumentará ligeramente la falta de coincidencia entre los diodos. Sin embargo, el uso de polarización inversa variable y los ADC internos de Arduino me indican que la precisión no es el punto de especificación más importante con el que está trabajando.
Para multiplexar las filas, tome cada salida D 'apagada' a 5v. Esto invertirá la polarización de todos los diodos de silicio y aislará los fotodiodos.
No olvide programar las entradas del ADC para una oscilación de 5 V y realice una lectura adicional para vaciar la tubería después de cambiar las filas.
Sin embargo, el rango de la mejor sensibilidad a la luz será algo limitado. Con las resistencias de polarización fijas de 1M, la mejor sensibilidad será de alrededor de 2,5v y 2,5uA. Se leerá desde la oscuridad hasta la luz del sol, pero la resolución en los extremos del rango se comprimirá.
Puede usar pines Dout adicionales para cambiar las resistencias de valor más bajo/más alto al sesgo para cambiar el rango más sensible a otros niveles de luz. Solo un pensamiento.
No, eso no funcionará.
¿Cómo deshabilita los fotodiodos que no desea detectar?
Solo puede polarizarlos hacia adelante, en cuyo caso conducen y afectan la salida del diodo que desea detectar, o los polariza hacia atrás y la fotocorriente de todos los diodos se suma.
Para usar un fotodiodo para detectar la luz, debe polarizarlo inversamente y detectar el flujo de corriente. Todos los diodos conectados a una entrada ADC en particular agregarán su propia contribución actual.
O necesita usar una entrada analógica separada para el microcontrolador o puede expandir la cantidad de entradas con un multiplexor externo como un 74HC4051.
Jorge Herold