(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:
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.
Il y a quelques choses à changer dans votre circuit:
Vous voulez tirer la porte MOSFET sur 9V, pas sur VCC.
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.
Pour résoudre ce problème, vous pouvez utiliser un MOSFET à canal N pour abaisser la porte du P-FET.
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 :
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.
la source
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.
la source