Publié 2026-03-06
Comprendre comment faire pivoter leservomoteur90 degrés n’est en réalité pas aussi difficile qu’on le pense
De nombreux amis ne peuvent éviter le petit truc de l'appareil à gouverner lorsqu'ils innovent en matière de produits, en particulier lorsqu'ils travaillent sur des robots, des maisons intelligentes ou des modèles réduits. Mais quand j'ai commencé, je voulais leservomoteurtourner à 90 degrés, mais j'ai trouvé que ce n'était pas si obéissant. Soit l'angle est incorrect, soit il continue de trembler, voire même de griller. En fait, la clé pour réaliser leservomoteurfaire pivoter 90 degrés avec précision, c'est comprendre son tempérament et choisir la bonne méthode. N’y pensez pas trop compliqué, parlons-en en profondeur aujourd’hui.
Si vous voulez que le servo tourne à 90 degrés, vous devez d’abord comprendre comment il vous écoute. Il y a un potentiomètre à l'intérieur du servo ordinaire. C'est comme un petit contrôleur de feedback, qui dit au tableau de contrôle « vers où dois-je me tourner maintenant » en temps réel. Le signal que vous lui envoyez lui dit en fait « Hé, déplacez-vous vers cette position ». Ce signal est généralement une onde PWM, qui est un signal de modulation de largeur d'impulsion. En termes simples, il indique au servo l'angle cible en modifiant la durée d'un niveau élevé.
Pour les servos standards, ce temps de haut niveau est généralement compris entre 0,5 milliseconde et 2,5 millisecondes, correspondant à 0 degré à 180 degrés. Ainsi, pour le faire tourner à 90 degrés, vous devez déterminer la valeur moyenne, comme un signal de haut niveau d'environ 1,5 millisecondes. Bien entendu, la plage de largeur d'impulsion des différentes marques de servos peut être légèrement différente. Le moyen le plus sûr est de consulter le manuel technique des servos, vous devez trouver les largeurs d'impulsion spécifiques correspondant à 0 degrés et 180 degrés, puis prendre une valeur moyenne, pour que les angles soient presque les mêmes.
Dans votre projet, vous pouvez contrôler avec précision le servo pour qu'il tourne à 90 degrés, non seulement pour montrer vos compétences, mais aussi parce que les avantages qu'il apporte sont réels. La chose la plus évidente est que les mouvements sont nets et nets. Par exemple, si vous fabriquez un bras robotique, vous en aurez besoin pour ramasser quelque chose du point A et le placer au point B, en le tournant de 90 degrés au milieu. Si l'angle n'est pas correct, soit il manquera le point, soit il le déplacera. Des angles précis signifient que lorsque votre structure mécanique exécute des tâches, elle présente une répétabilité élevée et des mouvements fluides, ce qui lui donne un aspect « professionnel ».
De plus, un contrôle précis peut également prolonger la durée de vie de l'appareil à gouverner. Si vous y réfléchissez, si chaque commande fait retenir le servo à cet angle inexact, le moteur sera toujours dans un état bloqué ou corrigé, générant une chaleur élevée, un courant élevé et une usure rapide des engrenages. Lorsque vous parvenez à le positionner avec précision, il peut immédiatement se détendre et maintenir sa position. De cette façon, le servo peut fonctionner facilement et naturellement être plus durable, et la fiabilité de votre produit augmentera également.
Le calcul de cette largeur d'impulsion est en fait très simple, traitons-le comme un problème mathématique. Comme mentionné tout à l'heure, la plage de largeur d'impulsion de la plupart des servos est de 0,5 ms à 2,5 ms, correspondant à 0° à 180°. Cette durée est de 2 ms (2,5-0,5), correspondant à un changement de 180 degrés. Ensuite, le changement de largeur d'impulsion correspondant à chaque degré est de 2 ms divisé par 180°, ce qui est approximativement égal à 0,011 ms, soit 11 microsecondes.
Par conséquent, la largeur d'impulsion correspondant à 90 degrés commence à 0,5 ms (0 degré), plus 90 fois 11 microsecondes. 90 multiplié par 0,011 ms équivaut à 0,99 ms, plus 0,5 ms, le résultat est d'environ 1,49 ms. Lorsque vous travaillez réellement, cela change linéairement de 0,5 ms à 2,5 ms. Remplissez simplement la valeur de 1,49 ms dans votre code de contrôle. Si la plage de votre servo est différente, par exemple, 0 degré correspond à 0,6 ms et 180 degrés correspond à 2,4 ms, utilisez la même formule et recalculez pour vous assurer que ce n'est pas faux.
Écrire du code pour contrôler le servo pour qu'il tourne à 90 degrés est désormais très pratique, surtout lorsqu'on utilise ce type de plate-forme. Si vous utilisez le servo SG90 le plus courant, vous pouvez appeler directement la bibliothèque de servos intégrée et le faire avec seulement quelques lignes de code. Le noyau est.écrire(90);cette phrase, la fonction de bibliothèque vous aidera automatiquement à convertir 90 degrés en signal de largeur d'impulsion correspondant et à l'envoyer.
Mais si vous souhaitez le contrôler plus finement, vous pouvez également utiliser la sortie PWM. Par exemple, si vous utilisez ESP32 ou STM32, vous pouvez définir vous-même la fréquence PWM et le rapport cyclique. En supposant que la période PWM est de 20 ms (fréquence 50 Hz), alors 90 degrés correspondent à un niveau élevé de 1,5 ms et le rapport cyclique est de 1,5/20 = 7,5 %. Si vous réglez directement le cycle de service PWM à 7,5 % dans le code, le servo tournera à environ 90 degrés. L'avantage de l'écrire vous-même est que vous avez une compréhension plus profonde et que vous pouvez ajuster de manière flexible la plage de largeur d'impulsion pour vous adapter à divers servos non standard.
De nombreux novices sont confrontés à ce problème : dès qu'un signal est donné, le servo rebondit avec un "swish", qui fait peur et a tendance à trembler. Si vous voulez que le servo tourne à 90 degrés lentement et régulièrement, le secret est « l'exécution par étapes » et « l'ajout d'un délai ». Vous ne pouvez pas lancer directement l'angle cible de 0 à 90, mais en boucle, laissez l'angle augmenter petit à petit, par exemple, augmentez-le de 1 degré à chaque fois, puis ajoutez un délai de 10 millisecondes à 20 millisecondes.
De cette façon, le servo se déplacera en douceur, pas à pas, en fonction des pas que vous avez définis, sans aucune brusquerie. Les problèmes de gigue sont principalement causés par une alimentation électrique insuffisante ou par des interférences de signal. ️Lepremier pasest de vérifier votre alimentation. Lorsque le servo fonctionne, le courant est très élevé. Ne partagez pas le même courant faible avec le circuit de commande. Il est préférable de fournir l’électricité séparément et de partager le sol. ️Lela deuxième étape estpour que la ligne de signal soit aussi courte que possible. Si cela doit être long, vous pouvez utiliser un anneau magnétique ou un petit condensateur sur la ligne de signal vers la terre pour filtrer les interférences haute fréquence.
Il est évidemment calculé à 1,5 ms, mais quand je me retourne et regarde, il fait 5 degrés. C'est une chose courante. Pas de panique, l'erreur vient principalement de deux aspects : la différence de retour mécanique du boîtier de direction lui-même et l'imprécision du signal de commande. La différence de retour mécanique est causée par le jeu des engrenages. Lors d'un virage depuis la direction A et d'un virage depuis la direction B, la position d'arrêt finale sera légèrement différente. La solution est de faire en sorte que le servo atteigne l'angle cible dans la même direction à chaque fois pendant la programmation. Par exemple, laissez-le tourner légèrement plus petit que la cible à chaque fois, puis tournez-le vers la cible pour éliminer l'écart.
Le signal n'est pas précis car la largeur d'impulsion PWM générée par votre carte de contrôle n'est pas si précise. Par exemple, si vous souhaitez émettre 1,5 ms, la sortie réelle mesurée n'est que de 1,48 ms. Cela nécessite que vous fassiez des ajustements précis dans le code, c'est-à-dire un calibrage. Vous pouvez écrire un programme pour faire tourner le servo aux 90 degrés théoriques, puis utiliser une règle pour mesurer l'angle de déviation réel du bras, puis corriger la valeur de votre largeur d'impulsion dans la direction opposée. Essayez plusieurs fois de trouver la valeur de largeur d'impulsion qui rend réellement le bras rotatif perpendiculaire au boîtier du gouvernail. Écrivez-le dans votre code pour qu'il soit mémorisé à l'avenir.
D'accord, nous avons beaucoup parlé de tourner le servo à 90 degrés. Des principes aux codes, en passant par l'ajustement de la vitesse et l'élimination des erreurs, ce sont en fait de petites compétences que vous pouvez maîtriser en les essayant. Je ne sais pas quel problème avec le servo vous gêne le plus lorsque vous travaillez sur votre propre petit projet ? Est-ce une gigue, une faiblesse ou l'angle ne peut pas être ajusté avec précision ? Bienvenue pour discuter de votre expérience dans la zone de commentaires, et n'oubliez pas de liker et de la partager avec vos amis qui jouent également avec des servos, afin que nous puissions communiquer et progresser ensemble !
Heure de mise à jour:2026-03-06
Contactez le spécialiste des produits Kpower pour recommander un moteur ou une boîte de vitesses adapté à votre produit.