quête en cours pour comprendre les transistors MOSFET à canal p

8

(Avertissement au cas où cela ne serait pas douloureusement évident - je suis vraiment un n00b, surtout quand il s'agit de comprendre les transistors).

Je pensais avoir tout compris - un MOSFET à canal p est (ou peut être utilisé comme) un commutateur côté haut pour une source de tension différente de celle sur laquelle mon MCU fonctionne. Pour tester ma compréhension, j'ai rassemblé les éléments suivants sur une planche à pain:

schématique

simuler ce circuit - Schéma créé à l'aide de CircuitLab

Le code sur U1 (un arduino 5V) me permet de conduire la ligne haut ou bas, ou de la mettre dans un état haut z pour simuler les 3 scénarios. Je m'attendais à ce que conduire la ligne basse allume la LED à 9V, et la conduire haut éteindrait la LED (0V sur le drain mosfet). Ce qui s'est réellement passé était - pas de lumière du tout, et le drain ayant une tension de 6V (5.9V). Je suis assez confus - que se passe-t-il ici?

Voici le mosfet que j'utilise: https://www.sparkfun.com/datasheets/Components/General/FQP27P06.pdf

Il est censé être contrôlé même par un niveau logique de 3,3 V, donc 5 V devrait être très bien.

kolosy
la source

Réponses:

11

Il y a une erreur dans le circuit OP. Il ne pourra pas éteindre la LED, donc la LED sera allumée tout le temps. Pour désactiver le MOSFET du canal P, vous devez tirer le Gate to Source. La source est toujours à + 9V dans votre circuit, mais le pullup R1 ne va qu'à + 5V (VCC).

Un commutateur MOSFET à canal P côté élevé ressemble souvent à ceci.

entrez la description de l'image ici

Q2 peut être un petit MOSFET à canal N ou un petit transistor NPN.

entrez la description de l'image ici

D'un autre côté, y a-t-il une raison d'utiliser un commutateur de canal P côté haut (par opposition à un commutateur de canal N côté bas)? Faites-vous cette configuration juste pour mieux comprendre les MOSFET de canal P?

Nick Alexeev
la source
1
oui, c'est juste pour comprendre
kolosy
1
par curiosité - pourquoi le pull-down sur le canal n 100k, et le pull-up sur le p-channel 10k?
kolosy
@kolosy La taille du pull-up R1 détermine la vitesse à laquelle Q1 s'éteindra. La capacité de grille de Q1 se décharge via R1. La traction vers le haut et vers le bas peut être de 10k (surtout si vous ne photographiez pas pour un fonctionnement à très faible puissance).
Nick Alexeev
Il peut être utile de souligner que certains microcontrôleurs ont des broches qui peuvent être configurées en drain ouvert et peuvent accepter une tension en dehors du VDD, de sorte que le circuit de commande est «enroulé» dans l'appareil.
Kaz
1
Je viens de tester la version inférieure, en utilisant un NPN 2N3904, un mosfet IRF9540 PNP, entraînant une LED 50W. Contrôlé par un oscillateur NAND de Schmitt. Fonctionne très bien!
johny pourquoi
7

Il y a quelques choses à changer dans votre circuit:

  1. Vous voulez tirer la porte MOSFET sur 9V, pas sur VCC.

  2. Une fois que vous avez fait cela, vous ne pouvez pas utiliser directement la broche LED_EN, car elle ne sera probablement pas tolérante au 9V.

  3. Pour résoudre ce problème, vous pouvez utiliser un MOSFET à canal N pour abaisser la porte du P-FET.

  4. Vous aurez besoin d'une résistance de limitation de courant sur la LED.

Voici un diagramme que j'ai fait pour une autre réponse :

PMOS

Cela entraîne un moteur, mais le même circuit fonctionne pour piloter une LED (avec une résistance supplémentaire). Je pense que la réponse liée vous donnera également de bonnes informations, si je le dis moi-même! :)

Bonne chance.

bitsmack
la source
cool - votre autre article a été très utile.
kolosy
@kolosy Heureux d'aider :)
bitsmack
un suivi de plus? le vrai circuit pour lequel je faisais cela en préparation est un pont mosfet, avec deux fets p et deux canaux n. la tension de la batterie est de 6V, et le MCU est toujours un 5V ino. Si les tractions là-bas tirent correctement jusqu'à 6 V, pas VCC, ai-je toujours besoin du canal N, ou une différence de 1 V est-elle quelque chose que l'ino peut gérer?
kolosy
1
@kolosy Cela dépend vraiment du microcontrôleur. En règle générale, vous ne voulez pas que les broches d'E / S se trouvent au-dessus de VCC (ou sous la terre). Vous pouvez vous en tirer. Regardez dans la fiche technique sous Absolute Maximum Ratings. Ceux-ci donnent les limites qui empêcheront la puce d'être endommagée, mais il n'est pas garanti de fonctionner en dehors des valeurs recommandées. Ce sera souvent le cas :) Un pont en H a quelques subtilités. Par exemple, les temps d'activation et de désactivation des FETS doivent être pris en considération. Si vous en allumez un en même temps que vous en éteignez un autre, vous pouvez avoir le cas où l'on commence à conduire avant ...
bitsmack
... l'autre s'arrête. Ce court-circuit peut être un problème! Certains microcontrôleurs (PIC, par exemple) ont un paramètre de bande morte programmable et gèrent ces problèmes de synchronisation pour vous. Bonne chance!
bitsmack
2

Votre circuit tel quel ne fonctionnera pas du tout. Il doit toujours être à l'état activé car vous avez toujours un Vsg> Vthreshold. Ce dont vous avez besoin est la résistance 10k attachée à la ligne 9V, mais cela ne fonctionnera que si votre bloc logique 5V peut bloquer jusqu'à 9V en mode Z élevé. Fondamentalement, le PMOS s'éteint lorsque le côté haut est à la même tension que la porte. Le pmos s'allumera lorsque la tension de la grille chute ~ 0,7 V (seuil V) en dessous de la tension source.

Pour allumer, vous voudrez conduire à un niveau élevé de Z et pour l'éteindre, vous voudrez abaisser la tension de grille à 0.

Horta
la source