Yo estaba haciendo una mesa con un atmega328 mcu (para ser utilizado con Arduino bibliotecas) para hacer algo de un cable de comunicación de cosas. Desde que fue grabado el consejo de todos modos, me decidí a probar e implementar un software sencillo desactivar la funcionalidad, sin poner pensado mucho en ella. Una vez que he grabado y montado de la junta, uno de mis hilos cosas funciona bien, pero el software fuera de circuito no. Yo estaba hurgando y no puedo entender por qué no funciona.
La idea es que pulsando un botón pulsador momentáneo (2-3 segundos), se conecta la batería para el regulador de 5V que a su vez impulsa el MCU. La primera cosa que el MCU hace es establecer un pin digital de alta (línea de la etiqueta PWR en el diagrama de abajo), para pestillo de la N-MOSFET de Q1 y derivación el interruptor de botón. Cuando se suelte el interruptor, el circuito debe permanecer energizado a través del MOSFET.
Lo que en realidad sucede es que presionando el pulsador se enciende el tablero como se esperaba. La puerta de la FET es impulsado a 5V por el MCU como se esperaba, pero tan pronto como el botón es liberado, todo se apaga. Parece que el FET no es omitir el pulsador por alguna razón, pero no puedo entender ¿por qué? La FET Vgs es de 1.8 V, R6, R7 y D1 están allí, así que puede utilizar otra pulsación en el botón para generar una interrupción en el BTN línea, a continuación, la unidad de la PWR línea de bajo y apagado de la junta.
Así que la pregunta es ¿qué está mal aquí? ¿Por qué no Q1 MOSFET quedarse enganchada de una vez el pulsador (conectado a PWRSW encabezado) es liberado? Estoy seguro de que no es algo complicado, pero yo simplemente no puede entender por qué - tal vez porque he estado mirando por mucho tiempo...