ricerca in corso per comprendere i MOSFET a canale p


8

(Dichiarazione di non responsabilità nel caso in cui non sia dolorosamente ovvio: sono molto un n00b, specialmente quando si tratta di comprendere i transistor).

Pensavo di aver capito tutto: un MOSFET a canale p è (o può essere usato come) un interruttore high-side per una sorgente di tensione diversa da quella su cui è in esecuzione la mia MCU. Per testare la mia comprensione, ho messo insieme su una breadboard quanto segue:

schematico

simula questo circuito - Schema creato usando CircuitLab

Il codice su U1 (un arduino 5V) mi permette di guidare la linea in alto o in basso, o metterlo in uno stato z-alto per simulare tutti e 3 gli scenari. Mi aspettavo che abbassando la linea si accendesse il LED a 9 V, e guidandolo in alto si spegnesse il LED (0 V sullo scarico del mosfet). Ciò che è realmente accaduto è stato: nessuna luce e lo scarico ha una tensione di 6 V (5,9 V). Sono abbastanza confuso - cosa sta succedendo qui?

Ecco il mosfet che sto usando: https://www.sparkfun.com/datasheets/Components/General/FQP27P06.pdf

È pensato per essere controllato anche da un livello logico di 3,3 V, quindi 5 V dovrebbero andare bene.

Risposte:


11

Si è verificato un errore nel circuito OP. Non sarà in grado di spegnere il LED, quindi il LED sarà sempre acceso. Per disattivare il MOSFET a canale P, è necessario tirare il Gate sulla sorgente. La sorgente è sempre a + 9 V nel circuito, ma il pullup R1 va solo a + 5 V (VCC).

Uno switch MOSFET a canale P lato alto spesso assomiglia a questo.

inserisci qui la descrizione dell'immagine

Q2 può essere un piccolo MOSFET a canale N o un piccolo transistor NPN.

inserisci qui la descrizione dell'immagine

D'altra parte, c'è un motivo per usare un interruttore del canale P sul lato alto (al contrario di un interruttore sul canale N sul lato basso)? Stai effettuando questa configurazione solo per capire meglio i MOSFET a canale P?


1
sì, questo è solo per capire
kolosy

1
per curiosità: perché il pull-down sul canale n 100k e il pullup sul canale p 10k?
Kolosy,

@kolosy La dimensione del pull-up R1 determina la velocità con cui Q1 si spegnerà. La capacità di gate di Q1 si sta scaricando attraverso R1. Sia il pull-up che il pull-down possono essere 10k (specialmente se non si scatta per un funzionamento a bassissima potenza).
Nick Alexeev

Potrebbe valere la pena sottolineare che alcuni microcontrollori hanno pin che possono essere configurati open-drain e possono accettare una tensione esterna a VDD, in modo che il circuito del driver venga "inserito" nel dispositivo.
Kaz,

1
ho appena inserito la versione inferiore, usando un NPN 2N3904, un mosfet PNP IRF9540, guidando un LED da 50W. Controllato da un oscillatore NAND schmitt. Funziona alla grande!
johny perché il

7

Ci sono alcune cose da cambiare nel tuo circuito:

  1. Vuoi tirare il gate MOSFET a 9V, non VCC.

  2. Una volta fatto questo, non puoi usare direttamente il pin LED_EN, perché probabilmente non tollererà 9V.

  3. Per risolvere questo problema, è possibile utilizzare un MOSFET a canale N per abbattere il gate del P-FET.

  4. Avrai bisogno di una resistenza di limitazione della corrente sul LED.

Ecco un diagramma che ho fatto per un'altra risposta :

PMOS

Questo sta guidando un motore, ma lo stesso circuito funziona per pilotare un LED (con un resistore aggiuntivo). Penso che la risposta collegata ti darà anche alcune buone informazioni, se lo dico io stesso! :)

In bocca al lupo.


fantastico - l'altro tuo post è stato sicuramente molto utile.
Kolosy,

@kolosy Sono felice di aiutarti :)
bitsmack,

un altro follow-up? il vero circuito per cui stavo facendo questo in preparazione è un mosfet hbridge, con due p p e due n-channel. la tensione della batteria è di 6 V e l'MCU è ancora di 5 V ino. Se i pull-up presenti stanno tirando correttamente fino a 6V, non vcc, ho ancora bisogno dell'n-channel o una differenza di 1V è qualcosa che può essere gestito da ino?
Kolosy,

1
@kolosy Dipende molto dal microcontrollore. In genere, non si desidera i pin I / O sopra VCC (o sotto terra). Potresti cavartela. Cerca nella scheda tecnica in Valutazioni massime assolute. Questi danno i limiti che impediranno il danneggiamento del chip, ma non è garantito che funzioni al di fuori dei valori raccomandati. Spesso lo farà :) Un ponte a H presenta alcune complessità. Ad esempio, devono essere presi in considerazione i tempi di accensione e spegnimento del FETS. Se ne accendi uno contemporaneamente a quando ne spegni un altro, potresti ottenere il caso in cui uno inizia a condurre prima ...
bitsmack

... l'altro si ferma. Questo corto circuito può essere un problema! Alcuni microcontrollori (PIC, per uno) hanno un'impostazione della banda morta programmabile e gestiranno questi problemi di temporizzazione per te. In bocca al lupo!
bitsmack,

2

Il tuo circuito così com'è non funzionerà affatto. Dovrebbe essere sempre nello stato on perché hai sempre un Vsg> Vthreshold. Ciò di cui hai bisogno è il resistore da 10k collegato alla linea da 9 V, ma funzionerà solo se il tuo blocco logico da 5 V può bloccare fino a 9 V in modalità Z alta. Fondamentalmente, il PMOS si spegne quando il lato alto ha la stessa tensione del gate. Il pmos si accenderà quando la tensione del gate scende di ~ 0,7 V (Soglia) al di sotto della tensione della sorgente.

Per accendere ti consigliamo di guidare ad alta Z e per spegnere vorrai abbassare la tensione del gate a 0.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.