Salut la communauté!
Alors j'ai fait une petit électronique simple, on rentre avec deux fils et on sort sur les 4 bobines du moteur pas à pas. en fait, j'ai fait un simple démultiplexeur 2 => 4.
Mais voilà, histoire de, j'ai mi ce code là :
void loop(){
PORTD += 0x04; // interface connectée sur D3 et D4, on fait tourner la séquence { 00, 01, 10, 11}
delay(analogRead(A0); // potar sur A0 pour la vitesse
}
ça marche, mais pas moyen d'aller vite, le moteur déraille tout de suite!
Alors j'ai regardé avec mon oscillo, ben franchement, le signal gigote dans tous les sens (entre le delay et l'analogRead...), donc normal que le moteur ne suive pas.
j'ai ressorti un vieux montage à base de CMOS, un oscillateur, compteur, démultiplexeur, et là, le moteur répond impec (tant qu'on lui laisse le temps d'accélérer bien sur!)
Quelqu'un a un bout de code à base de vraies interruptions qui marche bien pour faire aller le moteur super vite? Sinon, je le ferai, mais bon, autant travailler ensemble
j'ai ouvert la lib stepper, bouh que c'est laid! que des int 16 bits, des digitalWrite()... Bref, tout ce qu'il faut pour faire une catastrophe!