Comment contrôler un servomoteur à l'aide de la modulation de largeur d'impulsion (PWM) : le guide complet du contrôle d'impulsions_BLDC_Industry Insights_Kpower
Maison > Aperçu de l'industrie >BLDC
ASSISTANCE TECHNIQUE

Comment contrôler un servomoteur à l'aide de la modulation de largeur d'impulsion (PWM) : le guide complet du contrôle des impulsions

Publié 2026-04-06

01Qu'est-ce queservomoteurContrôle du pouls ? La réponse directe dont vous avez besoin

servomoteurle contrôle des impulsions est la méthode d'envoi d'un signal électrique répétitif, en particulier unSignal de modulation de largeur d'impulsion (PWM)-à une normeservomoteurmoteur pour régler son arbre de sortie à un angle précis. La largeur d'impulsion (durée du signal haut) détermine la position, et non seulement le niveau de tension ou la fréquence.

Pour la grande majorité des servos amateurs et industriels, unlargeur d'impulsion de 1,5 millisecondes (ms)commande leposition neutre (90 degrés), unImpulsion de 1,0 mscommandes0 degrés(tout à gauche), et unImpulsion de 2,0 mscommandes180 degrés(tout à droite). Il s’agit de la norme universelle que vous devez suivre pour un fonctionnement fiable.

02Principes fondamentaux : Comment la largeur d'impulsion contrôle directement l'angle

1.1 La structure du signal (paramètres à connaître)

Chaque signal de commande envoyé à un servo standard se compose de deux parties :

Largeur d'impulsion élevée(partie active) : Généralement entre0,5 ms et 2,5 ms, bien que la plupart des servos utilisent1,0 ms – 2,0 mspour une plage de 0 à 180°.

Période de trame(durée totale du cycle) :20 ms(50 Hz) pour les servos analogiques standards. Les servos numériques peuvent accepter des fréquences plus élevées (jusqu'à 333 Hz), mais 50 Hz fonctionnent universellement.

Règle critique :Le servo lit uniquement lelargeur d'impulsionde chaque cycle. Le reste du cycle (signal faible) réinitialise simplement la minuterie. Changer la période de trame tout en gardant la même largeur d'impulsionne fait paschangez l'angle - cela n'affecte que le couple et le taux de mise à jour.

1.2 La cartographie angle-impulsion (norme industrielle)

Angle souhaité Largeur d'impulsion requise Exemple de cas d'utilisation
0° (complètement à gauche) 1,0 ms Direction complètement à gauche dans une voiture robot
45° 1,25 ms Légère déviation du gouvernail sur un bateau
90° (neutre) 1,5 ms Cardan de caméra orienté droit devant
135° 1,75 ms Bras robotique atteignant la moitié du chemin
180° (tout à droite) 2,0 ms Flap entièrement déployé sur un avion RC

> Source vérifiable :Ces valeurs correspondent à la norme définie par la Radio Control Manufacturers Association (RCMA) et sont utilisées par toutes les principales fiches techniques des servos (par exemple, Futaba, Hitec, Savox). Pour les servos revendiquant une plage plus large (par exemple 270°), la plage d'impulsions s'étend de 0,5 ms à 2,5 ms en conséquence.

03Exemple concret : contrôler un servo avec un microcontrôleur commun

Supposons que vous disposez d'un servo standard 5 V connecté à un microcontrôleur générique (comme un Arduino, ESP32 ou STM32). Vous voulez que le servo balaye de 0° à 180° et vice-versa.

2.1 Configuration matérielle (aucun nom de marque)

Fil de signal servo → n'importe quelle broche de sortie numérique (par exemple, broche 9)

Alimentation du servo (rouge) → alimentation externe 5 V (ne pas alimenter à partir de la broche 5 V du microcontrôleur si vous consommez > 500 mA)

Masse du servo (marron/noir) → masse commune avec le microcontrôleur

2.2 Logiciel : Génération des impulsions

La plupart des bibliothèques de microcontrôleurs font abstraction de la génération d'impulsions. Voici la logique exacte que vous mettriez en œuvre si vous écriviez du code de bas niveau :

# Pseudo-code pour la servocommande de 50 Hz (période de 20 ms) Définir la broche HIGH Attendre pulse_width_ms (par exemple, 1,5 ms) Définir la broche LOW Attendre (20 - pulse_width_ms) ms Répéter toutes les 20 ms

Erreur courante :En utilisantretard()qui bloque d'autres tâches. Utilisez plutôt une synchronisation non bloquante avec millis() ou une minuterie matérielle.

2.3 Exemple de cas : un stabilisateur de caméra défaillant en raison d'une plage d'impulsions incorrecte

Un amateur a construit un cardan pour une GoPro mais a utilisé des impulsions de 0,5 à 2,5 ms sur un servo standard à 180°. Résultat : Le servo tremblait et surchauffait constamment car il tentait de dépasser ses limites mécaniques (jusqu'à environ 270°). Après avoir corrigé à1,0 à 2,0 ms, le cardan a fonctionné sans problème. Vérifiez toujours la fiche technique de votre servo pour connaître les limites d'impulsion réelles.

04Problèmes courants et leurs solutions (basés sur des rapports d'utilisateurs réels)

3.1 Le servo tremble ou vibre au point mort

Cause 1 :Largeur d'impulsion instable (fluctuation de ±0,01 ms en raison d'erreurs de synchronisation logicielle).

Réparer:Utilisez un périphérique matériel PWM au lieu de bit-banging.

Raison 2 :Période de trame incohérente (par exemple, 18 ms à 22 ms).

舵机脉冲控制_舵机脉冲范围_脉冲控制舵机接线图

Réparer:Assurez-vous d’une période d’exactement 20 ms. Les servos numériques sont moins sensibles, mais les servos analogiques trembleront.

3.2 Le servo n'atteint pas 0° ou 180°

Cause:Plage d'impulsions trop étroite. De nombreuses bibliothèques sont par défaut de 0,5 à 2,5 ms, mais votre servo nécessite 0,9 à 2,1 ms.

Réparer:Mesurez les points finaux réels en envoyant des impulsions progressivement plus grandes jusqu'à ce que le servo s'arrête de bouger, puis réglez votre min/max en conséquence.

3.3 Le servo bourdonne mais ne bouge pas

Cause:Courant insuffisant. Un servo bloqué peut consommer >1A.

Réparer:Utilisez une alimentation 5 V séparée conçue pour au moins 2 A par servo. Ne comptez pas sur l’alimentation USB.

3.4 Twitching aléatoire lorsque d'autres moteurs fonctionnent

Cause:Bruit électrique sur la ligne de signal.

Réparer:Ajoutez une résistance de 100 à 220 Ω en série avec le fil de signal et un condensateur de 10 µF entre l'alimentation et la masse près du servo.

05Plan d'action étape par étape pour maîtriser le contrôle des impulsions des servos

Suivez ces étapes pour assurer le succès de votre projet :

1. Identifiez la spécification d'impulsion de votre servo– Consultez la fiche technique. En cas d'indisponibilité, supposez 1,0 à 2,0 ms pour 0 à 180°.

2. Utilisez une broche PWM dédiée– Les minuteries matérielles produisent des impulsions stables. Le bit-banging logiciel est uniquement destiné aux tests.

3. Alimenter le servo séparément– Connectez le VCC du servo à une alimentation régulée de 5 V (ou de 4,8 V à 6 V comme spécifié). Ne tirez jamais d’alimentation de l’alimentation logique (par exemple, la broche 5 V du Raspberry Pi).

4. Commencez par une impulsion neutre (1,5 ms)– Cela centre le servo et évite les sauts brusques.

5. Balayez progressivement la largeur d'impulsion– De 1,0 ms à 2,0 ms par pas de 0,01 ms. Observez la plage mécanique réelle.

6. Enregistrez les véritables impulsions min/max de votre servo– Utilisez ces limites dans votre code final pour éviter de forcer contre les butées.

7. Ajouter une compensation de zone morte– Pour un positionnement précis, envoyez deux fois la même impulsion ; la plupart des servos ont une bande morte de 3 à 10 µs.

06Répétition du principe fondamental (pourquoi c'est important)

Encore une fois : la largeur d’impulsion seule contrôle l’angle. Pas la tension, pas la fréquence (dans des limites raisonnables).Une impulsion de 1,5 ms commande toujours 90° sur un servo standard, que la période de trame soit de 20 ms ou 10 ms. La modification de la période n'affecte que la fréquence à laquelle le servo met à jour sa position. Pour les servos analogiques, respectez 50 Hz (20 ms). Pour les servos numériques, vous pouvez monter jusqu'à 333 Hz (période de 3 ms), mais la plage de largeur d'impulsion reste identique.

07Conclusion exploitable : vos prochaines étapes

Pour appliquer immédiatement et correctement le contrôle par impulsions d'asservissement :

Faire:Générez des impulsions stables de 1,0 à 2,0 ms avec une période de 20 ms à l'aide d'un périphérique matériel PWM.

Ne pas:Alimentez le servo à partir du régulateur de votre microcontrôleur ; utilisez une batterie ou une alimentation séparée.

Faire:Commencez toujours par une impulsion neutre de 1,5 ms avant de passer à un autre angle.

Ne pas:Supposons que tous les servos utilisent 0,5 à 2,5 ms ; vérifiez la fiche technique de votre modèle spécifique.

En suivant ce guide, vous éliminerez la gigue, éviterez les dommages mécaniques et obtiendrez un contrôle angulaire précis pour tout projet basé sur des servos, des bras de robot aux véhicules RC en passant par les cardans de caméra. Pour un dépannage plus approfondi, reportez-vous à la fiche technique officielle du servo ou testez avec un oscilloscope pour confirmer la synchronisation des impulsions.

Heure de mise à jour:2026-04-06

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