Aller au contenu


Photo
- - - - -

Controller des moteurs pas à pas avec le moniteur série

programmation

  • Veuillez vous connecter pour répondre
6 réponses à ce sujet

#1 RocketPickel

RocketPickel

    Nouveau membre

  • Membres
  • 6 messages
  • Gender:Male

Posté 02 novembre 2020 - 11:24

Bonjour à tous , je voudrais piloter des moteurs pas à pas avec le moniteur série de l'arduino mais je rencontre quelque problèmes de programation...

J'ai un arduino et des moteurs 28byj-48  avec le controlleur ULN2003 

J'arrive à controller mon moteur mais lorsque je met Serial.begin(9600); il ne tourne plus du tout (j'ai une vibration mais aucun mouvement) voici mon code 

#include <AccelStepper.h>



AccelStepper stepper1(AccelStepper::FULL4WIRE, 0, 2, 1, 3);


void setup() {
  Serial.begin(9600);
  
          // Paramétrage du premier moteur avec setMaxSpeed et setAcceleration
    stepper1.setMaxSpeed(1000);
    stepper1.setAcceleration(200);
}


void loop() 
{
  
      stepper1.moveTo(1000);
      stepper1.run();


}
Merci d'avance ☺

  • Enligma et CacriLm aiment ceci

#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 02 novembre 2020 - 11:30

Petite question : 


C'est quoi les différents chiffres dans la ligne : 

AccelStepper stepper1(AccelStepper::FULL4WIRE, 0, 2, 1, 3);

 




Quand tu utilises le Serial, quels sont les pins associés qui sont utilisés sur ton arduino? 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#3 RocketPickel

RocketPickel

    Nouveau membre

  • Membres
  • 6 messages
  • Gender:Male

Posté 02 novembre 2020 - 11:37

J'ai trouvé ca sur la doc de Accelstepper 

 

AccelStepper stepper1 (4, pinA1, pinA2, pinB1, pinB2);

 



#4 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 02 novembre 2020 - 11:54

Donc tu utilises les pins 0 1 2 et 3 pour ton moteur et en même temps tu veux utiliser le " Serial " qui est câblé sur les pins 0 et 1 ... donc choisi d'autre pins pour ton moteur :)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#5 RocketPickel

RocketPickel

    Nouveau membre

  • Membres
  • 6 messages
  • Gender:Male

Posté 03 novembre 2020 - 09:31

Premier problème résolu , j'utilisais simplement les pins RX et TX pour piloter le moteur ...

Maintenant lorsque je souhaite le faire tourner dans le sens inverse ,il se bloque complètement et termine le mouvement 

voici le code 

 

#include <AccelStepper.h>


AccelStepper stepper1(AccelStepper::HALF4WIRE, 1, 3, 2, 4);


void setup() {
  Serial.begin(9600);
  stepper1.setMaxSpeed(1000);
  stepper1.setAcceleration(500);  
}
void loop() 
{
  if(Serial.available() > 0)
  {
    char caractere = Serial.read();


    if(caractere == '1')
    {
      stepper1.move(500);
    }
    if(caractere == '2')
    {
      stepper1.move(-500);
    }
    if(caractere == '3')
    {
      stepper1.move(1000);
    }
    if(caractere == '4')
    {
      stepper1.move(-1000);
    }
    
  }  
      stepper1.run();
}

Modifié par Microrupteurman, 03 novembre 2020 - 10:35 .


#6 Microrupteurman

Microrupteurman

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 210 messages
  • Gender:Male
  • Location:Aquitaine,Gironde
  • Interests:Tout

Posté 03 novembre 2020 - 10:37

AccelStepper stepper1(AccelStepper::HALF4WIRE, 1, 3, 2, 4);

C'est toujours pas bon 1 = tx


 
Page Facebook : https://www.facebook...appartelier2.0/
Page Twitter :  https://twitter.com/2Appartelier (bateau seulement)
Boutique Robot-Maker : https://www.robot-ma...er-20/produits/

Besoin d'une impression 3D grand format ? Contactez moi !
 


#7 RocketPickel

RocketPickel

    Nouveau membre

  • Membres
  • 6 messages
  • Gender:Male

Posté 03 novembre 2020 - 10:47

Mince j'avais pas vu :dash2:







Aussi étiqueté avec au moins un de ces mots-clés : programmation

0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users