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

Arduino contrôle l'angle de rotation du servo : évitement des fosses de câblage + didacticiel de code

Publié 2026-03-20

Vous voulez contrôler leservomoteurmais vous n'arrivez toujours pas à le tourner à l'angle souhaité ? Il s’agit d’un obstacle que rencontreront presque tous ceux qui débutent dans l’appareil à gouverner. Ne vous inquiétez pas, j'étais confus au début. Aujourd'hui, je vais vous parler de la façon d'utiliser leservomoteurangle à comprendre.

Comment câbler l'appareil à gouverner

Après avoir obtenu leservomoteur, ne vous précipitez pas pour le brancher sur la carte. Il faut d'abord distinguer les trois fils. Les plus courants sont le rouge, le marron et l'orange. Le rouge est connecté à l'alimentation 5 V, le marron est connecté au fil de terre GND et l'orange est connecté à la broche de signal. Il y a un piège ici pour vous rappeler, veillez à ne pas connecter les fils d'alimentation et de signal à l'envers, sinon le servo ne tournera pas au moins, ou la carte sera brûlée directement.

Afin d'éviter des ennuis, certains amis connectent directement l'alimentation du servo au port 5V. Cette approche ne posera peut-être pas beaucoup de problèmes à court terme sur des petits servos comme le SG90. Cependant, si le servo est remplacé par un servo haute puissance tel que le MG995, la puce du régulateur de tension embarqué ne peut pas supporter une puissance aussi importante.

Le moyen le plus sûr est d'alimenter le servo séparément, il suffit de connecter ensemble le GND du servo et le GND de l'alimentation du servo.

Comment écrire du code de programmation

Le processus de contrôle du servo n'est pas trop simple. La bibliothèque officielle a judicieusement résumé les opérations sous-jacentes. Tout d'abord, vous devez appeler la bibliothèque Servo.h, puis créer un objet servo et utiliser la méthode de la fonction de configuration pour lier la broche. De cette façon, vous pouvez utiliser la méthode write pour écrire directement l’angle. Par exemple, lorsque .write(90) est entré, le servo tournera avec précision jusqu'à la position de 90 degrés.

Le contrôle du servo est facilement implémenté dans la bibliothèque officielle, qui encapsule efficacement les opérations sous-jacentes. Dans l'opération spécifique, appelez d'abord la bibliothèque Servo.h, puis créez un objet servo, liez les broches via la méthode dans la fonction de configuration, puis définissez directement l'angle avec la méthode d'écriture. Tout comme une commande comme .write(90), le servo tournera avec précision jusqu'à la position de 90 degrés.

Cependant, il y a un détail que beaucoup de gens ont tendance à ignorer, à savoir que la vitesse de rotation réelle du servo est déterminée par la vitesse du signal que vous donnez. Si vous écrivez aveuglément et follement des données d'angle dans la boucle, le servo n'aura pas le temps de répondre. L'approche correcte devrait être de donner un délai suffisant ou d'utiliser des fonctions pour un contrôle non bloquant. Lors de l'écriture du code, n'oubliez pas que la plage d'angle est généralement comprise entre 0 et 180. Une fois cette plage dépassée, le servo peut émettre un clic ou même causer des dommages.

Le contrôle de l'angle n'est pas précis

Le code indique clairement 90 degrés, mais le mécanisme de direction est décalé de plus de dix degrés. Ne doutez pas de la vie en ce moment. Le servo lui-même a une zone morte et ne bougera pas dans une largeur d'impulsion de quelques microsecondes. De plus, l’assemblage mécanique a également un impact. Si vous installez le bras de servo de travers, tous les angles seront décalés dans leur ensemble.

La solution n'est pas difficile. Vous pouvez utiliser la fonction de carte pour effectuer l'étalonnage. Mesurez d'abord les positions réelles de 0 degrés et 180 degrés, puis utilisez la carte pour mapper l'angle théorique à la largeur d'impulsion réelle. Si vous souhaitez obtenir une plus grande précision, vous pouvez envisager d'utiliser un servo à rotation continue à 360 degrés avec un encodeur, mais il s'agit d'une méthode avancée. Dans la plupart des projets, un simple calibrage suffit.

Comment contrôler plusieurs servos en même temps

舵机旋转角度的程序_arduino控制舵机旋转角度_arduino旋钮控制舵机

Pour fabriquer un bras robotique ou un robot hexapode, une carte a besoin de plusieurs servos. Si vous utilisez toujours le retard à ce moment-là, vous constaterez que les servos se déplacent en série et que l'un ne bougera pas avant le suivant. Pour obtenir un mouvement synchrone, le calcul de l'angle et le retard doivent être séparés.

La solution la plus pratique consiste à utiliser la méthode d'écriture fournie avec la bibliothèque Servo et à coopérer avec la fonction de gestion du temps. Plus précisément, l'angle cible et le temps cible de chaque servo peuvent être stockés séparément, puis dans la boucle principale, il peut être déterminé si le moment où le servo doit agir est arrivé. De cette façon, tous les servos peuvent commencer à tourner en même temps, donnant un effet visuellement synchronisé.

Uno peut contrôler jusqu'à 12 servos, ce qui est suffisant pour répondre aux besoins de la plupart des projets créatifs.

Que faire si l'alimentation électrique est insuffisante

Lorsque plusieurs servos tournent ensemble, la plus grande crainte est que l'alimentation ne puisse pas suivre. Les symptômes sont évidents : le boîtier de direction est faible, vibre, et redémarre même directement. En effet, le courant au démarrage du servo est très important, dépassant la capacité d'alimentation.

La solution est mise en œuvre en deux étapes. La première consiste à choisir la bonne alimentation. L'adaptateur 5V 2A présente certaines limitations quant au nombre de petits servos qu'il peut piloter. Il ne peut généralement piloter que deux ou trois petits servos. Mais face à ce type d’appareil à gouverner, les besoins en puissance sont plus élevés. Au moins une alimentation à découpage 5V 5A est nécessaire pour répondre à ses besoins de fonctionnement.

La deuxième étape consiste à ajouter un condensateur. L'opération spécifique consiste à connecter un grand condensateur en parallèle entre les pôles positifs et négatifs de l'alimentation du servo, tel que 470 uF ou un condensateur dans cette plage. Cela peut supprimer efficacement la chute de tension instantanée, assurant ainsi le fonctionnement stable de l'appareil à gouverner. Un rappel spécial ici est que vous ne devez pas être paresseux et utiliser uniquement l'alimentation par batterie, car l'utilisation uniquement de l'alimentation par batterie est sujette à divers problèmes, qui peuvent affecter le fonctionnement normal de l'ensemble du système.

Quels servos sont les plus durables ?

Après avoir joué avec plus d'une dizaine de servos, j'ai rencontré pas mal d'embûches. L'engrenage en plastique SG90 est bon marché, mais il balayera facilement les dents avec un peu de force. Le MG995 avec engrenages métalliques est solide et durable, mais nécessite un courant élevé. Il existe également un servo numérique, qui offre une vitesse de réponse rapide et une grande précision, mais qui est également plus cher.

La façon dont vous choisissez dépend des besoins de votre projet. Fabriquez une voiture ou un manipulateur intelligent, qui soit le plus fiable, suffisamment solide et difficile à casser. Si vous construisez un robot à quatre pattes et que vous avez des exigences de poids, vous pouvez envisager de petits servos à dents métalliques de marques comme Huisheng. N'oubliez pas qu'il est bien plus facile de dépenser vingt yuans de plus pour acheter un bon servo que de le démonter et de remplacer des pièces s'il tombe en panne.

Sur quels projets travaillez-vous récemment et quelles fonctions intéressantes comptez-vous utiliser le servo pour réaliser ? Discutons dans la zone de commentaires.

Heure de mise à jour:2026-03-20

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