Maison > Aperçu de l'industrie >BLDC
ASSISTANCE TECHNIQUE

Formule de calcul du cycle de service des servos : le guide complet pour un contrôle angulaire précis

Publié 2026-04-17

Ce guide fournit la formule exacte pour calculer le cycle de service pour toutservomoteurmoteur, permettant un positionnement angulaire précis. À l'aide de signaux PWM (Pulse width Modulation) standard, le rapport cyclique détermine leservomoteurl'angle de l'arbre. Ci-dessous, vous trouverez la formule vérifiée, les méthodes de calcul étape par étape et des exemples concrets : pas de nom de marque, uniquement les principes fondamentaux de l'ingénierie.

01Formule de base

Le cycle de service pour unservomoteurest dérivé de la largeur d'impulsion requise et de la période PWM fixe :

Cycle de service (%) = (Largeur d'impulsion (ms) / Période PWM (ms)) × 100 %

Pour les servos analogiques et numériques standard, la période PWM est20 millisecondes (ms), correspondant à une fréquence de 50 Hz.

Mappage de la largeur d'impulsion à l'angle (plage standard)

Angle du servo (degrés) Largeur d'impulsion (ms)
0,5 ms
90° 1,5 ms
180° 2,5 ms

Ces valeurs constituent la norme industrielle pour la grande majorité des servos de loisir et industriels.

02Calcul étape par étape pour n'importe quel angle souhaité

Si vous avez besoin d'un angle θ compris entre 0° et 180°, la largeur d'impulsion est calculée par interpolation linéaire :

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

Appliquez ensuite la formule du rapport cyclique.

Exemple 1 : Position à 45°

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

Cycle de service = (1,0 ms / 20 ms) × 100 % =5.0%

Exemple 2 : Position 135°

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

Cycle de service = (2,0 ms / 20 ms) × 100 % =10.0%

Exemple 3 : Position neutre à 90 °

Largeur d'impulsion = 1,5 ms (directement du tableau)

Cycle de service = (1,5 ms / 20 ms) × 100 % =7.5%

03Formule de cycle de service direct (0° à 180°)

Combinez les deux étapes en une seule formule :

Cycle de service (%) = [0,5 + (θ × 2,0 / 180)] / 20 × 100

Simplifié:

Cycle de service (%) = 2,5 + (θ × 10/180)ouCycle de service (%) = 2,5 + (θ / 18)

Vérification:

A 0° : 2,5% → (0,5 ms /20 ms)=2,5% ✓

A 90° : 2,5 + 5 = 7,5% ✓

A 180° : 2,5 + 10 = 12,5% → (2,5 ms/20 ms)=12,5% ✓

04Remarques importantes sur les types de servos

Servomoteurs standards(0°–180°) : utilisez les formules ci-dessus.

Servos à rotation continue: Le cycle de service contrôle la vitesse et la direction, pas l'angle. Un cycle de service de 7,5 % signifie généralement un arrêt ; les valeurs inférieures ou supérieures provoquent une rotation dans des directions opposées.

Servos à portée étendue(par exemple, 0°–270°) : Ajustez la plage de largeur d'impulsion en conséquence (généralement 0,5 ms à 3,0 ms pour 270°). Recalculez le mappage linéaire.

Servos numériques: Accepte les mêmes signaux PWM mais peut fonctionner à des fréquences plus élevées (par exemple, 200–333 Hz). Vérifiez toujours la fiche technique du servo ; si non spécifié, la valeur par défaut est 50 Hz.

05Erreurs courantes à éviter

1. Utiliser la mauvaise période: Une période de 20 ms (50 Hz) est standard. L'utilisation de 10 ms (100 Hz) réduira de moitié toutes les valeurs du rapport cyclique, ce qui entraînera des angles incorrects.

2. Erreur de calcul des limites de largeur d'impulsion: N'envoyez jamais de largeurs d'impulsion inférieures à 0,5 ms ou supérieures à 2,5 ms pour les servos standards. Cela peut provoquer une instabilité, une surchauffe ou des dommages mécaniques.

3. Inverser la formule: Le cycle de service est (largeur d'impulsion/période), et non (période/largeur d'impulsion). Cette dernière donnerait une valeur >100% et n'est pas valide.

4. Oublier de convertir les unités: Assurez-vous que la largeur et la période d'impulsion sont dans la même unité (les deux ms ou les deux µs). 20 ms = 20 000 µs.

06Étapes d'action pratiques

1. Vérifiez les spécifications de votre servo– Localisez la fiche technique ou mesurez les largeurs d’impulsion minimales et maximales à l’aide d’un oscilloscope ou d’un servotesteur. Ne supposez pas 0,5 à 2,5 ms sans confirmation.

2. Calculez votre cycle de service cibleen utilisant la formule directe : Duty (%) = 2,5 + (angle souhaité / 18).

3. Implémenter dans le code– Par exemple, en utilisant ArduinoanalogWrite()ouservo.écrire(), mais pour le contrôle PWM de bas niveau, calculez la valeur du registre de comparaison :OCR = (duty_cycle / 100) × timer_top.

4. Test au neutre (90°)d'abord. Si le servo ne se centre pas à un rapport cyclique de 7,5 %, ajustez le décalage dans votre formule.

5. Testez progressivement les angles extrêmes– Commandez 0° et 180° tout en écoutant un décrochage ou un bourdonnement, ce qui indique que les limites de largeur d'impulsion sont dépassées.

07Résumé final

La relation entre l'angle d'asservissement et le rapport cyclique est linéaire et régie par une seule équation :Cycle de service (%) = (largeur d'impulsion en ms / 20) × 100, où largeur d'impulsion = 0,5 + (θ × 2/180). Pour des calculs de champ rapides, utilisezDroit (%) = 2,5 + (θ / 18). Vérifiez toujours la plage d’impulsions spécifique de votre servo avant le déploiement. Appliquez cette formule pour obtenir un positionnement angulaire précis et reproductible dans les systèmes de robotique, d'automatisation et de contrôle.

Heure de mise à jour:2026-04-17

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