Comment fonctionnent les servomoteurs : un guide complet des méthodes de principe et de contrôle PWM_Servo_Industry Insights_Kpower
Maison > Aperçu de l'industrie >Servomoteur
ASSISTANCE TECHNIQUE

Comment fonctionnent les servomoteurs : un guide complet des principes et des méthodes de contrôle PWM

Publié 2026-04-21

servomoteurLes moteurs sont des composants essentiels dans la robotique, les véhicules RC et les systèmes d'automatisation, fournissant un contrôle précis de la position angulaire. Ce guide explique le principe de fonctionnement interne d'une normeservomoteurmoteur et la méthode de contrôle PWM étape par étape, en utilisant des exemples courants du monde réel (tels qu'une articulation de bras de robot ou un mécanisme de direction dans un modèle réduit de voiture) pour vous aider à comprendre et à appliquerservomoteurcontrôler immédiatement.

01Qu'est-ce qu'un servomoteur ?

Un servomoteur est un système en boucle fermée composé d'un moteur à courant continu, d'un train d'engrenages, d'un potentiomètre de retour de position et d'un circuit de commande. Contrairement à un simple moteur à courant continu qui ne tourne qu'en continu, un servomoteur vous permet de lui commander de se déplacer selon un angle spécifique (généralement de 0° à 180° ou de 0° à 270°) et de maintenir cette position contre une force externe.

Exemple concret :Dans un bras robotique à 5 degrés de liberté, chaque articulation utilise un servomoteur. Lorsque vous envoyez une commande pour lever le bras à 45°, le servo tourne exactement à 45° et y reste, même si une petite charge est appliquée.

02Principe de fonctionnement interne (étape par étape)

Comprendre le fonctionnement interne vous aide à dépanner et à contrôler efficacement les servos.

Composant Fonction
Moteur à courant continu Fournit une force de rotation
Train d'engrenages Réduit la vitesse et augmente le couple
Potentiomètre Agit comme un capteur de position ; sa résistance change avec l'angle de l'arbre de sortie
Circuit de contrôle Compare la position souhaitée (à partir du signal PWM) avec la position réelle (à partir du potentiomètre)

Séquence de fonctionnement :

1. Le circuit de commande reçoit un signal PWM (modulation de largeur d'impulsion) d'un contrôleur externe (par exemple, microcontrôleur, récepteur RC).

2. La largeur d'impulsion du signal PWM définit l'angle cible.

3. Le potentiomètre mesure l'angle actuel de l'arbre de sortie.

4. Le circuit de contrôle calcule l'erreur : angle cible – angle réel.

5. Si l'erreur est positive, elle fait avancer le moteur à courant continu ; s'il est négatif, il recule.

6. Lorsque l'erreur devient nulle (l'angle réel correspond à la cible), le moteur s'arrête et le servo maintient la position.

Ce retour en boucle fermée est la principale raison pour laquelle les servos obtiennent un positionnement précis et reproductible.

03Méthode de contrôle PWM – Le seul signal dont vous avez besoin

Tous les servos amateurs standard utilisent un signal PWM avec une fréquence d'images fixe (généralement 50 Hz, soit une période de 20 ms). Le poste est déterminé par lelargeur d'impulsionau sein de chaque période.

Paramètres PWM standards (pour servos 0° à 180°) :

Largeur d'impulsion 0,5 ms → 0°

Largeur d'impulsion 1,5 ms → 90° (position neutre)

Largeur d'impulsion 2,5 ms → 180°

> Important:Ces valeurs sont basées sur les conventions de l'industrie (Futaba, Hitec, etc.). Vérifiez toujours la fiche technique de votre servo, car certains servos utilisent 0,7 ms à 2,3 ms pour la même plage.

Calcul de la largeur d'impulsion pour n'importe quel angle cible (cartographie linéaire) :

Largeur d'impulsion (ms) = 0,5 + (angle / 180) × 2,0

Exemple : Pour 45° → 0,5 + (45/180)×2,0 = 0,5 + 0,5 = 1,0 ms

Exemple de contrôle pratique (en utilisant un pseudo-code de type Arduino) :

// La bibliothèque Servo génère automatiquement le PWM 50 Hz correct #includeServo monservo ; void setup() { monservo.attach(9); // Sortie PWM sur la broche 9 } void loop() { myservo.write(0); // Impulsion de 0,5 ms → délai 0° (1000) ; monservo.write(90); // Impulsion de 1,5 ms → délai de 90° (1000) ; monservo.write(180); // Impulsion de 2,5 ms → délai de 180° (1000) ; }

Si vous générez du PWM manuellement, assurez-vous d'une période de 20 ms (50 Hz) et faites varier uniquement la largeur d'impulsion à temps élevé.

04Guide de contrôle étape par étape (actionnable)

Pour contrôler avec succès un servomoteur dans votre projet, suivez cette séquence :

Étape 1 – Exigences d’alimentation

La plupart des servos standard fonctionnent entre 4,8 V et 6,0 V. Un servo bloqué peut consommer 0,5 à 1,5 A. N'alimentez pas un servo directement à partir de la broche 5 V d'un microcontrôleur – utilisez un BEC (Battery Eliminator Circuit) séparé ou une alimentation de servo dédiée.

Étape 2 – Connexion du signal

Connectez le fil du signal de commande (généralement jaune, blanc ou orange) à une broche compatible PWM de votre contrôleur. Connectez la masse (marron ou noir) à la masse du contrôleur et à la masse de l’alimentation (terre commune).

Étape 3 – Générez le bon PWM

Fréquence : 50 Hz (période de 20 ms)

Largeur d'impulsion : 0,5 ms à 2,5 ms pour la plage complète (à ajuster si votre servo utilise une plage différente)

Utilisez une bibliothèque ou une minuterie pour maintenir un timing stable ; les signaux instables provoquent une oscillation du servo.

Étape 4 – Test avec des angles connus

Commencez par 90° (impulsion de 1,5 ms). Testez ensuite 0° et 180° tout en observant le mouvement physique. Si le servo bourdonne ou n'atteint pas l'angle attendu, la plage de largeur d'impulsion peut nécessiter un étalonnage.

05Problèmes courants et solutions (dépannage réel)

Problème Cause la plus probable Réparer
Le servo ne bouge pas Pas d'alimentation / mauvaise tension Vérifier l'alimentation (5 V min) et la masse commune
Tremblements ou secousses du servo Signal PWM instable ou bruyant Utilisez une source d'alimentation dédiée ; ajoutez un condensateur de 100 µF près des broches d'alimentation du servo
Le servo ne se déplace que selon un angle limité Inadéquation de la plage de largeur d'impulsion Mesurez la largeur d'impulsion réelle avec un oscilloscope ; ajuster les limites du logiciel
Le servo surchauffe Reliure mécanique ou bloquée Réduire la charge ; vérifier si les vitesses sont bloquées

Exemple de cas :Une erreur courante dans la direction des voitures RC consiste à alimenter le servo à partir du BEC intégré du récepteur, qui ne peut pas fournir suffisamment de courant. Lorsque vous faites tourner les roues sur l'herbe, le servo cale et la tension chute, provoquant la réinitialisation du microcontrôleur. Solution : utilisez un UBEC 5 V/3 A ​​séparé.

06Principes fondamentaux à retenir (répétés pour souligner)

La position du servo est contrôlée uniquement par la largeur d'impulsion PWM, et non par la tension ou la fréquence.

Le retour en boucle fermée (potentiomètre + circuit de commande) garantit un maintien précis de l'angle.

Utilisez toujours une terre commune entre le contrôleur, le servo et l'alimentation externe.

Différents modèles de servos peuvent avoir des plages de largeur d'impulsion légèrement différentes – vérifiez toujours avec la fiche technique.

07Recommandations exploitables pour votre prochain projet

1. Avant d'écrire du code, mesurez les largeurs d'impulsion minimales et maximales réelles de votre servo à l'aide d'un simple croquis de test et d'un oscilloscope (ou d'un analyseur logique). Enregistrez ces valeurs.

2. Utiliser une bibliothèque de servos(comme Arduino Servo.h ou ESP32 Servo) au lieu de la génération PWM manuelle – les bibliothèques gèrent la synchronisation exacte de 50 Hz et convertissent automatiquementécrire (angle)à la largeur d'impulsion correcte.

3. Ajoutez un condensateur électrolytique de 100 à 470 µFentre les broches d'alimentation et de masse du servo, aussi près que possible du servo, pour absorber les pics de tension et réduire la gigue.

4. Pour les projets multi-servos(par exemple, un robot hexapode), calculez le courant de crête total (nombre de servos × 1 A chacun) et choisissez une alimentation avec une marge de 30 %.

5. Commencez toujours par la position neutre (impulsion de 1,5 ms)lors de l'assemblage d'une liaison mécanique, cela donne une amplitude de mouvement égale dans les deux sens.

En appliquant la méthode de contrôle PWM expliquée ci-dessus et en suivant les étapes d'action, vous obtiendrez un positionnement des servos fiable et précis dans tout projet de robotique ou d'automatisation. N'oubliez pas : largeur d'impulsion correcte + puissance adéquate + terrain d'entente = asservissement réussi.

Heure de mise à jour:2026-04-21

Alimenter l’avenir

Contactez le spécialiste des produits Kpower pour recommander un moteur ou une boîte de vitesses adapté à votre produit.

Courrier à Kpower
Soumettre une demande
Message WhatsApp
+86 0769 8399 3238
 
kpowerCarte