masque moteur

Le masque d'attaque d'un moteur n'est ni plus ni moins qu'un masque de 4 chiffres entre 0 et 3 permettant de paramétrer l'ordre d'attaque des phases moteurs en fonction de l'ordre indiqué par ce masque, ce qui autorise l'utilisation de n'importe quel moteur pas à pas à 4 fils (bipolaires) ou 6 fils (unipolaires avec masse commune reliée et non utilisée)

Supposons un moteur dont chaque bobine est constitué de deux bornes ce qui comporte au final quatre phases.

Prenons l'exemple simple de l'attaque en mode full-step ou half-step suivant 

Les deux bobines 1 et 2 comporte deux phases et donc au final quatre phases 1a, 1b, 2a, 2b qui doivent être attaquées en courant suivant la séquence indiquée :

Nous souhaitons attaquer de façon générique ce moteur SANS CONNAITRE LE BRANCHEMENT INTERNE DES BOBINES

Par exemple on a sous les yeux 4 fils (bleu rouge orange jaune..) dont on ne connait pas la correspondance pour avoir une attaque correcte.

La seule solution est de tester les combinaisons de 4 chiffres les unes après les autres jusqu'à ce qu'on ait une rotation du moteur.

Pour faciliter ces tests, on peut utiliser un script sous linux qui incrémente ces combinaisons suivant un masque 

MASQUE 3 0 1 2
ordre attaque des phases avant application du masque (incorrect) 1b 2a 2b 1a

ordre attaque des phases après application du masque (correct)

1a 1b 2a 2b

Dans le cas d'un mode micro-pas, l'attaque des deux bobines suit bienentendu deux sinusoides quantifiées déphasées de PI/2,
modulo un facteur de non-linéarité dûe aux retours inductifs.