Partage
  • Partager sur Facebook
  • Partager sur Twitter

Librairie AccelStepper aide ?

    11 janvier 2021 à 23:47:14

    Salut !! 

    Je réalise en ce moment un petit montage avec un moteur pap 28BYJ-48 son driver et une arduino nano.

    Mon but de faire tourner le moteur à une vitesse donnée (je ne sais pas encore commet calculer les vitesse pas/min unité?? Si quelqu'un sait à quoi la vitesse correspond) et qu'il ne s'arrête pas. Je pense utiliser 3-4 boutons poussoirs pour différentes vitesses.

    Si quelqu'un connait la librairie accelStepper ou une autre librairie qui pourrait m'aider à réaliser ce projet.

    Ps : Je débute dans la programmation =)

    Merci beaucoup ! 

    • Partager sur Facebook
    • Partager sur Twitter
      19 janvier 2021 à 19:43:34

      Un moteur pas à pas se compose de plusieurs enroulements qu'il faut alimenter les uns après les autres pour faire avancer le moteur petit à petit.

      A chaque changement d'enroulement alimenté, le moteur avance d'un cran, ou plutôt devrais-je dire d'un pas, d'où le fait qu'on le surnomme moteur pas-à-pas.

      Suivant la topologie du moteur, il faut faire plus ou moins de pas pour faire un tour, cela est écrit dans les caractéristiques du moteur.

      On trouve beaucoup de moteurs 24, 48 ou 200 pas/tours.

      Donc à supposer que tu ai un moteurs 24 pas, il te faudra faire 24 alternances d'alimentation d'enroulement pour faire un tour.

      Si tu fais ces 24 alternance en une minute, ton moteur aura donc fait 1 tour en une minute, soit une vitesse de rotation de 1tr/min.

      Si tu fais ces 24 alternance en une seconde, ton moteur aura fait 1 tour en une seconde.

      A ce rythme de 24 alternances/secondes, tu vas faire 60 tours en 60 secondes, ce qui revient à dire qu'il tourne à 60 tr/min.

      Bref, la vitesse du moteur dépend de la rapidité d'enchainement des alternances et du nombre de pas par tour du moteur.

      -----

      La lib AccelStepper se charge d'elle même d'enchainer les alternances d'alimentation pour faire tourner le moteur.

      Il te suffit simplement :

      - de configurer la vitesse que tu veux avec la fonction setMaxSpeed qui prend en paramètre le nombre de pas par secondes (à toi de calculer la bonne valeur en fonction de la vitesse en tr/min que tu souhaites)

      - d'utiliser une des fonctions de déplacement tel que move, moveTo ou setSpeed.

      - d'appeler runSpeed en boucle par la suite (c'est cette fonction qui se chargera de faire les alternances donc il faut l'appeler le plus souvent possible)

      -
      Edité par lorrio 19 janvier 2021 à 19:45:21

      • Partager sur Facebook
      • Partager sur Twitter

      Librairie AccelStepper aide ?

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown