Comment cabler et faire tourner moteur pas à pas

Un shield de pilotage pour 4 moteurs à courant continu ou 2 moteurs pas à pas, qui permet une alimentation sur 12V et qui n'utilise que 4 sorties Pwm (sur 6) et 2 entrées analogiques (sur 6) de l'Arduino

Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Jeu 17 Nov 2011 23:37

Salut,

J'ai acheté une carte ROTOShield qui fonctionne très bien avec des moteur DC. J'aimerai savoir comment cabler mon moteur pas à pas 4 fils, je n'y arrive pas :-(

D'autre part comment initialiser la fonction M.init(<FREQ>,<NB PAS>,<NUMERO MOTEUR>, <MOTOR_MODE>);
Quelle fréquence, nombre de pas et mode du moteur comment le déterminer ?

Merci par avance
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude ikujam » Lun 21 Nov 2011 12:10

bonjour,

pour le paramétrage du pilote (côté logiciel), il y a un post qui explique un peu comment c'est que ça marche :

viewtopic.php?f=31&t=53#

la vitesse est déterminé par le premier paramètre, à savoir la "fréquence" - ou le delay en microsecondes entre chaque pas du moteur.

Pour tester différentes valeurs possibles, le sketch frequency_test fait varier la fréquence, la dernière version est disponible à la fois dans le post cité ci-dessus et sur le github du snootlab :

https://github.com/Snootlab/Snootor

Tenez-nous au courant de vos progrès (ou soucis bien évidemment) ;)
Avatar de l’utilisateur
ikujam
 
Messages: 9
Inscription: Mer 9 Fév 2011 11:30
Localisation: toulouse

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Mer 23 Nov 2011 13:38

Bonjour,

Merci pour votre réponse qui répond très bien sur la partie logiciel et programmation de la carte ARDUINO.

Par contre je n'arrive toujours pas à brancher mon moteur 4 fils. Comment le brancher ?

Merci
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Lionel » Mer 23 Nov 2011 13:59

Bonjour,
il vous faut identifier les deux bobines à l'aide d'un multimètre - résistance très faible entre les deux fils d'une bobine(si c'est une nappe plate, en général, elles se suivent), puis connecter la première bobine entre les deux bornes de M1 et la seconde entre les deux bornes de M2 (si le comportement est bizarre, tenter d'inverser les deux fils d'une bobine.
Eventuellement si vous avez une photo et/ou une référence notée sur le moteur, peut être allons nous trouver sa datasheeet.
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Sam 26 Nov 2011 21:16

Bonjour

Voilà déjà la fiche du moteur utilisé. 4 fils family 4018.
http://www.linengineering.com/LinE/contents/stepmotors/pdf/Step_Motor_Start-up_Guide.pdf

Juste pour précision : lors que l'on branche q'une seule bobine que se passe t'il ? Si je choisi la sortie 1 (M1 M2) la led M1 s'allume (rouve vert éteinte) mais la led M2 ne s'allume jamais c'est normal ??

Merci de vos réponses !!! :D
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Dim 27 Nov 2011 11:33

Bonjour,

Je viens de me rendre compte d'un petit problème à savoir les sortie M1 et M2 sont liées.
Je m'explique : en prenant le programme snootor DC d'origine, fonctionnement impeccable.

Par contre si je change les sortie utilisées, exemple init(3) qui correspond à la sortie M3 et init(1) qui correspond à la sortie M2 (?) ça fonctionne très bien avec M3 rouge vert éteint mais M2 (init 1) reste au vert fixe.

J'ai essayé d'inverser les micro L2930 sur les support le problème reste inchangé :
- M3 M4 pas de souci
- M1 M2 lié invertion numéro sortie et ne réagissent pas correctement

(programme car4DC fonctionne bien M4 puis M3 puis M2 puis M1 allumé en vert successivement)

Apparemment pour que les sortie M1 et M2 fonctionnent il faut qu'elle soit utilisé ensemble. Je ne peux pas me servir que de la sortie M1 avec un moteur DC évidemment.

Je suis un peu perdu d'ou vient le problème ?

Merci
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Lionel » Lun 28 Nov 2011 11:17

Bonjour,

hum, c'est moi qui suis un peu perdu, reprenons,
nicolas65800 a écrit:(...)
Juste pour précision : lors que l'on branche q'une seule bobine que se passe t'il ? Si je choisi la sortie 1 (M1 M2) la led M1 s'allume (rouve vert éteinte) mais la led M2 ne s'allume jamais c'est normal ??

Si vous ne branchez qu'une seule bobine, le moteur fera n'importe quoi, il peut tourner un peu puis repartir dans l'autre sens, car c'est l’enchaînement d'alimentation bobine 1 puis bobine 2 qui génére le mouvement contrôlé.

Quel exemple utilisez vous pour tester les moteurs pas à pas ?
Il faut utiliser basic_stepper.pde de la librairie Snootor
L'exemple frequency_test.pde peut aussi être utilisé pour déterminer les constantes de fonctionnement de votre moteur pas à pas.

nicolas65800 a écrit:(...)
Je viens de me rendre compte d'un petit problème à savoir les sortie M1 et M2 sont liées.
Je m'explique : en prenant le programme snootor DC d'origine, fonctionnement impeccable

Par contre si je change les sortie utilisées, exemple init(3) qui correspond à la sortie M3 et init(1) qui correspond à la sortie M2 (?) ça fonctionne très bien avec M3 rouge vert éteint mais M2 (init 1) reste au vert fixe.

J'ai essayé d'inverser les micro L2930 sur les support le problème reste inchangé :
- M3 M4 pas de souci
- M1 M2 lié invertion numéro sortie et ne réagissent pas correctement

(programme car4DC fonctionne bien M4 puis M3 puis M2 puis M1 allumé en vert successivement)

Apparemment pour que les sortie M1 et M2 fonctionnent il faut qu'elle soit utilisé ensemble. Je ne peux pas me servir que de la sortie M1 avec un moteur DC évidemment.

Je suis un peu perdu d'ou vient le problème ?

Là je suppose que vous me parlez de moteur DC ??
Quel code utilisez vous ?
Seriez vous d'accord pour que je sépare le sujet en deux pour parler soit de moteur pas à pas, soit de moteur a courant continu ?
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Lun 28 Nov 2011 22:46

Bonjour,
Oui il est préférable de séparer les deux sujets pour pas mélanger.

Là je suppose que vous me parlez de moteur DC ??
Quel code utilisez vous ?


Oui en effet moteur DC, sortie M1 et M2

Code: Tout sélectionner
#include <Wire.h>
#include <snootor.h>

SnootorDC M1;

void setup(){
  Serial.begin(115200);
  Wire.begin();
  M1.init(2);
  M1.setSpeed(128);
}

void loop(){
  Serial.println("forward...");
  M1.run(FORWARD);
  delay(1000);
 
  Serial.println("backward");
  M1.run(BACKWARD);
  delay(1000);
 
  M1.run(RELEASE);
  delay(1000);
}


Ce code marche très bien sur les sorties M3 et M4 (rouge > 1 sec > vert > 1 sec > éteint) mais pas sur M1 et M2 (rouge fixe)
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Lun 28 Nov 2011 23:02

Au sujet des moteur pas à pas :
Il faut utiliser basic_stepper.pde de la librairie Snootor


Si je choisi :

- M2.init(100,48,2, MOTOR_MODE_FULLSTEP);
-> M4 rouge vert puis éteint "normal"
-> M3 Vert fixe

- M1.init(100,48,1, MOTOR_MODE_FULLSTEP);
-> M1 rouge vert puis éteint "normal"
-> M2 éteinte fixe

Je trouve que la carte a un comportement bizarre.
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Mar 29 Nov 2011 10:05

Bonjour après analyse de la carte, je me demande si le microchip cms a l'arriere n'a pas 2 pattes soudée ensemble en y regardant avec une loupe. :-(
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Lionel » Mar 29 Nov 2011 12:13

Bonjour,

Si ce sont les pattes 2 & 3, c'est normal, sinon, beaucoup moins

Image

Afin de tester la carte, pourriez vous :
Relier la broche 5V avec M+,
Ne brancher aucun moteur

xIMG_0235.jpg
Câblage test
xIMG_0235.jpg (60.23 Kio) Vu 5338 fois


Uploader ce sketch sur un arduino :

Code: Tout sélectionner
// Snootlab Max 7313 Motor shield library
// Based on Adafruit Motor shield library
// https://github.com/adafruit/Adafruit-Motor-Shield-library
// copyleft Snootlab, 2011
// this code is public domain, enjoy!
 
/*

   This sketch demonstrates how to address DC motors. It uses 2 motors,
   but you can handle up to 4 motors using this library.

*/

// need to include this first
#include <Wire.h>

// this is the snootor library
#include <snootor.h>

// Declaration of 2 motor objects

SnootorDC Motor_1;
SnootorDC Motor_2;
SnootorDC Motor_3;
SnootorDC Motor_4;
int i;
void setup(){

// Initialization according to pins
Serial.begin(115200);
 Wire.begin();
  Motor_1.init(1);
  Motor_2.init(2);
  Motor_3.init(3);
  Motor_4.init(4);
    Serial.println("init ok");
}

void loop(){
  Serial.print("Round ");
  Serial.println(i++);
//  SC.dump();
// run forward at maximal speed

  Motor_1.setSpeed(255);
  Motor_2.setSpeed(255);
  Motor_3.setSpeed(255);
  Motor_4.setSpeed(255);
 
  Motor_1.run(FORWARD);
  Motor_2.run(FORWARD);
  Motor_3.run(FORWARD);
  Motor_4.run(FORWARD);
  delay(2000);

// stop for 2 seconds
  Motor_1.run(RELEASE);
  Motor_2.run(RELEASE);
  Motor_3.run(RELEASE);
  Motor_4.run(RELEASE);
  delay(2000);

// run backward at maximal speed

  Motor_1.setSpeed(255);
  Motor_2.setSpeed(255);
  Motor_3.setSpeed(255);
  Motor_4.setSpeed(255);

  Motor_1.run(BACKWARD);
  Motor_2.run(BACKWARD);
  Motor_3.run(BACKWARD);
  Motor_4.run(BACKWARD);
  delay(2000);
 
  // stop for 2 seconds
  Motor_1.run(RELEASE);
  Motor_2.run(RELEASE);
  Motor_3.run(RELEASE);
  Motor_4.run(RELEASE);
  delay(2000); 
}


Les 4 leds doivent s'allumer en rouge deux secondes,
s'éteindre deux secondes,
Les 4 leds doivent s'allumer en vert deux secondes,
s'éteindre deux secondes,
et reboucler

Et dites moi ce qu'il en est
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Mar 29 Nov 2011 22:03

Re,

J'ai fait le test :

1er phase :---|----2 eme phase :-----|----3 eme phase :---|----4 eme phase :
M2 vert-------|-----M2 éteinte--------|-----M2 rouge--------|-----M2 éteinte
M1 rouge-----|-----M1 éteinte--------|-----M1 vert----------|-----M1 éteinte
M4 vert-------|-----M4 éteinte--------|-----M4 rouge--------|-----M4 éteinte
M3 rouge-----|-----M3 éteinte--------|-----M3 vert----------|-----M3 éteinte

et reboucler

Quelles sont les conclusions docteur ? ;)
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Lionel » Mer 30 Nov 2011 12:02

A priori c'est fonctionnel,
mais je ne m'explique pas (encore) que nous n'ayons pas le même comportement,
avez vous la librairie issue de github ?
https://github.com/Snootlab/Snootor
cliquer sur Zip,
dezipper
renommer le dossier a l'interieur en snootor,
fermer le gui arduino
supprimer l'ancien répertoire
remplacer par le nouveau rep snootor
relancer l'appli
réuploader l'exemple
et me redire

ou alors sur votre carte y'a 2 leds câblées à l'envers ?!
Néanmoins même si c'était le cas, ce n'est pas bien grave, ça fonctionnera de la même manière.
mais j'aimerais comprendre en profondeur
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Mer 30 Nov 2011 18:55

Résultat :

1er phase :--------|----2 eme phase :-------|----3 eme phase :------|----4 eme phase :
M2 éteinte---------|-----M2 éteinte---------|-----M2 éteinte---------|-----M2 éteinte
M1 rouge/vert ----|-----M1 rouge/vert-----|-----M1 rouge/vert----|-----M1 rouge/vert
M4 rouge-----------|-----M4 éteinte---------|-----M4 vert------------|-----M4 éteinte
M3 rouge-----------|-----M3 éteinte---------|-----M3 vert------------|-----M3 éteinte

?? je comprends pas tout... :(
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Lionel » Jeu 1 Déc 2011 16:39

Hou là là !! moi non plus, l'horizon s'obscurcit !! :)

Bon, allez, on se pose les questions de base :
Quel OS ?
Quelle version d'arduino ?
Quelle bibliotheque snootor ?
Quel code à l'intérieur ?
Et on confirme qu'aucun moteur n'était cablé ?
Une petite photo nette du dessus et du dessous de la carte ?
pour ce résultat mystère...

Parce que si l'avant dernier test m'indiquait que tout fonctionnait, le dernier résultat est néanmoins extrêmement surprenant !
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Jeu 1 Déc 2011 17:00

Alors :

windows 7 familial / Arduino uno CMS / La bibliotheque snootor télécharger avec le lien précédent

Code: Tout sélectionner
 
    // Snootlab Max 7313 Motor shield library
    // Based on Adafruit Motor shield library
    // https://github.com/adafruit/Adafruit-Motor-Shield-library
    // copyleft Snootlab, 2011
    // this code is public domain, enjoy!

    /*

       This sketch demonstrates how to address DC motors. It uses 2 motors,
       but you can handle up to 4 motors using this library.

    */

    // need to include this first
    #include <Wire.h>

    // this is the snootor library
    #include <snootor.h>

    // Declaration of 2 motor objects

    SnootorDC Motor_1;
    SnootorDC Motor_2;
    SnootorDC Motor_3;
    SnootorDC Motor_4;
    int i;
    void setup(){

    // Initialization according to pins
    Serial.begin(115200);
    Wire.begin();
      Motor_1.init(1);
      Motor_2.init(2);
      Motor_3.init(3);
      Motor_4.init(4);
        Serial.println("init ok");
    }

    void loop(){
      Serial.print("Round ");
      Serial.println(i++);
    //  SC.dump();
    // run forward at maximal speed

      Motor_1.setSpeed(255);
      Motor_2.setSpeed(255);
      Motor_3.setSpeed(255);
      Motor_4.setSpeed(255);
     
      Motor_1.run(FORWARD);
      Motor_2.run(FORWARD);
      Motor_3.run(FORWARD);
      Motor_4.run(FORWARD);
      delay(2000);

    // stop for 2 seconds
      Motor_1.run(RELEASE);
      Motor_2.run(RELEASE);
      Motor_3.run(RELEASE);
      Motor_4.run(RELEASE);
      delay(2000);

    // run backward at maximal speed

      Motor_1.setSpeed(255);
      Motor_2.setSpeed(255);
      Motor_3.setSpeed(255);
      Motor_4.setSpeed(255);

      Motor_1.run(BACKWARD);
      Motor_2.run(BACKWARD);
      Motor_3.run(BACKWARD);
      Motor_4.run(BACKWARD);
      delay(2000);
     
      // stop for 2 seconds
      Motor_1.run(RELEASE);
      Motor_2.run(RELEASE);
      Motor_3.run(RELEASE);
      Motor_4.run(RELEASE);
      delay(2000);
    }


Je confirme que aucun moteur n'était cablé.

Pour les photos comment on les mets en ligne ?
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Lionel » Jeu 1 Déc 2011 17:05

Merci pour les infos,

manque juste l'info de la version du GUI arduino

pour les photos, l'onglet "ajouter des fichiers joints" va vous permettre cette opération
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Jeu 1 Déc 2011 17:16

Arduino 0023 site officiel EN

Je ne peux pas mettre les photos pour le moment (pas chez moi). Par contre le comportement est bizarre. j'ai cru au début à un problème lors de l'upload vers l'arduino mais après avoir essayé plusieur fois c'est toujours pareil. Ca donne l'impression que les sorties M1 et M2 sont ensemble. Je mets les photos dès ce soir.

Merci en tout cas.
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Lionel » Jeu 1 Déc 2011 17:53

Je n'avais pas la version 023, mais je l'ai installée et ça tourne comme prévu avec ce soft et cette config
c'est à dire
Les 4 leds s'allument en rouge deux secondes,
s'éteignent deux secondes,
Les 4 leds s'allument en vert deux secondes,
s'éteignent deux secondes,
et rebouclage

donc, le souci n'est pas au niveau de la version soft arduino GUI

Je suis toujours preneur des photos si possible.
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude nicolas65800 » Jeu 1 Déc 2011 22:02

DSCN0055 (Copier).JPG
DSCN0055 (Copier).JPG (174.82 Kio) Vu 5280 fois

DSCN0054 (Copier).JPG
DSCN0054 (Copier).JPG (198.54 Kio) Vu 5280 fois
nicolas65800
 
Messages: 24
Inscription: Jeu 17 Nov 2011 23:30

Suivante

Retourner vers Rotoshield

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités