Maison > Aperçu de l'industrie >Moteur à engrenages
ASSISTANCE TECHNIQUE

Principe de fonctionnement du servomoteur et méthodes de contrôle

Publié 2026-04-03

Cet article fournit une explication technique complète de la façon dont une normeservomoteurle moteur fonctionne et les méthodes exactes pour contrôler sa position. Vous apprendrez le système de contrôle interne en boucle fermée, le rôle du signal de modulation de largeur d'impulsion (PWM) et des instructions étape par étape pour un positionnement angulaire précis, de 0 à 180 degrés.

01Principe de fonctionnement de base : contrôle de position en boucle fermée

Une normeservomoteurLe moteur n’est pas un simple moteur à courant continu qui fonctionne en continu. Il s'agit d'un système de contrôle complet en boucle fermée composé de quatre composants internes clés :

Moteur à courant continu :Génère un mouvement de rotation.

Train de réduction de vitesse :Réduit la vitesse du moteur tout en multipliant le couple.

Capteur de position (potentiomètre) :Connecté à l'arbre de sortie. Sa résistance électrique change à mesure que l'arbre tourne, fournissant un retour en temps réel sur l'angle actuel.

Carte de contrôle :Compare la position commandée (à partir du signal d'entrée PWM) avec la position réelle (à partir du potentiomètre).

Comment fonctionne la boucle fermée :

1. Le circuit de commande reçoit une commande de position cible.

2. Il lit la position actuelle de l'arbre à partir du potentiomètre.

3. Il calcule l'erreur (position cible - position actuelle).

4. Il entraîne le moteur à courant continu dans le bon sens (avant ou arrière) pour minimiser cette erreur.

5. Lorsque la position actuelle est égale à la position cible, le moteur s'arrête.

6. Cette boucle fonctionne en continu, maintenant l'arbre à la position commandée même si une force externe tente de le déplacer.

Exemple d'applications courantes :Dans une articulation de bras robotique, leservomoteurreçoit l'ordre de se déplacer à 90 degrés. Même si une charge légère (par exemple un petit outil) est attachée, la commande en boucle fermée maintient activement la position à 90 degrés. Si une force externe pousse le bras à 92 degrés, le potentiomètre détecte ce changement et le circuit de commande applique instantanément un contre-couple pour revenir à 90 degrés.

02Le signal de contrôle : modulation de largeur d'impulsion (PWM)

La position du servo est contrôlée par un type spécifique de signal électrique :Modulation de largeur d'impulsion (PWM). Le signal de commande possède trois paramètres fixes et un paramètre variable.

Paramètres fixes (standard pour 99 % des servos amateurs et industriels) :

Période de signal :20 millisecondes (ms). Cela signifie qu'une nouvelle impulsion est envoyée toutes les 20 ms, correspondant à une fréquence de 50 Hz.

tension:Généralement 4,8 V à 6,0 V (pour les servos standard). Les servos haute tension peuvent utiliser 7,4 V ou plus, mais la logique du signal reste 50 Hz PWM.

Impulsion minimale et maximale :L'impulsion la plus courte (généralement de 0,5 ms à 1,0 ms) et la plus longue (généralement de 1,5 ms à 2,5 ms) définissent la plage de déplacement complète.

Paramètre variable : largeur d'impulsion

La largeur de l'impulsion haute (en millisecondes) détermine l'angle cible.

Position neutre (90 degrés) :Une impulsion d'exactement1,5 mscommande au servo de tourner jusqu'à son point médian.

0 degrés (un extrême) :Une impulsion de1,0 ms(ou parfois 0,5 ms, selon l'étalonnage d'usine du servo) commande au servo de tourner complètement jusqu'à un arrêt.

180 degrés (l'extrême opposé) :Une impulsion de2,0 ms(ou parfois 2,5 ms) commande au servo de tourner complètement jusqu'à la butée opposée.

Formule précise de cartographie impulsion-angle :

Pour un servo standard avec une plage de 0° à 180° utilisant une plage d'impulsions de 1,0 ms à 2,0 ms :

Largeur d'impulsion cible (ms) = 1,0 ms + (angle souhaité / 180) * (2,0 ms - 1,0 ms)

Ou simplifié :Largeur d'impulsion (ms) = 1,0 + (angle souhaité / 180)

Exemple de calcul :

Angle souhaité = 45 degrés

Largeur d'impulsion = 1,0 + (45/180) = 1,0 + 0,25 =1,25 ms

Règle de timing importante :L'impulsion est envoyée toutes les 20 ms. La durée de la partie basse du signal est automatiquement déterminée comme20 ms - largeur d'impulsion ms. Le circuit de contrôle mesure uniquement lalargeur d'impulsion élevée. Tant que la période reste de 20 ms (tolérance ± quelques ms), le servo maintiendra sa position.

03Méthode de contrôle étape par étape

Pour positionner avec précision un servo, vous devez générer un signal PWM continu de 50 Hz avec une largeur d'impulsion variable. Voici la méthode exacte utilisant du matériel courant :

Étape 1 : Déterminez les limites d'impulsion de votre servo

Ne supposez jamais qu'un servo utilise 1,0 ms à 2,0 ms. Vérifiez toujours la fiche technique du fabricant. Pour la sécurité :

1. Commencez par une impulsion de 1,5 ms (neutre).

2. Réduisez progressivement la largeur d'impulsion de 0,05 ms toutes les 2 secondes jusqu'à ce que vous entendiez le servo s'arrêter ou le voyiez atteindre la limite physique. Enregistrez-le comme impulsion minimale.

控制舵机的程序_舵机原理及控制方法_舵机控制函数

3. Augmentez progressivement la largeur d'impulsion de 1,5 ms à 0,05 ms toutes les 2 secondes pour trouver l'impulsion maximale.

Étape 2 : générer le signal PWM

Vous avez besoin d'un microcontrôleur (par exemple, Arduino, Raspberry Pi Pico, STM32) ou d'un module de servocontrôleur dédié.

Exemple : Contrôler un servo avec un microcontrôleur standard :

Connectez l'alimentation :Fil rouge du servo à +5V, fil marron/noir à GND. Utilisez une alimentation séparée pour les servos à couple élevé.

Signal de connexion :Fil orange/blanc/jaune vers une broche numérique compatible PWM.

Écrivez du code pour produire un PWM 50 Hz avec un rapport cyclique variable.

Étape 3 : envoyer la séquence de commandes

Pour passer à 0 degré : Émettez des impulsions continues d’une largeur de 1,0 ms, toutes les 20 ms.

Pour se déplacer à 90 degrés : émettre des impulsions continues d'une largeur de 1,5 ms, toutes les 20 ms.

Pour se déplacer à 180 degrés : Émettez des impulsions continues d’une largeur de 2,0 ms, toutes les 20 ms.

Étape 4 : Vérifier le mouvement

Après avoir envoyé la nouvelle largeur d'impulsion, le servo tournera vers la nouvelle position dans le temps de transit spécifié (généralement 0,1 à 0,3 seconde pour 60 degrés). Le circuit de commande conservera alors cette position.

Exemple d'applications courantes :Dans un modèle réduit d'avion télécommandé, le récepteur décode la position du joystick de l'émetteur en un signal PWM. Lorsque vous déplacez le joystick du centre vers la gauche, le récepteur modifie l'impulsion de 1,5 ms à 1,0 ms. Le circuit de commande du servo détecte ce changement, entraîne le moteur pour déplacer la surface de contrôle (par exemple, l'aileron) vers le nouvel angle et le maintient jusqu'à ce que le joystick bouge à nouveau.

04Problèmes courants et solutions

Problème : Le servo tremble ou oscille.

Cause:Alimentation bruyante ou signal PWM instable (jitter de synchronisation).

Solution:Ajoutez un grand condensateur (1 000 µF ou plus) sur les lignes électriques du servo à proximité du servo. Assurez-vous que le microcontrôleur utilise une source d'horloge stable.

Problème : le servo ne tourne pas à 180 degrés.

Cause:Les largeurs d'impulsion minimale et maximale appliquées ne correspondent pas à l'étalonnage interne du servo.

Solution:Effectuez la procédure de découverte de la limite d'impulsion à l'étape 1. Ajustez les constantes d'impulsion minimale et maximale de votre code en conséquence.

Problème : le servo surchauffe ou consomme un courant élevé à l'arrêt.

Cause:Le servo lutte constamment contre une charge externe ou son potentiomètre interne est mal aligné.

Solution:Réduisez la charge mécanique. Si le servo bourdonne en fin de course, réduisez légèrement la largeur d'impulsion commandée (par exemple, utilisez 1,05 ms au lieu de 1,0 ms pour 0 degré).

Problème : le servo se déplace vers une position mais revient lentement lorsqu'une charge est appliquée.

Cause:Couple insuffisant pour l'application ou la tension d'alimentation chute sous charge.

Solution:Utilisez un servo avec un couple nominal plus élevé. Utilisez une alimentation capable de fournir au moins 2 fois le courant de décrochage du servo.

05Résumé des principes fondamentaux et recommandations concrètes

Principes fondamentaux répétés pour souligner :

Un servo est unsystème de contrôle de position en boucle fermée, pas seulement un moteur.

Le signal de commande estMLI 50 Hzavec une période fixe de 20 ms.

Lelargeur d'impulsion(1,0 ms à 2,0 ms typique) correspond directement à la position angulaire (0° à 180°).

Le circuit de commande compare en permanence les positions commandées et réelles, en appliquant le couple moteur pour éliminer toute erreur.

Recommandations concrètes pour un servocommande fiable :

1. Vérifiez toujours la plage d'impulsions de votre servo avant de l'utiliser.Utilisez une impulsion neutre de 1,5 ms comme point de départ sûr. Ne supposez jamais une plage de 1,0 ms à 2,0 ms sans tester.

2. Utilisez une alimentation dédiée pour les servos à couple élevé.N'alimentez pas un servo à partir de la broche 5 V d'un microcontrôleur. Un servo bloqué peut consommer 1 à 3 ampères, ce qui réinitialisera la plupart des microcontrôleurs.

3. Ajoutez un condensateur électrolytique de 100 à 1 000 µF entre les câbles d'alimentation et de masse du servo.Cela stabilise la tension et élimine la plupart des problèmes de gigue.

4. Envoyez des commandes PWM en continu.Le servo nécessite une nouvelle impulsion toutes les 20 ms pour maintenir sa position. Si le signal s'arrête, la plupart des servos relâcheront le couple et se déplaceront librement.

5. Pour des applications précises (par exemple, cardans de caméra, doigts robotiques), calibrez chaque servo individuellement.Mesurez les largeurs d'impulsion exactes pour 0°, 90° et 180° à l'aide d'un potentiomètre ou d'un capteur d'angle. Stockez ces valeurs calibrées dans votre code de contrôle.

En appliquant ces principes et méthodes, vous obtiendrez un positionnement de servo précis, reproductible et fiable pour tout projet, des bras robotiques aux machines animatroniques et CNC.

Heure de mise à jour:2026-04-03

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
+86 0769 8399 3238
 
kpowerCarte