¿Cuál es el circuito convencional para controlar un P-MOSFET con MCU?

Está claro cómo funciona un P-MOSFET, hay mucha documentación en la web. Pero, en mi opinión, cuál es el circuito estándar para usarlos como un interruptor ideal con una MCU no está tan claro.

Vi que hay muchos circuitos que usan un transistor NPN ascendente o un N-MOSFET para controlar la puerta de un P-MOSFET. Y cómo funcionan es muy claro. Sin embargo, cada circuito de estos tiene que cambiar un voltaje más alto que el voltaje de MCU.

Dado este circuito:

ingrese la descripción de la imagen aquí

No me parece que esto pueda funcionar sin un componente ascendente que se conectará a GND the Gate, dado que el pin digital de Arduino no es una ENTRADA de drenaje abierto, sino que funciona como una SALIDA. En otras palabras, voltaje o no voltaje. Estas son mis consideraciones sobre este circuito, por favor ayúdame a mí y a todos a entender respondiendo estos puntos:

  1. La función de la resistencia pull-up es definir el estado predeterminado de la puerta P-MOS. El pull-up lleva el Gate a +5V, en este caso. Entonces estado predeterminado = APAGADO
  2. Cuando el pin digital de Arduino es +5V, la puerta aún permanece en +5V.
  3. Cuando el pin digital de Arduino es 0V, la puerta seguirá siendo de +5V, dado que el pin de Arduino no es un pin de drenaje abierto. En otras palabras, ese pin no se conecta a GND, dejando que fluya la corriente y llevar el pin al estado digital 0.

¿Me equivoco?

Los GPIO de Arduino son push-pull, por lo que cambiarán a Vcc o GND, a menos que se configuren como entradas.
Información relacionada aquí .
Verifique las conexiones de drenaje y fuente en su transistor. ¿En qué dirección fluye normalmente la corriente?
¡Su símbolo esquemático tiene la D y la S invertidas! También debo decir que usar un positivo común puede ser confuso cuando luego elige conducir la carga con un voltaje diferente. Además, los MOSFET de canal P suelen tener peor resistencia interna. Por lo tanto, use un MOSFET de canal N en el negativo común. Y retire la resistencia limitadora de corriente. Es solo para bipolares y muestra cómo no sabes lo que estás haciendo. Asegúrese de que su carga no sea muy exigente ya que 5V no son óptimos para encender un MOSFET.

Respuestas (3)

Usted declara:

3. Cuando el pin digital de Arduino es 0V, la puerta seguirá siendo de +5V, dado que el pin de Arduino no es un pin de drenaje abierto. En otras palabras, ese pin no se conecta a GND, dejando que fluya la corriente y llevar el pin al estado digital 0.

Este es un malentendido de una etapa de salida CMOS que no es de drenaje abierto:

Se parece a esto:

Etapa de salida CMOS

Debido a que este es un circuito push-pull (siempre conducido a los rieles en operación normal), el transistor superior está encendido (salida alta) o el transistor inferior está encendido (salida baja; en ambos casos, la corriente puede fluir.

Actualización sobre las preocupaciones actuales:

Cuando la salida es alta y, por lo tanto, al mismo nivel que el drenaje PMOS externo, entonces no fluye corriente (porque el voltaje entre ellos es cero o muy cercano). Cuando la salida es baja, entonces fluirá una corriente de 5V / puerta PMOS externa a la resistencia de origen.

No es raro ver resistencias del orden de 100k Ω en este caso de uso.

Estoy completamente de acuerdo con Olin en que el pin de control a la resistencia de la puerta es innecesario.

Ok, entonces en ambos casos tenemos que preocuparnos por la corriente nominal máxima del pin.

El circuito que muestra debería funcionar si el FET se puede encender de manera útil con -5 V gs , y el pullup es mucho más grande que la resistencia en serie.

Realmente no hay necesidad de la primera resistencia de todos modos. Simplemente puede conectar la puerta a una salida de microcontrolador de 0-5 V con un pullup débil para asegurarse de que esté alto antes de que el firmware pueda establecer el pin en baja impedancia y aumentarlo. Poner el pullup después de la resistencia en serie crea un divisor de voltaje que reduce la activación de la puerta, lo que probablemente no sea deseable.

@Tut: Sí, aclarado.

Debe colocar una resistencia entre la salida de Arduino y la puerta para limitar la corriente que fluye hacia el capacitor formado por la puerta. Esto se explica muy bien aquí mosfet-gate-resistor

El artículo sugiere que para limitar la corriente del Arduino a niveles seguros, debe usar una resistencia de 100 a 220 ohmios (cambiar la velocidad de conmutación frente a la corriente).