Bonjour,
Beau travail, merci de faire partager!
Une petite remarque :
Plus on demande de micro-pas par tour, et plus il faut de coups d'horloge pour les générer.
Ainsi, en 16e de pas, il ne faut pas moins de 64 coups d'horloge pour générer un tour complet,
Les "tours" sont des périodes "électriques" qui correspondent à 4 pas entiers. Comme tu le fais remarquer ensuite, en 1/16ième de pas avec un moteur à 200pas par tour il faut 200*16= 3600 impulsions pour un tour.
Géométriquement rien ne garanti la précision des micropas sauf la position du 1/2 pas par symétrie. Le micropas ne sert qu'à atténuer les vibrations à basse vitesses, il peut d'ailleurs être (un peu) pénalisant pour les hautes vitesses. Dans "Petit pas" (drivers que je ne recommande pas étant basé sur des LMD18245T) j'avais d'ailleurs fait un changement dynamique de table "sinus" => "power torque" lorsque la vitesse augmente. Il faudrait que je relise mes mesures mais il me semble avoir atteint (à vide) des vitesses supérieures à 60tr/s (à vérifier).
Je suis possesseur de drivers type leadshine (des originaux et des "copies"). Rien à en redire, ils ont de meilleures perf que Petits pas et sont de bonne conception. Je conseille tout de même de prendre de la marge en tension et courant dans l'utilisation de ce genre de matériel chinois. Pour ce qui est de 200kHz, c'est pour le micropas qui peut être vraiment démesuré (marketing?). Pour ma machine, je suis limité par le port // du pc (env 40kHz).
Une remarque : Il est intéressant de constater qu'il n'y a presque pas de différence entre un servo brushless (DC ou AC) et un moteur pas à pas, c'est la même chose.
Mis à part :
- les enroulements/poles en "triangle" 120° (3enroulements, 6 poles) pour l'un (servo) et séparé 90° (2enroulements, 50 poles) pour l'autre (le pas à pas)
- le servo est asservi finement en position grâce à un encodeur.
Le premier point fait que le moteur pas à pas a souvent un couple de maintien assez conséquent pour sa taille par rapport au servomoteur. Il a aussi une vitesse de rotation beaucoup plus faible.
Je pense qu'on pourrait asservir un moteur pas à pas avec un encodeur pour s'en servir en servomoteur "haut couple" et s'affranchir des problèmes de résonance, bruits, perte de pas... mais aussi repousser la vitesse/accélération max utilisable (le couple serait constant beaucoup plus loin).
La principale limitation en vitesse : l'inductance des bobines qui "freine" leur commande rapide.
Bonne continuation et bonne nuit
Xavier