(Descargo de responsabilidad en caso de que no sea dolorosamente obvio: soy muy n00b, especialmente cuando se trata de comprender los transistores).
Pensé que lo tenía todo resuelto: un MOSFET de canal p es (o puede usarse como) un interruptor de lado alto para una fuente de voltaje diferente a la que está funcionando mi MCU. Para probar mi comprensión, reuní lo siguiente en una placa de pruebas:
simular este circuito : esquema creado con CircuitLab
El código en U1 (un arduino de 5V) me permitió conducir la línea alta o baja, o ponerla en un estado de alta z para simular los 3 escenarios. Esperaba que conducir la línea baja iluminaría el LED a 9V, y conducirlo alto apagaría el LED (0V en el drenaje del mosfet). Lo que realmente sucedió fue que no había luz en absoluto y que el drenaje tenía un voltaje de 6V (5.9V). Estoy bastante confundido, ¿qué está pasando aquí?
Aquí está el mosfet que estoy usando: https://www.sparkfun.com/datasheets/Components/General/FQP27P06.pdf
Está destinado a ser controlado incluso por un nivel lógico de 3.3V, por lo que 5V debería estar bien.
Hay algunas cosas que cambiar en su circuito:
Desea tirar de la puerta MOSFET a 9V, no a VCC.
Una vez que haga esto, no puede usar el pin LED_EN directamente, porque probablemente no será tolerante a 9V.
Para solucionar esto, puede usar un MOSFET de canal N para derribar la puerta del P-FET.
Necesitará una resistencia limitadora de corriente en el LED.
Aquí hay un diagrama que hice para otra respuesta :
Esto conduce un motor, pero el mismo circuito funciona para controlar un LED (con una resistencia adicional). ¡Creo que la respuesta vinculada también te dará buena información, si lo digo yo mismo! :)
Buena suerte.
fuente
Su circuito como está no funcionará en absoluto. Siempre debe estar en el estado activado porque siempre tiene un Vsg> Vthreshold. Lo que necesita es la resistencia de 10k conectada a la línea de 9V, pero eso solo funcionará si su bloque lógico de 5V puede bloquear hasta 9V en el modo de alta Z. Básicamente, el PMOS se apagará cuando el lado alto esté al mismo voltaje que la puerta. El pmos se encenderá cuando el voltaje de la puerta caiga ~ 0.7V (umbral de V) por debajo del voltaje de la fuente.
Para encender, querrás conducir en Z alta y para apagar querrás hundir el voltaje de la puerta a 0.
fuente