Eliminación de rebotes de un detector de fotodiodo TTL

Estoy diseñando un sensor de fotodiodo que se colocará en un monitor de computadora y emitirá una señal TTL de +5 V si la pantalla muestra una imagen y una señal de 0 V si la pantalla no lo está. El circuito prototipo que construí funciona casi como se esperaba (esquema a continuación).

Prototipo de circuito TTL de fotodiodo

Circuito de disparo de fotodiodo original

El único problema es que la señal cuando se enciende la pantalla cambia (cae a 0 V y luego vuelve a subir a 5 V) cada ~ 4 milisegundos (solo estoy grabando la señal TTL a 2 kHz). Rastreé la causa de esto y el culpable parece ser el PWM para la luz de fondo del monitor LCD. Si subo el brillo de mi pantalla al máximo, las transiciones no deseadas desaparecen y la señal es de 5 V prístinos durante el tiempo que la imagen está en la pantalla. Desafortunadamente, mirar un monitor que está configurado al 100% de brillo es desagradable, por decir lo menos. Dado que solo necesito un inicio TTL preciso, estaba pensando que modificar el circuito anterior para incluir un circuito RC-debounce debería solucionar mi problema. Me pregunto si el esquema revisado (a continuación) funcionaría como se dibuja. El motivo del opamp diferente es que estoy diseñando una placa con componentes SMT y ordenando a Mouser en lugar de usar piezas que podría encontrar en Fry's (que han estado en el estante desde 1970). También soy consciente de que no tengo tapas de derivación en mis circuitos integrados y que mis pinouts son un poco inestables (supuse que usaría símbolos de circuito reales en lugar de los rectángulos que tiene mi biblioteca eagle para los chips que estoy usando).

Circuito TTL de fotodiodo revisado ingrese la descripción de la imagen aquí

La idea con este circuito es reemplazar el inversor con una puerta OR y usar un circuito RC para la otra entrada de la puerta OR. La idea es que cuando el fotodiodo esté encendido, la salida de la compuerta OR será alta y la salida del inversor será baja, encendiendo el MOSFET y permitiendo que el circuito RC se cargue. Luego, cuando el fotodiodo ve un evento PWM del monitor, la salida del inversor sube y apaga el MOSFET y permite que el RC comience a descargarse. Este evento también hace que la entrada de la compuerta OR conectada al amplificador operacional baje, pero la otra entrada de la compuerta OR es alta porque está vinculada al circuito RC de descarga que mantiene alta la salida de la compuerta OR durante los eventos PWM de los monitores. La salida solo bajaría cuando el fotodiodo ve y ve la pantalla apagada por más de la constante de tiempo RC de mi circuito de "rebote".

¿Me estoy perdiendo algo? ¿Funcionará el circuito como está dibujado?

EDITAR: el borde de ataque de la lógica debe ser preciso (no retrasado), pero el borde de caída puede retrasarse sin afectar el uso del circuito. La salida de este circuito debe pasar de menor a mayor (cuando la pantalla pasa de negro a blanco) en menos de 0,5 ms y debe pasar de mayor a menor (blanco a negro) en 10 ms o menos. Espero que este diagrama muestre lo que estoy tratando de lograr. Diagrama de transiciónActual es lo que veo, la transición en el medio de esta línea es de lo que estoy tratando de deshacerme. Creo que la línea marcada como aceptable es cómo funcionaría el esquema revisado.

Una caída cada 4 ms es casi como una ondulación en una fuente de alimentación, aunque a cuatro veces la frecuencia normal de la CA normal. ¿No puedes simplemente poner un límite grande (por ejemplo, 100 µF) desde la entrada a tierra para suavizarlo?
¿La entrada del opamp? Además, la frecuencia de las gotas cambia con el brillo del monitor, por lo que estoy bastante seguro de que estoy captando el PWM de la luz de fondo del monitor.
Es una convención poner +VDC en la parte superior de un diagrama y tierra en la parte inferior; facilita la comprensión del diagrama.
Entiendo lo de PWM. Estaba pensando que podría suavizar la entrada usando un condensador bastante grande. Lo que sea.
¿Está seguro de que la luz de fondo, cuando está encendida, pulsa al menos cada 10 ms (y con suerte más a menudo)?

Respuestas (1)

Debe hacer la transición en la pantalla que se vuelve blanca en 0,5 ms, la transición en la pantalla que se vuelve negra en 10 ms, pero ignore los períodos de negro que duran menos de 4 ms. Esto es más restrictivo que lo que pueden proporcionar los circuitos R/C simples: necesita un temporizador.

El venerable temporizador 555 hará lo que necesite. Configúralo en modo monoestable, con una duración de 6ms (hazlo regulable), y conduce la línea de reset desde la salida de tu OPA141. Luego, cualquier brillo de la pantalla restablecerá el temporizador, pero si no hay luz durante 6 ms, la salida se activará. (Puede que tengas que jugar con las distintas polaridades).

Una alternativa sería usar uno de los microcontroladores más simples (por ejemplo, un PIC12 de 8 pines) con una entrada analógica. Menos de $2, pero increíblemente versátil.

Sí, pero ¿y si un día decide que quiere bajar/aumentar el brillo de la pantalla a ese intervalo de 4 ms? Para que esto funcione, debe conocer el intervalo máximo y luego continuar desde allí.
Depende de si su controlador de pantalla cambia de frecuencia a medida que cambia el brillo. Si lo hace, entonces puede ser SOL.
Realmente aprecio la ayuda tu idea es excelente! Circuito Monoestable . Esto es lo que tenías en mente, ¿no? Con los valores que he elegido para el pote y el cap debería darme un rango entre 1 y 10ms no?
No he revisado los detalles, pero en general se ve bien.
Definitivamente planeo usar el 555, pero, solo por curiosidad, siempre que las entradas a la puerta OR que estoy usando estén activadas por schmitt, ¿el circuito MOSFET y RC que dibujé en mi esquema revisado funcionaría de manera similar al 555 activado?
Eso es un gran "tal vez". El 555 (y supongo que sus sucesores, aunque no sé cuáles serían) se han perfeccionado a lo largo de los años y funcionan bien y de forma fiable. Duplicar sus funciones probablemente no valga la pena.