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

Tutoriel de câblage et de programmation des servos STM32, simple et facile à comprendre

Publié 2026-03-21

Comment connecter leservomoteurvers STM32

Avez-vous déjà rencontré cette situation ? Quand tu as acheté unservomoteur, vous étiez confus lorsque vous regardiez les trois fils et ne saviez pas quelle broche brancher sur la carte STM32 ? Ne vous inquiétez pas, c'est très simple. Parmi les trois fils duservomoteur, le rouge est le pôle positif de l'alimentation, qui est connecté à 5 V ou 3,3 V (selon le modèle de servo), le marron ou noir est le fil de terre, qui est connecté à GND, et l'orange est le fil de signal, qui doit être connecté aux broches du STM32 qui prennent en charge la sortie PWM, telles que les canaux de minuterie tels que PA0 et PA1.

Il y a un petit détail auquel vous devez faire attention lors de la connexion. Assurez-vous de ne pas confondre le câble de signal et le câble d'alimentation. J'ai vu plusieurs amis brûler le servo directement à cause d'un mauvais câble. Si votre carte de développement STM32 est alimentée en 3,3 V et que le servo nécessite 5 V, vous devez alors fournir une alimentation 5 V au servo séparément. La ligne de signal peut être directement connectée à la broche STM32, car la plupart des servos peuvent également reconnaître le signal 3,3 V. Après la connexion, mesurez-le avec un multimètre pour confirmer qu'il n'y a pas de court-circuit avant de mettre sous tension.

Comment écrire un programme d'appareil à gouverner

Écrire des programmes est en réalité plus simple que vous ne le pensez. Le cœur n'est qu'une phrase : utilisez le minuteur STM32 pour générer une onde PWM avec une période de 20 ms et un temps de haut niveau compris entre 0,5 ms et 2,5 ms. Vous pouvez d'abord configurer la minuterie, sélectionner un canal de sortie PWM, régler la période sur 20 ms (fréquence 50 Hz) et essayer un rapport cyclique de 7,5 % (correspondant à un niveau haut de 1,5 ms, position neutre du servo).

Au niveau du code, la bibliothèque HAL fournitFonction pour démarrer la sortie PWM, puis il vous suffit de modifier la valeur de comparaisonEpour contrôler l'angle du servo. Par exemple, si la valeur de comparaison passe de 500 à 2 500 (en supposant que la période de comptage du minuteur est de 20 000), l'angle correspondant est de 0 à 180 degrés. N'oubliez pas qu'il faut du temps pour que le servo tourne. Ne donnez pas une commande de changement d'angle important d'un seul coup, sinon le servo se coincera ou tremblera.

Comment ajuster le signal PWM

Pour parler franchement, le signal PWM est une onde carrée. Le servo détermine vers quel angle il tourne en regardant la durée du niveau haut dans cette onde carrée. La plage de temps de haut niveau du servo standard est de 0,5 ms à 2,5 ms, correspondant à 0 à 180 degrés. Vous devez confirmer selon le manuel du servo que vous utilisez. Certains servos peuvent durer de 0,5 ms à 2,4 ms et l'angle peut être légèrement incorrect.

Lors du réglage des signaux, ma méthode la plus recommandée consiste à utiliser un analyseur logique ou un oscilloscope pour capturer directement la forme d'onde. Si vous n’avez pas ces appareils sous la main, ce n’est pas grave. Donnez d'abord une impulsion de 1,5 ms pour voir si le servo est tourné en position médiane. Sinon, ajustez la valeur de comparaison de la minuterie jusqu'à ce qu'elle s'arrête exactement au milieu. Ce processus devra peut-être être répété plusieurs fois, alors soyez patient et il deviendra plus facile à utiliser une fois que vous l'aurez ajusté correctement.

Que faire si l'appareil à gouverner tremble

Il tremble constamment en tournant. C’est le problème le plus courant rencontré par les novices. La première raison est probablement que l’alimentation électrique n’est pas assez puissante. Le courant au démarrage du servo peut atteindre 1A ou plus. Si le courant de sortie de votre alimentation USB ou de votre module de stabilisation de tension est insuffisant et que la tension chute, les signaux de commande seront perturbés et le servo attirera naturellement le vent. La solution est très simple. Utilisez un module de stabilisation de tension séparé pour alimenter l'appareil à gouverner, puis combinez le condensateur avec un condensateur électrolytique de plusieurs centaines de microfarads pour plus de stabilité.

La deuxième raison est l'interférence du signal. Si la ligne PWM est trop longue et qu'il y a de nombreux équipements haute puissance à proximité, le signal sera facilement perturbé. Essayez de connecter la ligne de signal directement avec une ligne DuPont sans faire de boucle, ou ajoutez une résistance pull-up à 3,3 V, ce qui peut améliorer efficacement la stabilité du signal. Vérifiez également si vous utilisez plusieurs canaux de la même minuterie. Parfois, il y aura de légères interférences entre les canaux, qui peuvent être résolues en changeant la minuterie et en la contrôlant séparément.

Comment contrôler plusieurs servos

Il est courant d'utiliser plusieurs servos dans un projet, comme des bras robotiques et des robots hexapodes. Le moyen le plus direct de contrôler plusieurs servos consiste à utiliser différents canaux de plusieurs minuteries, chaque canal contrôlant un servo. C'est le programme le plus simple, mais il nécessitera plus de ressources matérielles. Si votre modèle STM32 possède de nombreuses broches, faites-le et évitez vos soucis.

Si les broches ne suffisent pas, il existe une méthode avancée : utilisez des servos de bus série, tels que le LX-224, qui mettent l'alimentation, la masse et les signaux sur une seule ligne. Tous les servos sont connectés en parallèle et contrôlés séparément en envoyant des paquets de commandes. Une broche peut contrôler des dizaines de servos. Cependant, ce type de servo est plus cher et le programme doit utiliser le port série pour envoyer des commandes. L'autre consiste à utiliser cette carte d'extension PWM à 16 canaux pour se connecter à STM32 via I2C, ce qui permet d'économiser beaucoup de broches et est particulièrement adaptée aux projets de robots.

À quoi faut-il faire attention lors de l'alimentation de l'appareil à gouverner ?

L'alimentation électrique peut paraître discrète, mais 80 % des problèmes en viennent. De nombreux amis utilisent un régulateur de tension linéaire 7805 ou USB pour fournir une alimentation directe. En conséquence, le microcontrôleur est réinitialisé dès que le servo est tourné. En effet, le servo est une charge inductive et le pic de courant est extrêmement important lors du démarrage et du décrochage. La vitesse de réponse de l'alimentation électrique ne peut pas suivre. La tension chute instantanément et le microcontrôleur redémarre.

Mon expérience est la suivante : le STM32 et le servo doivent être alimentés séparément. STM32 utilise une stabilisation de tension intégrée ou un 3,3 V séparé, et le servo utilise une autre alimentation, telle qu'une batterie au lithium 2S plus un module abaisseur DC-DC. Le courant est calculé comme étant d'au moins 1 A pour un seul servo et une marge de 50 % après avoir accumulé plusieurs servos. Les fils de terre des deux alimentations doivent être connectés ensemble pour que le signal puisse avoir un niveau de référence. De plus, placer un gros condensateur, tel que 470 uF, entre les bornes positives et négatives de l'alimentation du servo peut absorber efficacement les pics et rendre l'ensemble du système aussi stable qu'un vieux chien.

Avez-vous déjà rencontré des problèmes particulièrement difficiles avec l'asservissement ? N'hésitez pas à partager votre expérience dans la zone de commentaires, et n'oubliez pas de l'aimer et de la transmettre pour que plus d'amis puissent la voir !

Heure de mise à jour:2026-03-21

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