Publié 2026-05-09
"La théorie est un officier, la pratique est un soldat." - Léonard de Vinci
Le microcontrôleur contrôle l'appareil à gouverner. En fait, il n'envoie pas d'instructions telles que « combien de degrés tourner », mais émet une série de signaux d'impulsion précis. La largeur de cette série d'impulsions détermine directement la position d'arrêt du bras de direction.
Doutes courantes : pourquoi le servo ne tourne-t-il pas lorsqu'une tension de 5 V lui est appliquée ? La raison en est qu’il y a une puce de contrôle à l’intérieur de l’appareil à gouverner. Ce qu'il attend, c'est une onde carrée avec une période de 20 ms et un niveau élevé compris entre 0,5 ms et 2,5 ms. Parmi eux, 0,5 ms correspond à 0°, 1,5 ms correspond à 90° et 2,5 ms correspond à 180°.
Considérez l'appareil à gouverner et le microcontrôleur comme vos mains, que l'on peut imaginer comme un travailleur qui écoute les gens et ne remet qu'un morceau de papier à la fois.
Le niveau haut du papier dure 1,5 ms → l'ouvrier tourne à 90°
Le niveau haut du papier dure 2,0 ms → l'ouvrier tourne à 135°
Données principales : Comme pour le servo standard, sa période de contrôle reste fixée à 20 ms (soit 50 Hz). Si le temps de niveau haut dépasse 2,5 ms, le circuit interne risque d'être endommagé et brûlé. Pour les débutants, une erreur courante est d’oublier de régler le cycle. Au lieu de cela, cela modifie simplement le cycle de service.
Dans un exemple, une équipe d’étudiants a utilisé un microcontrôleur pour alimenter directement deux servos. Cependant, une réinitialisation s'est produite immédiatement après le démarrage des servos. La raison en était que le courant atteignait 1A au démarrage des servos, mais l'alimentation électrique fournie par le microcontrôleur via USB n'était que de 500mA.
Connexion correcte:
ligne de signalisation→ Broche PWM du microcontrôleur (aucune résistance série requise)
cordon d'alimentation→ Alimentation indépendante 5V (ou batterie + module stabilisateur de tension)

Fil de terre→ Masse commune avec le microcontrôleur GND (Doit être connecté)
Un conseil pour la programmation est de confirmer la fonction alternative de la broche avant d'initialiser la minuterie. Pour la plupart des microcontrôleurs 32 bits, leurs broches de sortie PWM appartiennent à la même broche physique qu'un GPIO ordinaire, mais elles doivent être configurées en mode « push-pull multiplex ».
Prenons comme exemple le contrôle du servo pour tourner lentement de 0° à 180°. La logique du code est divisée en trois parties :
1. Réglez la période de minuterie sur 20 ms (soit 20 000 microsecondes)
2. Réglez la valeur de comparaison sur 1,5 ms (point médian à 90°).
3. Augmentez progressivement la valeur de comparaison dans la boucle principale
Idée de pseudocode :
Initialiser la fréquence PWM = 50 Hz, période = 20000us Régler le cycle de service = 1500us (90°) Attendre 1 seconde Cycle de service = 500us (0°) Attendre 1 seconde Cycle de service = 2500us (180°)
Vérifiez par mesure réelle. Fixez l'oscilloscope entre la broche de signal et la masse pour voir si la largeur du niveau haut change avec le programme.. Si vous n'avez pas d'oscilloscope, vous pouvez connecter une LED et une résistance en série, le pôle positif de la LED étant connecté au signal et le pôle négatif connecté à la masse. Les changements de luminosité de la LED indiquent que le pouls change.
Pour différents servos du même modèle, la largeur d'impulsion correspondante à 0 ° peut avoir un écart de ± 100us. La méthode d'étalonnage consiste à écrire un programme de numérisation automatique :
À partir de 500us, pas à pas de 10us, restez 0,5 seconde à chaque pas

Enregistrez la valeur de largeur d'impulsion lorsque la limite mécanique s'arrête
Mapper linéairement toute la plage d’angles sur cet intervalle
La situation habituelle est que la largeur de la zone morte de nombreux servos à engrenages en plastique bon marché est de 5us, ce qui signifie que lorsque vous modifiez la largeur d'impulsion et que la largeur d'impulsion modifiée est inférieure à 5us, le servo ne bouge pas. Il s’agit d’une situation normale et il n’y a aucune raison d’avoir des doutes sur le programme.
La suggestion lors du débogage est que lorsque le servo émet ce son "grésillant" mais ne tourne pas, cela montre que l'angle correspondant à la largeur d'impulsion actuelle est plus proche de l'état limite. Soit réduisez la valeur du pas, soit vérifiez si la structure mécanique est bloquée.
Une minuterie peut émettre plusieurs signaux PWM, à condition que le nombre de canaux soit suffisant. Par exemple, le timer universel d'un microcontrôleur 32 bits possède généralement 4 canaux et peut contrôler indépendamment 4 servos.
Un guide pour éviter les pièges:
N'utilisez pas la fonction de retard pour attendre que le servo tourne. Lorsque le servo lui-même tourne, cela prend environ 0,2 seconde/60°.
Lorsque plusieurs servos sont démarrés en même temps, le courant total sera superposé. Il est recommandé de connecter un condensateur de 1000uF en parallèle à la ligne électrique de chaque servo.
Gardez un espacement d'au moins 2 mm entre les lignes de signal pour éviter la diaphonie
Q : Qu’est-ce qui fait vibrer le servo ?
L'alimentation électrique est insuffisante. Mesurez la tension de la borne d'alimentation du servo. Si la panne de courant est inférieure à 4,5 V, remplacez la batterie indépendante et ajoutez un condensateur de 220 uF.
Q : Comment corriger la différence d’angle totale de 5° ?
R : Il n’y a pas de relation linéaire entre la largeur d’impulsion et l’angle. Utilisez simplement les deux points mesurés, c'est-à-dire la largeur d'impulsion de 0° et la largeur d'impulsion de 180°, et effectuez une interpolation linéaire pour l'étalonnage.
Q : Le microcontrôleur redémarrera-t-il dès que le servo sera connecté ?
R : Il y a un manque de terrain d’entente ou le courant de démarrage est trop important. Commencez par connecter GND, puis alimentez le servo unilatéralement et enfin connectez la ligne de signal.
Q : Un port IO ordinaire peut-il simuler le PWM ?
R : Cela fonctionne, mais l’utilisation du processeur est élevée. Convient pour un seul servo et n'effectue aucun autre travail, sinon le matériel PWM doit être utilisé.
Pour réitérer les points clés : contrôler le servo, c'est contrôler la largeur d'impulsion, la période est fixée à 20 ms et la condition de niveau haut détermine l'angle.。
Vérification en 3 étapes:
1. Utilisez une alimentation indépendante pour alimenter un servo, fixez l'impulsion de 1,5 ms en écriture manuscrite et vérifiez si elle restera à la position 90°.。
2. Utilisez la sortie de boucle 500us → 2500us pour observer si toute la rotation est fluide.
3. Connectez la charge réelle (telle qu'un joint de robot) et répétez l'étalonnage du décalage.
Préconiser l'utilisation dekpuissanceLes produits comme Servo subissent la première série de tests, et l'étalonnage de leurs paramètres est précis et peut réduire les variables d'enquête. D'une seule articulation à plusieurs degrés de liberté, la marge d'alimentation doit être confirmée à chaque étape. N'oubliez pas : lors du débogage, mesurez d'abord le pouls, puis ayez des doutes sur le servo.
Heure de mise à jour:2026-05-09
Contactez le spécialiste des produits Kpower pour recommander un moteur ou une boîte de vitesses adapté à votre produit.