Publié 2026-02-14
Hé les amis ! Êtes-vous sur le point d'utiliser le signal PWM (Pulse width Modulation) pour contrôler leservomoteur, mais vous avez du mal à sélectionner la minuterie ? Surtout quand vous voyez quelqu'un sur Internet dire « vous devez utiliser un minuteur avancé », cela vous donne-t-il l'impression d'être pressé ? Ne vous inquiétez pas, aujourd'hui nous allons expliquer clairement cette question et je vous garantis que vous comprendrez quoi choisir après l'avoir écouté.
En fait, c’est un énorme malentendu. Le signal PWM requis par leservomoteurest, pour parler franchement, une onde carrée avec une période de 20 ms et un temps de haut niveau variant entre 0,5 ms et 2,5 ms. Cette exigence semble intimidante, mais pour la plupart des minuteries ordinaires, c'est tout simplement un jeu d'enfant.
Si vous y réfléchissez, les minuteries ordinaires sont les meilleures pour la fonction de comparaison de sortie et le mode PWM. Tant qu'il peut générer une onde PWM avec une fréquence de 50 Hz (soit une période de 20 ms) et que le rapport cyclique peut être finement ajusté entre 2,5 % et 12,5 %, c'est tout à fait suffisant. Les minuteries les plus courantes des ordinateurs monopuce sur le marché ont cette capacité.
À ce stade, vous voudrez peut-être vous demander quelle est la signification de l’existence de minuteries avancées ? Ses fonctions impressionnantes, telles que la sortie complémentaire, le contrôle des zones mortes et les fonctions de freinage, sont principalement préparées pour contrôler des équipements complexes tels que des moteurs et des onduleurs.
Par exemple, si vous créez un pilote de moteur sans balais et devez contrôler simultanément les commutateurs de tube MOS des ponts supérieur et inférieur, vous devez alors utiliser les fonctions complémentaires de contrôle de sortie et de zone morte de la minuterie avancée. Et lorsque nous contrôlons le servo, nous n'avons besoin que d'un simple signal PWM, ce qui revient à tuer un poulet avec un couteau, ce qui est totalement inutile.
Puisqu’une minuterie ordinaire suffit, que faut-il regarder lors du choix ? ️ Regardez d'abord la résolution de la minuterie, qui est la précision minimale de réglage du rapport cyclique qu'elle peut atteindre. Pour le servo, une précision de contrôle de 0,5° nécessite une résolution temporelle d'environ 20 microsecondes, ce qui peut être facilement atteint par la plupart des timers 16 bits.
️ Deuxièmement, regardez le nombre de minuteries. Parfois, vous devrez peut-être contrôler plusieurs servos dans un projet. Vous ne pouvez pas les laisser tous utiliser différents canaux de la même minuterie, n'est-ce pas ? Vous devez compter à l'avance le nombre de minuteries communes disponibles sur le tableau pour éviter d'en manquer plus tard.
Les principaux modèles sur le marché incluent désormais STM32, GD32 et ESP32, mais leurs situations ne sont pas les mêmes. En prenant comme exemple la série la plus couramment utilisée, ses minuteries avancées sont TIM1 et TIM8, et ses minuteries ordinaires sont TIM2, TIM3, TIM4 et TIM5. Ce n’est pas un problème d’utiliser ces derniers pour contrôler les servos.
Si vous utilisez l'ESP32, chacune de ses minuteries peut être configurée de manière flexible, et il existe également un module LEDC (contrôle LED) dédié, qui est essentiellement un puissant générateur PWM. Ainsi, que vous développiez à l'aide d'IDE ou d'ESP-IDF (Internet of Things Development Framework), vous pouvez piloter le servo en trouvant simplement un canal de minuterie.
La connexion matérielle est très simple. Connectez simplement la ligne de signal du servo directement à la broche de sortie PWM du microcontrôleur. Faites attention à la masse commune, c'est-à-dire connectez le GND (fil de terre) des deux ensemble. En termes d'alimentation électrique, les petits servos peuvent utiliser directement le 5 V de la carte de développement, et les grands servos sont mieux alimentés séparément.
La clé de la configuration du code est de régler la période de minuterie sur 20 ms, puis de calculer la valeur de comparaison correspondante en fonction de l'angle de servo souhaité. Par exemple, 0° correspond à un niveau haut de 0,5 ms et la valeur de comparaison est de 2,5 % de la valeur du compteur de minuterie. Ceux-ci ont des fonctions prêtes à l'emploi dans la bibliothèque standard ou la bibliothèque HAL (Hardware Abstraction Layer Library), il suffit de suivre les routines et de les modifier.
J'ai vu de nombreux amis tomber sur ce problème. Le piège le plus courant est d’oublier de vérifier la fréquence d’horloge du minuteur, ce qui entraîne des valeurs de comparaison calculées inexactes. Par exemple, l'horloge de votre minuterie est de 72 MHz et la fréquence du compteur après pré-échelle est de 1 MHz. Ce compte est de 1 microseconde. Si vous souhaitez un niveau élevé de 1,5 ms, définissez la valeur de comparaison sur 1 500. C'est facile à calculer.
Un autre écueil est le conflit de broches PWM. Les broches de canal de certains temporisateurs peuvent être occupées par d'autres périphériques ou peuvent ne pas être épinglées sur la carte. Ainsi, avant de choisir une minuterie, il est préférable de consulter le schéma et de vous assurer que les broches que vous envisagez d'utiliser sont libres.
Après avoir lu ceci, avez-vous déjà une idée ? Pour la nécessité de piloter le servo, la minuterie ordinaire est largement suffisante. Il n’est pas nécessaire de surveiller la minuterie avancée. Bien entendu, pour décider quelle puce choisir et quelle minuterie utiliser, il est préférable de télécharger la fiche technique et les notes d'application sur le site officiel de l'entreprise correspondante et d'y regarder de plus près. Au fait, quel type de microcontrôleur utilisez-vous actuellement et combien de servos comptez-vous contrôler ? N'hésitez pas à laisser un message dans la zone de commentaires pour partager votre projet, et communiquons et avançons ensemble ! Si vous trouvez cet article utile, n’oubliez pas de l’aimer et de le partager avec d’autres amis qui en ont besoin.
Heure de mise à jour:2026-02-14
Contactez le spécialiste des produits Kpower pour recommander un moteur ou une boîte de vitesses adapté à votre produit.