Aller au contenu


Photo
- - - - -

premier programme Arduino moteur Nema


41 réponses à ce sujet

#41 Mike118

Mike118

    Staff Robot Maker

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

Posté 07 octobre 2018 - 02:28

Le map bloque la valeur à 3000 alors que tu mets une vitesse max de 10000.

Essaye : 
 

#include <AccelStepper.h>
#define INTERUPTEURPIN 10
#define ANALOGPIN A0
int val=0 ;
int valInter=0 ;
AccelStepper stepper(1, 4, 7); // TB6600 OFF OFF ON ON ON OFF
void setup()
{
Serial.begin(115200); //Initialisation de la communication avec la console
pinMode(INTERUPTEURPIN,INPUT);
stepper.setMaxSpeed(50000);
stepper.setAcceleration(3000);
}
void loop()
{
val = analogRead(ANALOGPIN);
valInter = map(val,0,1023,0,5000);
if( digitalRead(INTERUPTEURPIN) ) stepper.setSpeed(valInter) ;
else stepper.setSpeed(0);
stepper.runSpeed();
}

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 !

 

Les réalisations de Mike118  

 

 

 


#42 infosmaker

infosmaker

    Nouveau membre

  • Membres
  • 38 messages

Posté 08 octobre 2018 - 06:21

Bonjour,

Merci pour la correction du code.

A ce stade j'ai de quoi démarrer.

Je fais une pause sur le post car il faut que je digère un peu toutes les infos de ces derniers jours et mieux maîtriser les réglages (notamment les histoires de pas et de vitesse du moteur, et du coup maintenant celle du potentiomètre).

Juste pour info, j'avais trouvé aussi ce code qui fonctionne suite à cette lecture :

#include  <AccelStepper.h>
AccelStepper stepper(1, 4, 7); 
unsigned long temps;
long Speed;
void setup()
{
  stepper.setMaxSpeed(5000);
}
void loop()
{
  while (millis() > temps) {
    temps = millis() + 50;
    Speed = analogRead(A0) - 512;
    Speed = Speed * 16; 
  }
  stepper.setSpeed(Speed);
  stepper.runSpeed();
}

Je vais essayer de comparer les deux codes pour comprendre le principe de cette programmation. Pas mal de boulot en perspectives ;)

Je reviendrai sur le post quand tout ça sera plus clair.

Merci beaucoup pour tous vos conseils.

Bonne journée.





Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users