Le transistor TIP120 est un transistor de puissance NPN de la famille des Darlington, en boîtier TO-220. Là où un transistor courant se contente de quelques dizaines de milliampères, celui-ci laisse passer 5 ampères et supporte 60 volts : c’est le composant qui permet à une sortie d’Arduino d’allumer un moteur, une pompe, un solénoïde ou un relais sans griller la carte.
Attention à un mot qui trompe souvent : « Darlington » ne veut pas dire « transistor plus gros », mais deux transistors montés en cascade dans le même boîtier. Le premier étage amplifie le courant pour le second. Le gain n’est plus de 100 mais de 1000 ou plus : quelques milliampères sur la base suffisent à commuter plusieurs ampères. La contrepartie est une chute de tension plus élevée entre collecteur et émetteur, et donc un peu de chaleur à évacuer.
À quoi sert un TIP120 ?
Un microcontrôleur ne peut fournir qu’environ 20 mA par broche, et bien moins encore s’il doit tenir cette valeur longtemps. Le TIP120 sert d’intermédiaire entre une sortie logique et une charge gourmande :
- Moteurs à courant continu — roues de robot, ventilateurs, essuie-glace miniature.
- Pompes basse tension — pompage d’eau, arrosage automatique, aquarium.
- Relais, électrovannes et solénoïdes — quand la bobine demande plus que ce que la carte peut donner.
- Rubans et rampes de LED — plusieurs ampères de LED blanches ou RGB sur une alimentation 12 V.
- Variateurs de vitesse — la sortie PWM de l’Arduino module la vitesse d’un moteur sans résistance de puissance.
Caractéristiques techniques
| Référence | TIP120 — transistor Darlington NPN, marquage « TIP120 » sur la face avant |
|---|---|
| Boîtier | TO-220AB : corps plastique noir, patte métallique percée pour la fixation sur dissipateur |
| Tension collecteur-émetteur | 60 V maximum (VCEO) |
| Courant de collecteur | 5 A en continu, 8 A en pointe |
| Gain en courant (hFE) | 1000 minimum à 3 A — c’est tout l’intérêt du montage Darlington |
| Tension de saturation (VCE(sat)) | 2 V maximum sous 3 A, avec 12 mA sur la base |
| Tension base-émetteur | Environ 2,5 V pour conduire — deux jonctions en série, pas une seule |
| Diode interne | Oui, entre émetteur et collecteur : elle limite les surtensions des charges inductives |
| Puissance dissipable | 65 W à 25 °C sur le boîtier, à déclasser fortement dès que la température monte |
| Température de jonction | 150 °C maximum |
| Complémentaire | TIP125, la version PNP pour les montages symétriques |
Brochage : trois broches, une patte métallique
Face marquée « TIP120 » tournée vers vous, broches vers le bas, les trois sorties se lisent de gauche à droite :
| Broche 1 — Base (B) | La commande. Elle reçoit le signal de l’Arduino à travers une résistance, jamais directement. |
|---|---|
| Broche 2 — Collecteur (C) | La charge. C’est le côté qui reçoit le courant à commuter. |
| Broche 3 — Émetteur (E) | La masse du montage en commutation basse. |
| Patte métallique | Électriquement reliée au collecteur (broche 2) — à un détail près, elle n’est pas isolée. |
Le piège du dissipateur. Visser la patte métallique directement sur un châssis ou un boîtier reliés à la masse met le collecteur à la masse : le montage ne commute plus. Il faut soit un dissipateur isolé, soit une rondelle isolante en mica avec un passe-fil plastique, et de la pâte thermique pour le contact.
Comment le piloter depuis un Arduino
Trois règles suffisent à réussir le montage du premier coup :
- Une résistance en série sur la base. La jonction base-émetteur d’un Darlington chute environ 2,5 V, donc sous 5 V il reste 2,5 V à faire tomber. Avec une résistance de 1 kΩ, le courant de base vaut environ 2,5 mA — de quoi commuter un à deux ampères. Pour des charges plus fortes, passer à 330 Ω donne environ 7 mA et couvre toute la plage du composant. Sans cette résistance, la broche de l’Arduino est mise en court-circuit et finit par mourir.
- Une alimentation séparée pour la charge. Le moteur ou la pompe se branche sur son propre bloc d’alimentation, pas sur la sortie 5 V de la carte. Le moins de cette alimentation et le GND de l’Arduino doivent être reliés entre eux : c’est la référence commune sans laquelle la commande ne veut rien dire.
- Une diode de roue libre sur les charges inductives. Moteur, pompe, relais et électrovanne produisent une surtension au moment de la coupure. Une diode type 1N4007 placée en parallèle sur la charge, cathode côté positif, l’absorbe. Le TIP120 en contient déjà une, mais elle ne dispense pas de cette protection externe.
Mini-projet : un variateur de vitesse pour moteur à courant continu
Un potentiomètre règle la vitesse d’un moteur, sans résistance de puissance et sans chauffe inutile : le TIP120 fonctionne en tout ou rien très rapide, et c’est la largeur des impulsions qui fait la vitesse. Comptez une vingtaine de minutes.
Ce qu’il faut
| Le cerveau | Uno R3 + câble USB |
|---|---|
| Le commutateur | Le transistor TIP120 — celui de cette page |
| La charge | Moteur réducteur DC ou moteur DC avec roue |
| La résistance de base | Résistances 1/4w 1Kohm |
| La consigne | Potentiomètre 10 kohm |
| L’alimentation de la charge | Alimentation 12v 2A — un moteur ne se branche pas sur la carte |
| Le support | Plaque d’essai 830 points |
| Les liaisons | 10 × fil Dupont ou 10 × fil mâle-femelle |
Le câblage
| Moteur (borne +) | → alimentation externe +12V |
|---|---|
| Moteur (borne -) | → TIP120 Collecteur, broche 2 |
TIP120 Émetteur | → alimentation externe - et → Arduino GND |
TIP120 Base | → résistance 1 kΩ → Arduino D9 |
| Diode 1N4007 | en parallèle sur le moteur, bague côté +12V |
| Potentiomètre (broche du milieu) | → Arduino A0 |
| Potentiomètre (broches extérieures) | → Arduino 5V et GND |
Deux points à ne pas inverser : la broche du milieu du potentiomètre est le curseur, et l’émetteur du TIP120 va bien à la masse. Sur une charge inductive, la bague de la diode marque la cathode : elle se place côté positif.
Le programme
À copier dans l’IDE Arduino puis à téléverser :
/*
* Variateur de vitesse pour moteur a courant continu - transistor TIP120
* Carte : Arduino Uno R3
* Montage : potentiometre sur A0, base du TIP120 sur D9, moteur sur alimentation 12 V
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const byte PIN_CONSIGNE = A0; // curseur du potentiometre 10 kohms
const byte PIN_MOTEUR = 9; // sortie PWM vers la base, via 1 kohm
void setup() {
pinMode(PIN_MOTEUR, OUTPUT);
analogWrite(PIN_MOTEUR, 0); // moteur arrete au demarrage
Serial.begin(9600);
}
void loop() {
int mesure = analogRead(PIN_CONSIGNE); // 0 a 1023
int vitesse = map(mesure, 0, 1023, 0, 255); // remise a l'echelle PWM
vitesse = constrain(vitesse, 0, 255);
analogWrite(PIN_MOTEUR, vitesse);
Serial.print("Consigne : ");
Serial.print(mesure);
Serial.print(" Sortie PWM : ");
Serial.println(vitesse);
delay(100);
}Comment ça marche
- La sortie
D9délivre un signal carré dont on choisit le rapport cyclique avecanalogWrite: 0 arrête le moteur, 255 le fait tourner à fond, 128 à mi-puissance. - Le TIP120 ne dissipe de la chaleur que pendant les instants où il conduit, et il est saturé à ce moment-là. C’est ce qui rend le PWM si économique : à faible vitesse, la chaleur produite est faible elle aussi.
- La fréquence PWM par défaut de
D9est d’environ 490 Hz. Elle convient parfaitement à un Darlington, qui est un composant lent : inutile de chercher à monter à plusieurs kilohertz, on ne gagnerait rien et on ajouterait des pertes de commutation.
Chaleur : quand faut-il un dissipateur ?
La chute de tension d’un Darlington saturé est d’environ 1,5 à 2 V. Multipliée par le courant, elle devient de la chaleur. Quelques ordres de grandeur :
| 500 mA | environ 1 W — le boîtier TO-220 nu suffit, il tiède à peine. |
|---|---|
| 1,5 A | environ 3 W — un petit dissipateur devient nécessaire. |
| 3 A et plus | 6 W et davantage — dissipateur obligatoire, et l’isolation électrique de la patte est à prévoir. |
Test simple : posez un doigt sur le boîtier après deux minutes de fonctionnement. Tiède est normal, brûlant ne l’est pas — ajoutez un dissipateur ou réduisez le courant.
Variante : commuter une pompe en tout ou rien
Pour une pompe ou un relais, on ne module pas la vitesse : on ouvre ou on ferme. Le câblage reste identique, seuls le programme et la charge changent.
| Pompe (fil +) | → alimentation externe +12V |
|---|---|
| Pompe (fil -) | → TIP120 Collecteur |
| Diode 1N4007 | en parallèle sur la pompe, bague côté +12V — indispensable sur un moteur de pompe |
TIP120 Base | → résistance 1 kΩ → Arduino D7 |
Dans le programme, remplacez analogWrite(PIN_MOTEUR, vitesse) par digitalWrite(PIN_MOTEUR, HIGH) pour la marche et LOW pour l’arrêt. Une pompe immergée ne doit jamais tourner à vide : ajoutez un contrôle de niveau ou une temporisation avant de la laisser fonctionner sans surveillance.
Questions fréquentes
Quelle différence avec un transistor comme le 2N2222 ?
C’est une question de courant et de gain. Un 2N2222 commute quelques centaines de milliampères et demande un courant de base notable pour y parvenir ; le TIP120 en commute cinq ampères avec une fraction de milliampère. Pour une LED ou un petit buzzer, le petit transistor suffit ; dès qu’il y a un moteur, une bobine ou plusieurs ampères, c’est le TIP120.
Faut-il vraiment une résistance sur la base ?
Oui, toujours. La jonction base-émetteur laisse passer le courant comme une diode dès qu’elle est polarisée, et sans résistance c’est la sortie de l’Arduino qui limite le courant — mal, et brièvement. Une résistance de 1 kΩ pour la plupart des montages, 330 Ω pour les charges proches de 5 A.
Mon moteur tourne lentement ou ne démarre pas, pourquoi ?
Trois causes reviennent sans cesse. La charge est peut-être alimentée par le 5 V de la carte, incapable de fournir le courant : il faut une alimentation séparée. Les masses de l’alimentation et de l’Arduino ne sont peut-être pas reliées, auquel cas le transistor ne reçoit aucune référence. Enfin, la chute de tension du Darlington fait perdre environ 2 V : un moteur prévu pour 5 V alimenté en 5 V n’en reçoit que 3 et peine à démarrer — alimentez-le en 6 ou 7,5 V.
Puis-je le piloter avec une carte en 3,3 V ?
Difficilement. La base d’un Darlington réclame environ 2,5 V pour conduire, ce qui ne laisse presque rien à la résistance de série avec une sortie 3,3 V : le transistor conduit mal et chauffe. Ce montage est fait pour une logique 5 V. Avec un ESP32 ou un module en 3,3 V, ajoutez un petit transistor NPN en étage d’entrée.
Pourquoi un TIP120 chauffe-t-il plus qu’un transistor ordinaire ?
Parce qu’il y a deux jonctions en série entre collecteur et émetteur : la tension de saturation s’additionne. Ce que le montage perd en tension, il le gagne en courant de commande — c’est le compromis du Darlington. Si le rendement devient le critère principal, un transistor à effet de champ de puissance (MOSFET) chauffera moins, mais demandera une logique et un câblage différents.
Peut-on le monter sur un radiateur métallique du commerce ?
Oui, à condition de respecter l’isolation : la patte arrière est au potentiel du collecteur. Un dissipateur conducteur relié à la masse, posé sans isolant, met la charge en court-circuit. Rondelle isolante, passe-fil et pâte thermique règlent le problème.
À combiner avec
Pour un premier montage, le KIT Starter apporte la carte Uno R3, la plaque d’essai, les fils et les résistances : en y ajoutant ce transistor et un moteur, le variateur de cette page se monte directement. Pour une commande de charge alternative, le module 1 relais 5V intègre déjà son transistor et sa diode ; le ventilateur 5 V est une charge parfaite pour tester le montage sans risque, et l’alimentation 12 V 2 A couvre les moteurs et les pompes de cette fiche.







