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

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Lionel » Ven 18 Mai 2012 15:46

Bonjour,

désolé du délai dans la réponse, j'ai du manquer une notification sur ce fil,
donc, pourriez vous poster :
votre code,
votre version de lib,
votre version d'IDE arduino,
votre OS
votre cablage (schéma ou photo) afin que je puisse tester en conditions,

d'avance merci
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 hoon » Ven 18 Mai 2012 16:52

Et voici donc mes conditions de test de la Rotoshield :

Lionel a écrit:votre code,

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!

#include <Wire.h>
#include <snootor.h>

SnootorStep M;
SnootorStep C;

void setup(){
// Serial.begin(9600);
  Wire.begin();

/*
 * Stepper initialization :
 *
 * init(delay,stepcount,motornum, mode);
 *
 * where :
 *
 * * delay is the time between each basic step, in microseconds, which determines the motor speed
 * * stepcount is the number of steps per turn
 * * motornum is 1 or 2, depending wiring
 * * mode is either MOTOR_MODE_HALFSTEP or MOTOR_MODE_FULLSTEP
 */
  M.init(4000,48,2,MOTOR_MODE_HALFSTEP);
 
  C.init(4000,48,1,MOTOR_MODE_HALFSTEP);
}

void loop(){
  static int d;
  uint8_t i;
  M.setMode(MOTOR_MODE_HALFSTEP);
  C.setMode(MOTOR_MODE_HALFSTEP);
//  Serial.println("start halfstep mode...");
  M.forward(319);
  C.forward(-319);
  SC.delay(4000);
 
  M.forward(-319);
  C.forward(319);
  SC.delay(4000);
}

... le programme fait tourner les deux moteurs simultanément en sens opposés : ça marche !
Mais dès qu'un des 2 moteurs ne fait plus le même nombre de pas que l'autre (le code qui suit)...
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!

#include <Wire.h>
#include <snootor.h>


SnootorStep M;
SnootorStep C;


void setup(){
// Serial.begin(9600);
  Wire.begin();

/*
 * Stepper initialization :
 *
 * init(delay,stepcount,motornum, mode);
 *
 * where :
 *
 * * delay is the time between each basic step, in microseconds, which determines the motor speed
 * * stepcount is the number of steps per turn
 * * motornum is 1 or 2, depending wiring
 * * mode is either MOTOR_MODE_HALFSTEP or MOTOR_MODE_FULLSTEP
 */
  M.init(4000,48,2,MOTOR_MODE_HALFSTEP);
 
  C.init(4000,48,1,MOTOR_MODE_HALFSTEP);
}

void loop(){
  static int d;
  uint8_t i;
  M.setMode(MOTOR_MODE_HALFSTEP);
  C.setMode(MOTOR_MODE_HALFSTEP);
//  Serial.println("start halfstep mode...");
  M.forward(319);
  C.forward(-319);
  SC.delay(4000);
 
  M.forward(500);
 
  C.forward(200);
  SC.delay(4000);
}

... les 300 premiers se font sans problème, et durant les 200 derniers les 2 moteurs sont arrétés, la Rotoshield émet un léger couinement, et les diodes témoins des phases moteurs sont à demi-éteintes pour M2, et dans une phase bloquée (variable, mais toujours bloqués sur soit rouge, soit vert) pour M1 :

etats.JPG
etats.JPG (182.23 Kio) Vu 3131 fois


Lionel a écrit:votre version de lib,

Snootlab-Snootor-2e3daf6
Lionel a écrit:votre version d'IDE arduino,

Arduino 1.0
Lionel a écrit:votre OS

Ubuntu 12.04 en 64bits
Lionel a écrit:votre câblage (schéma ou photo) afin que je puisse tester en conditions,

IMG_1528.JPG
IMG_1528.JPG (132.8 Kio) Vu 3131 fois

Lionel a écrit:d'avance merci

... ben c'est moi ! Il me tarde de voir le tout marcher !
Avatar de l’utilisateur
hoon
 
Messages: 6
Inscription: Sam 5 Mai 2012 14:44

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Lionel » Mer 30 Mai 2012 13:52

Bonjour,

nous avons fait une passe sur la librairie ce matin, et avons détecté des bugs, merci de votre retour, on vous tiens informé dès qu'une release corrige ça.
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 Lionel » Jeu 31 Mai 2012 17:18

Bonjour,

Vous serait il possible de vérifier le fonctionnement de votre système avec la nouvelle version fraîchement libérée ?
https://github.com/Snootlab/Snootor
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 hoon » Sam 2 Juin 2012 12:16

Lionel a écrit:Bonjour,

Vous serait il possible de vérifier le fonctionnement de votre système avec la nouvelle version fraîchement libérée ?
https://github.com/Snootlab/Snootor


Magnifique ! :D ça a l'air de marcher comme il faut ! Je vais continuer de développer mon projet et voir comment la nouvelle librairie se comporte !

Grand merci ! ;)
Avatar de l’utilisateur
hoon
 
Messages: 6
Inscription: Sam 5 Mai 2012 14:44

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Lionel » Mer 13 Juin 2012 11:02

Merci de votre aide !
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 gurki » Dim 14 Oct 2012 09:01

Bonjour,

je me raccroche à ce post car j'y ai trouvé ce petit programme de test qui me fait dire que mon Rotoshield, fraichement assemblé, ne fonctionne pas. En effet, en faisant tourner ce programme, aucune des LEDs L1 à L4 ne s'allume ! :( (En connectant un moteur pas-à-pas sur M1 et M2 et en faisant tourner le moteur à la main, ces LEDs s'allument, donc elles sont OK)
J'ai testé sur un AT Mega 1280 et un AT Mega 2560 récent (R3)... A première vue, mes soudures semblent OK (je ne suis pas un expert en soudure mais pas un débutant non plus), il y a donc un problème hard quelque part, mais où ? Que puis-je vérifier en premier ? J'ai bien du 5V entre GND et chacune des broches de M1 et de M2 en sortie (en faisant tourner le programme de test)...

Merci d'avance pour votre aide...
gurki
 
Messages: 8
Inscription: Lun 8 Oct 2012 18:38

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude gurki » Dim 14 Oct 2012 10:38

gurki a écrit:J'ai bien du 5V entre GND et chacune des broches de M1 et de M2 en sortie (en faisant tourner le programme de test)...

Du 4,53V en permanence, aucune variation de tension, aucun passage par 0,00V (je ne sais pas si c'est normal... mais si le programme de test arrête le moteur pendant 2000ms, je devrais passer par 0,00V à un moment, non ?)
Entre les 2 bornes de M1 : 0,00V en permanence (entre les 2 bornes de M2, de M3 et de M4 aussi...)
gurki
 
Messages: 8
Inscription: Lun 8 Oct 2012 18:38

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Stéphane » Mar 16 Oct 2012 10:11

Bonjour, je vais vous poser les questions classiques :
pouvez-vous poster les informations suivantes :
votre code,
votre version de lib,
votre version d'IDE arduino,
votre OS
votre cablage (schéma et photos)
Avatar de l’utilisateur
Stéphane
 
Messages: 179
Inscription: Lun 2 Mai 2011 09:40

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude gurki » Mar 16 Oct 2012 12:52

Stéphane a écrit:Bonjour, je vais vous poser les questions classiques :

Normal ! ;)

pouvez-vous poster les informations suivantes :
votre code,

Au bit près ;) , le code copié/collé depuis ce même post viewtopic.php?f=31&t=212#p834

votre version de lib,

https://github.com/Snootlab/Snootor - branch : "master"

votre version d'IDE arduino,

Arduino 1.0.1

votre OS


Mac OS X 10.7.4 (testé aussi sur Windows XP SP3, IDE Arduino 1.0.1, librairie 1.0)

votre cablage (schéma et photos)

Même schéma que dans le post précité viewtopic.php?f=31&t=212#p834

Désolé pour la qualité de la photo, la macro n'est pas le fort de l'iPhone 4...
Fichiers joints
photo.JPG
Rotorshield
photo.JPG (115.8 Kio) Vu 2989 fois
Dernière édition par gurki le Sam 22 Déc 2012 10:58, édité 1 fois.
gurki
 
Messages: 8
Inscription: Lun 8 Oct 2012 18:38

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Stéphane » Mar 16 Oct 2012 14:31

Bonjour,

Pouvez vous relier les pins suivantes :
Rotoshield -> Arduino Mega
Pin 4 -> Pin 20 (SDA)
Pin 5 -> Pin 21 (SCL)

Comme indiqué dans le tuto ici.
J'attends de vos nouvelles.
Avatar de l’utilisateur
Stéphane
 
Messages: 179
Inscription: Lun 2 Mai 2011 09:40

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude gurki » Mar 16 Oct 2012 14:44

Gasp... c'était tout simplement ça !!! En raccordant le bus I2C ça fonctionne de suite déjà mieux...
J'avais pourtant regardé le schéma du Rotoshield, vu les broches utilisées... je n'ai pas percuté sur l'I2C.

Bon, c'est rassurant, j'ai encore de GROS progrès à faire en Arduino ! :oops:

Grand merci à vous !
gurki
 
Messages: 8
Inscription: Lun 8 Oct 2012 18:38

Re: Comment cabler et faire tourner moteur pas à pas

Message non lude Stéphane » Mar 16 Oct 2012 14:49

Avec plaisir :)
Avatar de l’utilisateur
Stéphane
 
Messages: 179
Inscription: Lun 2 Mai 2011 09:40

Précédente

Retourner vers Rotoshield

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron