L'appareil à gouverner tremble-t-il selon un angle incorrect ? Modulation de largeur d'impulsion Ajustement du signal PWM Secrets_Gear Motor_Industry Insights_Kpower
Maison > Aperçu de l'industrie >Moteur à engrenages
ASSISTANCE TECHNIQUE

L'appareil à gouverner tremble-t-il selon un angle incorrect ? Secrets d'ajustement du signal PWM à modulation de largeur d'impulsion

Publié 2026-03-03

Rencontrez-vous souvent cette situation lorsque vous jouez avecservomoteurs : Vous avez acheté le même modèle, mais quand il tourne, il tremble comme une passoire, ou l'angle est faux ? Après avoir longtemps lutté, j'ai découvert que le problème réside dans le mystérieux signal de modulation de largeur d'impulsion (PWM). Ne vous inquiétez pas, aujourd'hui, nous le comprendrons parfaitement et ferons avancer votre produit de manière constante et précise.

Qu'est-ce qu'un signal PWM exactement ?

En termes simples, PWM est comme une lampe dont l'intensité peut être atténuée. Pour leservomoteur, il contrôle la rotation grâce à des impulsions de niveau haut et bas. Vous pouvez y penser comme si vous ordonniez à une personne de courir : un niveau élevé représente "courir", un niveau bas représente "arrêter" et la durée de "course" détermine la position duservomoteur.

Ce temps « d'exécution » est appelé largeur d'impulsion en termes techniques. Un servo standard reçoit généralement une instruction toutes les 20 millisecondes, et la durée du niveau haut varie entre 0,5 milliseconde et 2,5 millisecondes. La durée de ce temps correspond directement à l'angle de rotation du servo de 0 degrés à 180 degrés.

Ainsi, lorsque vous constatez que le servo n'obéit pas à la commande, c'est probablement parce que le "temps de fonctionnement" qui lui est délivré n'est pas calculé avec précision.

Pourquoi l'angle du servo est-il toujours faux ?

De nombreux amis utilisent directement la sortie PWM de la carte de développement, mais constatent qu'il y a toujours une différence lorsque le servo est tourné à 90 degrés. La raison derrière cela est en fait assez injuste : votre code peut écrire directement « 1 500 microsecondes » pour représenter 90 degrés, mais la puce de contrôle à l’intérieur de chaque servo est légèrement différente.

C'est comme donner à deux personnes l'instruction de « marcher vite ». Une personne l’interprète comme du jogging et l’autre comme de la marche. Le servo lui-même n'a pas de mécanisme de retour pour dire au contrôleur "Je suis en position", il s'exécute simplement à l'aveugle.

La première étape pour résoudre ce problème consiste à confirmer si votre source de signal est stable. Utilisez un oscilloscope pour voir si le temps de sortie réel de haut niveau est exactement le même que celui écrit dans le code. Souvent, quelques dizaines de microsecondes peuvent faire une énorme différence dans les performances du servo.

Comment déterminer rapidement la plage de pouls

Ne vous contentez pas de commencer à écrire du code, faites d’abord une petite expérience. Connectez votre servo, commencez par la largeur d'impulsion minimale (par exemple 500 microsecondes) et augmentez-la progressivement tout en observant la position limite de rotation du servo.

Vous constaterez que dans une certaine plage, le servo ne bouge pas du tout. C'est sa limite mécanique. Continuez à augmenter jusqu'à ce que vous commenciez à tourner, notez cette valeur de départ. Continuez ensuite à augmenter jusqu'à ce que le servo ne tourne plus et enregistrez la valeur finale. Cette plage constitue la véritable plage de travail de votre appareil à gouverner.

La valeur nominale de nombreux servos est de 0,5 ms à 2,5 ms correspondant à 0 à 180 degrés, mais la mesure réelle peut être seulement de 0,6 ms à 2,4 ms. Utilisez les données mesurées réelles pour programmer, afin que votre servo puisse frapper là où vous le souhaitez.

Quel est l’impact de la sélection de fréquence ?

Outre la largeur d’impulsion, la fréquence du PWM est également critique. Pour les servos de loisirs ordinaires, 50 Hz (c'est-à-dire un cycle de 20 millisecondes) est la norme. Mais certains amis utilisent des fréquences plus élevées pour plus de commodité.

Dès que la fréquence augmente, la période se raccourcit. La commande était initialement envoyée toutes les 20 millisecondes, mais elle est désormais envoyée toutes les 10 millisecondes. Le circuit à l'intérieur du servo n'a peut-être pas eu le temps de répondre à la dernière commande, et la commande suivante revient. Le résultat est que le servo essaie toujours de rattraper son retard, ce qui se manifeste par de la chaleur et de la gigue.

️ N'oubliez pas ce principe : à moins que votre servo ne prenne clairement en charge le contrôle à large bande, tenez-vous-en à 50 Hz. Les servos numériques de qualité industrielle peuvent avoir des exigences de taux de rafraîchissement plus élevées, mais cela dépend de la fiche technique spécifique et ne peut pas être tenu pour acquis.

Comment affiner le code pour le rendre fluide

Après avoir déterminé la plage et la fréquence des impulsions, l’étape suivante consiste à programmer. N'écrivez pas la relation linéaire entre l'angle et la largeur d'impulsion et appliquez-la directement. Parce que certains servos sont particulièrement sensibles près du point neutre, mais lents à répondre des deux côtés.

Vous pouvez introduire une fonction de cartographie pour créer un tableau à partir des points d'angle mesurés et de la largeur d'impulsion. Par exemple, 0 degré mesuré correspond à 600 microsecondes, 45 degrés correspondent à 1 200 microsecondes et 90 degrés correspondent à 1 500 microsecondes. Ensuite, dans le code, en fonction de l'angle cible, recherchez le tableau et interpolez pour calculer la largeur d'impulsion réelle.

De cette façon, lorsque vous souhaitez que le bras robotique dessine un cercle, les minuscules rotations de chaque articulation seront très fluides et vous n'aurez pas la sensation de vous précipiter une par une. Bien que le code comporte quelques lignes supplémentaires, la texture du produit est complètement différente.

Comment résoudre les problèmes de gigue et de bruit

Si vous avez fait tout ce qui précède correctement et que le servo tremble toujours, vous devez alors vérifier l'alimentation électrique. Le courant au démarrage du servo est très important. Si votre carte de contrôle et votre servo partagent la même alimentation, les fluctuations de tension interféreront avec la génération PWM du microcontrôleur.

1. Fournissez une alimentation séparée au servo et connectez le fil de terre du signal de commande et le fil de terre de l'alimentation ensemble.

2. Connectez un grand condensateur (au-dessus de 470 uF) en parallèle aux deux extrémités de l'alimentation du servo pour absorber la surtension de démarrage.

3. Vérifiez la longueur du fil de commande PWM. S'il dépasse 30 cm, il est recommandé d'utiliser un fil blindé ou d'ajouter un anneau magnétique pour éviter les interférences.

De plus, le rafraîchissement du signal de commande doit être stable et ne pas utiliser de retard pour générer du PWM dans la boucle, qui peut facilement être interrompu par d'autres interruptions, ce qui rend la largeur d'impulsion longue et courte. L'utilisation du matériel PWM est l'option la plus simple.

Après avoir vu cela, vous devriez avoir une bonne idée de la façon d’utiliser le servo. Si vous souhaitez fabriquer des produits plus cool, la clé est d'ajuster chaque détail du signal PWM pour qu'il soit docile. Quel est le problème le plus gênant que vous ayez rencontré lors du débogage du servo ? Bienvenue à laisser un message dans la zone de commentaires, et nous en discuterons et le résoudrons ensemble. Si vous le trouvez utile, n'oubliez pas de l'aimer et de le partager afin que davantage d'amis puissent dire au revoir aux problèmes des appareils à gouverner.

Heure de mise à jour:2026-03-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
Message WhatsApp
+86 0769 8399 3238
 
kpowerCarte