¿Cómo puede un circuito verse afectado inesperadamente por un cambio en los niveles de luz?

1

Tengo (o más bien, tengo) un circuito completamente funcional que controla la entrada desde un botón para encender y apagar un LED integrado.

Para mi sorpresa, el circuito se ha vuelto muy delicado con los niveles de luz. Tengo una lámpara en la que trabajo y, cuando bloqueo la luz que se ilumina en el botón y sus conexiones, el LED del botón se enciende. ¿Por qué podría estar pasando esto?

He revisado dos veces para asegurarme de que no tengo cortocircuitos. ¿Hay algo físico que pueda estar causando esto, o es simplemente un problema de software?

simular este circuito : esquema creado usando CircuitLab

    
pregunta Sean Allred

2 respuestas

2

Por un comentario, veo que su problema se solucionó al habilitar una resistencia de extracción en el microcontrolador.

Eso significa que su circuito original no fue "completamente funcional". Aparentemente, funcionó en el caso particular en que lo probó a esa temperatura, a esa humedad, con esas partes específicas, exactamente a esa tensión de alimentación y al parecer a ese nivel de luz específico.

Esto es lo que sucede cuando violas las especificaciones. En este caso, ignoró las especificaciones de nivel lógico bajo y máximo mínimo para el pin de entrada. Estos se explican claramente en la hoja de datos, junto con la corriente máxima de fuga de pines en el modo de entrada. Al juntar todo esto, significa que el estado lógico de una entrada flotante no está garantizado, además, como es normal, es una mala idea por otras razones.

El interruptor tirará de la línea de manera sólida (aparentemente baja en su caso) cuando esté cerrado. El problema es qué sucede cuando el interruptor está abierto. Sin algo que se asegure de que el voltaje del pin esté por encima de su umbral lógico alto garantizado mínimo, cualquier cosa puede suceder. Esto es lo que la resistencia pullup fija. Suministra más corriente al pin en el nivel lógico mínimo alto que el pin puede filtrarse, garantizando así que se verá como un nivel lógico alto cuando no hay nada más conectado.

La razón por la que la luz importa es porque varias sustancias pueden cambiar la conductividad ligeramente dependiendo del nivel de luz. Las uniones semiconductoras son aún más susceptibles a la luz, que de hecho es la base de cómo funcionan las fotocélulas. Dado que estaba operando el dispositivo fuera de las especificaciones, no había garantía de nada, y obtuvo lo que recibió, que en este caso resultó ser una sensibilidad a la luz. El mismo problema podría haber ocurrido a diferentes temperaturas, diferentes humedades y diferentes partes, incluso del mismo lote.

LEA LA HOJA DE DATOS la próxima vez.

    
respondido por el Olin Lathrop
1

IIRC este es un efecto extraño clásico discutido en la revista EDN el año pasado: paquetes de circuitos integrados ligeramente transparentes. Si usó resistencias para establecer los umbrales de activación / desactivación provenientes del botón, y el umbral estaba demasiado cerca del nivel de conmutación lógica, entonces la luz / oscuridad en la CPU puede cambiar las cosas. Por lo tanto, busque la descamación mientras proyecta una sombra sobre diferentes componentes. El pin de entrada del botón pulsador no flota cuando está encendido o apagado, ¿correcto?

    
respondido por el wbeaty

Lea otras preguntas en las etiquetas