Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Electronique > Montages électroniques > Mosfet pour moteur à courant continu

Mosfet pour moteur à courant continu

simple contrôle de moteur

dimanche 12 mai 2013, par Julien H.

Les composants de puissance existent dans différentes familles, et les mosfets sont parmi les plus simples à utiliser pour couper un courant de grande intensité (plusieurs dizaines d’ampères).

Le contrôle de moteur peut parfois nécessiter une grande quantité de courant mais se satisfaire d’un simple contrôle de vitesse sans précision, sans asservissement en position. C’est le cas par exemple pour des hélices, ou pour des moteurs de propulsion puissants dont l’asservissement sera externe (GPS, odométrie, balises).

Dans ce cas, le mosfet est tout indiqué : petit (boitier TO220 de transistor classique, économique et pourtant capable de couper un courant de plusieurs dizaines d’ampères pour les basses tensions continues que nous utilisons en robotique (jusqu’à 24 volts).

Pour choisir le bon mosfet, il faut bien sûr qu’il convienne aux tensions et intensités de votre alimentation et de votre moteur, mais aussi qu’il se pilote sur sa gachette avec une tension convenable pour votre circuit de commande, par exemple avec un micro-contrôleur TTL, la tension de seuil (Vgs) doit être entre 2 et 4 volts.

Nous avons choisi d’utiliser le IRFZ44N mais d’autres modèles existent. Il s’agit d’un mosfet "canal N" ce qui signifie qu’il coupe la masse (N = neutre = négatif) et la laisse passer lorsqu’il reçoit une tension supérieure à x volts sur sa patte G (gachette ou gate selon le vocabulaire de prédilection). On doit donc connecter le moteur directement sur une borne avec une tension positive (12 volts dans notre cas) et l’autre borne va sur la sortie (drain) du mosfet. La masse pilotée par le mosfet est connectée à l’entrée (source) du mosfet.

Voici sa documentation technique :

Datasheet IRFZ44N

Premier montage : unidirectionnel

Le mosfet s’utilise comme un transistor classique. Il suffit de deux résistances quand on n’a pas besoin de changer le sens de rotation du moteur.

Avec Yenka, nous pouvons réaliser un circuit de base et vérifier qu’il fonctionne, notamment dans le choix de la résistance de pull-down (lorsque l’interrupteur est ouvert) et de la résistance de protection de la gâchette.

Dans notre projet, une carte à base de micro-contrôleur pilotera la gachette du mosfet, avec un signal PWM qui permettra de faire varier la différence de potentiel donc la vitesse du moteur. On ne va donc pas utiliser la résistance de pull-down.

La soudure des composants se fait assez vite avec une plaque à bande (stripboard) et quelques connecteurs avec détrompeur (griller un moteur, une carte ou une alimentation est très vite arrivé).

Et au final ça marche très bien :

Code source

Nous avons testé une variation de vitesse sur la patte 9 grâce à un PWM. La fonction pour obtenir un PWM sur une sortie numérique avec Arduino est "analogWrite". Seules certaines pattes peuvent utiliser cette fonction (3, 4, ...8, 9, 10, 13) selon votre carte.

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

void loop()
{
   // on augmente progressivement la vitesse
   for (int i = 0; i < 255; i++) {
      analogWrite(9,i);
      delay(20);
   }

   // on diminue progressivement la vitesse
   for (int i = 255; i > 0; i--) {
      analogWrite(9,i);
      delay(20);
   }

}

La prochaine fois, on testera le changement de sens avec un relais !

Vos commentaires

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.