Variation vitesse d'un moteur pas à pas.

Bonjour à tous.

J'aimerais faire varier la vitesse d'un moteur pas à pas (Ref: 28BYJ-48 et son sepper) relié à un arduino nano grâce à un potentiomètre.

J'ai récupéré sur le net le code ci-joint.

//Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
 
 
void setup() {
 
  Serial.begin(9600);
}
 
void loop() {
  // read the sensor value:
  // on lit la valeur sur le potentiometre
  int sensorReading = analogRead(A0);
  // map it to a range from 0 to 10:
  // convertie la valeur au potentiometre
  int motorSpeed = map(sensorReading, 0, 1023, 0, 30);
  
  if (motorSpeed > 0) {
    // on donne la vitesse du moteur
    // motor speed
    myStepper.setSpeed(motorSpeed);
    Serial.print("Vitesse ");
    Serial.println(motorSpeed);
    // 100 step
    myStepper.step(10);
    //delay(1500);
   // myStepper.step(-2048);
    //delay(1500);
  }
}

Tout devrais fonctionner parfaitement mais hélas, j'ai un souci.

Quand je place le potentiomètre à fond pour la vitesse la plus rapide, le moteur tourne effectivement vite mais le µP chauffe comme un malade au point de se couper.
Mon alimentation 5V et mise sur le VIN de la nano
Mon potentiomètre est branché sur le 5V de mon alim et la masse.
Le point milieu du potentiomètre est branché sur A0 de la nano.

Je ne vois pas d'où peut venir le souci de chauffe. Si vous constater une erreur, je suis preneur.
En vous remerciant par avance.

Cordialement.

Quelle est la résistance du potard ? Et quand il est à fond et qu’elle est presque nulle, combien vaut ce quasi-zero ohm?

Ensuite appliquez U = RI et regardez l’intensité qui est demandée avec un U constant à 5V et un R qui tend vers 0

Salut,

Il faut une alimentation separé pour le moteur pas à pas en plus de celle de l'arduino, donc carte arduino alimentation via port USB, et alimentation 5V 1A sur la carte controleur du pas à pas.

Schéma de ce type :

Le driver ULN2003 est relié

  • à une alimentation de 5V DC pour le moteur (l'ULN supporte jusqu'à 30V mais pas les 4 LEDS de la carte ni le moteur DC) : +V et GND.
  • à la carte Arduino sur 4 pins digitales (pin 8- pin 11), configurées en sorties, avec 4 fils Dupont mâle / femelle.
    In1 -> pin 8
    In2 -> pin 9
    In3 -> pin 10
    In4 -> pin 11
  • Relier les masses de l'Arduino et de celle de l'alimentation séparée du moteur.

Bonjour à tous.

Un grand merci pour votre aide. Car grâce à vos judicieux conseils cela fonctionne maintenant à la perfection.

Merci pepe, tes observations m'ont permis de déceler mon erreur a savoir:
Sous alimentation de ma carte par l'entrée 5v en VIN et sur alimentation de ma pin A0 alimenté en vrai 5V en bout de course du potard.
Merci J-M-L pour tes recommandations de prise de mesure qui mon permis de repérer une anomalie.
Merci hameau pour tes mesures de précautions a faire sur le montage.

Bien cordialement.