Pourquoi avons-nous besoin d'une rampe pour moteur pas à pas?

9

Je suis un débutant et j'essaie de comprendre comment je peux faire fonctionner un moteur pas à pas. Le concept que j'avais à l'esprit était que les steppers avaient besoin d'impulsions numériques pour fonctionner, et je l'ai également essayé. J'ai pu exécuter le stepper que j'utilise très facilement. Mais récemment, je suis tombé sur un lien où ils ont utilisé une rampe pour démarrer un stepper le justifiant en disant que

"Si nous essayons de démarrer le moteur pas à pas avec des impulsions rapides, il reste juste là et ronfle sans tourner, nous devons démarrer le moteur pas à pas lentement et augmenter progressivement la vitesse des étapes (montée en puissance)." Source: http://www.societyofrobots.com/member_tutorials/book/export/html/314

Ma question est pourquoi le stepper démarre-t-il ensuite avec des impulsions carrées régulières? Pourquoi avons-nous besoin d'une rampe? Tous les autres forums et tutoriels parlent toujours de fournir des impulsions numériques au stepper pour le démarrer, pourquoi le concept de génération de rampe n'est-il pas abordé ici? Est-ce une mauvaise pratique d'exécuter pas à pas avec des impulsions numériques?

alexhilton
la source
2
Je pense que vous confondez la "rampe" avec des formes "carrées". Le contrôle est toujours par onde carrée, juste la vitesse / vitesse de changement de ces étapes de contrôle est augmentée de zéro aux pas prévus par seconde ou quelle que soit la vitesse que vous essayez d'obtenir.
KyranF
Supposons que votre onde carrée pas à pas ressemble à un signal à 3 kHz. Plutôt que de passer d'un arrêt à l'arrêt, vous devriez commencer avec une basse fréquence (ou un intervalle plus long entre les impulsions). Le plancher d'une pédale d'accélérateur de voiture prend environ une demi-seconde, et fume des pneus (à bas régime) ou prend un certain temps pour répondre (à grande vitesse).
Alan Campbell
Oui, j'ai confondu la rampe avec les impulsions, merci pour les commentaires!
alexhilton

Réponses:

8

Lorsque le contrôleur fait marcher le moteur, le rotor doit se déplacer suffisamment loin (angle) pour que lorsque la bobine (ou la paire de bobines) suivante est alimentée, il tirera le rotor dans la bonne direction. Si le rotor ne s'est pas déplacé dans un angle suffisant, les bobines tireront le rotor vers l'arrière et le moteur restera assis là et bourdonnera. Vous pouvez trouver de nombreuses illustrations et animations en ligne qui expliquent le fonctionnement normal - imaginez que le rotor ne se déplace que d'une fraction de la quantité prévue.

Le rotor, l'arbre et tout ce qui est connecté à l'arbre ont tous une inertie et des frottements de toutes sortes.

La vitesse maximale que le moteur pas à pas peut faire tourner l'arbre est liée au couple disponible du moteur et au couple requis pour faire tourner l'arbre (le couple disponible diminue à mesure que le régime augmente et le couple requis augmente généralement à mesure que le régime augmente). Ce n'est pas directement lié à l'inertie.

Pour atteindre le maximum (ou une fraction de celui-ci), vous ne pouvez accélérer le RPM que si rapidement sans manquer d'étapes. L'accélération maximale est liée à l'inertie et au couple disponible excédentaire à un régime donné. Si le moteur fait tout ce qu'il peut pour suivre le régime actuel, vous ne pouvez plus accélérer. Si le régime est suffisamment bas, vous n'avez pas besoin de l'augmenter, vous pouvez simplement lui dire de monter, mais ce ne sera généralement qu'une fraction du régime dont le moteur est capable. Souvent, des rampes linéaires sont utilisées pour plus de simplicité, mais une courbe plus convexe serait optimale.

Voici une courbe de couple moteur d'Oriental Motor (un grand fabricant japonais):

http://www.orientalmotor.com/technology/articles/article-speed-torque-curves-for-step-motors.html

Pour prédire le taux d'accélération maximal, vous devez connaître le couple et le moment d'inertie de la masse . Si vous dépassez le taux d'accélération maximum à une charge donnée, le moteur perdra des pas, donc une marge de sécurité raisonnable est une bonne idée.

Spehro Pefhany
la source
Merci Sphero pour une réponse aussi détaillée, je me suis en fait confondu avec deux choses principales, je vais travailler sur un moyen de sélectionner la fréquence des étapes pour constituer une rampe!
alexhilton
Avez-vous de la littérature?
Carlton Banks
@CarltonBanks Consultez le lien ci-dessus vers Oriental Motor.
Spehro Pefhany
Il ne mentionne pas nécessairement pourquoi il est préférable de monter en rampe qu'autrement, (si du tout, ne mentionnez que la sélection pour autant que je puisse lire) être aussi puissant.
Carlton Banks
Si vous ne vous souciez pas de la vitesse maximale, il n'y a aucune raison de grimper. La rampe vous permet d'obtenir une vitesse maximale supérieure pour une inertie + un couple donné sans perdre de pas.
Spehro Pefhany
2

Il semble que la description que vous avez lue parle de la montée en vitesse , en d'autres termes, de la fréquence des étapes. Les impulsions pour chaque étape sont toujours carrées.

La raison en est qu'un moteur pas à pas ne peut générer que peu de couple. Lorsque nous dépassons ce couple maximum, le moteur manque des étapes.

De plus, l'accélération du moteur nécessite un couple selon la deuxième loi de Newton : la force est égale à la masse multipliée par l'accélération:

F=ma

Pour un système rotatif, les termes changent un peu, mais ils sont pour la plupart analogues: le couple est égal au moment d'inertie multiplié par l'accélération angulaire:

τ=Iα

La conséquence est que pour accélérer instantanément le moteur, il faudrait un couple infini, ce qui n'est pas possible. Ainsi, nous devons limiter l'accélération, c'est-à-dire «accélérer» la vitesse, pour limiter le couple requis à quelque chose que le moteur peut générer sans étapes manquantes.

Phil Frost
la source
1

Deux ans plus tard ... je voulais ajouter quelques détails sur la vitesse typique par rapport aux vibrations / bruit pour tout moteur pas à pas.

Lors d'un pas très lent, comme un par seconde, l'arbre se déplace vers le nouvel emplacement et dépasse, puis sous-dépasse plusieurs fois jusqu'à ce qu'il se stabilise sur cette étape. Le processus se répète à chaque nouvelle étape.

La tension / le courant électrique doit être suffisant pour la charge et la taille du moteur doit être sélectionnée pour correspondre au couple requis.

Une fois que le moteur n'a pas besoin de bouger, la tension / le courant peut être réduit d'environ 50% à 75% pour maintenir cette position. Dans les cas où la friction est dominante, ou en utilisant un certain type d'engrenage, le moteur peut être complètement désactivé. Ceci est similaire aux relais qui ont besoin par exemple de 12 volts pour s'activer, mais qui maintiennent ensuite facilement le contact activé avec seulement 9 volts.

En augmentant la vitesse à environ 20 par seconde, les vibrations / bruits atteignent son maximum. C'est une vitesse que la plupart des ingénieurs tenteront d'éviter.

Au fur et à mesure que la vitesse augmente, les vibrations / bruit diminuent, le couple diminue également. Si vous tracez le bruit en fonction de la fréquence, la forme montrera une direction claire vers le bas avec des maxima locaux, souvent à une fréquence harmonique.

Supposons qu'une valeur typique supérieure à 100 pas par seconde, la vibration est suffisamment faible pour être tolérable et disons que le couple devient trop faible pour un fonctionnement fiable au-dessus de 500 hertz.

Vous pouvez démarrer un moteur pas à pas en utilisant n'importe laquelle de ces fréquences immédiatement, sans augmenter la vitesse de 100 Hz à 500 Hz. De même, vous pouvez interrompre brusquement les étapes, quelle que soit la fréquence. Le courant de maintien est suffisant pour bloquer le moteur à cette étape.

La rampe est nécessaire lorsque vous souhaitez dépasser la fréquence maximale. Compte tenu du nombre "typique" ci-dessus, vous pouvez constater que votre moteur a encore suffisamment de couple, lorsqu'il est accéléré en douceur, pour fonctionner de 500 Hz à 700 Hz. L'astuce pour un fonctionnement fiable est de démarrer la rampe quelque part comme 400 Hz, puis de la laisser augmenter jusqu'à 700 Hz. Gardez-le à cette vitesse jusqu'à l'approche de la position cible.

Ensuite, décélérez en douceur de 700 Hz à 450 Hz. Si la position cible n'est toujours pas atteinte, maintenez le moteur à cette vitesse. Ensuite, à partir de 450 Hz, vous pouvez vous arrêter. Maintenez le moteur sous tension / courant / tension maximum pendant 0,1 seconde à 1 seconde pour vous assurer que toute source de vibration s'est dissipée.

La rampe linéaire est plus facile à créer. Mais l'optimum est la forme en "S". Vous commencez à la fréquence sûre, augmentez lentement au début et changez le taux d'augmentation exponentielle de la vitesse jusqu'à atteindre le maximum.

Quand il est temps de décélérer, le même algorithme s'applique, diminuant la vitesse lentement et changeant de manière exponentielle la vitesse de diminution, arrêtez de diminuer la vitesse en atteignant la vitesse de sécurité, ce qui permet d'arrêter le moteur brusquement.

Le code réel faisant tout cela, en utilisant un microcontrôleur motorola 68HC05, prenait environ 500 octets (l'EPROM interne était de 8K au total et la RAM était de 128 octets). Il a été écrit en assembleur.

Si vous avez le matériel pour le micro-pas, vous pouvez ignorer toutes les mentions sur le bruit et les vibrations. Vous avez toujours besoin d'une accélération en forme de "S" si vous souhaitez dépasser la vitesse maximale habituelle. Mais comme il n'y a pas de vibration quelle que soit la vitesse, vous pouvez laisser la décélération descendre aussi bas que vous le souhaitez.

Les leçons tirées de la vague carrée sont toujours valables. C'est-à-dire que pour le moyen le plus efficace d'atteindre la destination, vous voulez que la décélération soit à la fréquence juste en dessous du point où le couple moteur est suffisant pour un arrêt et un démarrage brusques.

Christian Gingras
la source