samedi 25 février 2023

Piloter une charge inductive


Piloter une charge inductive


Nous allons dans cet article revenir sur un aspect assez méconnu des débutants en électronique : la charge inductive, et les parasites qu'elle est susceptible d'engendrer. Ces dernières années je ne compte plus les interventions que j'ai pu effectuer, sur le forum ARDUINO, afin de résoudre ce genre de problème.

Malgré que j'aie déjà évoqué ce sujet à plusieurs reprises, il m'a semblé utile de rassembler dans un seul article les connaissances que j'ai pu accumuler sur les protections contre les surtensions.

Commençons par ma première expérience. Il y a trois ans j'avais présenté un projet de Micro-irrigation Automatisée.

Ce fut le premier projet sur lequel j'ai été confronté à des problèmes liés aux parasites générés par la commutation d'une charge inductive. La charge en question était une électrovanne motorisée 230V : 

Le moteur de l'électrovanne possède 3 fils :

  • neutre
  • fil d'ouverture
  • fil de fermeture

Il est piloté par un classique module à double relais :

De manière aléatoire, l'afficheur 4 lignes du montage affichait des caractères incompréhensibles, juste après une ouverture ou une fermeture de la vanne.

Après de longues recherches sur le WEB, j'avais appris que les parasites générés par la coupure d'un moteur 230V pouvaient perturber l'alimentation de l'ARDUINO. Dans mon cas, cette alimentation est pourtant est de qualité supérieure, une MEANWELL IRM-05-5.

Et j'avais résolu le problème en adoptant un snubber : 

Nous allons examiner les différents cas qui peuvent être potentiellement problématiques.

1. Quel type de charge ?

Tout d'abord, qu'est ce qu'une charge inductive ? Il s'agit de tout type de charge comportant une inductance (un bobinage) :

  • un moteur
  • une électrovanne
  • un électroaimant ou solénoïde
  • un relais ou un contacteur
  • un distributeur pneumatique
  • etc.
Lors de la coupure du courant dans l'inductance, une surtension apparaît aux bornes de celle-ci et peut être véhiculée à travers une alimentation et perturber la tension de sortie de celle-ci, allant jusqu'à planter un microcontrôleur alimenté par celle-ci.

2. Oscillogrammes

J'ai déjà publié ces oscillogrammes dans cet article

On voit ici la surtension de 100V produite sur le collecteur du transistor de commande d'un relais 5V lors de la coupure.

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 une diode de roue libre ces surtensions disparaissent :

Tension sur le collecteur

Tension d'alimentation 5V

3. En courant continu

Lorsque l'on a affaire à une charge inductive fonctionnant en courant continu, la diode de roue libre est la solution.

3.1. Pilotage à l'aide d'un transistor

Ici elle est mise en place, cathode au +5V, donc en inverse, aux bornes de la bobine d'un relais. On choisit de préférence une diode rapide du type 1N4148.

Pour un moteur, une électrovanne, etc. le câblage est identique : 

Le transistor peut être un MOSFET : 

Remarque : tous les modules relais du commerce sont équipés de cette diode :

Si l'on adopte un relais nu, on devra ajouter cette diode, comme sur le schéma ci-dessus.

3.2. Pilotage à l'aide d'un relais

Qu'en est-il si l'on pilote un moteur ou une électrovanne à l'aide d'un relais nu ? La solution ne diffère pas, chacun est équipée de sa diode de roue libre :

3.3. Pilotage à l'aide d'un pont en H

Un transistor ou un relais n'est pas le seul moyen de piloter un moteur continu. Un moteur continu peut également être piloté à l'aide d'un pont en H, permettant de le faire tourner dans les deux sens.

Là encore, la majeure partie des ponts en H sont équipés de diodes de roue libre : 

Ci-dessus le schéma simplifié de l'électronique interne d'un L293D montre 4 diodes. Mais encore faut-l ne pas se tromper de modèle, car un L293 (sans le D) n'en possède pas.

Lire la datasheet d'un circuit de pont en H est indispensable.

4. En courant alternatif

Il est arrivé sur un de mes projets que la coupure d'un réfrigérateur fasse planter un montage à base de STM32. Le montage est alimenté par une alimentation 5V USB, branché sur une prise 230V proche de celle du réfrigérateur. Le simple fait de changer de prise 230V a fait disparaître le problème. Cette deuxième prise 230V est située de l'autre côté de la pièce, et est alimentée par une ligne 230V séparée de la première. Les deux lignes partent pourtant du même disjoncteur dans le tableau principal. On peut en déduire deux choses :

  • la longueur des fils 230V semble avoir un effet positif sur les parasites
  • comme le réfrigérateur est à l'origine du problème, on peut douter de la qualité de ses circuits antiparasites. Il faudrait ajouter un circuit supplémentaire sur le moteur.

En courant alternatif, une diode de roue libre ne va pas être utilisable, car elle serait détruite instantanément par les alternances négatives. Il faut utiliser un snubber.

4.1. Relais

Ici on voit un relais 5V continus, équipé de sa diode de roue libre, et un moteur 230V et son snubber.

Le snubber est constitué d'un condensateur (C2) et d'une résistance (R10) en série, autrement dit un couple RC. Il va absorber la surtension lors de la coupure du moteur. Le condensateur est en général du type X2 (auto-cicatrisant) :



Une varistance 275V peut être utilisée en lieu et place du couple RC :


Des modules tout faits, combinant les deux solutions (couple RC + varistance), existent :

4.2. Où placer le snubber

A noter : on pourrait penser que le snubber peut être placé directement en parallèle sur le contact du relais, plutôt qu'en parallèle sur la charge : 

Théoriquement, oui, mais il y a un effet secondaire : un courant de fuite de quelques mA va circuler dans la charge, à travers le snubber, et cela peut être gênant.

Schéma de gauche : si le contact est ouvert aucun courant ne circule.

Schéma de droite : si le contact est ouvert un léger courant circule à travers le snubber et le moteur.

On peut facilement le calculer. Calculons l'impédance du condensateur :

X = 1 / (2 * Pi * F * C) = 1 / (2 * 3.14 * 50 * 0.0000001) = 31847Ω

En ajoutant la résistance de 100Ω : 31947Ω

Imaginons que la charge soit la bobine d'un contacteur. La résistance de celle-ci peut avoir une valeur similaire, une 30aine de KΩ. 

Ce qui donne un courant de 230V / 60KΩ = 3.8mA

Ce courant peut être suffisant pour activer le contacteur s'il est très sensible. On l'a déjà vu, par exemple ici :

https://forum.arduino.cc/t/commande-pompe-piscine-via-arduino-et-relais/959401/42

Si la charge est un petit moteur, ce courant peut être suffisant pour entraîner sa rotation.

Il vaut donc mieux placer le snubber en parallèle sur la charge.

4.3. Contacteur

Un contacteur est aussi une charge inductive. Si l'on utilise un contacteur pour piloter un moteur, chacun d'eux devra être équipé d'un snubber :

Ici il s'agit d'un contacteur à bobine 230V. Il possède son propre snubber, le moteur également. Si le contacteur est un modèle à bobine 24V ou 48V cela ne change rien au problème, le snubber est indispensable.

Remarque : certains contacteurs sont équipés d'origine d'une varistance en parallèle sur la bobine, par exemple ce modèle de chez Finder :

Il est à noter que la plupart des contacteurs sont bipolaires, ce qui permet de couper phase et neutre, apportant ainsi une sécurité supplémentaire. Il sont de plus beaucoup plus robustes qu'un petit relais chinois, et peuvent piloter de gros moteurs.

5. Conclusion

J'espère que ce petit article vous aura persuadé que les surtensions provoquées par des solénoïdes sont maîtrisables, et que vos chères alimentations, même si elles sont bien régulées et de qualité ne sont pas des protections suffisantes.


Cordialement

Henri