Contrôle de moteur pas-à-pas avec driver TB6600
Le programme ci-dessous permet de contrôler un moteur pas-à-pas Nema 17 avec un contrôleur TB6600 :
const int ena = 2;
const int dir = 3;
const int pul = 4;
void setup()
{pinMode(ena, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(pul, OUTPUT);
// Pour activer le driver, si HIGH : le moteur passe en rotation libre et le driver ne consomme plus de courantdigitalWrite(ena, LOW);
}
void loop()
{digitalWrite(dir,HIGH); // Définit le sens de rotation
// Envoie 6400 pulsations pour faire tourner le moteurfor(int x = 0; x < 6400; x++)
{digitalWrite(pul,HIGH);
delayMicroseconds(300);
digitalWrite(pul,LOW);
delayMicroseconds(300);
}
delay(1000);
// Change le sens de rotationdigitalWrite(dir,LOW);
for(int x = 0; x < 6400; x++)
{digitalWrite(pul,HIGH);
delayMicroseconds(300);
digitalWrite(pul,LOW);
delayMicroseconds(300);
}
delay(1000);
}
Pour rappel, la séquence de pilotage des bobines d'un moteur bipolaire est :

Le montage à réaliser est le suivant (réglez les micro interrupteurs du driver de sorte à ce que le moteur reçoive un courant de 2A et 6400 pulsations par tour).
Branchez le Vin et le Ground sur une alimentation 12V.
Si vous ne disposez pas d'alimentation 12V, vous pouvez recycler une veille alimentation de PC : Transformer une alimentation de PC en alimentation d'atelier électronique
Truc & astuce
Pour identifier sans la datasheet les paires de bobines sur votre moteur pour savoir comment les relier au A+A- ou B+B-, débranchez le moteur, faites tourner son axe pour ressentir sa résistance naturelle, prenez un des fils, reliez-le à un autre, faites tourner l'axe, si vous sentez une résistance plus grande c'est qu'il s'agit de deux fils de la même bobine (car elle est alors en court-circuit et s'oppose donc à la rotation du moteur), sinon essayez avec un autre fil jusqu'à sentir une résistance. Une fois les paires identifiées, mettez une paire sur les broches A-A+ et une autre sur les broches B-B+.