Bonjour à tous,
Je suis nouveau sur le forum et débutant dans le monde d'arduino.
ma question porte sur la commande de la bobine d'un relais très courant ( SRD-05VDC-SL-C) via une arduino uno.
Sur le principe pas de problème. Cependant quand je regarde la datasheet du relais, elle indique coil nominal current entre 71.4 et 89.3 mA suivant la sensibilité de la bobine.
Pourtant une sortie Arduino ne peut supporter que 20mA ou 40mA max.
Dans la logique, une carte arduino ne pourrait pas alimenter la bobine de ce relais et pourtant bon nombre de schéma sur internet utilisent ce relais branché directement sur une sortie Arduino.
Il y a donc un épisode que j'ai manqué quelque part
Merci de prendre quelques minutes pour lire "Les bonnes pratiques du forum francophone" et les appliquer.
Par exemple, les fils de discussions avec des questions doivent être créés dans la racine du forum francophone. Le sous-forum "Tutoriels et Cours" est réservés pour .... les tutoriels et les cours.
Pour répondre à ta question.
Ce que tu vois le plus souvent ici ce sont des modules de ce genre qui intègrent un transistor ou un optocoupleur entre la carte Arduino et le relais. Et donc la sortie de l'Arduino ne fournit qu'une dizaine de mA au maximum.
Sur l'image ci-dessous par exemple, il y a un transistor (repère Q1 près du bord)
La difficulté est que trop souvent, par abus (volontaire ou non) de language, les modules adaptés aux produits du genre Arduino portent le même noms que le composant principale de ce module.
Mais n'ont pas exactement les mêmes caractéristiques que ce composant.
Il te faut raisonner différemment, avec la pin de l'Arduino, tu ne fais pas titrer le relais, mais tu en donnes l'ordre, c'est à dire tu donnes l'ordre au transistor qui lui, va le faire tirer. Cet ordre passe par une résistance de 150 Ohms. C'est la pin 5V du module qui "assume" la consommation de la bobine.
Merci Jpbbricole pour l'explication et le schéma! cela devient plus clair effectivement .
J'ai peur de paraitre bête avec mon raisonnement mais je tente le coup malgré tout lol
la sortie de commande du relais "CTRL" fournit malgré tout 30mA ce qui reste en dessous des 40mA Max
Car I=U/R = 5/150 = 30mA
Mais je ne peux donc pas commander 2 relais avec la même sortie car 60mA sur la sortie
Il faut compter la chute de tension dans la led (environ 1.8V si led rouge) et la tension émetteur base (environ 0.8V)
donc I=(5-1.8-0.8)/150=16 mA.
De plus à mon avis tu peux augmenter la valeur de la résistance.
Mais pour bien saturer le transistor, il faudrait tout de même 8 ou 9mA.
Donc si on rajoute une résistance en série sur CTRL car c'est difficile de changer celle de 150 sur le module, avec:
R=(5-1.8-0.8)/9mA= 270 Ohms Maxi on aurait I = 9ma.
Il suffit donc d'ajouter une résistance de 120 Ohms max en serie sur CTRL (150+120=270)
Autre solution pour commander plusieurs relais en mêma temps, les modules multi relais qui ont un étage d'entrée différent:
Avec ça, tu peux en commander plusieurs.
Il faut tenir compte du gain du transistor, sinon cela ne veut rien dire.
Il faut 70 mA pour commander un SRD-05V DC-SL-C.
Avec un transistor ayant un gain de 80 à 70mA (un PN2222 par exemple), il faut au minimum 70mA / 80 = 875 µA dans la base.
On multiplie par 5 pour bien saturer : 4,375 mA.
R = (5V -Vbe) / Ib = (5−0,7) ÷ 0,004375 = 982Ω
Avec l'idée que pour avoir T saturé (et Vce négligeable) et 90mA dans la bobine, j'utilise dans mes calcul un gain de 10 pour le T.
Certes, c'est arbitraire ce choix de 10 pour un T saturé.
Donc si le gain est de 10, I base = Ic / 10 = 9.
Nous n'avons pas tout à fait la même méthode.
Toujours est'il que vous trouvez au minimum 4,35mA et moi au minimum 9mA, je prend une plus grande marge de sécu que vous.