Les transistors bipolaires
Sommaire du chapitre
Les transistors bipolaires
Présentation
Une des moyens pour créer notre circuit de puissance est le transistor bipolaire. Ce composant possède trois broches :
Le collecteur (C)
la base (B)
l'émetteur (E)

Conventions
Afin de simplifier les calculs par la suite, posons les normes suivantes :
Le courant entrant dans le Collecteur est appelé $I_{C}$
Le courant entrant dans la Base est appelé $I_{B}$
Le courant sortant de l'émetteur est appelé $I_{E}$
La tension entre la Base et l’Émetteur est appelée $V_{be}$
La tension entre le Collecteur et l’Émetteur est appelée $V_{ce}$

Les flèches au sein du transistor indiquent le sens de déplacement du courant sur les broches.
Les familles de transistors bipolaires
Les transistors bipolaires sont classés en deux catégories :
Les transistors NPN [1]
Les transistors PNP
Le principe de fonctionnement est similaire entre ces deux familles, seul le branchement et le niveau de commande diffère.
Dans ce document, nous utiliserons essentiellement des transistors NPN car ces derniers utilisent des grandeurs positives.

Les paramètres de sélection du transistor
Notre transistor doit dans un premier temps répondre à deux contraintes :
La tension admissible sur $V_{ce}$ [2] doit être supérieure à la tension d'alimentation de notre circuit.
Concrètement, si notre circuit est alimenté en 48V mais que le transistor ne supporte pas plus de 30V, il va être détruit.Le transistor doit supporter un courant plus élevé que le courant maximal transitant dans notre circuit. Pour contrôler un moteur consommant 1 Ampère, je dois donc choisir un transistor pouvant contrôler au moins 2 Ampère.
Pour la suite de la présentation, on supposera que notre transistor a été dimensionné pour répondre à ces deux contraintes.
Le principe
Ce type de transistor fonctionne comme une vanne pour une canalisation. Il est possible de réguler le débit de la canalisation avec la vanne.
Le transistor bipolaire permet de contrôler un courant important avec un faible courant.

Ici, notre transistor joue le rôle de la vanne et permet de bloquer le courant (électrons) ou bien de les laisser passer.
Le courant de l'élément à contrôler (moteur, résistance de puissance) transite entre le collecteur et l'émetteur et le courant de commande passe par la base, comme l'illustre la figure suivante.
La relation fondamentale reliant le courant de puissance et de commande est la suivante :
$$ \boxed{ I_{C} = \beta \cdot I_{B} }$$
Le paramètre $\beta$, appelé gain du transistor [3]est sans dimension (unité) et est appelé $ h_fe$ dans les documentations} est une caractéristique interne de notre transistor, c'est à dire qu'il dépend du type de transistor que nous choisissons.
Les courants $I_{C}, I_{B},I_{E}$ sont exprimés dans la même unité (ampère, milliampères..) pour une formule homogène.
Les transistors de puissance possèdent des gains de l'ordre de la dizaine alors que les transistors de signal (faibles courants) ont un gain pouvant facilement atteindre 200 ou 300.
Plus notre $\beta$ est faible, plus il va falloir injecter un courant important dans notre base.
Notre émetteur est relié à la masse du circuit et permet de le fermer pour que les électrons puissent circuler.
Le courant circulant dans l'émetteur est simplement la somme des courants entrant dans le transistor.
d'où : $$ \boxed{ I_{E} = I_{B} + I_{C} }$$

Exemple
On souhaite commander l'arrêt et la marche d'un moteur consommant au maximum 0.5A et alimenté avec une tension de 9V.
Nous choisissons un transistor permettant de commuter 1A (sécurité) avec $\beta=30$
On applique la formule précédent et on obtient :
$$ I_{B} = \frac{I_{C}}{\beta} = \frac{0.5}{30} = 16 mA $$
Mise en pratique
Branchements
Maintenant que nous connaissons les tensions et courants nécessaires à notre transistor et à notre moteur, nous allons le commander avec une carte Arduino.
Tout d'abord, il convient de placer le moteur entre notre alimentation et le collecteur.
Toutes les charges à contrôler avec ce type de transistor se placent entre l'alimentation et le collecteur.
Enfin, il ne nous reste plus qu'à relier une sortie numérique du microcontrôleur vers notre base par l'intermédiaire d'une résistance.
La résistance va servir à imposer le courant dans la base de notre transistor.
Nous obtenons donc le schéma suivant.

Dimensionnement de la résistance
On souhaite obtenir un courant de $16 mA$ dans notre base et on sait que l'Arduino délivre du $5V$ en sortie.
Nous somme donc tentés de dire que $R_b = \frac{U_{arduino}}{ I_{B}} = \frac{5}{0.016} = 312 \Omega$ [4]
Hélas, il y a peu de chance que votre moteur tourne dans les conditions optimales.
Il convient d'avoir à l'esprit que notre $\beta$ trouvé dans la documentation n'est que théorique et qu'il peut être en réalité inférieur.
Une des conventions non officielles admet que pour de la commutation en Tout ou Rien, on divise la valeur théorique de notre $\beta$ par 2.
Nous allons donc prendre donc un $\beta$ valant 15.
$$ I_{B} = \frac{I_{C}}{\beta} = \frac{0.5}{15} = 32 mA $$
Notes
On remarquera que la carte Arduino doit fournir un courant qui s'approche de la limite de courant pour une seule broche, à savoir 40 mA !
Une dernière chose : les transistors bipolaires entraînent une chute de tension entre la base et l'émetteur ($V_{be}$).
Cette chute de tension dépend de la technologie des transistors bipolaires :
$0.7V$ pour les transistors au silicium
$0.3V$ pour les transistors au germanium
D'où :
$$ \boxed{ R_{b} = \frac{U_{arduino}-V_{be}}{I_b} = \frac{4.3}{0.032} = 134 \Omega} $$
Exemple de programme Arduino
Voici un code permettant de faire tourner le moteur périodiquement pendant 5 secondes puis de l'arrêter pendant 5 secondes.
#define D8 8 //Broche 8 de l'Arduino
void setup()
pinMode(D8, OUTPUT); //Mise en sortie de la broche
//End setup
void loop()
digitalWrite(D8, HIGH); //Déclencher la rotation du moteur
delay(5000); //Délai de 5s
digitalWrite(D8, LOW); //Fin de la rotation du moteur
delay(5000); //Délai de 5s
//End loop
Exemple de programme ESP12 NodeMCU
Nous allons utiliser la broche D3 pour contrôler l'alimentation d'une LED.
Le branchement du transistor correspond à un transistor de la famille des BC337.

void setup()
pinMode(D3, OUTPUT); //Mise en sortie de la broche
//End setup
void loop()
digitalWrite(D3, HIGH); //Allume la LED
delay(5000); //Délai de 5s
digitalWrite(D3, LOW); //Éteint la LED
delay(5000); //Délai de 5s
//End loop
La carte CREPP.io ne comporte pas de transistor bipolaire, il n'y a qu'un transistor MOSFET avec un optocoupleur que nous allons aborder dans 2 sections suivantes