Pourquoi mes MOSFET à canal P continuent de mourir dans ce pont en H?

9

entrez la description de l'image ici Voici donc mon pont en H: chaque fois que je commence à l'utiliser dans une direction, le MOSFET canal P et le NPN BJT qui appartiennent à la direction utilisée meurent en quelques secondes. Le MOSFET tué et le BJT développant un court-circuit afin que je ne puisse plus utiliser l'autre sens. Ils meurent sans chaleur ni fumée notables!
Le contrôleur est un arduino uno, et seuls les MOSFET à canal N sont pilotés avec un signal PWM, les canaux P sont connectés à de simples broches de sortie numériques. La fréquence PWM est la valeur par défaut de 490 Hz pour les broches numériques 9 et 10(chaque sortie PWM est individuelle). J'ai déjà tué 4-5 paires MOSFET + BJT de canal P, cela pourrait arriver des deux côtés. (Cela dépend de la direction que j'utilise en premier.) Le moteur est un moteur CC d'essuie-glace de voiture 12V, l'alimentation est de 12V 5A. Les masses d'alimentation 12V et 5V sont connectées.

Il y a deux choses qui peuvent être vraies, mais je ne suis pas sûr à 100% car je ne l'ai pas testé à fond:

  • dans l'ancienne version, j'utilisais des résistances 1k pour R7 et R8, et je n'ai eu aucun problème. Je vais réessayer mais je suis à court de MOSFET sur canal P maintenant ..
  • lorsque je découpe la paire MOSFET + BJT frite, je peux utiliser l'autre sens sans tuer la paire MOSFET + BJT restante.

S'il vous plaît, aidez-moi, ce qui se passe ici :)

  • Dois-je utiliser une résistance entre le NPN BJT et le MOSFET canal P?
  • Dois-je utiliser un MOSFET 2n7000 au lieu du 2N2222 BJT?

MISE À JOUR: Je viens de tester le pont en H avec une ampoule 12V 55W au lieu du moteur d'essuie-glace. Le P-FET et le NPN ont été tués pendant le test. Le côté du canal N a été entraîné avec un signal PWM de 40%. Sans charge, il n'a eu aucun problème.

MISE À JOUR2: J'ai changé de retour R7 et R8 à 1k de 150R. Maintenant, le pont fonctionne à nouveau sans défaillance de composants. (Je ne l'ai pas utilisé pendant des jours, mais avec les résistances 150R, la reproduction du défaut n'a pris que quelques secondes.) J'ajouterai quand même quelques condensateurs de découplage sur le pont entre le GND et + 12V comme Brian l'a suggéré. Merci pour les réponses à tout le monde!

gOldie_E36
la source
Avez-vous exclu une erreur de programmation? Est-ce qu'il meurt quand vous contrôlez manuellement votre pont en H?
rve
J'ai essayé de l'exclure. Je ne l'ai pas essayé manuellement mais je faisais beaucoup de tests avec une alimentation plus petite sans aucune charge connectée au pont en H. J'essaierai cependant de contrôler manuellement le pont la prochaine fois.
gOldie_E36
1
Pour les tests et pour réduire les chances de tuer un autre mosfet, essayez de remplacer votre moteur par quelque chose de beaucoup plus petit. Comme une paire de leds, ou un petit moteur-jouet ou quelque chose.
Passant du

Réponses:

11

Comment découplez-vous l'alimentation 12V?

Un mode de défaillance possible est que les pointes inductives de la coupure du courant du moteur (c'est-à-dire au taux PWM) sont déversées dans l'alimentation 12 V via les diodes de retour. Oui, c'est censé arriver, mais ...

Si l'alimentation 12V n'est pas découplée et provient d'une alimentation non d'une batterie rechargeable, ou provient d'un long câble (inductif), il ne s'agit pas en fait d'une alimentation 12V, mais momentanément alimenté jusqu'à cette tension de pointe inductive. Ce qui pourrait être bien au-dessus des notes MOSFET ...

Surveillez l'alimentation 12V avec un oscilloscope rapide. S'il montre des signes de surtensions, augmentez son découplage jusqu'à ce qu'il ne le fasse pas. (Cela devrait inclure des condensateurs en céramique de 0,1 uF pour une faible impédance HF ainsi qu'un condensateur de réservoir électrolytique. Et éventuellement une diode zener 16V ou 25V juste au cas où ...).

Je ne sais pas si c'est votre problème réel, mais c'est une base que vous DEVEZ couvrir.

Brian Drummond
la source
1
C'est l'explication la plus plausible. Un tel pic pourrait facilement dépasser la spécification VGS max absolue de 20 V de l'IRF4905. Le court-circuit entre la porte et la source qui en résulterait permettrait alors à un courant important de circuler dans le pilote NPN, le détruisant également.
Dave Tweed
Bon point, je n'utilise aucun découplage. J'ai un oscilloscope bon marché de 20 MHz, je vais essayer de surveiller l'alimentation. J'ai des condensateurs céramiques et électrolytiques pour pouvoir les connecter. Je n'ai pas de zeners cependant. (Je vais en avoir.)
gOldie_E36
Retenez les zeners; dans les applications automobiles, les zeners 16V ne suffiront pas à cause de tout ce qui peut augmenter l'alimentation (pendant la charge, il sera dangereusement proche de 16V de toute façon). Et si ces FET sont vraiment 20 V Vgs, ils ne dureront pas longtemps dans une voiture, bien qu'ils conviendront à une alimentation de laboratoire 12V (découplée).
Brian Drummond
Le moteur vient d'une voiture mais je prévois de l'utiliser avec une alimentation 12V "lab" (en fait c'est un bloc d'alimentation chinois à bascule AC à DC).
gOldie_E36
1
Je n'ai pas encore ajouté les condensateurs car j'étais curieux de savoir ce qui se passerait avec le même circuit mais plutôt la charge inductive avec une ampoule. Il se comporte toujours de la même manière.
gOldie_E36
6

R1 R2 est beaucoup trop grand pour tous, mais les plus petits mosfets inexistants, ce qui signifie qu'ils tournent beaucoup plus lentement qu'ils ne s'allument. manger des fets.J'utilise un transistor supplémentaire pour faire un arrêt rapide, ça vaut le coup.

Autistique
la source
J'utilisais 100 ms de temps mort entre les changements de direction, mais au dernier essai, je n'ai pas du tout changé de direction. (Pour exclure la possibilité de tirer à travers des directions changeantes.) Et les transistors frits quand même. Quelle taille de résistances recommandez-vous pour R1 et R2? Et comment dois-je connecter les transistors supplémentaires pour les désactiver?
gOldie_E36
5

L'un des MOSFET du canal P supérieur est actif - cela détermine la direction. Lorsque vous appliquez le PWM aux deux MOSFET de canal N (comme implicite dans votre circuit), vous obtenez un shoot-thru sur une moitié du pont H.

Vous ne devez PAS appliquer PWM aux deux appareils à N canaux - l'appliquer uniquement en bas à droite lorsque l'appareil à canal P en haut à gauche est activé OU l'appliquer uniquement en bas à gauche lorsque l'appareil à canal P en haut à droite est activé.

EDIT - aussi, vos MOSFET de canal P sont à l'envers.

Andy aka
la source
1
Et la prochaine fois, testez-le avec une alimentation limitée en courant afin que si pour une raison quelconque vous avez une erreur, au moins vos transistors ne se détruisent pas.
Bimpelrekkie
Je n'applique pas PWM aux deux canaux N en même temps. Un à la fois. Je peux utiliser les deux directions pour la première fois, mais pendant l'opération, le MOSFET à canal P et le BJT qui appartiennent à la matrice de direction utilisée.
gOldie_E36
Aucun shoot-thru ne se produit, et pour les deux dernières fois, j'utilisais une ampoule 12V 55W en série avec l'alimentation. Je peux donc détecter le shoot-thru (l'ampoule devient lumineuse) et en même temps je peux protéger mes MOSFET de la situation du shoot-thru. Le problème est que les transistors meurent en fonctionnement normal.
gOldie_E36
@ gOldie_E36 si oui, pourquoi avez-vous dit ceci "les MOSFET à canal N sont pilotés avec un signal PWM" et pourquoi votre diagramme montre-t-il "PWM" comme nom sur les deux MOSFET à canal N? De plus, vos MOSFET de canal P sont à l'envers.
Andy aka
1
Les gens ne peuvent vous aider que si vous fournissez des informations précises. Si vous fournissez de mauvaises informations, vous perdez du temps. Compte tenu de ce qui s'est passé, comment peut-on croire que votre placement physique des composants est plus précis que vos diagrammes?
Andy aka
3

Une chose qui me frappe est le manque de diodes flyback à travers vos FET. Comme votre moteur est une charge inductive, il peut très facilement générer des tensions élevées à travers vos transistors FET lorsqu'il y a un changement de courant (V = L dI / dT dans une inductance). Ces tensions peuvent facilement dépasser le taux de claquage de la jonction source-drain dans vos FET.

Pour résoudre ce problème, une diode est normalement placée en parallèle avec la jonction pour garder la tension sous contrôle comme suit:

Diodes en pont H

(Image de: http://www.modularcircuits.com/blog/articles/h-bridge-secrets/mosfets-and-catch-diodes/ )

Cela "serre" la tension aux bornes du FET.

user2036607
la source
Ah désolé c'est mon mal. Je l'oublie sur la photo. Il existe des diodes de retour pour chacun des MOSFET entre la source et le drain. 1N4007 diodes visant dans la bonne direction. Je mettrai à jour l'image. J'ai déjà testé et remplacé les diodes des MOSFET à canal P, mais la situation est la même. :(
gOldie_E36
Les MOSFET ont des diodes intégrées qui sont généralement suffisantes. Le 1N4007 est une diode de redressement basse fréquence qui ne convient pas pour une commutation rapide. Si vous utilisez des diodes externes, elles doivent être de type Schottky.
Bruce Abbott
Les MOSFEts n'ont donc pas du tout besoin de diodes flyback? J'utilise seulement ~ 490Hz, est-ce trop rapide pour les diodes 1N4007?
gOldie_E36
1

@Autistic a raison à propos de R1 et R2 - cette disposition entraînera des temps de commutation très lents sur les fets P. Vous pouvez envisager d'utiliser une pompe de charge de pilote P Fet dédiée au lieu du BJT + Pullup.

Quelques vérifications de santé mentale

Pouvez-vous vérifier les signaux de conduite? Il est très important que le FET soit activé ou désactivé.

forward: 
p1 on    p2 off 
n1 off   n2 on

backwards: 
p1 off    p2 on 
n1 on     n2 off

brake: 
p1 off    p2 off
n1 on     n2 on

Essayez les solutions suivantes:

  • arrêter tout PWM
  • déconnecter toute charge
  • conduisez à partir de votre code comme: p1 on n1 off, attendez 500ms, p1 off n1 off 100ms (temps mort), p1 off n1 on 500ms, p1 off n1 off 100 ms (temps mort) et répétez. Cela produit un signal de test qui est facile à déboguer.
  • maintenant la sortie p1 n1 du pont en H doit passer de GND à 12V bien. Utilisez un oscilloscope pour le tester, ou vous pouvez également utiliser une petite ampoule. Connectez l'ampoule entre GND et la sortie p1 n1 - elle doit clignoter pour que p1 soit bon. Connectez-le aux sorties 12V et p1 n1 - il clignotera pour que n1 soit bon.
  • si vous avez un scope, vérifiez si p1 et n1 ne sont pas croisés. En vérifiant ce signal, vous ne verrez aucune autre valeur que GND propre, 12V propre et GND flottant dans le temps mort de 100 ms.
  • si vous n'avez pas de portée, vous pouvez définir un temps mort assez long, par exemple 500 ms - cela ne peut pas faire de mal :) mais peut sauver votre fet P.
  • connectez maintenant votre moteur au lieu de l'ampoule, il doit fonctionner et ralentir / s'arrêter comme l'ampoule. Cela vérifie que les fets sont corrects.

Le problème

  • Soyez très prudent avec l'arrangement PWM ci-dessus. Vous pouvez très facilement faire frire vos fets. Vous pouvez activer le côté P pendant que vous changez de côté N, donc vous faites des shorts (plus petits ou plus grands - il peut survivre avec 20% de PWM selon la qualité de votre source d'alimentation).

Normalement, les microcontrôleurs ont un pilote PWM 4 sorties dédié avec contrôle de la zone morte. Les 4 signaux PWM peuvent piloter les 4 fets, et ces signaux sont synchronisés et inversés, plus le temps mort est pris en compte. Voir le PWM des microcontrôleurs PIC pour en savoir plus. http://www.ermicro.com/blog/wp-content/uploads/2009/01/picpwm_03.jpg

Étant donné que l'Arduino n'est pas conçu à cet effet, vous souhaiterez peut-être utiliser une logique de base pour produire les bons signaux PWM. L'objectif est de s'assurer que n1 et p1 sont toujours conduits de manière complémentaire, ainsi que n2 et p2. Vous pouvez l'obtenir en utilisant d'autres BJT: http://letsmakerobots.com/files/YG_H-Bridge1.jpg Ensuite, vous avez les deux broches que vous pouvez piloter PWM.

Vous pourriez plutôt utiliser des portes logiques, comme ceci: https://e2e.ti.com/blogs_/b/motordrivecontrol/archive/2012/03/26/so-which-pwm-technique-is-best-part-2 et puis vous avez un avant / arrière propre, plus une broche PWM qui entraîne la vitesse.

Cet article mérite d'être vérifié: http://www.modularcircuits.com/blog/articles/h-bridge-secrets/h-bridge_drivers/

Gee Bee
la source
Merci d'avoir répondu. Cette partie n'est toujours pas claire pour moi: "N'essayez PAS l'arrangement PWM ci-dessus. C'est juste faux. Vous ne pouvez pas contrôler le côté P pendant que vous changez le côté N, donc vous faites des shorts." Est-ce toujours valable si je ne commute pas le côté P avec PWM, seulement le côté N, et si j'utilise un grand temps mort entre les changements de direction? Si c'est le cas, comment?
gOldie_E36
1
Désolé d'avoir été strict à ce sujet. Il existe plusieurs façons de piloter PWM. La méthode standard consiste à piloter P1 N2 à partir d'une sortie PWM complémentaire et à piloter P2 N1 à partir d'une autre paire de sorties PWM complémentaire, de cette façon, vous avez besoin de 4 sorties pwm pour tout conduire correctement. Votre solution pourrait fonctionner, si vous êtes très prudent, et n'avez pas besoin de freiner le moteur. Par exemple, p1 on, n1 off, p2 off, n2 PWM est un arrangement valide - bien que vous ne puissiez pas freiner le moteur, et la vitesse finale du moteur dépendra du PWM plus la charge mécanique. (Si n2 est éteint pendant PWM, il n'y a pas de tension d'entraînement sur le moteur.)
Gee Bee
J'ai reformulé ma réponse. Si ce n'est pas une tâche éducative, je suggérerais d'utiliser un contrôleur de pont en H prêt à l'emploi ou un contrôleur de pont en H avec FET externes.
Gee Bee
0

Êtes-vous sûr que vous activez le P-FET en haut à gauche lorsque vous appliquez le PWM au N-FET en bas à droite?

Vous devez vérifier votre orientation P-FET. Il semble que le P-FET soit à l'envers et que vous obtenez une dissipation de puissance excessive lorsque la diode du corps P-FET conduit. Mesurez la tension aux bornes du P-FET dans vos conditions de défaut. Si vous voyez environ 0,6 V à travers le FET lorsque le 2N2222 est allumé, alors le P-FET est inversé. Vérifiez également la tension de la porte P-FET pendant la condition de défaut pour vous assurer qu'elle voit moins de 0,2 V.

Voyez-vous toujours le courant de défaut si vous retirez votre moteur du circuit?

user2661956
la source
Salut, merci pour votre réponse. Je vais vérifier à nouveau l'orientation. Le problème est que je ne peux vraiment rien faire pendant la reproduction, car il ne faut que quelques secondes pour tuer le MOSFET (en silence, sans chaleur excessive). Et bien sûr, cela me coûte un MOSFET :) Sans le moteur et avec une alimentation 1A, j'ai cependant fait beaucoup de mesures. Si j'allume le P-FET, la tension à travers la source de drain est minimale (quelque chose comme 0,01 V). Je retesterai le circuit le soir avec l'alimentation 5A et sans la charge inductive (moteur). Je prévois d'utiliser uniquement une ampoule à la place.
gOldie_E36
Essayez de ne pas allumer le P-FET (ne conduisez pas le 2N2222) et voyez si vous atteignez la limite de courant lorsque vous PWM le N-FET. Si c'est le cas, la diode du corps P-FET est conductrice. Essayez également de remplacer la charge de votre moteur par une résistance de 100 ohms ET mettez une résistance de 10 ohms environ entre l'alimentation et votre circuit. Vous limiterez le courant si le N-FET court-circuite la diode de corps P-FET à la masse. Les résistances vous donneront également le temps de prendre quelques mesures avant de surchauffer.
user2661956
De bonnes idées pour les tests, merci. J'utilisais déjà une résistance entre le bloc d'alimentation et le pont en H pour la protection.
gOldie_E36