Go Down

Topic: Piloter un moteur pap sans la carte motorshield (Read 2 times) previous topic - next topic

mcmf

Bonjour,

Je souhaite piloter un moteur pas à pas à partir de ma carte Arduino Duemilanove sans ajout de la carte motor shield.

Le moteur pas à pas serait un bipolaire - 2 phases, tension nominale 4,5 VDC et un courant par phase de 425 mA.

Je suis débutant et après plusieurs recherches sur le net, il me semble que ce moteur ne peut pas être branché directement sur la carte. Il faudrait utiliser le composant L293D.
Est-ce le seul composant dont j'ai besoin ?
Quels seraient les branchements à suivre (si vous avez des liens avec photos, je suis preneur) ?

Merci pour votre aide.
http://www.arduino.cc/yabbfiles/Templates/Forum/yabb21/smiley.gif

Jean-François

#1
Mar 04, 2009, 12:09 pm Last Edit: Mar 04, 2009, 12:14 pm by jfs Reason: 1
Tu n'a pas du chercher beaucoup....

Déjà sur le forum on en parle :

Ici



et




Il me semble que le L293 est un driver avec pont en H pour moteur à courant continu et pas pour les pas à pas.
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

mcmf

Si, si, j'ai déjà lu ces pages. Dans ces pages, on parle plus de la programmation que du branchement avec la carte arduino.

J'ai la carte arduino, le moteur pas à pas. Quel composant ajouter pour le faire fonctionner et comment faire le branchement ?

Sur le web, j'ai lu que le L293D permettait de piloter un moteur pas à pas : http://www.conrad.fr/l_293_d_commande_moteur_4_voies_p_18925_18955_209085_209086_FAS#searchItem

Alors ce composant suffit ?


Luj06

Et... qu'est ce qu'il y a sur une carte motorshield ?... un L293 bien sûr !

"Je veux envoyer des hommes dans l'espace sans utiliser de navette spatiale. J'ai cherché sur Internet et il semble que j'ai besoin de ce qui s'appellerait 'fusée', est-ce que vous connaissez des 'fusées' ?"

C'est exactement ce à quoi ressemble ta demande  ;). Mais on peut y répondre :

Quote
J'ai la carte arduino, le moteur pas à pas. Quel composant ajouter pour le faire fonctionner ?


Il te faut un circuit intégré de puissance qui s'appelle pont en H. Un composant pratique est le L293D car il intègre des diodes de roue libre pour que le courant dans les bobines s'évacue.

Tu peux utiliser des inverseurs pour décoder un signal de direction envoyé par l'Arduino et reproduire les phases nécessaires au moteur pas à pas. Le circuit intégré 74HC00 fait ça très bien (oh ! il est aussi sur le motorshield). Il faudra également des condensateurs (100µF, 100 nF) et des résistances.

Quote
et comment faire le branchement ?


C'est à dire ? Le schéma ? Je te proposerai bien le schéma du motorshield mais puisque tu as décidé de t'en passer, quel dommage.

mcmf

En fait, je pensais que l'on pouvait commander simplement un moteur pas à pas, comme sur la photo page 22 du document suivant :

http://www.craslab.org/interaction/files/LivretArduinoCRAS.pdf

mais vu la liste de composants que tu cites dans  ton dernier message , il me semble effectivement indispensable d'acquérir la carte MotorShield.

Merci pour vos réponses.

Luj06

Effectivement, on peut utiliser les L293D tous seuls, je l'ai déjà fait pour de petits moteurs à courant continu (sur des potentiomètres motorisés) mais regarde le moteur utilisé par le CRAS : c'est un petit unipolaire, pas le bipolaire biphase à 1 ampère que tu as prévu d'utiliser :)

Jean-François

Le pont en H sert à inverser le sens de rotation sur des moteurs DC à charbons et collecteur.
Les moteurs PAP sont brushless et ce sont des séquences d'impulsions qui permettent de mouvoir le moteur, une commande électronique est donc nécessaire pour ce type de moteur.
Pour inverser la rotation il suffit d'inverser le sens des séquences, le pont en H ne sert à rien pour ces moteurs.
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Luj06

Non, il faut un étage de puissance pour chacune des bobines, capable de commuter et de gérer l'évacuation du courant induit, donc il faut même 2 ponts en H pour un moteur pas-à-pas.



Jean-François

Ca m'a travaillé tout l'aprés-midi.... et en fait je pensais à un autre montage, tu as raison, pour chaque bobine il faut une inversion de polarité donc un pont en H judicieux.
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Jean-François

J'ai trouvé ça :

http://www.8051projects.net/stepper-motor-interfacing/stepper-motor-connections.php

Il y a des schémas dont quelques uns avec le l293.
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Jean-François

#10
Mar 22, 2009, 06:38 pm Last Edit: Mar 22, 2009, 06:48 pm by jfs Reason: 1
Voici le code que j'utilise pour le montage à deux fils :

Code: [Select]
int pinA = 4;
int pinB = 5;

int etatPinA[8] = {0,   1,   1,   0};
int etatPinB[8] = {1,   1,   0,   0};

int pas_suivant = 0;
int Old_time=0;
int delai_entre_pas = 0 ;  

void setup()
{
 pinMode(pinA, OUTPUT);
 pinMode(pinB, OUTPUT);  
}

void loop()
{
 delai_entre_pas= micros()-Old_time;
 if (delai_entre_pas >= 8000){         // 8000 Microsecondes;
 Old_time=micros();

 digitalWrite(pinA, etatPinA[pas_suivant]);
 digitalWrite(pinB, etatPinB[pas_suivant]);

 pas_suivant++;

 if (pas_suivant >=4){
  pas_suivant=0;
  }
}
}


Par contre on le moteur travaille en pas entiers.

Pour inverser le sens de rotation, il suffit de changer le sens de lecture des séquences, par exemple comme ceci :

Code: [Select]
pas_suivant--;
 if(pas_suivant <0){pas_suivant=3;}


Avec ce montage pas besoin de L293, mais on est en pas entier et le moteur produits quelques vibrations. Cela reste un cas particulier et il est préférable suivant la situation d'utiliser un driver... genre L293  ;D
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Go Up