LOCODUINO

La PWM : Qu’est-ce que c’est ?

La PWM : Qu’est-ce que c’est ? (2)

Piloter un moteur

.
Par : Dominique, Guillaume, Jean-Luc

DIFFICULTÉ :

Dans le premier article concernant la PWM, « La PWM : Qu’est-ce que c’est ? (1) », nous avons abordé l’alimentation d’une DEL par une tension hachée. Nous allons maintenant aborder la commande d’un moteur à courant continu, c’est à dire le type de moteur qui équipe nos locomotives, par une PWM. 

La manière de s’y prendre diffère pour plusieurs raisons :

  • les moteurs employés en modélisme ferroviaire ont une tension d’alimentation qui est plus élevée que la tension de l’Arduino, généralement 12V ;
  • le courant nécessaire est également plus élevé, environ 10 fois, que ce que peut fournir une sortie de l’Arduino ;
  • contrairement à une DEL, un moteur est une charge dite inductive. C’est à dire que lorsque l’alimentation du moteur est coupée, le courant ne s’arrête pas instantanément de circuler. Il diminue progressivement.

La conséquence directe est qu’une sortie PWM de l’Arduino ne peut pas commander directement un moteur. Il est nécessaire d’amplifier le signal, à la fois en tension et en courant. L’amplificateur doit être adaptée au courant consommé par le moteur et doit fournir la tension nécessaire. Elle doit aussi être capable de suivre la fréquence de la PWM.

Deux possibilités s’offrent à nous : utiliser un transistor MOSFET de puissance ou bien un pont en H. Nous allons tout d’abord examiner la première solution.

Amplification via un transistor MOSFET

Il existe 2 types de MOSFET, ceux à canal N et ceux à canal P. Les MOSFET sont des composants à 3 broches : le Drain (D), la Source (S) et la Grille (G). Voici le symbole des deux types de MOSFET.

PNG - 12.3 kio

Dans l’emploi que nous allons en faire, on peut voir ces transistors comme des interrupteurs. D et S sont les deux bornes de l’interrupteur et la tension de G détermine la position de l’interrupteur. Contrairement à un interrupteur mécanique, les MOSFET on un sens. Pour un MOSFET canal N, la tension de S doit être plus faible que la tension de D. On connectera donc S côté masse et D côté +12V. Pour un MOSFET canal P, c’est l’inverse. S doit être connecté côté +12V et D côté masse. La tension qui est appliquée entre G et S détermine si l’interrupteur est fermé ou non. Un MOSFET possède une tension de seuil. Pour un MOSFET canal N si la tension entre G et S est plus grande que la tension de seuil, l’interrupteur est fermé (le MOSFET est passant) et le courant circule sinon l’interrupteur est ouvert (le MOSFET est bloqué). Pour un MOSFET canal P, si la tension entre S et G est plus petite que la tension de seuil, l’interrupteur est fermé et le courant circule.

Les transistors MOSFET sont extrêmement sensibles à l’électricité statique. Les manipuler sans précaution peut aboutir à les endommager voire à les détruire. Il est impératif de s’équiper d’un bracelet antistatique qui sera relié à la terre. Les stations de soudage possèdent une prise de terre destinée à recevoir le câble du bracelet antistatique. De manière générale, il est préférable de procéder de même pour les circuits intégrés. Si la plupart des composants à base de transistor MOSFET sont protégés contre l’électricité statique, le risque de casse existe.

Commençons par un MOSFET canal N. Un des modèles les plus répandus est l’IRF540N. Le courant maximum est de 33A et la tension maximum de 100V. très largement suffisant pour nos usages. Sa tension de seuil est comprise entre 2 et 4V. On peut donc en mettant 5V sur la grille fermer l’interrupteur de manière fiable.

JPEG - 44.5 kio

On trouve de nombreux exemple de connexion pour l’Arduino, par exemple celui-ci :

PNG - 29.9 kio

Vous pouvez remarquer la diode en parallèle avec le moteur, il s’agit d’une diode roue libre. Ce type de montage a déjà été présenté dans « Les diodes classiques » pour une commande de relais. Comme cela a été dit plus haut le moteur est une charge inductive et lorsque le MOSFET cesse de conduire le courant ne s’arrête pas instantanément de circuler. Comme il doit aller quelque part, la diode lui offre un chemin. Le courant circule donc en boucle dans le moteur via la diode jusqu’à ce que la résistance du moteur le dissipe sous forme de chaleur. En l’absence de diode roue libre ce courant provoquerait une augmentation de tension importante sur le Drain du MOSFET avec le risque de l’endommager.

La résistance de 100kΩ a pour rôle de maintenir le MOSFET bloqué en tirant G à la masse tant que la broche de l’Arduino n’est pas programmée. En son absence G flotterait et selon la charge électrique présente le MOSFET pourrait devenir passant avec un démarrage intempestif du moteur.

La résistance de 270Ω évite que trop de courant ne soit tiré de la broche de l’Arduino. En effet, les MOSFET ont sur G l’équivalent d’un condensateur de valeur assez importante. Sans cette résistance le courant serait ponctuellement important et dépasserait les capacités de l’Arduino. Avec 270Ω, le courant instantané ne dépasse pas 19mA.

On choisit la broche 3 comme PWM. Le montage sur breadboard est le suivant :

PNG - 240.8 kio

Tout se passe très bien avec la fréquence par défaut de la PWM de l’Arduino, soit 490Hz sur la broche 3. Ici la PWM est réglée à 20, soit un rapport cyclique d’un peu moins de 8%. Le programme de test est réduit à sa plus simple expression.

void setup()
{
  analogWrite(3, 20);
}

void loop()
{
}

Le signal jaune est pris sur la broche 3 de l’Arduino et le signal bleu entre le MOSFET et le moteur, c’est à dire au niveau de drain. Quand le signal jaune est à l’état haut, le MOSFET est passant et le drain est tiré à 0. Le moteur est alimenté. Quand le signal jaune est à l’état bas, le drain flotte et le moteur n’est pas alimenté. Le MOSFET agit donc comme un interrupteur commandé par la PWM de l’Arduino.

JPEG - 152.7 kio

Dans un prochain article, nous augmenterons la fréquence de la PWM afin de remédier à deux problèmes :

  • le bruit. À 490Hz, le moteur émet un Si légèrement faux et assez agaçant ;
  • le problème de dissipation thermique dans le moteur à cette fréquence. Ce problème est exposé sur mon blog : Tension hachée et pertes par effet Joule. Si vous exploitez en N ou en H0e, ce problème vous concerne et n’est pas à prendre à la légère.

13 Messages

  • utilité d’un mosfet pour lampe 21 mai 2016 00:56, par jihene

    pourquoi utiliser un mosfet pour une lampe halogne qui sera alimenter par un 12v continue et une pwm sur la grille

    Répondre

  • La PWM : qu’est-ce ? (2) 20 janvier 2017 23:37, par Vincent

    Bonsoir

    Est ce vous pourriez me renseigner sur le choix entre une entré/sortie numérique standard et une entré/sortie PWM pour des capteurs capacitifs qui doivent détecter la présence d’un verre et surtout sa taille.

    Merci d’avance

    Répondre

    • La PWM : qu’est-ce ? (2) 21 janvier 2017 09:00, par Dominique

      Bonjour,
      Pouvez-vous préciser votre question ?
      Avez-vous besoin d’une entrée digitale (le retour est 1 ou 0, high ou low) ou analogique (un entier compris entre 0 et 1023), ou d’une sortie continue (0 ou 5v) ou PWM (signal carre alternatif) ?

      Quelle application visez-vous dans le modélisme ferroviaire ?
      Quel est ce capteur ?
      Avez-vous un schéma ?

      Répondre

  • La PWM : Qu’est-ce que c’est ? (2) 5 mars 2017 21:09, par junon

    Bonjour,
    d’abord un grand merci pour ce site, très riche, tellement que j’ai des fois du mal à trouver ce que je cherche
    et clairement cet article est exactement ce que je cherchais
    c’est simple, facile à comprendre et applicable
    j’ai tout de même une question : nos locomotives (analogiques) avancent ou reculent, au choix, grâce à l’inversion des polarités aux bornes du moteur , cette inversion de sens n’est pas traitée dans cet article
    comment fait on pour la diode "roue libre" :une dans chaque sens ? => elles ne servent plus à rien !
    d’avance merci pour votre retour
    Cordialement

    Répondre

    • La PWM : Qu’est-ce que c’est ? (2) 6 mars 2017 13:32, par Jean-Luc

      Bonjour,

      Avec le montage présenté, il faut un relai 2RT entre le moteur et la diode roue libre.

      Une alternative est d’employer un pont en H.

      Répondre

      • heu ... oui

        je ne connais ni les ponts en H ni les relais 2RT
        est ce possible d’avoir un schéma pour comprendre ces possibilités ?

        Répondre

        • La PWM : Qu’est-ce que c’est ? (2) 7 mars 2017 11:10, par Jean-Luc

          Bonjour,

          Pour le pont en H, il y a un article sur Wikipédia. Concrètement on va plutôt utiliser un CI qui intègre les diodes roue libre et qui est disponible en module, par exemple : https://www.pololu.com/product/713.

          Un relai 2RT est un relai permettant de commuter simultanément deux circuits. On va le câbler comme ceci :

          Quand la commande d’inversion de marche est à 0, le relai est off et le 12V est sur le rail droit et le MOSFET tire sur le rail gauche. Quand la commande est à 5V, le relai est on et le 12V est sur le rail gauche et le MOSFET tire sur le rail droit.

          Comme en modélisme ferroviaire on ne commute le sens de marche que rarement (je veux dire par là qu’on ne commute pas 10 fois par seconde :)), le relai est aussi bien et moins cher. Il permet aussi de rajouter de l’électronique sans être perturbé par le pont en H.

          Répondre

  • merci bcp pour ces infos , ma question c’est :

    comment l’utiliser pour une regulation P.I.D ?

    je veux réguler un parametre avec une régulation P.I.D , je mesure par ex la vitesse je la compare avec ma consigne donnée , alors je calcule ma correction P.I.D , je sais pas comment exploiter cette correction , quel organe va recevoir cette correction ?

    Répondre

  • La PWM : Qu’est-ce que c’est ? (2) 10 mai 2017 11:38, par Dominique

    Merci d’expliquer votre projet, sur le Forum Locoduino, s’il s’agit bien de modélisme ferroviaire.
    Vous trouverez des schéma de branchement de systèmes PID sur Wikipedia.

    Répondre

  • La PWM : Qu’est-ce que c’est ? (2) 24 octobre 2018 10:00, par François

    Super article, merci.
    Simple et clair tout en restant scientifiquement précis, un modèle de pertinence.
    Bravo :-)

    Répondre

  • Bonjour,

    Gros utilisateurs d’Arduino, je souhaite implanter de la PWM sur le réseau analogique de mon club, mais...

    Je n’arrive pas à me faire une opinion, concernant la fréquence de hachage.

    Est-ce que du 100Hz pour obtenir de beaux ralentis est vraiment insupportable pour des locomotives en HO, ou le problème est-il surtout sensible pour du N ou du HOe ???

    Cordialement

    Répondre

Réagissez à « La PWM : Qu’est-ce que c’est ? (2) »

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Rubrique « Projets »

Les derniers articles

Les articles les plus lus