8 votos

La búsqueda continua para entender los MOSFETs de canal p

(Aclaración en caso de que no sea dolorosamente obvio - soy muy n00b, especialmente cuando se trata de entender los transistores).

Pensé que lo tenía todo resuelto - un MOSFET de canal p es (o puede ser utilizado como) un interruptor de lado alto para una fuente de voltaje diferente a la que mi MCU está ejecutando. Para comprobar mi comprensión, he montado lo siguiente en una protoboard:

schematic

simular este circuito - Esquema creado con CircuitLab

El código en U1 (un arduino de 5V) me permitía conducir la línea alta o baja, o ponerla en un estado alto-z para simular los 3 escenarios. Esperaba que al conducir la línea baja se encendiera el LED a 9V, y al conducirla alta se apagara el LED (0V en el drenaje del mosfet). Lo que ocurrió en realidad fue que no se encendió nada y el drenaje tuvo 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á pensado para ser controlado incluso por un nivel lógico de 3,3V, así que 5V debería estar bien.

11voto

Nick Alexeev Puntos 20994

Hay un error en el circuito O.P. No podrá apagar el LED, por lo que el LED estará encendido todo el tiempo. Para apagar el MOSFET de canal P, necesitas tirar de la puerta a la fuente. La Fuente está siempre a +9V en tu circuito, pero el pullup R1 va sólo a +5V (VCC).

Un interruptor MOSFET de canal P del lado alto suele tener este aspecto.

enter image description here

Q2 puede ser un pequeño MOSFET de canal N o un pequeño transistor NPN.

enter image description here

Por otro lado, ¿hay alguna razón para utilizar un interruptor de canal P de lado alto (en lugar de un interruptor de canal N de lado bajo)? ¿Estás haciendo este montaje sólo para entender mejor los MOSFETs de canal P?

1 votos

Sí, esto es sólo para entender

1 votos

Por curiosidad - ¿por qué el pull-down en el canal n es de 100k, y el pullup en el canal p es de 10k?

0 votos

@kolosy El tamaño del pull-up R1 determina lo rápido que se apagará Q1. La capacitancia de la puerta de Q1 se descarga a través de R1. Tanto el pull-up como el pull-down pueden ser de 10k (sobre todo si no buscas un funcionamiento de muy bajo consumo).

7voto

bitsmack Puntos 5415

Hay que cambiar algunas cosas en tu circuito:

  1. Quieres tirar de la puerta del MOSFET a 9V, no a VCC.

  2. Una vez que haces esto, no puedes usar el pin LED_EN directamente, porque probablemente no será tolerante a 9V.

  3. Para solucionarlo, puedes utilizar un MOSFET de canal N para bajar la puerta del P-FET.

  4. Necesitarás una resistencia limitadora de corriente en el LED.

Aquí hay un diagrama que hice para otro responder :

PMOS

Se trata de conducir un motor, pero el mismo circuito funciona para conducir un LED (con una resistencia adicional). Creo que la respuesta enlazada también te dará buena información, ¡si es que lo digo yo! :)

Buena suerte.

0 votos

Genial - tu otro post fue definitivamente muy útil.

0 votos

@kolosy Encantado de ayudar :)

0 votos

El circuito real que estaba haciendo esto en la preparación para es un mosfet hbridge, con dos p y dos fets de canal n. el voltaje de la batería allí es 6V, y el MCU es todavía un 5V ino. Si los pull-ups en allí están correctamente tirando hasta 6V, no vcc, ¿todavía necesito el canal n, o es una diferencia de 1V algo que el ino puede manejar?

2voto

Jun Puntos 55

Tu circuito tal y como está no funcionará en absoluto. Debería estar siempre en el estado de encendido porque siempre tienes un Vsg>Vthreshold. Lo que necesitas es la resistencia de 10k conectada a la línea de 9V, pero eso sólo funcionará si tu 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é a la misma tensión que la puerta. El pmos se encenderá cuando el voltaje de la puerta caiga ~0.7V (Vthreshold) por debajo del voltaje de la fuente.

Para encenderlo querrás conducir a Z alta y para apagarlo querrás bajar el voltaje de la puerta a 0.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X