Piloter des relais dans tirer trop de mA

Portrait de nounours18200

Bonjour,

Je pose ce sujet dans Arduino, car ma question concerne la Nano et aussi le STM32.

Dans  mes projets, j'utilise les sorties digitales du microcontrôleur pour piloter des relais dont la consommation est variable selon le type de relais utilisé (le courant tiré sur la sortie du µC).

Généralement 10mA à 20mA pour des petits relais Reed, mais ça peut monter plus haut pour des gros relais.

Et le problème devient insoluble avec les STM32 Blue Pill limitées à seulement...6mA d'après sa datasheet....

J'ai donc besoin d'un chip à mettre entre les sorties du µC et les commandes des relais, afin de ne pas griller le µC.

J'imagine qu'il doit exister des circuits intégrés (à plusieurs entrées) à interfacer entre µC et relais, de façon à ce que le courant tiré sur le µC reste minime: je pense à un circuit intégré car ça faciliterait la conception de mes circuits imprimés.

Quelles seraient vos suggestions ?

Merci

Portrait de ChrisMartin

Utilise des Mosfets consomation proche de 0 mA

Portrait de Jetfuzz

Hello.
si tu as plusieurs relais, je te propose d'utiliser un ULN2003, qui te permet de piloter jusqu’à 7 relais.
l'avantage c'est qu'il integre en plus les diodes de roue libre.
https://www.st.com/resource/en/datasheet/uln2001.pdf
cordialement 
jetfuzz

Portrait de nounours18200

Les mosfets pourraient convenir mais ça prendrait trop de temps à souder car j'ai 12 relais au total.

Le ULN2003A m'intéresse mais en regardant la datasheet, j'ai 2 questions:

Q1: quel est le courant pompé par l'ULN2003A sur la pin du µC qui sert de commande, lorsque celle-ci sera activée (niveau 1) ? est-ce autour de 0,5mA comme indiqué sur la capture jointe ? Car en page 5 de la datasheet on lit "IB continous base current = 25mA" ce qui serait trop (mais peut-être la conso interne, pas le courant tiré sur la pin de commande ?)

Le µC étant un STM32, chaque pin ne peut fournir que 6mA, et je crois que sa tension de sortie à l'état haut est 3,3V.

Est-ce que ça marchera si la tension de sortie à l'état haut d'une pin du µC est de 3,3V ?

Merci !

Portrait de hercule124

Bonjour,

Le circuit ULN2003 est normalement commandé pour un niveau de tension de 5V, TTL ou CMOS. Compte tenu de son schéma interne  base de darlington avec un gain de plus de 1000 en série avec une résistance de 2,7kΩ, le courant en entrée ne devrait donc pas pouvoir dépasser quelques 1,4mA 
25 ma est le courant max sur son entrée.

Portrait de nounours18200

OK ta réponse me rassure, mais il me reste une dernière question:

Fonctionnera-t-il avec un niveau de commande de 3.3V ???  car le µC STM32 ne sort que du 3.3V...

D'un point de vu "niveau logique" c'est interprété comme un "1", mais est-ce que l'UL2003A fonctionnera, ou bien lui faut-il impérativement 5V ?

Mille mercis

Portrait de hercule124

si on prend la structure interne interne uln2003a

image_2023-05-13_185508927.png

on a 2 fois 0.6v tension vbe soit 1.2v pour un darlington ,pour une tension de 3.3v en entrée ca nous donne une tension sur la resistance ( 2.7k) de 3.3 - 1.2 = 1.1v soit un courant en entrée de 1.1 / 2700 = 0.4 ma en entrée pour une tension de 3.3v .

avec un gain de 1000 on obtient un courant de 400ma en sortie .

la sortie max est 500ma par canal

pour un ttl une entrée de  2v ->5v on passe en etat haut

Portrait de Jetfuzz

Hello.
je confirme, on utilise des uln2003 sur nos hardware au taf, et il sont commandé en 3.3V.
Cordialement 
Jetfuzz

Portrait de nounours18200

Merci Hercule : c'est beau de voir des experts en action !!

J'ai déjà adapté mes circuits imprimés pour y rajouter un ULN2003A: merci encore.

Portrait de Jetfuzz

par contre, n'oublie pas de relier la pin "COM" au même potentiel que tes relais. sinon les diodes de roue libre intégré ne seront pas active.
Cordialement 
Jetfuzz

Portrait de nounours18200

par contre, n'oublie pas de relier la pin "COM" au même potentiel que tes relais. sinon les diodes de roue libre intégré ne seront pas active.

Je pense avoir compris en effet (car sur mes circuits imprimés actuels j'ai des diodes de roue-libre) et j'ai donc fait le schéma de connexion suivant: voir fichier joint.

C'est bon pour vous ?

P.S. : D'ailleurs sans cette connexion je ne voyais pas comment le ULN2003A serait alimenté... 

Portrait de Jetfuzz

Hello.
non, c'est pas bon du tout.
je suis actuellement en déplacement.
demain matin, je te refait le schéma.
si hercule ne l'a pas corriger avant..
en fait l'uln2003 n'as pas d'alim, il faut que le - de ton relais soit connecté a la sortie de l'uln et sur le + du relais tu met un +5Volts, l'uln va te couper le GND du relais .
cordialement 
Jetfuzz

Portrait de nounours18200

voici le fichier: 

Portrait de hercule124

Bonjour,

Pas besoin de diode de roue libre avec le uln2003a c'est déjà intégré.

le bon schema

uln2003a_connexion.png

Portrait de Jetfuzz

Merci Hercule.
perso, j'aurais mis la pin 2 (+) du relais au 5 volts et la 3 (-)  sur les entrées uln.
comme ca si jamais, on utilise un relais avec l'option diode intégré, cela fonctionnera aussi.
mais c'est un détail. 
Cordialement 
Jetfuzz

Portrait de hercule124

Salut jetfuzz,

Oui, j'ai eu la même pensé que toi quand j'ai vu le schéma de Nounours18200.

Mais sur le datasheet du HE3621A0500 je n'ai pas vu de diode intégrée.Pour éviter de croiser les fils, je suis resté simple.

mais c'est pas très claire sur le datasheet

"The HE3600 is a miniature reed relay in a SIL package with a normally open contacts capable of switching up to 200Vdc at 10W. It is available with 5V, 12V, and 24V coils and has external magnetic shield and diode suppressedcoil options"

je pense que tu as raison il faut mieux inverser la polarité du relais pour éviter le risque que la diode devienne passante si l y'en a une. pin 2 du relais sur le (+5v) et pin 3 sur (-) comme ca c'est plus sure.

Portrait de Jetfuzz

Hé hé !!
relais_1.jpg

c'est dans la référence du relais
le HE3621A0510 aura la diode intégré
Cordialement
Jetfuzz

Portrait de nounours18200

Entièrement d'accord avec ton schéma hercule : j'ai pensé pareil mais dessiné autrement....

Mille mercis, c'est résolu pour moi, du moins jusqu'aux essais en réel !

Portrait de hercule124

Bonsoir,

après avoir partager avec jetfuzz , je corrige le schéma avec la diode intégré dans le relais.

au cas ou tu utilises un HE3621A0510

uln2003a_connexion.jpg

Portrait de nounours18200

Je me suis posé la même question dans la nuit car en effet j'utilise souvent des relais avec diodes (mon circuit imprimé est prévu pour les 2 types, avec un emplacement pour souder une diode si besoin), et je suis donc heureux de voir que vous avez pensé à la même chose (!)

Mais j'ai une question avec le schéma d'hercule ci-dessus: si la pin 2 du relais est connectée au +5V, il faudrait que la pin 16 du UL2003 passe à GND lorsqu'il reçoit une activation du micro-contrôleur , non ???

Or une pin activée du µC passe à +3.3V lorsqu'elle est activée, pas à la masse: donc comment la bobine du relais peut-elle conduire dans ce cas ???

Portrait de Jetfuzz

Hello
si tu regarde la structure interne interne uln2003a posté par Hercule, on vois que la sortie est un collecteur ouvert, et donc lorsque tu appliques 3.3V sur l'entrée de l'uln, le transistor correspondant va saturer et donc "relier" cette pin a la masse, le relais étant alimenté en 5V d'un coté, ben tu vient de ramener le 0 volts de l'autre coté a travers le transistor.
et voila Easy.
un schema !!
relais_2.jpg
cordialement 
Jetfuzz

Portrait de nounours18200

Je relis ma question et je me demande pourquoi je l'ai posée puisque dans le 1er schéma, la sortie une fois activée passait aussi à la masse ! Je devrais éviter de poster des questions le soir avant d'aller me coucher !!!

Je vais donc modifier mes circuits imprimés en conséquence, car j'utilise très souvent des relais avec diodes ou des relais sans diodes auxquels je rajoute une diode sur le circuit imprimé (diode inutile avec un ULN2003A...).

Mille mercis à vous !