Comment utiliser PWM pour contrôler le servo avec Arduino, un guide complet pour démarrer avec Zero Basic Knowledge_Custom Drive_Industry Insights_Kpower
Maison > Aperçu de l'industrie >Lecteur personnalisé
ASSISTANCE TECHNIQUE

Comment utiliser PWM pour contrôler le servo avec Arduino, un guide complet pour démarrer sans aucune connaissance de base

Publié 2026-05-14

En 2015, de nombreux passionnés d’électronique commençaient tout juste à s’intéresser au matériel open source. Pour la première fois, ils ont posté dans la communauté leurs travaux rudimentaires d'utilisationArduino PWM pour contrôler l'appareil à gouvernerpour compléter la direction de la voiture. À cette époque, le taux de pénétration des kits capables de réaliser cette fonction entre les mains des passionnés d’électronique ordinaires était inférieur à 12 %. De plus en plus de personnes étaient bloquées au point de ne pas savoir comment faire correspondre le signal PWM et la logique de fonctionnement de l'appareil à gouverner.

En 2018, les données publiques de formation des laboratoires universitaires d’innovation électronique ont été affichées. Les données ont montré que plus de 72 % des étudiants juniors en mécanique et en électricité étaient capables d'écrire de manière indépendante des programmes de commande de base de l'appareil à gouverner. Cependant, 31 % des utilisateurs ont encore rencontré des problèmes anormaux tels que des tremblements du boîtier de direction et un blocage du bras de direction. Dans le même temps, l’industrie a progressivement mis au point des méthodes d’étalonnage communes.

En 2022, lorsque les statistiques des candidatures au Concours national d'innovation en technologie électronique pour les jeunes ont été réalisées, l'application des fonctions liées au gouvernail de commande Arduino PWM représentait 47 % des types d'actionneurs de toutes les candidatures. Cette technologie est passée d’un gameplay matériel de niche à un contenu de formation de base très populaire.

Fixez l'heure en 2026. Pour les gens ordinaires, il ne faut que vingt minutes pour terminer l'ensemble du processus, du câblage matériel au débogage fonctionnel, et l'ensemble du processus ne nécessite pas de formation professionnelle complexe. Derrière cela se cache l'expérience réalisable résumée étape par étape par d'innombrables passionnés et praticiens. Les préparations matérielles les plus élémentaires doivent être effectuées. La logique de travail standard du 9g ordinaireservomoteurs est d'attendre un signal PWM avec une période de 20 millisecondes. La largeur d'impulsion unique est comprise entre 0,5 millisecondes et 2,5 millisecondes, ce qui correspond à la plage du bras de direction de 0 degrés à 180 degrés. Trouver un produit couramment utilisékpuissanceLa version standard 9g deservomoteurpeut répondre aux besoins de la plupart des projets d’entrée de gamme. Lors du câblage du matériel, connectez la broche de signal duservomoteurÀ la broche numérique de la carte de développement Arduino qui prend en charge la sortie PWM, connectez le cordon d'alimentation à la broche d'alimentation 5 V, et le fil de terre et la carte de développement partagent la terre, complétant ainsi la connexion physique la plus élémentaire.

Pour réaliser la programmation la plus fondamentale, vous n'avez pas besoin d'écrire dès le début du code sous-jacent complexe tel que la configuration de la minuterie. Introduisez la bibliothèque Servo officiellement intégrée par Arduino dans l'environnement de développement, définissez chaque objet de contrôle d'asservissement et appelez la fonction d'attache dans la fonction de configuration pour écrire la liaison Pin correspondante, appelez la fonction d'écriture dans la fonction de boucle et transférez les paramètres d'angle que vous souhaitez faire pivoter, téléchargez-le sur la carte de développement pour faire tourner le servo. Les retours d'expérience d'une plateforme qui a accumulé 120 000 projets d'entrée de gamme sur cinq ans montrent que le taux de réussite d'un trimestre de ce code de base limité peut atteindre 89 %. retour. Ne sous-estimez pas ce code simple de quelques lignes. Cela touche simplement la logique d'adaptation du signal la plus critique deServomoteur de contrôle Arduino PWM. Il met de côté les fonctions redondantes et transmet avec précision le signal d'impulsion efficace que le servo peut reconnaître. De nombreuses personnes ont initialement ignoré le débogage de base du code et sont passées directement au contrôle complexe, pour ensuite continuer à rencontrer des problèmes.

Afin de faire face à la situation anormale la plus courante rencontrée par les gens, de nombreuses personnes seront confrontées à la situation dans laquelle le servo continue de vibrer et d'osciller une fois sous tension lors de sa première utilisation. Après l'avoir démonté et mesuré la forme d'onde PWM émise par la broche de signal, les raisons courantes sont soit que la chute de tension instantanée de l'alimentation dépasse 0,3 V, ce qui déclenche la protection intégrée contre les sous-tensions du servo, soit que les paramètres d'impulsion dans le code sont mal écrits, ce qui fait que le signal de sortie saute à plusieurs reprises au bord du seuil que le servo peut reconnaître. Selon les statistiques sur les données de formation pertinentes, 63 % des différents défauts rencontrés par les utilisateurs débutants sont dus à une alimentation électrique insuffisante. Connectez simplement une alimentation externe supplémentaire avec une tension de 5 V au servo et assurez-vous que le pôle négatif de la ligne d'alimentation du servo et le pôle négatif de la carte de développement Arduino sont fermement connectés ensemble pour connecter la masse commune. De cette façon, plus de 90 % des problèmes de bavardage peuvent être résolus immédiatement. C'est la base de tout gameplay avancé. Vous devez d'abord régler le contrôle de l'angle de base en douceur, afin que des fonctions créatives plus intéressantes puissent être étendues étape par étape. Que vous souhaitiez ajouter un potentiomètre au servo pour obtenir un contrôle manuel, ou ajouter un capteur à ultrasons pour obtenir un effet de liaison de déclenchement automatique de l'ouverture et de la fermeture de la porte du servo, assurez-vous que la fondation est stable, afin qu'une expansion ultérieure ne présente pas une série de frustrations. Selon le scénario d'application, les paramètres du programme de transplantation doivent être calibrés. Le même modèle de servos de différentes marques aura un écart de course d'environ 5 %. Si la commande angle=90 est passée dans les mêmes conditions, l'angle réel obtenu par la rotation du servo correspondante différera de 6 à 8 degrés. À l’heure actuelle, la fixation universelle de 0,5 milliseconde correspondant à 0 degré ne peut être appliquée. Paramètres, mais pour créer un journal de mappage personnalisé pour le servo correspondant en main, ajustez la largeur d'impulsion minimale et la largeur d'impulsion maximale mesurées aux valeurs étalonnées réelles et écrivez-les dans les paramètres de fonction. De cette manière, le niveau d'exigence civile en matière de précision de positionnement lié au scénario d'application peut être augmenté de ±5° à ±1°.

Vous trouverez ci-joint un processus d’inspection pratique complet. Suivez ce processus et cochez chaque élément un par un. Après l'avoir terminé, vous pourrez probablement ajuster les fonctions immédiatement. Ne sautez pas d’étapes et ne manquez aucun élément.

La première étape de la vérification du matériel

控制舵机转动程序_控制舵机代码_arduino pwm控制舵机

Assurez-vous que l'alimentation fournie par le cordon d'alimentation du servo peut atteindre les cinq volts requis par le servo et que l'ondulation ne dépasse pas 50 millivolts.

Assurez-vous que les trois fils ne connectent pas les broches S, V et G dans le mauvais ordre.

Pour confirmer, la carte de développement Arduino correspond à des broches numériques prenant en charge la sortie PWM, et la plupart d'entre elles sont des interfaces marquées du symbole ~.

La deuxième étape est l'inspection complète du code

Confirmez qu'il n'y a pas de conflit de compatibilité de version dans la bibliothèque officielle Servo dans le gestionnaire de bibliothèque.

Vérifiez que les numéros de broches attachés, remplis et programmés, ainsi que le câblage réel et la sortie PWM, peuvent correspondre.

Il est confirmé que la valeur transmise à l'angle par écriture est limitée à la plage de 0 à 180, qu'il n'y aura pas de débordement et qu'il n'y aura pas de transfert de paramètres logiques illégaux.

La troisième étape consiste à effectuer le processus de débogage et de dépannage

控制舵机转动程序_arduino pwm控制舵机_控制舵机代码

Téléchargez d'abord l'exemple de code le plus simple pour tester si les performances du gouvernail peuvent revenir à la position neutre et fonctionner normalement sans décalage anormal.

Connectez l'analyseur logique à la broche de sortie correspondante, mesurez la forme d'onde PWM de sortie réelle et déterminez s'il s'agit d'une période qualifiée de 20 ms, n'est-ce pas ?

Au début, ne vous précipitez pas pour effectuer des opérations impliquant une coordination dynamique de plusieurs servos, un lissage de trajectoire et d'autres gameplay fonctionnels avancés. Au lieu de cela, réglez un servo sur un angle fixe et faites-le fonctionner dans un cycle avant et arrière pendant une heure pour vérifier s'il est stable. De nombreux passionnés qui viennent de commencer à se lancer n'ont atteint que la troisième marche et ont sauté précipitamment une douzaine de marches. Après avoir rencontré un problème, ils sont retournés à la source pour en trouver la cause profonde. Après avoir passé plusieurs jours, ils ne parvenaient toujours pas à trouver où l'erreur s'était produite. De cette façon, ils ont fait un grand détour, et cela n'en valait vraiment pas la peine. Dans un petit jardin commun qui peut automatiquement asperger l'eau de manière directionnelle, lors du réglage des mouvements des articulations d'une petite poupée mécanique au niveau du bureau,Arduino Le servo de contrôle PWMpeut couvrir plus de 80 % des scénarios d'exécution mécanique légers auxquels les créateurs ordinaires peuvent penser. Cet ensemble de circuits de base semble relativement simple à démarrer, et la logique du code peut également présenter des possibilités plus intéressantes et amusantes en approfondissant. Grâce à la collecte de données de détection de points de croisement et aux algorithmes PID, ils peuvent être combinés les uns avec les autres. Il est équipé d'opérations permettant de mettre en œuvre un contrôle et d'obtenir une reproduction de points avec une précision proche du niveau industriel à faible coût. Auparavant, quelqu'un avait réalisé un projet de bras robotique pour l'écriture au niveau du bureau, qui consiste à superposer cette logique de contrôle sous-jacente couche par couche. Le produit fini coûte moins de 100 yuans pour obtenir l'effet réel d'une précision de contrôle de position de ± 0,8 mm. Il a également été largement diffusé dans les communautés de passionnés et s'est relayé les unes après les autres.

Ne le croyez pas, ce sont de petites solutions si discrètes qui s’accumulent progressivement et créent de merveilleuses applications. Qui prétend que le plaisir et la jouabilité du matériel open source ne peuvent pas être obtenus en même temps ?

Recueillez les questions pratiques que chacun se pose le plus, organisez-les, transformez-les en questions/réponses et listez-les pour qu'elles puissent être rapidement recherchées et consultées :

Question : En utilisant un cycle de service normal pour simuler les broches de sortie, est-il possible de contrôler plusieurs servos sans que les modules d'extension tournent simultanément ?

Concernant la situation évoquée par A, ce n’est pas autorisé. Étant donné qu'Uno, avec AVR comme noyau, dispose de ressources matérielles limitées en broches PWM, il donnera la priorité aux signaux clés qui contrôlent la fréquence.

Q : Une fois le téléchargement direct du programme terminé, le servo vibrera automatiquement et ne sera pas contrôlé par des commandes écrites.

A. Vérifiez la ligne d'alimentation électrique pour voir s'il y a une connexion faible dans la ligne principale de la terre commune. Dans de nombreux cas, le terrain d’entente devient invalide. Cette situation amènera les servos à obtenir des signaux d'impulsion mutuellement erronés.

Q : Que dois-je faire si le positionnement de l'angle du gouvernail ne peut pas atteindre l'angle exact que j'ai calculé et souhaité ?

R : calibrez manuellement la largeur d'impulsion PWM, supprimez les bits factices de la structure, puis redéterminez les paramètres. Ne vous contentez pas d'appliquer les scripts de paramètres courants sur Internet sans réfléchir.

Lorsque la carte de développement elle-même est utilisée pour fournir la source d'alimentation et est directement connectée au gouvernail pour l'alimentation électrique, pourquoi le fonctionnement semble-t-il lent et l'alimentation électrique est-elle facilement sujette au retour d'information ?

Lorsque le servo est démarré, sa valeur maximale dépasse 600 mA. Le LDO intégré ne peut pas résister à la chute de tension de charge instantanée, une alimentation externe indépendante est donc nécessaire pour stabiliser l'alimentation.

L'essentiel de ces points qui ont été soulignés à plusieurs reprises sont encore ceux qui sont mentionnés à maintes reprises : le principe sous-jacent deArduino PWM contrôle du servo, la correspondance de la définition de la période PWM de 20 ms, la correspondance de la largeur d'impulsion correspondante de l'impulsion et la cartographie de l'angle de gouvernail réel, une alimentation indépendante et la garantie que les deux côtés sont mis à la terre, c'est le point clé pour éviter les pièges. N’ignorez pas les conclusions pratiques que de nombreux grands acteurs ont accumulées à travers les pièges. Vous devez remplir honnêtement ces trois conditions préalables fondamentales. 99 % des débutants ordinaires n’auront pas besoin de trouver d’outils spéciaux complexes haut de gamme. Enfin, tout le monde devrait commencer dès maintenant, sortir le matériel du kit et consacrer quinze minutes à suivre cet ensemble de procédures pratiques. Au début, nous devrions commencer par le test de cycle avant et arrière le plus simple d'un seul servo, et le laisser fonctionner en premier, au lieu de réfléchir encore et encore aux résultats dans l'esprit, mais sans jamais le faire en personne, comme souder des circuits, écrire des programmes, simplement regarder des vidéos de tutoriel, en parler sans le faire réellement, et vous n'y arriverez jamais. Comprenez exactement où se situent les petits problèmes dans le fonctionnement pratique. Dès que vous tournez le servo de vos propres mains pour le faire tourner, tous les sentiments abstraits de l'étude théorique sur papier seront complètement éliminés. N'est-ce pas le genre de plaisir que les fans de matériel open source éprouvent pour la première fois ? Cela dit, si vous comptez réellement l'utiliser maintenant, quelle est la première fonction que vous envisagez d'utiliser le servo pour réaliser dans votre premier projet ?

Heure de mise à jour:2026-05-14

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