Comment calculer la fréquence de boucle requise pour un servo-contrôleur?

11

J'ai un moteur qui entraîne une chaîne connectée à une cellule de charge. Je voudrais implémenter un contrôleur en boucle fermée pour contrôler la charge appliquée par le moteur à la chaîne.

Chaîne d'entraînement de moteur connectée à une cellule de charge

Comment dois-je procéder pour déterminer la fréquence de boucle requise afin de créer un système de contrôle stable? Est-ce quelque chose comme la fréquence de Nyquist, où la vitesse de boucle devrait être au moins le double de la fréquence la plus élevée inhérente au système mécanique?

Rocketmagnet
la source
Il serait avantageux que les réponses se concentrent sur le côté pratique OU théorique de la question. Est-ce une pure question théorique (où le frottement, les erreurs de capteur, les biais moteurs, etc. sont ignorés)? La fréquence du contrôleur ne devrait pas être supérieure à la plage de validité du capteur et serait également définie par les caractéristiques du moteur.
Gürkan Çetin

Réponses:

4

La fréquence de boucle est un paramètre qui doit être réglé tout comme vos termes proportionnels, intégraux et / ou dérivés. Le faire varier a un effet similaire sur votre sortie comme faire varier vos autres paramètres. Une fréquence trop basse et vous n'atteindrez jamais votre état d'équilibre souhaité. Trop haut et la sortie oscillera.

Pour déterminer la fréquence de boucle optimale, vous devrez d'abord construire des tracés de Bode à partir de données de test ou de simulation du monde réel:

Les tracés de Bode affichent de façon concise toutes les informations d'entrée et de sortie de fréquence pertinentes sur deux tracés: rapport d'amplitude en fonction de la fréquence et déphasage en fonction de la fréquence. Le tracé du rapport d'amplitude est un tracé log-log alors que le tracé angle de phase est un tracé semi-journalier (ou log-linéaire).

Pour construire un tracé de Bode, un ingénieur disposerait de données empiriques montrant des valeurs d'entrée et de sortie qui varient en tant que fonctions sinusoïdales du temps. Par exemple, il peut y avoir des données de température d'entrée qui varient de manière sinusoïdale et des données de température de sortie qui varient également de manière sinusoïdale.

Le rapport d'amplitude, AR, est le rapport de l'amplitude de la courbe sinusoïdale de sortie divisé par l'amplitude de la courbe sinusoïdale d'entrée.

AR=outputamplitudeinputamplitude

Pour trouver le déphasage, les périodes des courbes sinusoïdales d'entrée et de sortie doivent être trouvées. Rappelons que la période, P, est la durée d'un pic à l'autre.

P=1f=2πω
f=frequency
ω=frequency(rad/sec)

AR vs freq

phase vs freq

Règles générales lors de l'analyse des tracés de Bode

De manière générale, un changement de gain déplace le rapport d'amplitude vers le haut ou vers le bas, mais n'affecte pas l'angle de phase. Une modification de la temporisation affecte l'angle de phase, mais pas le rapport d'amplitude. Par exemple, une augmentation de la temporisation rend le déphasage plus négatif pour une fréquence donnée. Un changement dans la constante de temps change à la fois le rapport d'amplitude et l'angle de phase. Par exemple, une augmentation de la constante de temps diminuera le rapport d'amplitude et rendra le décalage de phase plus négatif à n'importe quelle fréquence donnée.

Ensuite, vous devrez déterminer la fréquence de transition :

Le terme proportionnel déplace l'amplitude de la réponse en fréquence de la boucle ouverte vers le haut ou vers le bas et est donc utilisé pour définir la fréquence de croisement de la boucle ouverte. La fréquence de croisement est la fréquence à laquelle la magnitude a un gain de 1 (ou 0 dB). Cette fréquence est importante car elle est étroitement liée à la bande passante de la réponse en boucle fermée.

Dans un système idéal, le gain proportionnel pourrait être rendu (presque) infiniment grand menant à une boucle fermée infiniment rapide, mais toujours stable. En pratique, ce n'est pas le cas. Au contraire, deux règles générales de conception entrent en jeu.

Tout d'abord, la fréquence d'échantillonnage du matériel numérique sur lequel le contrôleur va être exécuté doit être prise en compte. Une règle de base typique est que la fréquence de croisement doit être réglée pour être au moins 10 fois inférieure à la fréquence d'échantillonnage du contrôleur. Conceptuellement, cela garantit que le contrôleur fonctionne à une vitesse suffisamment rapide pour qu'il puisse gérer de manière adéquate les changements dans le signal contrôlé.

La deuxième règle empirique est liée à la pente de la réponse en fréquence à la fréquence de croisement. Si le décroissement de la réponse en amplitude en boucle ouverte au croisement peut être proche de -20 dB / décade, alors la largeur de bande en boucle fermée devrait être proche de la fréquence de croisement. Notez que les termes intégral et dérivé, pas seulement le terme proportionnel, sont utilisés pour contrôler la pente au croisement.

graphique de croisement de bode

(c'est moi qui souligne)

Ainsi, la fréquence de boucle de contrôle optimale devrait être environ 10 fois supérieure à la fréquence de croisement du retard de phase de votre système qui peut être obtenue par des données de test empiriques ou, idéalement, par simulation informatique.

embedded.kyle
la source
Excellente réponse, mais j'utiliserais le terme cycle limite plutôt que oscillation dans ce contexte, car il est plus spécifique à la théorie du contrôle . L'important étant que toute petite perturbation de la trajectoire fermée ferait revenir le système au cycle limite, ce qui le ferait respecter le cycle limite . Cela diffère de la simple oscillation en ce que cette situation indésirable ne se dégrade pas d'elle-même et est en fait activement perpétuée.
Mark Booth
@MarkBooth Je n'ai jamais étudié la théorie du contrôle de manière formelle, mais je suis plutôt tombé dedans quand j'ai obtenu un travail d'écriture de logiciels intégrés pour les contrôleurs de moteur. Je n'ai jamais entendu le terme cycle limite avant et l'article de Wikipédia à ce sujet est assez bref. Les articles Wikipedia sur les contrôleurs PID et la théorie des contrôles utilisent tous deux le terme oscillation mais ne mentionnent pas les cycles limites. Pourriez-vous indiquer d'autres références qui traitent des cycles limites dans le contexte spécifique de la théorie du contrôle? Je suis très intéressé à en savoir plus.
embedded.kyle
1
L'affirmation selon laquelle une fréquence de boucle trop élevée peut rendre un système instable est essentiellement fausse. Le x10 de la bande passante de contrôle est une bonne règle mais il n'y a pas d'inconvénient à aller plus haut (au-delà du coût). De toute évidence, si votre intégrateur effectue + chaque cycle, vous devrez peut-être réduire votre terme I (par exemple).
Guy Sirton
1
Je n'ai jamais entendu le terme "fréquence de boucle" utilisé pour la fréquence d'échantillonnage de la boucle auparavant, mais cela semble être l'usage ici. Les anciens fermeurs de boucles analogiques penseront que vous entendez la bande passante de la boucle (fréquence de fermeture de boucle AKA).
TimWescott
1
La définition d'un taux d'échantillonnage élevé dans une boucle de contrôle ne causera des problèmes de bruit (et pas seulement de la quantification) s'il existe un besoin de filtrage passe-bas dans la boucle qui est en quelque sorte satisfait par un échantillonnage à basse fréquence. Cela peut toujours être résolu en mettant des filtres passe-bas explicites, si la situation le justifie.
TimWescott
3

Lorsque la corde n'est pas sous tension, vous avez un système non linéaire (c'est-à-dire que vous poussez sur une corde), ce qui peut également le rendre plus difficile à contrôler. La rigidité de votre chaîne va limiter votre bande passante. (La chaîne agit comme un filtre passe-bas, au moins lorsqu'elle est sous tension). J'ai en fait travaillé un peu sur une configuration similaire et c'était vraiment difficile à contrôler.

Puisque vous échantillonnez, le théorème d'échantillonnage s'applique absolument et vous devez échantillonner au moins x2 la fréquence la plus élevée dans votre entrée (soit en augmentant la fréquence d'échantillonnage ou en filtrant l'entrée avant l'échantillonnage ou les deux) sinon vous obtiendrez un aliasing.

Comme le souligne Kyle, l'autre facteur est la largeur de bande de contrôle souhaitée. Je suis d'accord avec la règle générale selon laquelle la boucle doit fonctionner au moins ~ x10 à cette fréquence.

Ces deux conditions doivent être remplies.

Il y a une assez bonne discussion à ce sujet dans le chapitre 6: Échantillonnage dans les systèmes de contrôle en boucle fermée de la dissertation de Marten Derk van der Laan (1995) Techniques d'échantillonnage du signal pour l'acquisition de données dans le contrôle de processus :

La sélection des taux d'échantillonnage est une question importante. Pour des raisons économiques, les taux d'échantillonnage sont maintenus aussi bas que possible: un taux inférieur signifie qu'il y a plus de temps disponible pour l'exécution de l'algorithme de contrôle, qui peut ainsi être effectué sur des ordinateurs plus lents. La numérisation de systèmes de commande analogiques bien comportés peut fortement affecter la réponse du système. Si les fréquences d'échantillonnage sont trop basses, les systèmes peuvent même devenir instables. Selon le critère de Nyquist, la fréquence d'échantillonnage devrait être au moins deux fois plus élevée que la bande passante du signal d'erreur. Cette bande passante est limitée par la bande passante du système, d'où ws 2wB. Cependant, afin de garantir une réponse satisfaisante, un facteur de 10 à 20 peut être requis

Guy Sirton
la source
Il est très dangereux de commencer à faire appel au théorème de Nyquist dans un système de contrôle à temps échantillonné. On se retrouve avec toutes sortes de bizarreries, dont les moindres (et certainement indésirables dans la majorité des circonstances) sont des filtres anti-aliasing à l'intérieur de la boucle de contrôle. Ce document cité utilise une ancienne approche de la conception de la boucle de contrôle numérique la mieux adaptée au personnel qui a besoin de passer un certain temps à s'habituer à la transformation z et à la conception directe dans le temps échantillonné. wescottdesign.com/articles/Sampling/sampling.pdf
TimWescott
@TimWescott: Votre document semble très intéressant. Je vais le lire plus en détail. Je conviens que les gens appliquent mal le théorème au monde réel de diverses manières (et pas seulement dans une configuration de contrôle). Néanmoins, chaque fois que vous échantillonnez, le théorème s'applique. Je suis absolument d'accord avec ce que vous dites dans votre dernier paragraphe de la section "Enfin". Intuitivement, le contrôleur ne peut jamais être meilleur que le signal d'erreur échantillonné, vous pouvez donc prouver que si vous avez un alias aucun contrôleur ne peut supprimer cette erreur.
Guy Sirton