dimanche 26 août 2018

Piloter un relais. Transistor unipolaire ou bipolaire ?

Piloter un relais. Transistor unipolaire ou bipolaire ?

Lorsque l'on désire alimenter la bobine d'un relais, la plupart du temps nous utilisons un transistor NPN du type 2N2222 ou 2N3904.
Mais pourquoi pas un MOSFET canal N ?

Quel est le but recherché lorsque l'on commande un relais à l'aide d'un transistor ?
Le but est bien sûr d'obtenir la chute de tension la plus faible possible dans le transistor, ce qui garantira que la bobine de celui-ci sera suffisamment alimentée pour faire coller les contacts.

Nous allons donc ici essayer les deux technologies, expliquer les choix et les détails de la mise en œuvre, et bien sûr mesurer le résultat.

1. Le relais

Le relais que je vais utiliser est un relais chinois très connu, le SONGLE SRD-05V DC-SL-C.
Ses contacts ont un pouvoir de coupure de 7A sous 250V.
Sa bobine se contente de 5V et a une résistance de 70Ω.
Nous allons donc devoir choisir un transistor supportant au minimum un courant de 5V / 70Ω = 71.4mA.

Si vous voulez piloter un relais 12V, il vous suffit de remplacer dans les schémas suivants la tension de bobine de 5V par 12V.

1.1. La diode de roue libre

Dans tout schéma utilisant une solénoïde, en particulier un relais, nous trouvons une diode dite "diode de roue libre" montée en inverse sur la bobine. Supprimons cette diode et examinons ce qui se passe lors de la coupure du courant :


Tension sur le collecteur

On voit sur cet oscillogramme un pic de tension de 100V sur le collecteur du transistor !

La mesure est faite avec une sonde / 10.

Tension d'alimentation 5V

On voit également des perturbations énormes sur la ligne d'alimentation 5V : jusqu'à 1.5V aussi bien en positif qu'en négatif pendant 100µs.

Ces perturbations pourraient facilement provoquer le plantage d'un microcontrôleur ou d'un module.

Avec la diode de roue libre ces surtensions disparaissent :


Tension sur le collecteur
Tension d'alimentation 5V

La diode de roue libre protège le transistor de commande contre les surtensions lors de la coupure du courant dans la bobine. Elle permet également de supprimer les perturbations sur l'alimentation.

Pourquoi le 2N2222 ne claque-t'il pas lors de l'essai sans diode alors qu'il ne supporte que 30V de tension émetteur / collecteur ?

  • la surtension est brève
  • le relais est petit
  • le 2N2222 est costaud
  • et enfin : la chance ...

Il est plus rationnel de choisir une diode rapide plutôt qu'une diode de redressement du type 1N4004. La 1N4148 a un "recovery time" de 8ns, contre 30µs pour la 1N4004.

On voit ici qu'une 1N4004 laisse passer une légère surtension :



Cette surtension pourrait être plus importante avec un plus gros relais.

Comment dimensionner une diode de roue libre ?

Pour cela il est indispensable de connaître les caractéristiques du relais :

  • résistance
  • inductance

La résistance est facile à connaître, elle est précisée dans la datasheet du relais. Il n'en va pas de même pour l'inductance.

On peut la mesurer avec un inductancemètre. Ce petit multimètre GM328, à base d'ARDUINO, que l'on peut facilement trouver chez les revendeurs chinois, affichera l'inductance et la résistance du relais :


La résistance série du relais limite le courant. Connaître la valeur de l'inductance permet de déterminer en combien de temps ce courant va être amorti.

Par exemple, pour un relais classique 5V SRD-05V DC-SL-C :

  • résistance : 70Ω
  • inductance : 20mH

Le courant dans la diode n'excédera pas 5V / 70Ω = 70mA.

La diode 1N4148 supportant 300mA en continu, on ne se préoccupera même pas de savoir combien de temps ce courant de 70mA va durer.

Conclusion pour un relais courant 5V ayant une résistance de bobine de plus de 20Ω, le choix sera facile : 1N4148, sans réfléchir.

Elle conviendra à la grande majorité des relais sur le marché.

Pour celui-ci par contre le problème est-il différent?


 OMRON OCB G9EC-1-B 12VDC

Il supporte jusqu'à 200A.

Sa résistance de bobine est de 12.8Ω, ce qui donne un courant maximal de presque 1A.

La datasheet ne précise pas son inductance, mais une 1N4148 peut supporter un courant de 1A pendant 1 seconde. On peut supposer sans être désespérément irrationnel que la surintensité durera moins d'une seconde.

On peut faire une bonne approximation en disant que le courant retombe à presque ZERO au bout de 3 fois la constante de temps L/R.

Pour 300ms on obtiendrait :

L = 0.3 x 12.8 = 3.84 Henry, ce qui est absolument énorme et impensable pour un relais, sauf relais de très très grosse puissance.

En étant légèrement paranoïaque, en supposant que ce relais ait une inductance de 200mH, ce qui est très pessimiste, le temps de retombée du courant serait de

T = L / R * 3 = 0.2H / 12.8 * 3 = 45ms

Une 1N4148 suffira amplement.

Dans le doute on peut toujours adopter une diode UF4002 supportant 1A en continu, et 30A pendant 8.3ms, si l'on a affaire à un relais encore plus monstrueux que le modèle précédent.

1.2. La charge inductive

Un relais, lorsqu'il commute une charge inductive, va générer des pics de tension sur le secteur. Ces parasites peuvent facilement passer à travers une alimentation, y compris à découpage.

Cela peut engendrer un plantage du microcontrôleur ou d'autres composants périphériques, un écran TFT ou LCD par exemple.

1.2.1. Charge continue

Si la charge est continue (moteur, bobine de contacteur, etc.) il suffit d'utiliser la technique de la diode de roue libre. Dans cet exemple le relais 5V active un relais 12V ou 24V continus :

On peut se demander quel est l'intérêt de piloter un contacteur à l'aide d'un relais, alors qu'un transistor bien dimensionné pourrait être utilisé ? Si l'on possède une carte à relais du commerce, et que l'on doit piloter un contacteur de moteur triphasé par exemple, on n'aura guère le choix.

1.2.2. Charge alternative

Si la charge est alternative, la diode de roue libre est inapplicable. En effet l'alternance négative passerait directement dans la diode et la détruirait. 

Je préconise ceci :

Un circuit RC (appelé snubber) est connecté entre la sortie du relais et le neutre, donc en parallèle sur la charge. Il absorbe les surtensions.

Le condensateur doit être de préférence du type X2 pour des raisons de sécurité, et supporter bien entendu 250V alternatifs :

On peut aussi utiliser une varistance 275VAC 350VDC à la place de ce circuit RC :


1.3. Le relais REED

Certains relais de faible puissance dits "relais REED" peuvent être pilotés directement depuis une sortie digitale de microcontrôleur :
Leur pouvoir de coupure est faible (0.25A à 1A) mais leur résistance de bobine est élevée (500Ω pour les modèles 5V) ce qui entraîne une consommation de 10mA, parfaitement acceptable pour la sortie d'un microcontrôleur.

Une diode de roue libre est néanmoins nécessaire, comme pour toute charge inductive. Voir paragraphe suivant.

1.4. Le relais statique

Le relais statique est un relais sans organe mécanique :

Leur entrée de commande consomme peu, de l'ordre de quelques mA à 30mA. Ils sont commandables directement par une sortie de microcontrôleur.
la diode de roue libre est inutile.

1.5. Le module relais

Dans le monde ARDUINO il existe des modules comprenant toute l'électronique de commande nécessaire :

Module 1 relais

Module 2 relais

Il faut faire attention à une chose : il existe des modules commandables par un niveau haut, d'autre commandables par un niveau bas, et d'autres sachant faire les deux comme le modèle ci-dessus (la sélection se fait grâce aux cavaliers jaunes).
Ils sont commandables directement par une sortie de microcontrôleur. La diode de roue libre est intégrée au module.

Ce qu'il faut savoir d'un relais commandable par un niveau bas :

Au démarrage du microcontrôleur, les pins digitales sont en entrée. Le relais ne sera pas activé.

Si vous activez la broche par pinMode(pin, OUTPUT), la sortie vaudra immédiatement zéro et le relais va être activé. Il faut immédiatement passer la sortie à 1 :

pinMode(pin, OUTPUT);
digitalWrite(pin, HIGH);

ou :

digitalWrite(pin, HIGH);
pinMode(pin, OUTPUT);

On trouve également des relais statiques (ou SSR : Solid State Relay), qui ne comportent aucune pièce mécanique, et sont donc silencieux.

Module relais statique 2A

Relais SSR 10A

Relais SSR 25A avec dissipateur

Module 8 relais SSR 2A

La plupart des modules relais statiques du commerce sont limités à deux ampères.
Au delà il faut s'orienter vers des relais statiques beaucoup plus imposants, et le dissipateur devient quasiment indispensable.

Il est déconseillé de commuter des signaux audio avec un relais statique, car ceux-ci intègrent un triac ou un thyristor. Ce ne sont pas vraiment des composants linéaires

1.6. Les relais miniatures

On range dans cette catégorie tous les relais de petites dimensions :

Relais Songle 12V / 10A


 

Relais Finder 12V / 6A

Ces relais peuvent en général être implantés sur un PCB.

Leur tensions de bobine est en général comprise entre 5V et 60V continus. Un transistor de commande est impératif.

S'il s'agit d'un modèle 12V ou 24V, c'est bien évidemment indispensable.

Il existe également des modèles 6V à 240V alternatifs. Les commander à l'aide d'un simple transistor est exclu.

Certains modèles ont un pouvoir de coupure élevé : 40A à 80A.
Il est bien évident que les pistes du PCB devront être dimensionnées en conséquence.

Leur pouvoir de coupure impose une puissance de bobine importante. Il en découle que la résistance de leur bobine est faible, de l'ordre de 40Ω à 70Ω pour un relais 5V, ce qui engendre un courant de 70mA à 125mA.

1.7. Les relais industriel et contacteurs

Le relais industriel est plutôt réservé aux application de forte puissance. Il est souvent monté sur support ou rail DIN :

Relais Finder 55.32.8.024.0040 24V / 10A
Relais Relpol RG25-3022-28-1024 24V / 25A
Contacteur Legrand-SM-425-24V-2NO

On trouve peu de relais industriels pouvant être implantés sur PCB.

Leur tensions de bobine est en général comprise entre 6V et 220V continus.

Il existe également des modèles 6V à 400V alternatifs.

Concernant leur commande, les règles sont les mêmes que pour les relais miniature.

2. Le transistor bipolaire

Tout d'abord il est déconseillé de choisir un transistor "petits signaux" du genre BC547. Il ne réussira pas à piloter la bobine du relais. Il vaut mieux s'orienter vers un transistor d'usage courant dit "General Purpose Transistor".

Nous allons essayer d'abord un PN2222.

Il supporte une tension collecteur-émetteur de 30V, un courant de collecteur de 600mA et a une tension de chute VCEsat p de 0.4V pour un courant de collecteur de 150mA et un courant de base de 15mA.

Voici le schéma de branchement.

Le transistor est piloté par une sortie du microcontrôleur à travers une résistance de 1KΩ dont le but est de limiter le courant de base et de saturer le transistor.

Ce transistor a un gain minimal de 35 pour un courant de collecteur de 10mA, et 100 pour un courant de collecteur de de 150mA. Nous allons choisir une valeur médiane de 80 car nous allons commuter 70mA.

Pour assurer un courant de 70mA dans le collecteur nous aurons besoin de 70mA / 80 = 0.875mA.

Nous choisirons un coefficient de sécurité de 5, largement suffisant pour saturer le transistor. Ne descendez pas en dessous de 2.

Les transistors ont généralement une tension base - émetteur de 0.7V

La résistance de base vaudra donc (5V - 0.7V) / (0.875mA x 5) = 982Ω.

Maintenant que nous avons expliqué ces notions de base, nous allons essayer de faire fonctionner ce montage à l'aide d'un ARDUINO NANO, simplement alimenté par son cordon USB. La sortie utilisée est la D4.

Un petit sketch très simple :

#define RELAY_OUT               4

void setup() {
  pinMode(RELAY_OUT, OUTPUT);
}

void loop() {
  digitalWrite(RELAY_OUT, HIGH);
  delay(2000);
  digitalWrite(RELAY_OUT, LOW);
  delay(2000);
}

Mesurons maintenant la chute de tension entre collecteur et émetteur du transistor.

Elle est de 45mV.

Maintenant nous allons essayer un autre transistor, le 2N3904.

Il supporte une tension collecteur-émetteur de 40V, un courant de collecteur de 200mA et a une tension de chute VCEsat p de 0.95V pour un courant de collecteur de 50mA et un courant de base de 5mA.

Le montage sera le même, les deux transistors ayant des gains comparables.

Cette fois-ci nous obtenons une chute de tension de 133mV. C'est nettement moins bien qu'avec le PN2222, mais cela reste très acceptable.

Un autre transistor ? le 2N3053.

Il supporte une tension collecteur-émetteur de 60V, un courant de collecteur de 700mA et a une tension de chute VCEsat p de 0.3V pour un courant de collecteur de 150mA et un courant de base de 15mA.

La chute de tension avec le 2N3053 est de 70mV.

Parlons prix : le PN2222 ou le 2N2904 vous coûteront environ 0.05€.

Le 2N3053 coûte 0.25€.

Ces prix proviennent de chez TME, par cinq ou dix unités.

2.1 Utiliser un ULN2803A

Il serait tentant d'utiliser un ULN2803A, composé de 8 transistors darlington, pour piloter 8 relais. La chute de tension sera plus importante : environ 1V.

Avec un relais 5V il restera 4V aux bornes de la bobine. Les relais, heureusement, sont tolérants :

  • un SONGLE SRD-05VDC-SRD réclame 75% de la tension nominale
  • un OMRON G5RL-K1A-E réclame 70% de la tension nominale
  • un FINDER 40.61.9.005 réclame 80% de la tension nominale

Avec certains relais (le FINDER par exemple), 4V de tension de commande risquent d'être insuffisants.

Par contre avec un relais 12V il restera 11V aux bornes de la bobine, ce qui plus acceptable. Pour ma part je réserverais ce genre de montage à des relais 12V ou 24V.

2.2 Piloter un relais 12V ou plus

On peut bien entendu piloter un relais 12V ou plus avec un arduino. Il suffit de modifier légèrement le schéma :

Le relais choisi est un OMRON-G9EA-A 48V dont la bobine consomme environ 100mA. C'est un gros relais dont les contacts supportent 60A.

Jusqu'à 24V, le PN2222 pourra convenir. Au delà, on peut s'orienter vers un 2N4238, supportant 60V.

2.3. Piloter un relais bistable


Un relais bistable (latch relay) est un relais à deux états. Il n'est pas nécessaire d'alimenter la bobine en permanence pour le faire coller, une simple impulsion suffit.

Il y a deux sortes de relais bistables :
  • simple bobine : il faut inverser le sens du courant dans la bobine pour l'ouvrir
  • double bobine : ce relais possède une bobine pour le fermer et une bobine pour l'ouvrir
Bien entendu, il faut consulter la datasheet du relais pour connaître le sens de branchement.

Les schémas suivants sont extraits de montages personnels et fonctionnels.

2.3.1. Relais bistable simple bobine (version à transistors)
Voici un schéma permettant de commander un relais bistable une bobine à l'aide de deux sorties de microcontrôleur :

Il suffit d'une impulsion de 100ms sur l'une ou l'autre entrée pour fermer ou ouvrir le relais.

Le modèle proposé OMRON-G5RL-U1A-E dispose de 2 contacts NO (normalement ouverts) en parallèle :


Le symbole schématique ne reprend pas le brochage du relais (c'est un symbole générique). La correspondance est la suivante :
1-8 (OMRON) -> 1-2 (schéma)

On peut aussi piloter un relais simple bobine avec seulement 4 transistors au lieu de 6, en supprimant les deux BC547, mais il faudra 4 sorties de microcontrôleur.
Dans ce cas, attention aux bugs :  si Q2 et Q3 ou Q4 et Q5 conduisent en même temps, cela provoque un beau court-circuit. Adieu transistors ...

2.3.2. Relais bistable simple bobine (version à L293D)

Enfin on peut aussi piloter ces relais avec un L293D :

On peut constater sur ce schéma la simplicité de la mise en œuvre. Un demi L293D remplace les six transistors précédents et tous les composants adjacents, y compris les diodes de roue libre.
Par rapport au schéma précédent l'encombrement sera nettement moindre.

Attention : le L293D est équipé de diodes, ce n'est pas le cas du L293.

Ce code permet de piloter 1 relais bistable simple bobine. 

#define RELAY_EN_1_2   8
#define RELAY_IN1          7
#define RELAY_IN2          6

void setup()
{
  pinMode(RELAY_IN1, OUTPUT);
  pinMode(RELAY_IN2, OUTPUT);
  pinMode(RELAY_EN_1_2, OUTPUT);
}

void relay_on(void)
{
  digitalWrite(RELAY_EN_1_2, HIGH);  digitalWrite(RELAY_IN1, HIGH);
  delay(100);
  digitalWrite(RELAY_IN1, LOW);
  digitalWrite(RELAY_EN_1_2, LOW);}

void relay_off(void)
{ 
  digitalWrite(RELAY_EN_1_2, HIGH);  digitalWrite(RELAY_IN2, HIGH);
  delay(100);
  digitalWrite(RELAY_IN2, LOW);
  digitalWrite(RELAY_EN_1_2, LOW);}

void loop()
{
  relay_on();
  delay(2000);
  relay_off();
  delay(2000);
}


Le L293D permettra de piloter 2 relais.
Sur le schéma un seul relais est branché et les entrées 3 et 4 sont désactivées (reliées à GND), mais il est facile d'ajouter un deuxième relais sur les sorties 3Y et 4Y et de les commander à l'aide de 2 sorties supplémentaires de l'ARDUINO connectées sur les entrées 3A et 4A.

Les entrées 1-2EN et 3-4EN (enable) peuvent être pilotées ensemble par une seule sortie de l'ARDUINO, ou pilotées séparément par deux sorties.
Elles peuvent être également directement reliées au +5V. Dans ce cas on n'en tiendra pas compte dans le code.

2.3.3. Relais bistable double bobine (version à transistors)
Ce schéma permet de commander un relais bistable deux bobines à l'aide de deux sorties de microcontrôleur :


Beaucoup plus simple n'est ce pas ?

Même principe : une impulsion de 100ms sur l'une ou l'autre entrée pour fermer ou ouvrir le relais.

Le modèle proposé OMRON-G5RL-K1A-E dispose de 2 contacts NO (normalement ouverts) en parallèle :


Ici encore le symbole schématique ne reprend pas le brochage du relais. La correspondance est la suivante :
1-9-8 (OMRON) -> 1-2-3 (schéma)

2.3.4. Relais bistable double bobine (version à L293D)
Bien entendu, comme précédemment, on peut aussi piloter ces relais avec un L293D. On pourra également piloter 2 relais :

Ce code permet de piloter 1 relais bistable double bobine :

#define RELAY_EN_1_2  8
#define RELAY_IN1     7
#define RELAY_IN2     6

void setup()
{
  Serial.begin(115200);
  pinMode(RELAY_IN1, OUTPUT);
  pinMode(RELAY_IN2, OUTPUT);
  pinMode(RELAY_EN_1_2, OUTPUT);
  digitalWrite(RELAY_EN_1_2, HIGH);
}

void relay_on(void)
{
  Serial.println("ON");
  digitalWrite(RELAY_IN2, LOW);
  delay(100);
  digitalWrite(RELAY_IN2, HIGH);
}

void relay_off(void)
{
  Serial.println("OFF");
  digitalWrite(RELAY_IN1, LOW);
  delay(100);
  digitalWrite(RELAY_IN1, HIGH);
}

void loop()
{
  relay_on();
  delay(2000);
  relay_off();
  delay(2000);
}


Le pilotage des bobines est en logique inverse car le point commun des bobines est relié au +5V, comme préconisé dans la datasheet.

3. Le transistor unipolaire

On voit beaucoup de montages utilisant un IRLZ44N, mais n'est-ce pas dommage d'utiliser un transistor supportant 47A pour commuter 70mA ?
Certains objecteront qu'il a une résistance RDSon très faible de 22mΩ qui occasionnera une chute de tension très faible.

Nous allons essayer d'abord un 2N7000.
Il supporte une tension drain-source de 60V, un courant de drain de 200mA et a une résistance RDSon maximale de 6Ω pour une tension VGS de 4.5Vdc et un courant de drain de 75mA.

Voici le schéma de branchement.
Le transistor est piloté par une sortie du microcontrôleur à travers une résistance de 220Ω dont le but est de limiter le courant d'appel lors de la montée du signal sur la gate. Une résistance de pull-down de 100KΩ est câblée entre gate et source afin de ne pas laisser la gate en l'air dans le cas où la sortie du microcontrôleur est en haute impédance, au démarrage par exemple.
Maintenant que nous avons expliqué ces notions de base, nous allons essayer de faire fonctionner ce montage à l'aide du même ARDUINO NANO que précédemment,en gardant le même sketch.

Mesurons maintenant la chute de tension entre drain et source du MOSFET.
Elle est de 165mV.
Cela donne une résistance RDSon effective de 2.3Ω, ce qui veut dire que l'exemplaire de transistor que je viens de tester est plus que conforme à la datasheet.
En ajoutant une résistance de 3.6Ω entre le drain du transistor et la bobine du relais afin d'atteindre les 6Ω de la datasheet, nous obtenons une chute de tension de 350mV, et le relais colle encore.

Maintenant nous allons essayer un autre transistor, le très connu BS170.
Il supporte une tension drain-source de 60V, un courant de drain de 500mA et a une résistance RDSon maximale de 5Ω pour une tension VGS de 10Vdc et un courant de drain de 200mA.
Attention, le brochage est inversé par rapport au 2N7000.

Cette fois-ci nous obtenons une chute de tension de 112mV.
Cela donne une résistance RDSon effective de 1.6Ω.

Bien sûr nous sommes loin des 22mΩ de l'IRLZ44N, mais ces deux transistors offrent des avantages non négligeables :
- petit boîtier :
    2N7000 et BS170 = TO92
    IRLZ44N = TO220
- petit prix :
    2N7000 = 0.06€
    BS170 = 0.10€
    IRLZ44N = 0.41€
Ces prix proviennent de chez TME, par 5 ou dix unités.

4. Quel MOSFET choisir

Ci dessous je vous propose une liste de MOSFET de puissance dont certains ont une tension VGSth très faible (en vert) :


5. Les MOSFETS récents

Les MOSFETS récents vous offrent des caractéristiques hors du commun, autant en RDSon qu'en VGSth.
Nous allons rester volontairement dans le domaine des petits MOSFETS susceptibles de convenir pour le pilotage de relais.

Le FDN327N, un petit monstre :
VDSS = 20V
ID = 2A
RDS(ON) = 70mΩ, 80mΩ, 120mΩ pour VGS = 4.5V, 2.5V, 1.8V
VGS(th) pour VDS=VGS et ID=250 μA = mini 0.4V, typique 0.7V, maxi 1.5V

Le TN0604 en boîtier traversant :
VDSS = 40V
ID = 1.5A
RDS(ON) = 1.6Ω maxi pour VGS = 5V
VGS(th) pour VDS=VGS et ID=1mA = mini 0.6V, maxi 1.6V

6. Le choix

Car il va bien falloir faire un choix.

Je dirais que la solution à base de transistor bipolaire est plus complexe à mettre en œuvre car elle nécessite de bien étudier la datasheet du transistor et de faire des calculs afin de bien saturer le transistor.

Mais cela reste la moins coûteuse.

La solution à base de MOSFET est plus simple. Il n'y a aucun calcul. Il suffit de choisir un transistor ayant les caractéristiques adéquates.

Une autre particularité est à prendre en compte : la tension de seuil de conduction "Gate Threshold Voltage". Pour les deux MOSFET présentés ici, cette tension est de 3V pour 1mA.

Si vous choisissez un transistor ayant une tension de seuil de conduction de 10V, les 5V de votre microcontrôleur ne suffiront pas a le faire conduire.

Il faut bien entendu tenir compte de l'historique de chacun. Les jeunes auront tendance à choisir le MOSFET, car plus récemment introduit sur le marché grand public que les bipolaires.

Les anciens, comme moi-même, n'ont même pas étudié le MOSFET à l'université, et ils ont tellement l'habitude d'utiliser des bipolaires que cela devient un réflexe. Même pas besoin d'empoigner la calculette pour calculer la résistance de base. 

Et il leur est difficile de sauter le pas. Le MOSFET c'est une autre manière de penser. C'est l'occasion d'essayer.

7. Références

Relais : SONGLE SRD-05V DC-SL-C
Transistor bipolaires : PN22222N3904
MOSFET canal N : 2N7000BS170

8. Liens utiles

Cordialement

Henri

9.  Mises à jour

25/01/2019 : 4. Quel MOSFET choisir
10/04/2019 : 1.3. Le relais REED
27/05/2019 : 2.1. Piloter un relais 12V ou plus
11/06/2019 : 1.4. Le relais statique
                     1.5. Le module relais
                     1.7. Le relais miniature
                     1.2. La charge inductive
29/06/2019 : 1.2. La charge inductive (ajout varistance)
29/08/2019 : 2.2. Piloter un relais bistable
31/08/2019 : 2.2.1. Relais bistable simple bobine (L293D)
19/09/2019 : 1.1. La diode de roue libre
10/12/2019 : 1.1. La diode de roue libre (compléments)

30 commentaires:

  1. effectivement, étant ancien, je n'ai pas non plus étudié les mosfet quand j'étais jeune. J'ai même étudier les tubes à vide et les voici de retour ! Le mosfet est un progrès énorme mais faire des amplis classe D m’attriste beaucoup. Bref, des mosfet pour coller des relais, ça s'impose. Sauf quand il suffi de plonger sa main dans un tiroir pour sortir une poignée de npn pnp alors t'en prends un au hasard car ils son dispo immédiatement. Quand je bossais, nous avions des relais mécaniques miniatures utilisable directement sur des fpga xilinx, on pilotait des relais plus gros avec ça. Il me semble qu'ils venaient de chez farnell.

    RépondreSupprimer
  2. Bonjour,

    Voici mon projet. Je veux contrôler le chauffage de mon garage à partir de mon Home Assistant. Je sais que je peux utilisé un thermostat intelligent pour ce faire. Le problème est qu'il n'y en a pas d'assez puissant puisque mon chauffage demande beaucoup d'ampérage, soit environ 30 ampères sur 240V. Les thermostat qui font se travail sont mécanique et pas intelligent. La plupart des thermostats intelligent sont de courant moindre, environ pour 3000 Watts maximum sur 240V.
    serait-il possible et prudent de me servir s'un SSR Solide State de 30A pour relayer le travail à partir d'un thermostat intelligent qui activerait ce dernier.

    Merci de vos réponses.

    RépondreSupprimer
    Réponses
    1. Un SSR ou un contacteur de puissance. Prévoir une marge quand même. 30A pour piloter 30A me paraît insuffisant.
      Un SSR à 30A risque de chauffer pas mal, un dissipateur sera probablement nécessaire. Un contacteur de puissance n'en aura pas besoin.

      Supprimer
  3. Bonjour Henri. Merci beaucoup pour ce partage au combien à valeur inestimable, sur cette terre où la moindre petite connaissance se fait payante, merci pour ce très très riche partage ainsi que pour tous les autres articles que vous avez pris la peine de partager sans rien attendre en retour (le plus dur je pense)

    Une question : Existe-il des transistors clipsable, à monter sur embase ? Si oui, pouvez-vous en conseiller des références ?

    Même question pour les relais bistables et mono stables (avec tension de commande de 24V)

    Le but, vous l'aurez deviné, pouvoir changer en 10s un relai ou transistor qui claquerait sur un pcb

    RépondreSupprimer
    Réponses
    1. Il existe beaucoup de relais pouvant être montés sur un support lui-même soudé sur un PCB.
      Je ne connais pas de transistors clipsables.

      Supprimer
    2. Pouvez-vous citer quelques références ou marques de relais montable sur support ? Relai 10A par exemple

      Supprimer
    3. Utilisez simplement le moteur de recherche d'un fournisseur.
      Par exemple : TME
      https://www.tme.eu/fr/katalog/relais-electromagnetiques-miniatures_112504/?mapped_params=10%3A1437407%3B925%3A1457342%3B938%3A1457447%3B
      Si vous ne trouvez pas votre bonheur, changez de fournisseur : Farnell, Digikey, etc.

      Supprimer
    4. Pour ma part je ne monte jamais de relais sur support. Quand on choisit des relais de marque, Finder, Omron, Panasonic, etc. la fiabilité n'est pas à mettre en doute, sauf erreur de conception.

      Supprimer
    5. Merci pour lien.
      L'envie de mettre des relais sur support est de pouvoir le changer très rapidement, sans passer par les soudures. Le cyclage prévu étant élevée (> 5000 cycles par jour), je pense que le relai sera l'un des 1er composant à lâcher.

      Supprimer
    6. Pourquoi ne pas utiliser un relais SSR dans ce cas ?
      Il existe des modèles pour courant continu ou alternatif.

      Supprimer
    7. par habitude... un peu comme ceux qui ont du mal à passer au mosfet car ayant connu surtout du PNP ^^
      blague à part, j'y avais pas pensé car j'en utilise très rarement, merci, je vais regarder cela et aussi niveau cout et capacité si ça en vaut la peine

      Supprimer
    8. Egalement, pour une charge continue, sous 24V, un gros MOSFET (IRLZ44N par exemple). Imbattable au niveau coût, se pilote directement avec une sortie ARDUINO.

      Supprimer
    9. Merci pour vos réponses, vous êtes génial !!

      Supprimer
    10. Un MOSFET canal N sera adapté à la coupure d'une charge par le rail négatif. Pour couper le rail positif, mieux vaut adopter un MOSFET canal P, comme un SUP90P06 par exemple.

      Supprimer
  4. Pour un peu plus de precision, mon objectif est d'alimenter une carte electronique (avec un atmega128p dessus) avec une tension 12V (batterie plomb ou tension secteur 230V converti en 12VDC) et utiliser un convertisseur stepUP pour la commande via relais d'organes nécessitant du 24V

    RépondreSupprimer
  5. Bonsoir M. Henri, article toppissime ! vous êtes génial ! Merci pour ces partages !
    Au point 1.2.2 vous dites que la diode serait detruite si l'on utilisait du courant alternatif sans snubber, mais comment expliquez vous cela ? Pourtant la bobine du relais est isolée de la tension alternative ?
    J'aimerais comprendre ce phénomène, merci !

    RépondreSupprimer
    Réponses
    1. Bonjour.
      Rien à voir avec la bobine, je parlais de la charge. On ne peut placer une diode en parallèle sur la charge, donc on utilise un composant prévu pour une tension alternative, un snubber, ou une varistance.

      Supprimer
    2. Ce que je ne comprends pas c'est pourquoi sans snubber, l'alternance négative qui est censé être isolé de la bobine du relai, passerait directement dans la diode ?
      Existerait donc t'il une tension oscillante au borne du transistor, qui durerait tout le temps d'alimentation de la charge ?

      Supprimer
    3. Non, je veux dire simplement que l'on ne peut pas utiliser une diode pour remplacer le snubber, puisqu'une diode est polarisée.

      Supprimer
    4. Pour être sur de comprendre, on peut donc piloter le relai sans snubber, juste avec la diode de roue libre côté bobine ?
      A quoi sert donc un snubber si c'est le cas ?

      Supprimer
    5. Un autre article qui vous inspirera peut-être :
      https://riton-duino.blogspot.com/2023/02/piloter-une-charge-inductive-nous.html

      Supprimer
    6. Top ! Avec le lien, c'est compris ! le snubber est en AC ce que la diode est en DC, merci !

      Supprimer
  6. Bonjour, et merci pour votre super article. Ma question est "comment avoir une consommation minimale du circuit pour effectuer une commande d'un appareil 16A/230VAC via un arduino ?", dans un contexte photovoltaïque où la consommation en standby est critique. Votre choix du OMRON bistable G5RL-K1A-E avec driver L2930 paraît optimal. Est-ce le cas ?

    RépondreSupprimer
    Réponses
    1. Un relais 16A paraît faible pour commuter 16A. J'utiliserais plutôt un relais 32A, surtout si la charge est inductive (moteur, pompe, etc.)

      Supprimer
    2. Effectivement, cependant ma charge est un chauffe-eau purement résistif. Sur l'aspect consommation, on pourrait utiliser un automate pour gérer l'enclenchement et le déclenchement, mais un automate n'est vraiment pas optimisé pour très peu consommer, un Arduino paraît bien mieux, si sa fiabilité pouvait être comparable. Je prévois de tester ce L293D dont le datasheet indique une faible consommation (300mW sous 5V ?).

      Supprimer
    3. Si toutes les sorties sont coupées (en haute impédance) il consomme au maximum (24mA + 4mA) * 5V = 140mW.

      Supprimer
    4. 16A sous 230V donne 3.6KW. Un chauffe-eau classique est plus proche de 2KW, donc le relais 16A devrait convenir.

      Supprimer
  7. Bonjour,

    Dans votre article, vous écivez, au tout début,
    "On voit ici qu'une 1N4004 laisse passer une légère surtension :"
    Et la photo de la réponse à l'oscilloscope montre une réponse sans surtension sur le collecteur.

    Tandis que la réponse que vous avez enregistré, avec une diode 1N4148 sensée ne pas laisser passer de surtension montre une réponse moins bonne qu'avec la diode 1N400x.

    Soit vous avez inversé les réponses, soit vous conclure trop hâtivement.

    PS:
    Comme vous le savez, quand le transistor est bloqué, il y a une tension permanente entre 0V et collecteur proche de 5V, ce n'est pas
    une surtension.

    Cordialement.
    Jef59

    RépondreSupprimer
    Réponses
    1. La surtension avec la 1N4004 existe bien. Elle est faible mais en cliquant sur l'image pour l'agrandir, on la voit bien.

      Supprimer