Publié 2026-04-20
Si vous vous êtes déjà demandé comment une voiture télécommandée se dirige ou comment un bras robotique se déplace avec précision, la réponse réside dans une technique simple mais puissante appelée modulation de largeur d'impulsion (PWM). Cet article explique le principe fondamental de la façon dont PWM contrôle unservomoteurmoteur – une question que se posent de nombreux amateurs et ingénieurs. Essentiellement, PWM contrôle unservomoteurmoteur en faisant varier la largeur d'une impulsion électrique envoyée au moteur toutes les 20 millisecondes. Leservomoteurlit cette largeur d'impulsion et tourne son arbre de sortie selon un angle spécifique (par exemple, 0°, 90° ou 180°). Aucun signal numérique complexe ni protocole spécifique à la marque n'est nécessaire : il suffit d'une impulsion répétitive dont l'heure d'activation change.
La modulation de largeur d'impulsion (PWM) est une méthode permettant de réduire la puissance moyenne délivrée par un signal électrique en le découpant en impulsions marche-arrêt discrètes. Au lieu d’une tension continue constante, vous obtenez une série d’ondes carrées. Le paramètre clé est lecycle de service– le pourcentage de temps pendant lequel le signal est ÉLEVÉ (activé) au cours d'une période fixe.
Pour l'asservissement, lepériodeest presque toujours de 20 millisecondes (ms), ce qui signifie 50 impulsions par seconde (50 Hz). Au cours de chaque période de 20 ms, le signal est HAUT pour une courte « largeur d'impulsion » et BAS pour le temps restant. L’électronique interne du servo mesure ce temps ÉLEVÉ exact et le compare à une position cible.
Le principe fondamental est une cartographie linéaire entre la largeur d’impulsion (le temps de « marche ») et l’angle de sortie du servo. Voici les valeurs universellement acceptées pour les servos de loisir standard (courants dans les projets quotidiens comme les bras de robot, les avions RC et les caméras panoramiques) :
Impulsion de 0,5 ms (cycle de service de 5 %)→ L'arbre tourne vers0 degrés(à fond dans le sens inverse des aiguilles d'une montre, limite typique)
Impulsion de 1,5 ms (cycle de service de 7,5 %)→ L'arbre tourne vers90 degrés(position centrale)
Impulsion de 2,5 ms (cycle de service de 12,5 %)→ L'arbre tourne vers180 degrés(à fond dans le sens des aiguilles d'une montre, limite typique)
Toute largeur d'impulsion comprise entre 0,5 ms et 2,5 ms produira un angle proportionnel. Par exemple, une impulsion de 1,0 ms donne environ 45° et une impulsion de 2,0 ms donne environ 135°.
Imaginez que vous construisez une pince robotique pour ramasser une petite balle. Vous attachez un servo standard aux mâchoires de la pince. Lorsque vous envoyez une impulsion de 1,5 ms toutes les 20 ms, le servo se déplace à 90°, gardant les mâchoires entrouvertes. Pour fermer les mâchoires, vous envoyez une impulsion de 0,5 ms – le servo tourne à 0°, fermant complètement la pince. Pour relâcher, vous envoyez une impulsion de 2,5 ms – le servo passe à 180°, ouvrant complètement les mâchoires. Ce contrôle précis et reproductible est la raison pour laquelle le PWM est la norme industrielle.
À l'intérieur d'un servomoteur standard, il y a quatre composants principaux : un moteur à courant continu, un potentiomètre (capteur de position), un train d'engrenages et un petit circuit de commande. Le signal PWM entre dans le circuit de contrôle, qui effectue trois étapes toutes les 20 ms :
1. Mesurela largeur d'impulsion entrante (par exemple, 1,5 ms).
2. Lirela position actuelle du potentiomètre (par exemple, actuellement à 70°).
3. Comparer– si la position souhaitée (à partir de la largeur d'impulsion) est supérieure à la position actuelle, le circuit fait tourner le moteur à courant continu vers l'avant. S'il est plus petit, il tourne vers l'arrière. Le train d'engrenages réduit la vitesse et augmente le couple, déplaçant ainsi l'arbre de sortie.
![]()
4. Arrêtlorsque la tension du potentiomètre correspond à la tension équivalente à la largeur d'impulsion.
Ce retour en boucle fermée se produit en continu, maintenant la position même face à des forces externes (jusqu'au couple nominal du servo). Aucun encodeur ou contrôleur externe n'est nécessaire : l'électronique interne du servo fait tout le travail.
Erreur 1 : Utiliser la mauvaise période.Certains débutants utilisent une période autre que 20 ms (par exemple 10 ms ou 50 ms). Alors que certains servos numériques acceptent une plage plus large, les servos analogiques standard trembleront ou surchaufferont.Commencez toujours par 20 ms (50 Hz).
Erreur 2 : envoyer des impulsions en dehors de 0,5 à 2,5 ms.Les impulsions inférieures à 0,5 ms peuvent ne pas déplacer le servo, et les impulsions supérieures à 2,5 ms peuvent entraîner le servo contre ses butées mécaniques, potentiellement dépouillant les engrenages.Restez dans la plage de sécurité.
Erreur 3 : Mettre à jour le pouls trop lentement ou de manière irrégulière.Le servo attend une nouvelle impulsion toutes les 20 ms. Si vous faites une pause de plusieurs secondes, le servo risque de perdre le couple de maintien.Maintenez un taux de rafraîchissement constant de 50 Hz.
Étant donné que le mappage PWM-angle est une norme de facto (établie il y a des décennies par les fabricants de servos amateurs), il fonctionne sur tous les servos génériques que vous rencontrerez – que vous achetiez un servo à faible coût pour un projet scolaire ou un servo à couple élevé pour un robot. Vous n'avez besoin d'aucun logiciel propriétaire, pilote ou matériel spécifique à la marque. N'importe quel microcontrôleur (ou même un simple circuit de minuterie 555) capable de générer une impulsion précise de 0,5 à 2,5 ms toutes les 20 ms peut contrôler n'importe quel servo standard.
1. Testez avec une bonne configuration connue :Utilisez un oscilloscope ou un analyseur logique pour vérifier la largeur et la période d'impulsion de votre signal PWM avant de connecter un servo. Cela évite les dommages accidentels.
2. Commencez par la position centrale :Initialisez toujours votre servo à 1,5 ms (90°) pour éviter les sauts brusques qui pourraient casser les liaisons.
3. Ajoutez un petit délai après chaque changement de position :Lors d'un déplacement de 0° à 180°, envoyez des largeurs d'impulsion incrémentielles (par exemple, 0,5 ms → 0,7 ms → 0,9 ms…) avec des délais de 20 à 50 ms pour permettre au servo de se déplacer physiquement. Des sauts soudains et importants peuvent faire caler le moteur.
4. Utilisez une alimentation dédiée :Les servos peuvent consommer 200 à 500 mA ou plus lorsqu'ils se déplacent. Ne les alimentez pas directement à partir de la broche 5 V d’un microcontrôleur ; utilisez une batterie 5V-6V séparée ou une alimentation régulée avec une masse commune.
5. Mesurez les limites réelles de votre servo :Tous les servos n'atteignent pas exactement 0° à 0,5 ms ou 180° à 2,5 ms. Utilisez un programme de test simple pour balayer de 0,4 ms à 2,6 ms et notez où le servo s'arrête physiquement. Définissez ensuite les limites de votre logiciel en conséquence.
Pour contrôler un servomoteur avec PWM, il suffit de rappeler :une période de 20 ms, une largeur d'impulsion comprise entre 0,5 ms et 2,5 ms et une cartographie linéaire directe entre 0 et 180 degrés.Le servo fait le reste : lire, comparer et maintenir la position. Ce principe simple alimente d’innombrables appareils du monde réel, depuis la direction d’une petite voiture jusqu’aux bras d’automatisation industrielle. Maintenant que vous comprenez le « pourquoi » et le « comment », vous pouvez mettre en œuvre en toute confiance le servocontrôle PWM dans votre propre projet. Commencez par un test de base : générez une impulsion de 1,5 ms toutes les 20 ms, regardez le servo se déplacer vers le centre, puis changez l'impulsion à 2,0 ms – vous verrez l'arbre tourner. C'est le principe fondamental en action.
Heure de mise à jour:2026-04-20
Contactez le spécialiste des produits Kpower pour recommander un moteur ou une boîte de vitesses adapté à votre produit.