[Nota: esta es la continuación de otra pregunta , la primera es mi intento de implementar la misma idea usando un MOSFET de canal N. Según las respuestas que recibí allí, salí, compré un MOSFET de canal P y me encontré con más preguntas que antes :)]
Estoy tratando de implementar algo similar a esto: https://youtu.be/nbMfb0dIvYc?t=4m27s
La idea es que el microcontrolador (un Wemos D1 Mini en mi caso) sea alimentado por un interruptor externo. Tan pronto como se inicia, configura un MOSFET para que pueda mantener su conexión de alimentación hasta que termine el trabajo para el que está configurado. Al final, se "mata a sí mismo" cortando la energía a través del MOSFET.
Así que compré un MOSFET de canal P ( IRF9Z34N ; probablemente no sea ideal con un Vgs (th) máximo de -4 V, pero fue la mejor pieza de orificio pasante que pude encontrar). Y construí el siguiente circuito:
Cuando presiono el interruptor, el D1 se enciende correctamente, baja el pin de la compuerta MOSFET y revisa todo su código. Al final, tira del pasador de la puerta hacia arriba y se apaga.
Sin embargo, algo está mal. Al apagarse (después de configurar D5 en ALTO), habría esperado que el voltaje de la compuerta fuera a +5V a través de la resistencia pull-up. En cambio, se mantiene alrededor de 1,25 V, lo suficiente como para mantener el MOSFET parcialmente abierto, con suficiente corriente atravesándolo para mantener la MCU en un estado extraño, no vivo pero tampoco muerto (la MCU no recibe suficiente corriente para seguir ejecutando su código, pero recibe suficiente para evitar que se reinicie por completo y comience de nuevo cuando presiono el interruptor).
Basado en la sugerencia recibida de Brian Drummond sobre mi pregunta original, construí un arreglo de MOSFET dual:
Esto parece funcionar, pero parece innecesariamente complicado, especialmente en comparación con el esquema original (vea el video de YouTube arriba, a partir de las 04:24 ).
Entonces mi pregunta es: ¿hay alguna forma de "guardar" el esquema original? ¿Puedo implementar esto usando solo un MOSFET de canal P? ¿Si es así, cómo?
Si ayuda, aquí está el esquema del Wemos D1 Mini. Tenga en cuenta que lo estoy alimentando a través de la línea de 5V, que luego pasa por un regulador de potencia.
Según sus comentarios, analicemos por qué la solución PMOS única no funciona.
Todos los pines de E/S de los microcontroladores modernos usan diodos de protección para proteger los circuitos internos sensibles de las condiciones de falla, por ejemplo, si maneja externamente 5V o -5V en un pin de una MCU, que funciona con 3.3V. Esto también podría ocurrir debido a ESD y, sin dicha protección, los dispositivos se destruyen fácilmente.
Sin embargo, esto tiene dos consecuencias:
Una regla general simple es que, si una MCU está controlando algo, y se espera que la MCU esté apagada o deshabilitada durante algún tiempo (por ejemplo, en modo de suspensión, para MCU que no mantienen sus E/S controladas). durante el sueño), es mejor si la cosa controlada requiere una señal de "encendido activo" y hay una resistencia desplegable . Ninguna resistencia a la puerta de un MOSFET sería mala, el pull-up es peor, el pull-down funciona.
Tenga en cuenta que este tipo de precauciones no son necesarias si se espera que la MCU esté siempre activa. No es la mejor práctica, ya que las resistencias cuestan centavos, pero podría omitir la resistencia desplegable en tal caso.
Para su configuración, la solución de dos MOSFET es lo mejor que puede obtener.
Otro escenario para explorar, que puede brindar la misma funcionalidad sin ningún MOSFET, es usar la funcionalidad de suspensión/restablecimiento/reactivación al cambiar de la MCU (no soy experto en Wemos, pero apuesto a que tiene algo así ). Cuando quieras "apagarte", simplemente te vas a dormir. La MCU aún consumirá algo de corriente, pero eso sería demasiado pequeño para importar. Y su interruptor puede conectarse a un pin de reinicio de la MCU o, si desea mantener el estado del procesador, a un pin en el que haya configurado la interrupción/activación por cambio.
Sam Gibson
Bodd
Anrieff
Bodd
Anrieff
Bodd
Bodd