Vibration moteur pap

Bonjour,

Je voudrais commander un moteur pas à pas bipolaire (39sh38) via une carte Arduino Mega et un driver (DRV8825 Pololu). Cependant à chaque fois que j'allume l'alimentation et après avoir chargé mon programme, le moteur vibre mais ne tourne pas. J'ai vérifié les branchements et l'alimentation en 5V du driver. Mais même avec des modifications, le moteur vibre toujours.
Sauriez-vous comment résoudre ce problème?
Merci à tout ceux qui me répondront
Bonne après-midi

Isabelle_VP:
Bonjour,

Je voudrais commander un moteur pas à pas bipolaire (39sh38) via une carte Arduino Mega et un driver (DRV8825 Pololu). Cependant à chaque fois que j'allume l'alimentation et après avoir chargé mon programme, le moteur vibre mais ne tourne pas. J'ai vérifié les branchements et l'alimentation en 5V du driver. Mais même avec des modifications, le moteur vibre toujours.
Sauriez-vous comment résoudre ce problème?
Merci à tout ceux qui me répondront
Bonne après-midi

bonjour
quels tests a tu fais ?
le moteur en en charge ou pas ?
a tu testé l'inversion d'un enroulement ? , un PAP qui vibre peu simplement venir de là et c'est une erreur commune de branchement

Bonjour,

Donne les caractéristiques de l'alimentation utilisée
Une photo ou un dessin du câblage réalisé aussi.

bonjour ! Merci beaucoup pour vos deux réponses!
J'ai finalement réussi à faire tourner le moteur en changeant de vitesse et de programme (même s'il décroche en pleine accélération) Cependant pourriez-vous m'expliquer pour ce programme ne fonctionne pas? J'ai beau relire je ne comprends pas où peut se situer l'erreur
Merci beaucoup et encore désolée

#include <AccelStepper.h>;
#include <Stepper.h>;

int dirPin=8;
int stepPin=9;

void setup() {
pinMode(dirPin, OUTPUT);
pinMode(stepPin, OUTPUT);
}

void loop() {
positionnement(dirPin,stepPin,500); le moteur bouge 500pas dans le sens horaire
delay(100); délais d'1 seconde
positionnement(dirPin,stepPin,-500); le moteur bouge de 500 pas dans le sens anti-horaire
}

void positionnement (int dir, int pas, int dist) {
if (dist>0)
digitalWrite(dir, HIGH); dir=5V
else
digitalWrite(dir, LOW); dir=0V

tant que x ne dépasse pas la distance
for(int x=0;x<abs(dist);x++) {
on envoie une pulsation qui fait avancer le moteur d'un pas
digitalWrite(pas, HIGH);
delay(500);
digitalWrite(pas, LOW);
delay(500);
}

}

bonjour,

Cependant pourriez-vous m'expliquer pour ce programme ne fonctionne pas? J'ai beau relire je ne comprends pas où peut se situer l'erreur

c'est a dire?

merci de mettre le code entre balise code </>

bonjour
mets ton code entre balise code </>
ton code ne compile pas
tu utilise des lib stepper et accelstepper et tu veux gerer les etats avec sorties directes non definies.
En plus en utilisant des delay() bloquant de grand valeur entre etats.

Bien merci, désolée je n'étais pas au courant. Ok alors je vais essayer sans les délais.
Je vous remercie beaucoup !