QuickStep

QuickStep est une bibliothèque permettant de gérer des moteurs pas à pas avec les cartes Uno, Nano et Méga (minipro aussi je suppose, non testé).

Les ordres peuvent être mis en attente si le moteur n'a pas eu le temps de finir le mouvement demandé. Les ordres de rotations ne sont donc pas bloquants, saut si on dépasse la limite du stockage. Cela permet d'enchaîner deux ordres sans temps d'attente (essentiel si on travaille en sur-vitesse).

Elle utilise un timer pour gérer les avances, qui peuvent donc se faire sans intervention du programme principal. Du coup loop() peut être bloquante. On peut utiliser indifféremment un timer 8 bits ou 16 bits, ce qui permet d'une part de pouvoir utiliser les autres timers pour d'autre bibliothèques (Servo par exemple) et de ne pas bloquer une sortie analogique donnée. Bien sûr si on utilise le timer 0 qui est utilisé entre autre par delay(), cela ne perturbera pas l'horloge système à condition d'envoyer entre 4 et 970 pas/s.

Les accélérations et les décélérations sont possibles et sont réalisées par paliers (1 à 255 paliers). Une accélération commence à vitesse nulle et la décélération finit à vitesse nlle.

La bibliothèque peut envoyer jusqu'à 110'000 impulsions STEP par seconde, ce qui permet la sur-vitesse et justifie l'usage des accélérations et des décélérations.

  >>   Téléchargement