phidget 1063

Bonjour,
Je dois contrôler un moteur pas à pas avec la carte phidget 1063 conseiller avec. J'ai réussi à faire fonctionner le moteur avec le driver qui va avec (stepper bipolar) . Par contre je n'arrive qu'à le faire tourner pendant très peu de temps juste le temps qu'il fasse un angle précis et je voudrais qu'il fasse des allers et retours pendant au moins une demi heure. Est-ce que je peux communiquer avec la carte phidget en passant par arduino?? Et si oui est-ce que vous auriez un petit exemple, car je ne suis pas très experte...
Merci beaucoup d'avance

Bonjour, arrête de t’embêter avec ta phidget... :wink:
Tu peux contrôler un moteur pas a pas directement avec une carte uno!
Fais des recherches dans ce sens.
http://arduino.cc/fr/Main/LibrairieStepper

Bonjour,
C'est ce que je me suis dis depuis ce matin, donc j'ai essayé le schémas ci joint. Par contre, je n'ai pas L293D mais L293NE, est-ce que ça change quelque chose??
Et le moteur (références dans le fichier joint), je ne sais pas comment le brancher, j'ai essayé plusieurs combinaisons mais ça n'a pas marché...
Et je me demande aussi quelle alimentation, il faut que je prenne??
Bon, il y a aussi le programme, ce n'est peut être pas le bon??
Voilà, en fait le moteur ne bouge pas du tout, j'essaie pleins de chose et rien le fait bouger...

moteurpasàpas.doc (250 KB)

Bonjour
Réponse partielle
L293D vs L293NE ?
Le premier intègre des diodes de protection en sortie, pas le second. Elles sont donc à ajouter.
Voir les figures 2 et 3 de la notice Texas Instruments http://www.ti.com/lit/ds/symlink/l293.pdf (diodes dedans ou diodes dehors)

Bonjour,
Merci pour les réponses.
Bon, j'ai réussi à faire fonctionner le moteur, mais maintenant j'ai un autre problème... c'est un moteur qui fait 400 pas, j'ai cherché partout, je ne trouve pas sa vitesse de rotation maximum. Et lorsque je mets dans le programme arduino : Programme : (vu dans MotorKnob), je ne peux pas mettre plus de 20 rpms (ce qui veut dire tours par minute, c'est bien ça???) et ça ne tourne vraiment pas vite et en plus lorsque je lui mets stepper.step(400)et stepper.step(-400) à la suite, il ne fait même pas un quart de tour en avant et pareil de l'autre côté ...
Est-ce que c'est normal??
Car s'il fait 400 pas, ça veut bien dire qu'i fait 400 pas pour faire le tour ou je me trompe complétement??

#include <Stepper.h>

#define STEPS 400

// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 8, 9, 10, 11);

void setup()
{
// set the speed of the motor to 20 RPMs
stepper.setSpeed(20);
}

void loop()
{ // move a number of steps
stepper.step(400);
stepper.step(-400);
}

Merci encore d'avance pour votre aide, car je nage un peu!!!
Bonne journée

Un moteur pas à pas n'est pas destiné à tourner en permanence non plus qu'aux grandes vitesses.

De lui même ce moteur ne sait se déplacer que d'un pas à la fois. C'est donc le logiciel qui décide de la vitesse. Pour faire accélérer un poteur pas à pas (surtout avec une charge) il faut respecter une rampe d'accélération. Si, par exemple, tu envoie 1 pas/seconde et que tu passes d'un seul coup à 400 pas / secondes ton moteur ne vas pas tourner mais il va se mettre à vibrer sur place.

Si tu fais toi-même un soft de commande tu pourras jouer avec cela et essayer de le faire tourner de plus en plus vite jusqu'à ce qu'il décroche. A la vitesse limite il n'a plus aucun couple et on l'arrête en soufflant.

Ce moteur a été très à la mode un moment puis a été supplanté dans énormément de domaines par des moteurs DC.

Par ailleurs ce moteur n'est pas adapté aux fortes puissances. En effet en position bloquée toute l'énergie des enroulements doit se dissiper sur place (aucune transformation en énergie mécanique). C'est pourquoi on les commande généralement en PWM afin de moduler cette puissance. On utilise également une détection de perte de pas qui sert aussi au maintien de la position avec un PWM faible.

JLB

JLB

Bonjour,
Merci pour ta réponse, par contre, je ne comprends toujours pas pourquoi le moteur qui fait 400 pas ne fait pas un tour complet lorsqu'on lui demande de faire 4000 pas. =(
Et une autre chose bizarre lorsque je lui mets une vitesse de rotation en dessous de 10 rpms, il vibre et ne bouge presque pas...
Sinon, si j'ai bien compris, tu ne peux pas lui demander d'aller d'un coup à la vitesse maximum.
Merci encore et bonne journée

C'est un peu plus complexe que cela. Il faut que tu te documentes mieux car je ne vais pas rédiger ici un cours complet sur les moteurs pas à pas.

JLB

Il n'est pas évident que ton moteur soit correctement branché.

Il y a deux types :

  • Les moteurs bipolaires dont ont doit pouvoir inverser l'alimentation des bobines et qui nécessitent donc un pont en H.

  • Les moteurs unipolaires où chaque enroulement à un point milieu et qui se commande avec deux fois moins de transistors.

Un moteur pas à pas peut accepter de tournoter (ou tournicoter) avec un branchement défectueux et notamment ceux à aimants permanents.

Tu ne dois pas brancher au hazard jusqu'à ce que cela marche. Soit tu comprends exactement à quoi correspond chaque fil, soit tu as une notice très explicite.

JLB

Une animation sympa :

http://fr.nanotec.com/moteurs_pas_a_pas_animation.html

JLB