Le code pour le TB6600 5/8 , Contrôle d’un moteur pas-à-pas en fonction de l’angle souhaité

  • Version
  • Télécharger 105
  • Taille du fichier 0.21 KB
  • Date de création 4 mai 2023

Contrôle d'un moteur pas à pas en fonction
de l'angle de rotation souhaité

Ce programme permet de contrôler un moteur pas-à-pas pour effectuer un angle de rotation spécifié en degrés en appuyant sur un bouton. Le programme utilise les bibliothèques Arduino standard pour contrôler les broches d'entrée et de sortie et pour déterminer le temps écoulé entre les impulsions pour contrôler la vitesse du moteur.

  1. Déclarations de variables : Les constantes et variables nécessaires pour le contrôle du moteur sont définies ici, comme les broches de contrôle, la résolution du moteur, la base de temps pour les impulsions et d'autres variables d'état.
  2. La fonction ConversionAngleEnTour(float angle) convertit un angle en degrés en un nombre de pas pour un moteur pas-à-pas.
  3. Le setup() configure les broches d'entrée et de sortie du microcontrôleur et initialise les variables nécessaires au bon fonctionnement du programme.
  4. Le loop() effectue les opérations suivantes :
  • Lecture de l'état du bouton.
  • Inversion de l'état du moteur lorsque le bouton est enfoncé.
  • Si le moteur est en marche, il calcule le nombre total de pas nécessaires pour effectuer la rotation souhaitée et effectue la rotation en générant des impulsions sur la broche PULS_PIN.
  • Lorsque le moteur a atteint le nombre de pas souhaité, il arrête le moteur et réinitialise le compteur de pas.
  • Si le moteur n'est pas en marche, il allume la LED pour indiquer que le moteur est en attente de validation pour tourner.
Voici le principe de codage de la fonction : ConversionAngleEnTour
 

Ce code définit une fonction appelée ConversionAngleEnTour, qui prend un argument angle de type float. La fonction a pour but de convertir un angle en degrés en un nombre de pas pour un moteur pas-à-pas.

Dans le corps de la fonction, on trouve l'expression angle * resolution / 360.0. Cette expression effectue les opérations suivantes :

  1. Multiplie l'angle donné par la valeur de la variable resolution, qui représente le nombre de pas nécessaires pour effectuer un tour complet (360 degrés).
  2. Divise le résultat par 360 pour déterminer la proportion d'un tour complet que représente l'angle en question.

Ensuite, la fonction renvoie le résultat sous la forme d'un entier (en utilisant le cast (int)), correspondant au nombre de pas nécessaires pour effectuer la rotation souhaitée.

Par exemple, si l'angle est de 180 degrés et que la résolution est de 800 pas par tour, la fonction renverra 400 pas (180 * 800 / 360 = 400).

Facebook Twitter  Youtube

Grabcad Thingiverse Cults  

    •