J'ai trouvé une solution à mon problème, le moteur tourne rond et sans résonance, ne saute pas de pas, la tige filetée a un mouvement égal, j'arrive à faire varier la vitesse dans certaines limites que je voudrais pouvoir élargir : au dessous de 800 microsec. le moteur ne tourne plus...
int A = 4; int ANTIA = 5; int B = 6; int ANTIB = 7; // marche G a D
//int A = 7; int ANTIA = 6; int B = 5; int ANTIB = 4; // marche D a G
void setup() {
pinMode(A, OUTPUT); pinMode (ANTIA, OUTPUT); pinMode (B, OUTPUT); pinMode (ANTIB, OUTPUT);
}
void loop() {
digitalWrite(A, HIGH); digitalWrite(ANTIA, HIGH);
digitalWrite(B, HIGH); digitalWrite(ANTIB, LOW);
delayMicroseconds(800); // STEP 1
digitalWrite(A, LOW); digitalWrite(ANTIA, HIGH);
digitalWrite(B, HIGH); digitalWrite(ANTIB, LOW);
delayMicroseconds(800); //STEP 2
digitalWrite(A, LOW); digitalWrite(ANTIA, HIGH);
digitalWrite(B, HIGH); digitalWrite(ANTIB, HIGH);
delayMicroseconds(800); // STEP 3
digitalWrite(A, HIGH); digitalWrite(ANTIA, HIGH);
digitalWrite(B, HIGH); digitalWrite(ANTIB, HIGH);
delayMicroseconds(800); // STEP 4
}