Aller au contenu


Photo
- - - - -

Micro seconde


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

#1 Victorien

Victorien

    Membre occasionnel

  • Membres
  • Pip
  • 96 messages

Posté 13 mars 2023 - 06:34

Coucou les copins
Je voudrais savoir s'il était possible de passer en "delayMicroseconds " avec accelstepper.
Voici le code en question.
 

#include <AccelStepper.h>


#define suiviDirPin 4
#define suiviStepPin 5
#define boutonAccelererPin 6
#define boutonRalentirPin 7
#define boutonMarchePin 8
#define boutonArretPin 9


AccelStepper stepperSuivi(1, suiviStepPin, suiviDirPin);


#define zoomDirPin 2
#define zoomStepPin 3
#define boutonZoomInPin 10
#define boutonZoomOutPin 11


AccelStepper stepperZoom(1, zoomStepPin, zoomDirPin);


void setup() {
pinMode(suiviDirPin, OUTPUT);
pinMode(suiviStepPin, OUTPUT);
pinMode(boutonAccelererPin, INPUT_PULLUP); // L'autre cote du bouton au GND
pinMode(boutonRalentirPin, INPUT_PULLUP); // " " "
pinMode(boutonMarchePin, INPUT_PULLUP); // " " "
pinMode(boutonArretPin, INPUT_PULLUP); // " " "

pinMode(zoomDirPin, OUTPUT);
pinMode(zoomStepPin, OUTPUT);
pinMode(boutonZoomInPin, INPUT_PULLUP); // L'autre cote du bouton au GND
pinMode(boutonZoomOutPin, INPUT_PULLUP); // " " "
}


void loop() {
stepperSuivi.setMaxSpeed(2000);

if (digitalRead(boutonAccelererPin) == LOW) { // Si le bouton Accelerer est pressed
stepperSuivi.setSpeed(1000);
} else if (digitalRead(boutonRalentirPin) == LOW) { // Si le bouton Ralentir est pressed
stepperSuivi.setSpeed(20);
} else if (digitalRead(boutonMarchePin) == LOW) { // Si le bouton Marche est pressed
stepperSuivi.setSpeed(100);
} else if (digitalRead(boutonArretPin) == LOW) { // Si le bouton Arret est pressed
stepperSuivi.setSpeed(0);
} else {

}


stepperSuivi.runSpeed(); // fait tourner le moteur a vitesse réglée


stepperZoom.setMaxSpeed(2000);
if (digitalRead(boutonZoomInPin) == LOW) { // Si le bouton Zoom In est pressed
stepperZoom.setSpeed(200);
} else if (digitalRead(boutonZoomOutPin) == LOW) { // Si le bouton Zoom Out est pressed
stepperZoom.setSpeed(-200);
} else {
stepperZoom.setSpeed(0);
}


stepperZoom.runSpeed();// fait tourner le moteur à la vitesse réglée.
}


#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 969 messages
  • Gender:Male
  • Location:Anglet

Posté 13 mars 2023 - 08:06

Je ne suis pas sûr d'avoir bien compris... Que veux tu passer en delayMicroseconds ?


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 Victorien

Victorien

    Membre occasionnel

  • Membres
  • Pip
  • 96 messages

Posté 13 mars 2023 - 11:22

else if (digitalRead(boutonMarchePin) == LOW) { // Si le bouton Marche est pressed stepperSuivi.setSpeed(100);

Sur cette ligne là vitesse du moteur est de 100 , mais j'aimerais savoir ci on pouvait la remplacer par des micro secondes pour avoir une valeur de 1000
Pour être plus précis dans lf réglage de la vitesse.
Par exemple passé de setspeed 1000 à 1001 .

#4 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 969 messages
  • Gender:Male
  • Location:Anglet

Posté 14 mars 2023 - 12:00

En fait ce 100 c'est un nombre de pas par secondes...  La vitesse effective de ton moteur en tours par secondes va dépendre de cette valeur et de ton nombre de pas / tours ( par défaut 200 quand tu as un driver en pas complet donc speed 100 => 50 RPM , 400 quand tu es en demi pas donc speed 100 => 25 RPM etc ... )
Cette valeur c'est censé être un float, donc si tu veux ajuster précisément tu peux normalement mettre 100.0 ou 100.1 ... voir même 100.05 ... ( mais tu as une limite dans le nombre de chiffres significatifs ... ) 

Je te laisse essayer les chiffres avec des virgules pour voir si ça répond à ton problème. 

@+


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 Victorien

Victorien

    Membre occasionnel

  • Membres
  • Pip
  • 96 messages

Posté 18 mars 2023 - 07:53

OK ça fonctionne impeccable.
Mais en mode micro pas (sur un driver popolu 2998 ) le moteur tourne mais par sacade .problème que je n'ai pas en pas standard. Pourquoi ?
Alors que je n'ai pas ce souci avec l'autre driver (un 4988)

Fichier(s) joint(s)



#6 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 969 messages
  • Gender:Male
  • Location:Anglet

Posté 18 mars 2023 - 08:18

Commencer par voir le réglage du courant ... 

=> Le petit potentiomètre à tourner.

Ensuite première vérification, est ce que tous les fils sont bien reliés ? 
=> Un faux contact sur le step ou la clock 
=> Un faux contact sur un des 4 câbles du moteur pas à pas

Ensuite vérifier l'alimentation utilisée ( mais ton alim marche avec un autre driver alors c'est pas ça le problème )

 


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  

 

 

 


#7 Victorien

Victorien

    Membre occasionnel

  • Membres
  • Pip
  • 96 messages

Posté 19 mars 2023 - 10:49

Problème résolu ça venait du potentiomètre qui était trop fort .
Mais ya pas un calcul à faite pour le réglage ?

#8 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 969 messages
  • Gender:Male
  • Location:Anglet

Posté 19 mars 2023 - 01:17

Normalement dans la doc du produit ils te disent quel tension correspond à quel courant, puis tu regardes la doc de tes moteurs pour connaître le courant à régler , puis tu tourne le potentiomètre en mesurant la tension au fur et à mesure, de sorte à ce que la tension soit à égale ( très proche ) de la tension qui correspond au courant à régler. 

Exemple pratique : 
Si la doc du driver te dit qu'il faut régler  0.66 V pour 1A de courant,
et que la doc de ton moteur te dit que c'est 1.5A de courant 
Il faudra que tu règles la tension à 1.5 * 0.66 = 0.99 V 

Pour mesurer la tension, sur certaines cartes tu as un pin exprès pour sinon la plus par du temps avec ces potentiomètres minuscules il faut directement mesurer la tension entre une masse et le dessus du potentiomètre ( l'endroit où tu mets ton tournevis ) qui est connecté à la patte de milieu du potentiomètre ...

Vidéo de pololu qui montre la chose en détail : 



PS : Si tu es content de ma réponse, n'hésite pas à laisser un avis cf message en signature. 

@+
 


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  

 

 

 





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

0 members, 0 guests, 0 anonymous users