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 :
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 et plus particulièrement à Eskimon s'il me lis pour m'avoir rendu le monde arduino accessible