Comment le microcontrôleur 51 contrôle-t-il l’appareil à gouverner ? Les méthodes et procédures de connexion que les novices peuvent comprendre_Custom Drive_Industry Insights_Kpower
Maison > Aperçu de l'industrie >Lecteur personnalisé
ASSISTANCE TECHNIQUE

Comment le microcontrôleur 51 contrôle-t-il l’appareil à gouverner ? Les méthodes et procédures de connexion que les novices peuvent comprendre

Publié 2026-03-19

Vous avez dû y penser : le microcontrôleur 51 est tellement classique et bon marché, peut-il être utilisé pour contrôler leservomoteur? La réponse est oui, et à plus d’un titre. Aujourd'hui, nous allons parler de la façon d'utiliser le microcontrôleur 51 pour jouer auservomoteuret faites bouger votre petite embarcation.

Comment le microcontrôleur 51 contrôle-t-il l'appareil à gouverner ?

L'appareil à gouverner est en fait un « gars paresseux ». Tant que vous lui dites où tourner, il utilisera ses circuits internes et ses moteurs pour se diriger vers cette position. La façon de le savoir est une onde PWM, qui est un signal d'onde carrée avec une largeur réglable. Une normeservomoteurnécessite un cycle d'impulsion de 20 millisecondes, où la largeur du niveau haut détermine l'angle du servo.

Bien que le microcontrôleur 51 ne dispose pas de module PWM matériel dédié (l'ancien modèle n'en a pas, et nous parlerons séparément de la version améliorée), nous pouvons utiliser une minuterie pour le simuler. C'est comme utiliser un chronomètre pour mesurer le temps, laisser une broche émettre d'abord un niveau élevé, puis la baisser lorsque la minuterie expire et attendre la fin de la période de 20 millisecondes avant de répéter. Tant que le timing est suffisamment précis, le microcontrôleur 51 est pleinement capable d'accomplir cette tâche.

Quels composants sont nécessaires à la commande de l'appareil à gouverner ?

Pour faire tourner le servo, un microcontrôleur seul ne suffit pas. Tout d’abord, il faut disposer d’un servo, comme le SG90 basse consommation, simple à utiliser. Ensuite, il y a l’alimentation électrique, qui est particulièrement importante. Le courant de fonctionnement du servo n'est pas faible, surtout au moment du démarrage. Prendre l'alimentation directement à partir de la carte de développement du microcontrôleur peut facilement provoquer le redémarrage du microcontrôleur. Par conséquent, vous devez préparer une alimentation 5 V séparée pour le servo, comme une batterie ou un module de stabilisation de tension.

D'autres petits composants sont également indispensables : une planche à pain ou un fil DuPont est utilisé pour la connexion. Il est préférable de préparer un condensateur d'environ 100 microfarads et de le filtrer aux deux extrémités de l'alimentation du servo. Le condensateur peut agir comme un petit réservoir, amortissant les fluctuations de courant, rendant le fonctionnement de l'appareil à gouverner plus stable et empêchant le microcontrôleur d'être « impliqué » dans la réinitialisation.

Comment écrire le programme d'asservissement de contrôle du microcontrôleur 51

L'idée centrale de l'écriture d'un programme est d'utiliser une minuterie pour générer une période de 20 millisecondes et de contrôler la broche pour qu'elle émette des impulsions de différentes largeurs pendant la période. Par exemple, nous réglons la minuterie pour qu'elle s'interrompe toutes les 0,1 millisecondes, puis nous comptons. Si vous souhaitez émettre une impulsion de 1,5 millisecondes, tirez la broche vers le bas lorsque le décompte atteint 15 dans l'interruption, puis tirez la broche vers le haut lorsque le décompte atteint 200 (20 millisecondes arrivent), et ainsi de suite.

Le code n’est pas compliqué à écrire non plus. Dans la fonction de service d'interruption de minuterie, utilisez l'instruction if pour déterminer si la valeur de comptage actuelle atteint la valeur de largeur d'impulsion définie, puis remettez la broche servo à zéro. Dans le programme principal, il vous suffit de modifier la variable correspondant à la valeur de largeur d'impulsion pour changer facilement l'angle du boîtier de direction. Bien sûr, n'oubliez pas d'initialiser la minuterie et l'interruption, qui constituent la base de l'exécution du programme.

Comment régler l'angle de rotation du mécanisme de direction

L'angle de rotation de l'appareil à gouverner est directement déterminé par la largeur d'impulsion de haut niveau, et la relation entre les deux est fondamentalement linéaire. De manière générale, une impulsion de 0,5 milliseconde correspond à 0 degré, 1,5 milliseconde correspond à 90 degrés et 2,5 millisecondes correspond à 180 degrés. Différentes marques de servos peuvent présenter de légères différences, mais il s'agit de la gamme générale.

Alors, comment définir l’angle dans le programme ? Nous pouvons définir une variable d'angle puis utiliser une formule simple pour calculer la largeur d'impulsion requise : largeur d'impulsion = 0,5 + (angle/180)*2,0, l'unité est la milliseconde. Convertissez ensuite ce temps en valeur de comptage de minuterie. Par exemple, s'il y a une interruption toutes les 0,1 millisecondes comme mentionné précédemment, alors 1,5 millisecondes correspondent à 15 interruptions. Enfin, attribuez simplement cette valeur de comptage à la variable de comparaison dans l'interruption. Simple, non ?

51 méthode de contrôle par microcontrôleur de plusieurs servos

Il y a souvent plus d’un appareil à gouverner dans un projet. Par exemple, fabriquer un robot à six pattes en nécessite beaucoup. Une méthode courante pour utiliser un microcontrôleur 51 pour contrôler plusieurs servos est le « multiplexage en temps partagé ». Étant donné que chaque servo nécessite une impulsion de période de 20 millisecondes, nous pouvons diviser 20 millisecondes en plusieurs segments et chaque segment génère une impulsion de servo. Par exemple, envoyez d'abord une impulsion de 0,5 à 2,5 millisecondes au servo n°1, puis envoyez immédiatement une impulsion au servo n°2, et ainsi de suite, à condition que les impulsions de tous les servos soient envoyées dans les 20 millisecondes.

Cette méthode nécessite plusieurs ports IO et le programme d'interruption doit être organisé dans l'ordre. Si votre microcontrôleur est un microcontrôleur amélioré doté d'un module matériel PWM, il sera plus sans souci. Vous pouvez configurer directement plusieurs sorties PWM, le CPU n'a pratiquement pas besoin de s'en soucier et la précision est plus élevée. Pour les novices, entraînez-vous d'abord à utiliser le multiplexage en temps partagé, puis envisagez de mettre à niveau les méthodes après avoir compris les principes.

51 Questions fréquemment posées sur les servos contrôlés par microcontrôleur

La chose la plus courante rencontrée lorsque l’on joue avec des servos est la gigue. Il s'agit généralement d'un problème d'alimentation. Lorsque le servo bouge, la tension diminue et le microcontrôleur ne fonctionne pas correctement, provoquant un trouble du signal. La solution consiste à renforcer l'alimentation électrique, à utiliser une alimentation indépendante et à rendre les fils d'alimentation et de terre aussi épais et courts que possible, et le condensateur doit être installé à proximité du servo.

Parfois, l'angle du servo est incorrect ou la réponse est lente. Cela peut être dû à des interférences sur la ligne de signal ou au timing du programme qui n'est pas assez précis. Vous pouvez connecter une résistance pull-down de 10k à la ligne de signal à la terre pour améliorer la capacité anti-interférence. En termes de programme, vérifiez si l'oscillateur à cristal est précis et si la valeur initiale de la minuterie est mal calculée. Assurez-vous que ces fondations sont en bon état et votre servo pourra frapper là où vous le souhaitez.

En utilisant le microcontrôleur 51 pour jouer avec le servo, avez-vous rencontré des défauts particulièrement intéressants ou imaginé des applications intéressantes ? N'hésitez pas à laisser un message et à partager dans la zone de commentaires, et n'oubliez pas de l'aimer et de l'enregistrer afin que davantage d'amis puissent voir ces conseils pratiques !

Heure de mise à jour:2026-03-19

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