[Actualité] [Arduino Uno R4 WiFi] Des broches E/S à 8mA seulement !
par
, 29/12/2023 à 09h00 (4608 Affichages)
Ce n'est pas la caractéristique la plus amusante des Arduino Uno R4, mais c'est quand même celle qui risque d'endommager votre carte si vous passez à côté...
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é :
- 20 mA maximum pour l'Arduino Uno R3, contre 8 mA maximum pour l'Arduino Uno R4.
Avec l'avertissement :
Si vous êtes habitués aux branchements directs de LED 20 mA ou autres micro-actionneurs consommant près de 20 mA aux broches de l'Arduino Uno R3 (et même davantage, l'Arduino Uno R3 est tolérant), il va peut-être falloir revenir aux fondamentaux : Les broches E/S numériques sont là pour transporter de l'information, et non de la puissance aux actionneurs. Il faut intercaler une interface de puissance entre l'Arduino et la charge :[...] 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.
Certes, on pourrait augmenter la résistance en série de la LED pour réduire le courant absorbé entre 6 et 8 mA (voir le calcul de la résistance). Une LED rouge 5mm que l'on retrouve dans les kits pour débuter s'allumera quand même, mais elle sera un peu moins lumineuse. Si on veut lui redonner un peu de pêche sur une Arduino Uno R4, une interface de puissance à transistor pour amplifier le courant est une solution.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