Go Down

Topic: controle de 2 moteur pap (Read 586 times) previous topic - next topic

roipoussiere

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
N'attendez pas de savoir pour entreprendre.
Drawall, le robot qui dessine : http://drawall.cc/

osaka

C'est peut être bête mais pourquoi pas quelque chose comme ça ?

Code: [Select]

for(int i = 1; i <= 48; i++)
{
    moteur1.step(i);
    moteur2.step(i);
}


Ca sera pas synchrone à 100% mais bon ?

Jean-François

#2
Oct 27, 2011, 09:02 pm Last Edit: Oct 27, 2011, 09:05 pm by Jean-François Reason: 1

C'est peut être bête mais pourquoi pas quelque chose comme ça ?

Code: [Select]

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 :

Code: [Select]

for(int i = 1; i <= 48; i++)
{
   moteur1.step(1);
   moteur2.step(1);
}
MacBook intel core 2 duo  os X snow Leopard 10.6
 eMac PPc G4  os X Leopard 10.5
powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

roipoussiere

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?
N'attendez pas de savoir pour entreprendre.
Drawall, le robot qui dessine : http://drawall.cc/

osaka



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   :smiley-mr-green:
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  :~

B@tto

A l'ancienne : pas de librairie ! C'est pas bien compliqué sur celle la en plus de s'en passer ;)

Jean-François

MacBook intel core 2 duo  os X snow Leopard 10.6
 eMac PPc G4  os X Leopard 10.5
powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

roipoussiere

Quote
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 :)
N'attendez pas de savoir pour entreprendre.
Drawall, le robot qui dessine : http://drawall.cc/

Go Up