Comportement moteur pas à pas incompréhensible

a marqué ce sujet comme résolu.

Bonjour à tous!!

Voila j'ai une arduino UNO, un controleur de moteur pas a pas easydriver ainsi qu'un moteur pas à pas dont voici les references :

Moteur : http://www.robotshop.com/eu/fr/petit-moteur-pas-a-pas-12v-04a-14oz-in.html

Controleur : http://www.robotshop.com/eu/fr/controleur-moteur-pas-easydriver.html

Voici le schema de mon montage : Image utilisateur

Image utilisateur

Ainsi que le code suivant :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
int pinled = 2;
int pinbp = 3;

int sleepPin = 10;
int dirPin= 8;
int stepPin=9;


void setup() {

  pinMode(pinled,OUTPUT);
  pinMode(pinbp,INPUT);

  digitalWrite(pinled,HIGH);
  delay(1000);
  digitalWrite(pinled,LOW);

  pinMode(sleepPin, OUTPUT);
  digitalWrite(sleepPin,LOW);

  pinMode(dirPin, OUTPUT);     
  pinMode(stepPin, OUTPUT);


  digitalWrite(dirPin, LOW);
  digitalWrite(stepPin, LOW);


}

void loop() {

if (digitalRead(pinbp) == LOW) {

digitalWrite(pinled,HIGH);  
runmotor();
delay(3000);

}
else {

  digitalWrite(pinled,LOW);

}


}

void runmotor() {

  digitalWrite(sleepPin,HIGH);

for (int i=0; i<480; i++){

  digitalWrite(stepPin, HIGH);
  delayMicroseconds(800);          
  digitalWrite(stepPin, LOW); 
  delayMicroseconds(800);


}

  digitalWrite(sleepPin,LOW);

}

Et enfin, une video de mon montage en fonctionnement :

https://www.youtube.com/watch?v=nMZgaPvXQJM

Mon problème : Vous pouvez voir que j'ai tracé un trait au stylo en haut du bouchon de liège d'environ 1cm et si vous regardez le code, je demande au moteur d'effectuer 10 tours (48 pas par tour).

Mais en y regardant bien, le bouchon de liège ne revient jamais à son point d'origine. Il est en relativement proche mais c'est tout et il se décale de plus en plus a chaque fois que j'enclenche la rotation de 480 pas en appuyant sur le bouton poussoir.

Petite précision qui n'est pas représenté sur mes schemas, l'arduino est alimentée en 12v que je récupère sur la sortie Vin pour alimenter le moteur par le biais du controleur.

Est-ce un comportement normal ? Si non, sauriez vous d'ou peut provenir cette erreur ?

Si besoin de plus d'information demandez moi :)

merci beaucoup d'avance :D et plus particulièrement à Eskimon s'il me lis pour m'avoir rendu le monde arduino accessible :)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte