Aller au contenu
Académie JediSith · Composants

Le moteur et son driver

En une phrase : un moteur à courant continu tourne dès qu'on l'alimente, plus vite si la tension monte, dans l'autre sens si on l'inverse ; le driver fait ces deux réglages pour l'ESP32, avec le courant d'une alimentation.

L'image à retenir

Le moteur est un muscle sans cerveau : il ne sait ni où il est ni quand s'arrêter, il pousse tant qu'on l'alimente. L'ESP32 est le cerveau, mais il n'a pas la force de nourrir ce muscle. Le driver, c'est la moelle épinière : il reçoit de petits ordres de l'ESP32 et ouvre en grand les vannes de l'alimentation vers le moteur.

À quoi sert un moteur ?

Rôle Exemple
Faire tourner sans fin les roues d'un véhicule, une hélice, un radar
Tourner vite un ventilateur, un mécanisme d'effet spécial
Enrouler, tirer un treuil, un ascenseur, une grue

Pour aller à une position et la tenir, on préfère un servo.

Plus en profondeur

Comment il tourne

À l'intérieur : des aimants fixes, et une bobine de fil de cuivre sur l'axe. Quand le courant traverse la bobine, elle devient elle-même un aimant, attiré et repoussé par les aimants fixes : l'axe tourne. Un petit système de contacts frottants (le collecteur et les balais) inverse le courant dans la bobine à chaque demi-tour, pour que la rotation continue.

  • Plus de tension → plus de courant → plus de force → il tourne plus vite.
  • Tension inversée → les forces s'inversent → il tourne dans l'autre sens.

Le réducteur : moins vite, mais plus fort

Un petit moteur tourne très vite (des milliers de tours par minute) mais avec peu de force. Nos Geekservo cachent dans leur boîtier un réducteur : une série d'engrenages qui divise la vitesse et multiplie la force (le couple) dans la même proportion. L'EF10154, par exemple, a un réducteur de 1 pour 140 : le petit moteur fait 140 tours pendant que l'axe de sortie en fait un.

Le courant : au démarrage, il faut pousser

Un moteur à l'arrêt, ou bloqué, demande beaucoup plus de courant qu'un moteur qui tourne librement. L'EF10154 prend environ 80 mA à vide sous 5 V, mais environ 1,1 A bloqué ! Chaque démarrage provoque une petite pointe de courant : c'est ce qui peut faire redémarrer l'ESP32 sur l'USB.

Pourquoi un driver ?

Problème Ce que fait le driver
Une broche donne ~20 mA, le moteur veut des centaines il prend le courant à l'alimentation (VIN, ou une alimentation externe)
Une broche ne sait donner que 0 ou 3,3 V, dans un seul sens il envoie la tension au moteur dans un sens ou dans l'autre
Un moteur qu'on coupe renvoie une petite « secousse » électrique ses protections internes l'absorbent, et l'ESP32 est à l'abri

Le pont en H

Le cœur du driver est un pont en H : quatre interrupteurs électroniques disposés en forme de H, avec le moteur au milieu. En fermant deux interrupteurs en diagonale, le courant traverse le moteur dans un sens ; avec l'autre diagonale, dans l'autre sens.

IN1 IN2 Interrupteurs fermés Le moteur
0 0 aucun roue libre : il ralentit tout seul
1 0 une diagonale tourne dans un sens
0 1 l'autre diagonale tourne dans l'autre sens
1 1 les deux du bas frein : ses deux fils sont reliés, il s'arrête net
IN1 = 1, IN2 = 0+ 5 VMle courant va vers la droite : sens 1IN1 = 0, IN2 = 1+ 5 VMle courant va vers la gauche : sens 2
En vert, les interrupteurs fermés. Une diagonale ou l'autre : le courant traverse le moteur (M) dans un sens ou dans l'autre.

Le piège du pont en H

Fermer les deux interrupteurs d'un même côté relierait directement l'alimentation à la masse : un court-circuit ! Le DRV8833 l'empêche tout seul, quelles que soient les commandes : c'est l'un de ses grands avantages.

La vitesse : le PWM

Pour la vitesse, on n'allume pas IN1 en continu : on lui envoie du PWM. Le driver ouvre et ferme le pont 1 000 fois par seconde, et le moteur, grâce à son inertie, ne voit que la tension moyenne : analogWrite(IN1, 128) sur un driver alimenté en 5 V, c'est comme 2,5 V pour le moteur.

Exemples de calculs

Calcul 1 · La vitesse au PWM

L'EF10154 tourne à environ 160 tours/min à vide sous 5 V. Avec analogWrite(…, 128) (50 %), il reçoit environ 2,5 V en moyenne : il tournera à peu près deux fois moins vite, soit vers 80 tours/min. (À peu près seulement : il faut un minimum de tension pour vaincre les frottements, et la charge le ralentit.)

Calcul 2 · La vitesse d'un véhicule LEGO

Une roue de 5 cm de diamètre parcourt à chaque tour sa circonférence : π × 5 ≈ 15,7 cm.

À 160 tours/min = 160 ÷ 60 ≈ 2,7 tours/s : 2,7 × 15,7 ≈ 42 cm par seconde, environ 1,5 km/h. Rapide pour un vaisseau en briques !

Calcul 3 · Un engrenage de plus

Le moteur entraîne un engrenage LEGO de 8 dents, qui entraîne un engrenage de 24 dents. Rapport : 24 ÷ 8 = 3.

  • Vitesse de sortie : 160 ÷ 3 ≈ 53 tours/min.
  • Couple de sortie : 3 fois plus grand (moins les frottements).

Dans l'autre sens (24 → 8), on gagnerait en vitesse et on perdrait en force.

8 dentsmoteur24 dentssortie3 tours du petit= 1 tour du grandvitesse ÷ 3force × 3
Le petit engrenage doit faire trois tours pour que le grand en fasse un : on perd en vitesse, on gagne en force.

Calcul 4 · Le budget de courant

Deux EF10154 qui démarrent en même temps : au pire, 2 × 1,1 A = 2,2 A pendant un instant. C'est bien plus que les 500 mA de l'USB : d'où les démarrages progressifs, et une alimentation externe pour la mission finale.

Mise en pratique

Mesurer la vitesse : colle un petit drapeau de scotch sur l'axe du moteur. Avec le programme de test de la mission 5, remplace 128 par 64, puis 128, puis 255, et compte les tours du drapeau pendant 10 secondes. Multiplie par 6 pour avoir des tours par minute. Trace les trois points sur un graphique : la vitesse est-elle proportionnelle à la valeur PWM ? (Indice : regarde ce qui se passe aux petites valeurs.)

Comparer les deux moteurs : même expérience avec l'EF09087 et l'EF10154. Lequel est le plus rapide ? Essaie de freiner l'axe avec deux doigts (doucement, et brièvement) : lequel est le plus fort ?

Les pièges

Le piège Ce qui arrive La bonne habitude
Moteur directement sur une broche la broche ne suit pas, l'ESP32 redémarre ou s'abîme toujours un driver
Driver qui « dort » rien ne tourne broche EEP (sommeil) reliée à 3V3
Moteur bloqué longtemps courant énorme, moteur et driver chauffent libérer la mécanique, ne pas insister
Plusieurs moteurs sur l'USB l'ESP32 redémarre aux démarrages démarrages progressifs, alimentation externe
Oublier la masse commune le driver ne comprend pas les ordres GND du driver relié au GND de l'ESP32

Exercices

1. IN1 = 0 et IN2 = PWM 200. Que fait le moteur ?

Il tourne dans le sens 2, à environ 200 ÷ 255 ≈ 78 % de sa vitesse maximale.

2. Quelle est la différence entre la roue libre et le frein ?

En roue libre (0, 0), on coupe tout : le moteur ralentit tout seul, sur sa lancée. Au frein (1, 1), ses deux fils sont reliés : il s'arrête presque immédiatement.

3. Un moteur fait 120 tours/min et entraîne un engrenage de 12 dents qui entraîne un engrenage de 36 dents. Vitesse de sortie ?

Rapport 36 ÷ 12 = 3 : 120 ÷ 3 = 40 tours/min, avec un couple environ 3 fois plus grand.

4. Pourquoi l'ESP32 peut-il redémarrer quand un moteur démarre, même avec un driver ?

Le driver prend son énergie sur VIN, donc sur l'USB, comme l'ESP32. La pointe de courant du démarrage fait chuter un instant la tension de l'USB, et l'ESP32 redémarre. Solutions : démarrer progressivement, ou une alimentation séparée pour les moteurs (avec masse commune).

À retenir

  • Moteur à courant continu : tension → vitesse, inverser → sens.
  • Un driver (pont en H) fournit le courant et choisit le sens ; le PWM règle la vitesse.
  • IN1/IN2 : (1, 0) un sens, (0, 1) l'autre, (0, 0) roue libre, (1, 1) frein.
  • Un réducteur divise la vitesse et multiplie le couple. Courant de blocage = 10 fois le courant à vide.

Où ça sert dans l'atelier

Pour aller plus loin