hello, can i have help for using a bipolar stepped motor ?
i am trying to use a bipolar stepped motor for the first time with this materials :
a bipolar stepped motor, 12v, 1.6A, 416 0z-in geared bipolar stepped motor réf : RB-Phi-132
a microcontroller fez cobra 1 réf : RB-Ghi-12 (or with an arduino uno)
a pololu 2A single bipolar stepper motor driver A4988 réf : RB-Pol-176
a 25w adjustableswitching regulator réf : DE-SWADJ 3A
I have tried with arduino uno the pololu schematic given like this:
Vmot and gnd to motor power supply (dc 12v)
1a (black) 2a(red) 1b(green) 2b(blue) to the stepped bipolar motor
Enable, Step and Dir to the microcontroller arduino (on d13, d12 , d11)
I tried as well to used the d-swadj regulator with a 12v battery, but the motor did not moved.
Here is the code i used :
/*
Test moteur PAP (pas entier)
Carte Pololu avec puce A4988 + régulateur de tension > pololu.com/catalog/product/1183
Ch.Aubert Déc.2011
/
/************* Définition des E/S *************************/
const int dirPin = 11; // DIR
const int stepPin = 12; // STEP
const int enablePin = 13; // ENABLE
void setup()
{
pinMode(enablePin, OUTPUT); // broche Enable en sortie
digitalWrite(enablePin, HIGH); // ensuite on met un niveau haut sur Enable pour relacher le moteur
pinMode(stepPin, OUTPUT); // Dir et Step en sortie
pinMode(dirPin, OUTPUT);
calibrate(); // lance le stall moteur Ampérage max !
//test(); // lance le test !!
}
void loop()
{
// rien pour l’instant !
}
void calibrate() // Stall moteur Ampérage max !
{
digitalWrite(enablePin, LOW); // active le moteur (il ne sera plus possible de le tourner à la main et l’ampérage sera à son MAX !!
}
void test() // faire tourner le moteur 200 pas
{
int j;
digitalWrite(enablePin, LOW); // active le moteur (il ne sera plus possible de le tourner à la main et l’ampérage sera à son MAX !!
delayMicroseconds(2); // on donne un très court délais par précaution avant de tourner
digitalWrite(dirPin, HIGH); // Tourner à droite (selon branchements !)
for(j=0; j<=199; j++) { // ajuster le nb. de pas (ici 200 pas soit un tour. On compte le zéro !)
delay(200); // ajuster le tempo entre chaque pas (plus le délais est court, plus le mouvement est fluide ! On peut aussi supprimer ce délais !)
digitalWrite(stepPin, LOW);
delayMicroseconds(10); // à ajuster selon moteur, on peut essayer de diminuer à 2 us
digitalWrite(stepPin, HIGH);
delayMicroseconds(1000); // fréquence à ajuster selon moteur (contrôle la vitesse et le couple)
}
digitalWrite(enablePin, HIGH); // On relache le moteur (on peut le tourner à la main)
}