Bonjour, je suis sur la réalisation d'un projet nécessitant 2 moteurs pas à pas.
Je les pilotes avec la librairie Stepper, qui fonctionne à merveille pour un seul moteur.
Seulement, l'instruction step(nbPas); bloque le programme pendant son exécution.
Si je fais par exemple:
moteur1.step(48);
moteur2.step(48);
Le premier moteur fera un tour, puis le 2eme fera de même...
Comment les contrôler en même temps?
Merci
C'est peut être bête mais pourquoi pas quelque chose comme ça ?
for(int i = 1; i <= 48; i++)
{
moteur1.step(i);
moteur2.step(i);
}
Ca sera pas synchrone à 100% mais bon ?
osaka:
C'est peut être bête mais pourquoi pas quelque chose comme ça ?for(int i = 1; i <= 48; i++)
{
moteur1.step(i);
moteur2.step(i);
}
Ca sera pas synchrone à 100% mais bon ?
Comme ça, ça n'ira pas... d'abord le premier va faire un pas le second aussi... boucle suivante 2 pas le deuxième aussi... 3 pas ...4 pas... etc,etc ta boucle va générer 48x48 pas x 2 moteurs =>> 4608 pas dans la boucle XD
Il me semble que ce la est plus correct :
for(int i = 1; i <= 48; i++)
{
moteur1.step(1);
moteur2.step(1);
}
J'ai déjà essayé une telle solution, le problème est que le mouvement des moteurs est très saccadé du au fait qu'ils s’arrêtent constamment (même d'une courte durée). Cela fait un bruit pas très agréable et les moteurs vont 2 fois moins vite. :~
Je pensais que la librairie prenait en charge ce genre de problème.
Je pourrais essayer de la modifier, à moins qu'il y ait une autre solution?
Jean-François:
Comme ça, ça n'ira pas... d'abord le premier va faire un pas le second aussi... boucle suivante 2 pas le deuxième aussi... 3 pas ...4 pas... etc,etc ta boucle va générer 48x48 pas x 2 moteurs =>> 4608 pas dans la boucle XD
oups en effet, un petit pas pour l'homme un grand pas pour le moteur
Sinon en effet je vois pas trop comment faire autrement, voir la lib ?
Pourtant tu ne dois pas être le seul à vouloir contrôler plusieurs moteur, servo, ... , en même temps :~
A l'ancienne : pas de librairie ! C'est pas bien compliqué sur celle la en plus de s'en passer
En t'inspirant de ça :
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1209637332/0
Et en utilisant ça :
http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.PortManipulation
A l'ancienne : pas de librairie ! C'est pas bien compliqué sur celle la en plus de s'en passer
Haha
A la base j'avais un petit bug sur la librairie (j'avais pas bien initialisé le nombre de pas du moteur... :() alors j'ai fais sans.
Donc c'est repartit!
Merci Jean-François pour ton lien sur les ports
Je pense quand même que j'en ferais une librairie, pour plus de simplicité.
Donc au mieux je la partagerais sur le forum