Une caractéristique importante est le courant maximum que peut conduire une broche d'entrée-sortie numérique (ou DC current per I/O pin) :
Extraits docs. Arduino Uno R3 et R4
Et le moins qu'on puisse dire, c'est que le seuil de tolérance pour une broche numérique est sacrément abaissé :
- [highlight]20 mA maximum pour l'Arduino Uno R3, contre 8 mA maximum pour l'Arduino Uno R4.[/highlight]
Avec l'avertissement :
[...] the UNO R4 series' maximum current draw per GPIO is 8 mA, which is significantly lower than previous versions. Exceeding this limit may damage your pin / board.
Arduino ----signal de commande---- Interface de puissance ------ Charge | Alim. charge Vcc
Transistor NPN BC547 en boîtier TO92
Par exemple, avec un transistor NPN BC547, la charge étant une LED rouge standard 5mm (IF = 20 mA recommandé, tension de seuil VF = 2 V), le schéma du montage est le suivant :
Le transistor doit fonctionner en commutation, en régime saturé. Pour calculer la résistance RB (à la base du transistor) et celle de la charge RC reliée au collecteur, il faut étudier la datasheet du BC547. Et le graphique ci-dessous qui en est extrait nous donne tous les renseignements en régime saturé dans le cas particulier IC / IB =10 :
Pour un rapport IC / IB = 10, et une intensité IC de 20 mA qui traverse la LED et qui rentre dans le collecteur (soit un courant qui rentre dans la base IB = 2 mA) :
- VCE(sat) = 60 mV, et VBE(sat) = 800 mV.
En conjuguant la loi des mailles et la loi d'Ohm dans les deux mailles du schéma :
- RC = (5 - 2 - 0,06) / 20.10-3 = 147 Ω, ou 2 V est la tension de seuil VF de la LED ;
- RB = (5 - 0,8) / 2.10-3 = 2100 Ω.
Une simulation sur circuitlab.com avec les valeurs de résistance que l'on trouve dans les catalogues, et proches des valeurs calculées, confirme les prévisions :
Et voici ce qui se passe en pratique :
La LED la plus à droite, moins brillante que celle de gauche, est traversée par un courant de 6,5 mA seulement.
La LED de gauche est pilotée par un transistor.
On mesure le courant de base IB = 1,83 mA, et le courant qui traverse la LED IC = 18,50 mA.
Remarque : le fabricant du transistor donne des caractéristiques en régime « sursaturé ». Avec une résistance RB = 4,7 kΩ, le courant de base mesuré est IB = 0,85 mA, et le courant qui traverse la LED se maintient, IC = 18,45 mA. Soit une amplification d'un facteur 20 environ.
Le transistor joue bien son rôle d'amplificateur de courant, et pour conduire une LED à 15-20 mA, ce genre de composants redevient nécessaire avec une Arduino Uno R4. Le transistor BC547 (mais il y a plein d'autres références) en commutation convient bien pour amplifier des courants jusqu'à plusieurs dizaines de milliampères pour de faibles puissances (Pc < 0,5 W). Si votre montage doit comporter plusieurs transistors, songez à un ULN2803A/ULN2804A et son réseau de 8 transistors (quelques centaines de milliampères par transistor, mais pas plus de 2 W au total). Pour plus de courant et de puissance, envisagez un transistor à effet de champ (MOSFET).
Et voilà pour ce billet, encore et toujours des LED... Mais quitte à allumer une LED, autant le faire bien