Un de mes amis qui débute avec Arduino vient de détruire sa carte Arduino

La cause : une simple Led connectée à une sortie digitale, sans avoir ajouté une résistance pour limiter le courant.
Ce petit post est un petit rappel sur les courants, avec les bases minimum pour l'utilisation de l'Arduino de façon pérenne.
Quelques rappels sur le courant (en mA) que peut fournir un Arduino (typiquement un Uno R3) :
- Le maximum absolu pour une sortie est de 40 mA (en pratique, 30 mA est un maximum raisonnable)
- Le courant total pouvant être délivré par plusieurs sorties et de 200 mA (par exemple, on peut prendre 30 mA sur 6 sorties, ou 20 mA sur 10 sorties, etc.). C’est aussi un maximum absolu. Il vaut mieux rester autour de 150 mA
Si on utilise l’alimentation de la carte (Vcc) (et donc pas une des sorties), on peut alors demander au maximum :
- 400 mA au total si alimentation USB
- 800-900 mA si l’alimentation se fait via une pile ou un adaptateur secteur (pour une tension d’entrée entre 7 et 9 volts. Si la tension augmente, le courant disponible diminue).
On voit donc bien qu’on ne peut pas faire n’importe quoi, sous peine d’abimer la carte ; ça peut aller de la destruction d’une entrée/sortie à la destruction totale de la carte.
Il est donc essentiel de maîtriser les courants qu’on demande à nos montages. Si nécessaire, on utilise l’Arduino pour simplement commander et on utilise une alimentation externe plus costaud pour alimenter les périphériques (via des transistors, mosfets, optocoupleurs, ou bien sur des relais ce qui permet de commander des appareils en 220V par exemple).
Exemples avec des Leds
Il existe une large variété de Leds, couvrant le spectre visible et invisible, mono ou multicolore. On s’intéresse ici aux Leds classiques, 3 mm ou 5 mm, monocolores, spectre visible.
Les couleurs les plus classiques sont : rouge, vert, bleu, jaune, orange, blanc.
Au niveau alimentation électrique, chaque Led se caractérise par : sa tension aux bornes (forward voltage) et son courant admissible (forward current). Ces informations sont toujours données dans la datasheet du constructeur, avec plein d’autres informations utiles. Voir un exemple :
Led rouge 3mm Farnell.
A noter : ces valeurs peuvent être assez différentes d’une Led à l’autre, surtout la tension aux bornes.
Ce sont ces valeurs qui vont nous être utile pour assurer la maîtrise du courant.
Procédure :
- On commence toujours par choisir le courant qu’on souhaite voir passer dans la Led (sans jamais dépasser ni la valeur max fixée par le constructeur ni la valeur max de ce que peut délivrer l’Arduino sur une sortie)
- Puis on calcule la résistance à employer obtenir le courant choisi.
Soit ‘If’ le courant choisi, V la tension dans la branche du circuit de la Led et Vf la tension aux bornes de la Led (donnée par le constructeur) ;
La résistance à utiliser se calcule de la façon suivante (selon la loi d’Ohm) :
R = (V-vf)/If
Exemple :
L’Arduino est alimenté en 5V, la Led présente une tension aux bornes de 2V, et on veut un courant de 15 mA.
La résistance à utiliser est donc :
R = (5-2)/0,015 = 3/0,015 = 200 Ohms.
En pratique, on utilisera une résistance de valeur égale ou juste supérieure à la valeur calculée. Ici, la résistance à utiliser sera une 220 Ohms, ce qui nous donnera un courant de 13,6 mA, très proche de notre valeur choisie (15 mA).
Quelques valeurs classiques
Les tensions aux bornes typiques varient d’une Led à l’autre, mais en général la valeur se situe entre 1,5V et 3,5V.
Le courant maximum admissible est souvent de 30 mA maximum, 20 mA étant en général la valeur recommandée.
A noter : la plupart des Leds éclairent encore très bien et très fort avec 15 ou 10 mA. C'est mieux pour l'Arduino, et la Led vivra plus longtemps !
Voici quelques valeurs relevées avec un multimètre sur un ensemble de Leds dans ma collection :
Note : le courant calculé dans le tableau est la valeur théorique; j'ai mesuré au multimètre les valeurs réelles, qui sont très proches des valeurs théoriques (petite résistance supplémentaires dans les fils, tolérance de valeur de la résistance, etc.).
On voit donc que dans tous les cas, pour une tension d’alimentation de 5V, une résistance de 220 ohms est bien adaptée dans tous les cas pour garantir un courant suffisant pour allumer la Led,
tout en restant bien en dessous des valeurs maximums.
Conclusion:
- ne jamais brancher une Led sans une résistance de limitation de courant. 220 ohms est une valeur qui convient dans tous les cas. On peut utiliser si nécessaire une valeur inférieure, mais on veillera alors à faire le calcul pour rester autour de 20 mA.
- Quel que soit le périphérique qu'on veut commander, on s'assurera qu'on ne demande pas un courant supérieur à 30 mA par sortie
- Si on pilote plusieurs Leds (ou autre), on veillera à rester bien en dessous de 200 mA au total sur les sorties numériques.
- Si on doit commander plus de puissance, on utilise VCC (ou une alimentation externe) pour les gros consommateurs, qu'on pilote avec l'Arduino et des transistors ou équivalents.