Académique Documents
Professionnel Documents
Culture Documents
1. Introduction
2. Hacheur un quadrant
Le générateur de signaux délivre une tension carrée (de rapport cyclique 1/2) prenant
les valeurs 0 et 12 V. Lorsque la grille G est à 12 V par rapport à la source S, le
transistor est à l'état passant. Le dipôle Drain-Source est alors équivalent à une
résistance RDSON de l'ordre de 1 Ω. Lorsque la tension grille-source est inférieure à un
seuil (en général de l'ordre de 5 V), le transistor est bloqué et la résistance Drain-
Source est pratiquement infinie.
Le hacheur ainsi réalisé est dit à un quadrant car la tension aux bornes de la charge est
toujours positive et le courant dans la charge est toujours positif (pour une charge
résistive).
La résistance R est nécessaire car le dipôle grille-source est équivalent à une capacité
(de l'ordre de plusieurs centaines de pF). Elle permet de limiter le courant lors de la
charge de cette capacité. Le courant dans R est obtenu à l'oscilloscope via un
amplificateur différentiel.
Les tests ci-dessous sont fait avec un MOSFET Infineon IPA50R500 (la diode est
incorporée). Le courant de drain continu maximal est IDmax=5,4 A, ce qui suffit
largement pour la charge de 6,8 Ω alimentée sous 12 V. Pendant les phases de
conduction du transistor, le courant dans la charge est de 1,8 A. La
résistance RDSON=0,5 Ω pour VGS=13 V. La tension grille source de doit pas
dépasser 20 V. Voici les courbes courant-tension drain-source pour ce transistor :
Pour un courant de drain de 5 A, il faut appliquer une tension grille source d'au
moins 7 V afin d'être dans la zone résistive. Notre montage applique une tension
de 12 V, largement suffisante.
Vs N003 0 12
Rc N003 N002 6
V1 N004 0 PULSE(0 12 0 0 0 50u 100u 10)
Lc N002 N001 1u
XU1 N001 N004 0 IPA50R500CE_L0
.tran 0 500u 0 0.1u
.lib Infineon-MOSFET.lib
.backanno
.end
Voici le tracé de la tension de drain :
import numpy
from matplotlib.pyplot import *
data = numpy.loadtxt("commandeMOSFET-
sourceV.txt2",skiprows=1,unpack=True)
t=data[0]
VD=data[1]
figure()
plot(t,VD)
xlabel("t (s)")
ylabel("VD (V)")
axis([1e-4,3e-4,0,30])
grid()
et un détail :
axis([1.55e-4,1.6e-4,0,30])
On peut aussi faire les tests avec une résistance moins inductive prévue pour les
commutations rapides (Rc=18 Ω). Voici la tension de commande (bleu) et la tension
de drain (rouge) :
Avec cette charge très faiblement inductive, il n'y a plus d'oscillations (le
condensateur de découplage est nécessaire).
2.b. Commande avec un transistor bipolaire
L'inconvénient de cette commande est le courant élevé qui circule dans R pendant
toute la phase de conduction du transistor NPN. Par exemple, pour R=100 Ω, la
puissance dissipée dans cette résistance est de 0,36 W et contribue à une perte
d'efficacité. Pour R=1000 Ω, la puissance dissipée dans R est négligeable.
Pour une fréquence de 10 kHz et R=1000 Ω voici la tension de commande (en bleu) et
la tension de grille (en rouge) :
et la tension de commande (en bleu) avec la tension de drain (en rouge) :
Le transistor NPN opère une inversion : le MOSFET est bloqué lorsque la tension de
commande est à l'état haut. Lorsque le transistor NPN passe de l'état saturé à l'état
bloqué (front descendant du signal de commande), le temps de montée de la tension
de grille est relativement grand, ce qui a pour conséquence un retard dans la
conduction du MOSFET. Pour une fréquence de 10 kHz ou moins, ce fonctionnement
est très satisfaisant. Pour des charges à forte inertie thermique (résistances chauffantes
ou lampes à incandescence) une fréquence de découpage de 1000 Hz est largement
suffisante et ce montage convient tout à fait (on peut même augmenter R si la
fréquence est très basse).
2.c. Commande à fort courant de grille
La commande de grille peut être améliorée avec deux transistors NPN et PNP montés
en push-pull ([3]) :
Dans ce cas, le courant de charge de la grille est fourni par les deux transistors en
push-pull. Lorsque la tension de commande est au niveau bas (0 V ou moins), le
transistor T0 est bloqué et la base de T1 et T2 est à environ 12 V. Le transistor T1 est
passant alors que T2 est bloquant : la grille se charge par la résistance R et prend
rapidement un potentiel 12 Vpar rapport à la source. Inversement, lorsque la tension
de commande est au niveau haut, la base de T1 et T2 est à la masse : T1 est bloquant
alors que T2 est passant et la grille se décharge jusqu'à avoir un potentiel nul par
rapport à la source. Ce montage peut fournir un courant dans la résistance de grille R
jusqu'à 1 A, ce qui peut être nécessaire pour commuter rapidement un transistor
MOSFET de forte puissance.
Voici la tension de commande à 10 kHz (en bleu) et la tension de grille (en rouge) :
La sortie auxiliaire TTL du GBF est utilisée, dont l'impédance de sortie élevée
conduit à une chute de tension sur le signal TTL. La valeur atteinte par la tension de
grille est 12 Vmoins la petite chute de tension émetteur-collecteur du transistor du
haut.
Vs N004 0 12
Rc N004 N003 6
R N009 N008 10
V1 N005 0 PULSE(0 12 0 0 0 50u 100u 20)
R2 N007 N006 1000
R1 N010 N005 1000
M1 N008 N010 0 0 2N7002
M2 N001 N007 N008 N008 2N7002
A2 N005 0 0 0 0 N006 0 0 BUF VHigh=12
Vc N001 0 12
Lc N003 N002 1m
XU1 N002 N009 0 IPA50R500CE_L0
D1 N002 N004 D
.model D D
.lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.dio
.model NMOS NMOS
.model PMOS PMOS
.lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.mos
.tran 0 1000u 0 0.1u
.lib Infineon-MOSFET.lib
.backanno
.end
data = numpy.loadtxt("commandeMOSFET-
CMOS.txt2",skiprows=1,unpack=True)
t=data[0]
Ic= data[12]
figure()
plot(t,Ic)
xlabel("t (s)")
ylabel("Ic (A)")
grid()
Pendant la conduction du transistor U1, le courant dans la charge augmente. Pendant
la phase de blocage, le courant circule dans la diode de roue libre. Voici le courant
dans la résistance de grille de U1 et dans la résistance de grille de M1:
t=data[0]
IR= data[13]
IR1 = data[14]
figure()
plot(t,IR,label="I(R)")
plot(t,IR1,'r',label="I(R1)")
xlabel("t (s)")
ylabel("Ic (A)")
legend(loc="upper right")
grid()
On voit que la charge de la grille de U1 nécessite un courant de 250 mA. La charge
des grilles de M1 et M2 ne nécessite qu'un faible courant de l'ordre du mA, que l'on
peut obtenir avec un circuit logique CMOS.
Dans le cas d'une charge inductive (moteur, bobine, haut-parleur, etc), il peut être
nécessaire de permettre au courant de changer de sens. Il faut pour cela un second
transistor de puissance. Voici le schéma de la structure en demi-pont comportant deux
transistors MOSFET commandés en opposition, avec le circuit de commande
analogue au précédent.
Ce montage permet d'appliquer alternativement la tension 0 et la tension Vs à la
charge. Les deux transistors Ua et Ub sont commandés en opposition. Lorsque Ua et
bloqué, Ub est passant et la tension Vs est appliquée à la charge. Lorsque Ua et
passant, Ub est bloqué et la tension nulle est appliquée à la charge. Pendant cette
dernière phase, le courant dans la charge peut s'inverser.
Ra N016 N015 10
Va N010 0 PULSE(0 15 0 0 0 50u 100u 10)
R2 N013 N012 1000
R1 N017 N010 1000
M1 N015 N017 0 0 2N7002
M2 N001 N013 N015 N015 2N7002
A1 N010 0 0 0 0 N012 0 0 BUF VHigh=15
Vs N002 0 12
Rb N008 N007 10
R4 N006 N005 1000
R5 N011 N004 1000
M3 N007 N011 N009 N009 2N7002
M4 N003 N006 N007 N007 2N7002
A2 N004 0 0 0 0 N005 0 0 BUF VHigh=15
Rc N009 N014 6
Vc N001 0 15
L1 N014 0 1m
A3 N010 0 0 0 0 N004 0 0 BUF VHigh=15
XUb N002 N008 N009 IPA50R500CE_L0
XUa N009 N016 0 IPA50R500CE_L0
Cboot N003 N009 100n
D1 N001 N003 D
.model D D
.lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.dio
.model NMOS NMOS
.model PMOS PMOS
.lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.mos
.tran 0 1000u 0 0.1u
.lib Infineon-MOSFET.lib
.backanno
.end
data = numpy.loadtxt("commandeMOSFET-
bootstrap.txt2",skiprows=1,unpack=True)
t=data[0]
Ic= data[27]
figure()
plot(t,Ic)
xlabel("t (s)")
ylabel("Ic (A)")
grid()
Voici les tensions de grille et de source du transistor du haut (la seconde est aussi la
tension appliquée à la charge) :
Ug = data[8]
Us = data[9]
figure()
plot(t,Ug,label="grille")
plot(t,Us,label="source")
xlabel("t (s)")
ylabel("U (V)")
legend()
grid()
#axis([0,0.001,0,15])
On voit que le condensateur Cboot permet d'élever la tension de grille suffisamment
pour polariser la grille par rapport à la source et rendre le transistor passant.
3.b. Réalisation
Le circuit ci-dessus est trop complexe pour être réalisé avec des composants discrets.
On utilise plutôt un contrôleur de MOSFET pour demi-pont. Il existe de nombreux
modèles (par exemple chez International Rectifier), que l'on choisit en fonction du
courant maximal que la grille nécessite pour être chargée. Plus les MOSFET de
puissance peuvent véhiculer un courant important, plus leur capacité de grille est
élevée, et plus le courant de grille est important (il faut abaisser la résistance de
grille).
Le contrôleur comporte une partie basse (LOW) et une partie haute (HIGH). Les
entrées LIN et HIN doivent recevoir deux signaux de commande complémentaires.
Un contrôleur de ce type comporte un système de décalage (DELAY) entre les deux
commandes, qui permet d'éviter la conduction simultanée des deux transistors, qui
constituerait un court-circuit de l'alimentation. Le contrôleur IR2113 peut fournir un
courant de 2 A sur les sorties LO et HO vers les grilles des transistors, ce qui est très
largement suffisant pour les transistors utilisés ici. Ce contrôleur peut être utilisé avec
des MOSFET ou des IGBT de très forte puissance, à des fréquences très élevées.
La capacité Cboot doit être choisie assez grande pour permettre la charge de la grille.
La charge de grille du transistor IPA50R500CE est, d'après la notice, de 19 nC. Avec
une tension de 15 V, une capacité Cboot=100 nF permet de stocker 1,5 μC, ce qui est
très largement suffisant pour charger la grille avec une tension proche de 15 V.
La charge utilisée pour le test est une résistance R en série avec une bobine
d'inductance L. La tension aux bornes de la résistance permet d'accéder au courant
dans la charge.
3.c. Tests
Voici la tension de commande (en bleu) et la tension aux bornes de la charge (en
rouge) pour une fréquence de 2 kHz et une tension alimentation Vs=12 V :
Voici la tension de commande (en bleu) et la tension aux bornes de la résistance R :
Le temps de réponse du circuit RL est de 0,1 ms, ce qui permet d'estimer la valeur de
l'inductance à L=700 μH
Les réglages décrits dans ce paragraphe doivent être faits sur le circuit imprimé final
de l'application, car les inductances et capacités parasites dépendent du tracé des
pistes.
Les oscillations, qui se produisent juste après la commutation des transistors, sont
dues aux capacités et inductances parasites présents dans la maille de puissance
contenant la charge. La pseudopériode des oscillations est de 120 ns. Pour estimer la
capacité parasite, on ajoute une capacité Ca entre la sortie (connectée à la charge) et la
masse, de manière à obtenir une période deux fois plus grande. La valeur nécessaire
est Ca=14 μF. Sachant que la fréquence propre d'un circuit LC est inversement
proportionnelle à la racine carrée de C, la capacité a été multipliée par 4, ce qui
signifie que la capacité parasite est un tiers de la capacité ajouté, soit Cp=4,7 nF.
La valeur la plus proche que nous avons à disposition est Rs=5,2 Ω. La capacité
minimale est :
En pratique, il faut augmenter cette valeur pour obtenir un effet visible. Cependant, la
puissance dissipée dans Rs est proportionnelle à Cs. Voici un premier test
avec Cs=15 nF :
On utilise une bobine à air contenant 500 spires et d'inductance L=11 mH.
Voici la tension aux bornes de la résistance, pour une porteuse de fréquence 50 kHz,
et une sinusoïde générée à 50 Hz avec une amplitude de 0,9 (on évite les
rapports cycliques trop proches de 0 et de 1).
et voici un détail :
Le bruit visible sur la première figure, à grande échelle de temps, correspond aux
oscillations du courant à la commutation des transistors. Même si l'effet sur le signal
est spectaculaire, ces pics ne sont pas gênants pour une application électromécanique.
On voit par ailleurs que la modulation MLI donne un signal avec un décalage DC.
Pour obtenir un signal sans composante DC, il y a trois méthodes :
La valeur efficace du courant est 2.6/6.8=380 mA. Pour l'augmenter, il faut réduire la
résistance R ou augmenter la tension Vs de l'alimentation.
Certains circuits de commande ont une seule entrée, ce qui évite l'emploi d'une porte
inverseuse. Voici un autre exemple de hacheur avec un IR2184 et deux transistors
IRF530, qui peuvent supporter jusqu'à 14 A en continu.
Le circuit de commande applique un temps mort de 500 ns entre les commandes des
deux grilles, de manière à éviter la conduction simultanée des deux transistors.
Références
[1] A.P. Malvino, D.J. Bates, Electronic Principles, (McGraw-Hill, 2016)
[4] Texas Instruments, Minimizing ringing at the switch of a boost converter, (Application
Report, September 2007