Maintien de la position dans le servo variateur: contrôle subordonné vs mode pas à pas


Après la publication des articles précédents sur la commande vectorielle des moteurs électriques, de nombreuses questions se sont posées au sujet de l'entraînement de position - comment déterminer une position donnée avec un entraînement? Comment fonctionne un servo variateur dans les machines modernes, comment utiliser un signal provenant d'un capteur de position, comment un variateur pas à pas diffère d'un servo variateur avec régulation subordonnée? Montrons tout sous forme d'images et de vidéos.

Alors qu'est-ce qu'un servo avec une boucle de position? Pour commencer, regardez ceci. Pour voir les graphismes en arrière plan, je vous conseille de regarder en mode plein écran.


Structure de contrôle à trois boucles


Le système de commande cherche à maintenir une position donnée de l'arbre du rotor. Je fais un effet dérangeant, j'éloigne le rotor de la position réglée, mais après avoir relâché l'arbre, il revient instantanément à la tâche. Même si vous le «tournez» de quelques tours, le système de contrôle les dévisse de quelques tours en arrière, et avec une très bonne dynamique - de telle sorte que le mouvement n'a même pas le temps d'entrer dans les images de la vidéo. En arrière-plan, le programme de fonctionnement de l'entraînement est visible: le courant du moteur est affiché en rouge (proportionnel au moment), la position actuelle de l'arbre du rotor est affichée en vert et le réglage de position est jaune. Le moment maximum autorisé (courant) du moteur dans cette expérience était limité à trois fois le maximum, à plein je ne serais pas en mesure de le tenir si facilement.

Comment fonctionne un tel système de contrôle? Il s'agit d'un système de contrôle esclave classique à trois boucles avec correction séquentielle, illustré sur la figure 1.


Figure 1. Système à trois circuits de régulation subordonnée

Pourquoi un subordonné? Parce que chaque circuit fermé est «subordonné» à la tâche du supérieur. Il y a trois circuits dans le système, je liste à partir de l'intérieur: circuits de courant (couple), circuit de vitesse (vitesse), boucle de position. En conséquence, chaque circuit avec son propre régulateur maintient sa valeur à un niveau donné. Dans ce cas, le contrôleur PI pour les courants, le contrôleur P pour la vitesse et le contrôleur PID pour la position ont été utilisés. Pas de magie comme la logique floue, les contrôles linéaires-quadratiques, etc.

Pourquoi exactement trois circuits et précisément tels? Je vais essayer d'expliquer, comme d'habitude, "sur les doigts". Si nous voulons ajuster la position, le mieux que nous puissions contrôler est la vitesse (vitesse), car c'est la vitesse qui affecte directement le changement de position (la vitesse est une dérivée de la position), et toutes les autres quantités (courant, tension et autres) affectent la situation de manière plus complexe, plus difficile à régler. De plus, si nous voulons maintenant réguler la vitesse, le meilleur moment que nous pouvons contrôler est le moment moteur, car le moment détermine l'accélération de l'entraînement, et il est également lié à la vitesse avec la loi mathématique la plus simple. Étant donné que pour un moteur, le moment est courant (pour un moteur à courant continu, cela est vrai explicitement,et pour les moteurs à courant alternatif, il est valable pour le courant générateur de couple en contrôle vectoriel), puis pour contrôler le moment où il est nécessaire de contrôler la tension sur l'onduleur du convertisseur, car le courant et la tension sont également connectés à une première approximation via une simple équation différentielle.

Si vous omettez un circuit interne, alors ... la position sera régulée, mais elle sera mal régulée, pas à la même vitesse que dans un système à trois circuits. Si vous jetez, par exemple, le circuit de courant, forçant le régulateur de vitesse à affecter directement la tension de l'onduleur, le moment d'entraînement (courant) restera incontrôlé - il changera comme il le souhaite, les transitoires seront laissés au hasard. Malheureusement, certains arduinovides font la structure illustrée à la Fig.2.

Fig.2. La façon dont vous n'avez pas besoin d'ajuster la position du lecteur.

Une telle structure fonctionne de façon dégoûtante (lentement et oscille), bien qu'elle fonctionne d'une manière ou d'une autre - le contrôleur PI va tout retirer.

Courant continu et alternatif: quelle différence pour la boucle de position?


Quelle est la différence de contrôle de position pour les moteurs à courant continu et les moteurs à courant alternatif? Dans la manière de maintenir le moment. Dans un moteur à courant continu, il suffit de mettre un régulateur de courant, ce qui affecte la tension de l'enroulement d'induit - vous obtiendrez un contrôle du couple. Dans les moteurs à courant alternatif (par exemple, une machine synchrone à aimant permanent et un moteur asynchrone), une commande vectorielle devra être appliquée. Ce que c'est et comment ça marche a déjà été discuté en détail dans les articles Contrôle vectoriel sur les doigts et Contrôle vectoriel pour un moteur asynchrone sur les doigts. Comme pour un moteur à courant continu, la commande vectorielle vous permet de régler le couple sur le moteur. De plus, les mêmes contrôleurs de vitesse et de position sont «suspendus» par le haut. L'opérabilité finale de la boucle de position ne dépend pas du type de moteur (seules les nuances mineures changent).

Mode pas à pas


Pour les machines synchrones à aimants permanents, il existe une autre option pour résoudre la situation - le mode de fonctionnement dit "pas à pas". Les moteurs optimisés pour cela, respectivement, sont appelés pas à pas. Tous les moteurs pas à pas ne sont pas des machines synchrones avec des aimants, mais la plupart d'entre eux ne sont que cela (il existe encore des étapes de type inducteur de type pas à pas). Comment ça marche? Le moteur fournit simplement du courant continu aux phases requises. Et c'est tout. Le rotor sous l'influence du "ressort magnétique" lui-même s'élève dans la position correspondant au courant. Si vous devez changer la position de l'arbre, alors le vecteur courant doit être tourné - cela dépend en douceur ou discrètement du "driver" du moteur pas à pas (avec ou sans micropas). À propos du fonctionnement du moteur synchrone et de son emplacement, un ressort magnétique a déjà été décrit dans l' article .

Le mode pas à pas est bon car en plus de la boucle de courant, il n'a besoin de rien - ni d'un capteur de position, ni même d'un microcontrôleur. Le système de contrôle de ce mode est assemblé à partir de trois microcircuits et demi et est utilisé dans toutes les machines CNC de niveau amateur (et pas si). Quels sont les inconvénients? La position est également dégoûtante. Le maintien de la position dans ce mode est le moteur lui-même - un courant constant est fourni au stator, et le rotor a tendance à se tenir dans la position correspondante. On peut imaginer deux aimants rectangulaires sur un axe passant par leur milieu (Fig. 3). Nous contrôlons un aimant (courant statorique), et le second - le rotor, pend tout seul et a tendance à tourner en fonction du premier, parallèlement à lui.

Fig. 3. Mode de fonctionnement pas à pas d'une machine synchrone

Le moment sur le rotor dans ce mode change en fonction de la loi du sinus de l'angle de décalage entre les deux aimants. En position coordonnée, le moment est nul (la charge n'agit pas sur le rotor), à 90 degrés (les aimants sont perpendiculaires), le moment moteur est maximum et tend à faire tourner le rotor en position coordonnée. Et l'amplitude de ce changement de sinus du moment dépend de la magnitude du courant fourni.

Le nombre de paires de pôles


Pour améliorer la précision du maintien de la position en mode pas à pas, le nombre de paires de pôles au niveau du moteur est structurellement augmenté. S'il y a une paire de pôles, alors le moteur correspond à ces deux aimants sur la fig. 3 - le rotor peut suspendre jusqu'à un quart de tour d'avant en arrière à partir d'une position donnée. Lorsque le nombre de paires de pôles augmente, le nombre d'alternances nord-sud augmente, à la fois dans les aimants du rotor et dans les enroulements du stator. Voici une photo montrant un moteur avec une paire de pôles et deux:

Fig.4. Une paire de pôles vs deux paires de pôles.

Si vous essayez de faire tourner un tel moteur avec deux paires de pôles avec le courant continu fourni en phases, le moment sur le rotor augmentera au maximum non pas dans un quart de tour (90 degrés, comme dans une paire de pôles), mais dans un huitième de tour (45 degrés mécaniques). Le moteur aura deux positions stables du rotor lors d'une révolution mécanique. Pour la commodité de décrire les processus dans le moteur, le concept de «révolution électrique» est introduit - combien le rotor doit être tourné pour que les aimants du rotor d'un pôle tombent à la place du même de l'autre pôle, c'est-à-dire faire un "pas". Ensuite, ils disent que le rotor a tourné à 360 degrés, et pour traduire cela en mécanique, il est nécessaire de diviser par le nombre de paires de pôles. Sur la révolution électrique, le comportement de tous les moteurs en termes de contrôle est le même quel que soit le nombre de paires de pôles.Une augmentation du nombre de paires de pôles ne crée qu'une sorte d '«équipement électrique» - vous pouvez prendre une voiture avec une paire de pôles et mettre un réducteur à quatre vitesses, ou vous pouvez prendre une voiture avec quatre paires de pôles et obtenir, grosso modo, la même chose.

vs :


Pour les moteurs pas à pas, le nombre de paires de pôles est très grand - 50, 100 ou plus. Dans ce cas, la capacité naturelle de maintenir la position est très bonne - si vous garantissez que le moment de charge ne dépasse jamais le couple moteur maximal, la position sans capteur de position sera maintenue avec une précision de (± 360 / (nombre de paires de pôles * 4)) de degrés mécaniques. Certes, le prix pour cela est une forte détérioration des performances du moteur en termes de poids, de taille et d'efficacité. Si nous comparons la puissance d'un moteur pas à pas avec une centaine de paires de pôles et un moteur synchrone de même taille avec un petit nombre de paires de pôles, alors la puissance admise depuis longtemps d'un shagovik sera plusieurs fois inférieure. Et aussi en raison de l'augmentation du nombre de paires de pôles, les shagoviks ont du mal à travailler à grande vitesse.La fréquence du courant en eux doit être fournie autant de paires de paires de fois aussi grande que dans une machine synchrone «régulière», ce qui donne des fréquences de courant de l'ordre du kilohertz ou plus - il y a d'énormes pertes sur l'inversion de magnétisation du fer, et tous les systèmes de contrôle ne le peuvent pas.

De plus, les shagoviki ne fournissent pas une bonne dynamique d'accélération et de freinage, car lors de l'accélération, le moteur doit surmonter deux points: le moment de charge, ainsi que le moment dynamique pour accélérer la masse du volant et le corps de travail. Et si la somme de tous les moments dépasse le couple moteur maximum, il sautera une étape, ce qui est inacceptable pour la CNC. Par conséquent, les vers de ver accélèrent et freinent nécessairement en douceur, avec une grande marge entre le moment total sur l'arbre et le couple moteur maximum, afin de ne pas sauter de pas.
Il convient également de noter qu'en mode pas à pas, lorsqu'une charge est appliquée au rotor, il cédera et s'écartera toujours de la position définie d'un certain angle, quel que soit le courant fourni au moteur. De plus, avec une forte perte de charge, des fluctuations sont possibles - le rotor d'un ressort magnétique oscille d'avant en arrière. Si la charge n'est pas chanceuse et qu'elle est pulsée, alors elle peut coïncider avec la fréquence interne du rotor, le faire pivoter, après quoi le rotor tombera de synchronicité - le moteur "sautera une étape".

Que faire si pour résoudre le problème, vous devez conserver une bonne position et obtenir un entraînement dynamique à grande vitesse? N'utilisez pas de stepshops! Et utilisez une machine synchrone «ordinaire» avec un petit nombre de paires de pôles comme servomoteur, installez un capteur de position et construisez un système de commande à trois boucles. Il n'y a pas de "pas" dans le système de contrôle vectoriel - il n'y a rien à perdre. En mode pas à pas, un courant important est toujours requis pour traverser le moteur et en mode vectoriel avec une structure de commande à trois boucles, le courant ne circule que lorsqu'une charge est appliquée à l'arbre. La précision du maintien de la position dans le système de régulation subordonnée est le plus souvent déterminée par la précision du capteur de position du rotor. Plus le capteur est précis, meilleur est le travail de la boucle de position.Et les capteurs de position modernes sont très précis - des centaines de milliers d'étiquettes par révolution mécanique. C'est des ordres de grandeur mieux que de donner des moteurs pas à pas avec l'étape de concassage la plus forte.

Mode pas à pas vs régulation subordonnée: pratique


Et maintenant, voyons en pratique tout ce qui précède. Il faut décrire le stand avec lequel je travaille. Il y a beaucoup d'informations techniques, je vais le cacher sous le spoiler.
Banc d'essai
VectorCARD 192101, , , .

. 5. VectorCARD 192101

– Leadshine ACM601V36-1000. 100, 4 , 36, 4, 11. – 1000 (, , 4000 () A B ).
– DRV8301-HC-EVM Texas Instruments.
– VectorCARD 192101 192101 «» (ARM Cortex-M4F, 100).
, , . 6.

. 6. : (), , .

- , , « ». . 1.
20, ( ) – 10. – , . , .


Mode pas à pas vs contrôle esclave: comparaison en mode statique


Premièrement, nous comparons le mode de fonctionnement pas à pas et le système à trois boucles de régulation subordonnée avec le contrôle vectoriel «en statique». Nous réglons la même position du rotor, puis nous augmentons progressivement le moment de charge sur l'arbre. Dans le mode de fonctionnement pas à pas, nous fournissons un courant nominal de 4A et dans le mode de fonctionnement vectoriel, nous définissons la limitation de courant de 4A. Qu'attendons-nous de voir?

Dans le mode de fonctionnement pas à pas, le courant sera constant à la fois en phase et en amplitude, et la position du rotor devrait «se plier» sur le ressort magnétique sous charge. Étant donné que le nombre de paires de pôles est de 4, le couple maximal doit être atteint avec un écart de 360/4/4 = 22,5 degrés mécaniques par rapport à la position convenue d'origine.

Que se passera-t-il dans le système de commande à trois circuits? Le contrôleur de position dans cette expérience est le PID (proportionnel - intégral - différentiel). La lettre clé ici est «ET» - elle a une composante intégrale. Cela signifie que tant qu'il y aura au moins un certain décalage entre la position donnée et la position actuelle, l'intégrateur du régulateur intégrera et augmentera sa sortie jusqu'à ce que l'erreur atteigne zéro. Cela signifie que si vous chargez l'arbre lentement, afin que l'intégrateur ait le temps d'intégrer et de compenser l'erreur (c'est-à-dire en mode statique), l'arbre se tiendra dans la même position «morte». Mais lorsque la marge actuelle (couple) du variateur est épuisée (la référence actuelle atteint la limite de 4A), le variateur succombe immédiatement et s'écarte de la référence (cependant, il tire tout le temps avec le couple maximal vers la référence).

Pour suivre la position actuelle de l'arbre du rotor, il est pratique d'observer le signal d'erreur du capteur de position (la différence entre la référence et la position actuelle), ainsi que le courant du stator. Pendant l'expérience, un oscillogramme avec ces données sera visible en arrière-plan. Pour observer le moment de charge actuel dans l'expérience, un dynamomètre spécialisé de haute précision a été utilisé, que j'ai sorti du tiroir de la table de la cuisine. Ici, en fait, l'expérience elle-même (pour rendre quelque chose de visible - plein écran!):

La vidéo confirme ce qui a été dit. Dans le système de contrôle vectoriel à trois boucles, le rotor était immobile jusqu'à ce que je «sélectionne» le courant 4A disponible, puis le rotor a commencé à dévier. Dans une structure DC-open avec un courant continu, le rotor a facilement succombé à un moment extérieur. Comme le nombre de paires de pôles de ce moteur est de 4, le rotor s'est écarté de plus de 20 degrés de la référence.

vs :


Tout devient plus intéressant en dynamique. Que faire si une charge de choc pulsée est appliquée? Il en résulte une concurrence entre deux systèmes fondamentalement différents. Dans un système de contrôle vectoriel, la vitesse dépend directement de la vitesse de la structure de contrôle à trois boucles. Plus les régulateurs sont réglés de manière rigide, plus la fréquence de calcul de la structure est rapide, plus les capteurs sont précis et rapides, meilleure est la réponse à la perturbation de la dynamique. Dans un mode de fonctionnement pas à pas, le système de contrôle «repose». Elle a créé un vecteur actuel - c'est tout ce dont elle a besoin. Toute la réaction à la perturbation est fournie par le moteur lui-même. Le moment sur l'arbre où l'arbre du rotor est dévié se produit «instantanément», car il s'agit en fait de l'interaction de deux aimants. Mais le moment augmente proportionnellement au sinus de l'angle de déviation électrique, ce qui signifie qu'un tel système aura une certaine rigidité.En général, il s'agit d'un «ressort magnétique» courant. La comparaison en dynamique est une très bonne expérience démonstrative pour un système de contrôle à trois circuits. Si elle est lente, elle ne pourra pas montrer un meilleur résultat qu'une structure ouverte. Oui, en statique, la structure à trois boucles peut choisir une erreur en positionnant à zéro la partie intégrante du régulateur, mais en dynamique, elle peut également "s'affaisser" plus que le mode de fonctionnement pas à pas habituel. Vérifiez-le?

Pour réaliser cette expérience, j'ai utilisé une charge mesurée, que j'ai trouvée dans mon armoire avec des outils, ainsi qu'un fil attaché à une tige, qui a un support en porte-à-faux sur l'accouplement moteur. En abaissant la charge d'une hauteur fixe, nous obtenons une charge d'impulsion d'impact sur l'arbre du rotor. Vous pouvez observer à quel point l'arbre du rotor s'écarte de la tâche au moment de l'impact. Voici une vidéo de l'expérience:


Initialement, un mode de fonctionnement pas à pas avec un vecteur courant fixe est activé. Je montre comment le rotor se plie sous l'influence du moment de charge, comment, après avoir maîtrisé le moment de charge, vous pouvez sauter dans une autre position fixe. Ensuite, je mène une expérience pour vider la cargaison. De plus la même chose pour la structure de contrôle à trois boucles. Avez-vous remarqué à quel point l'arbre du rotor a dévié dans la vidéo dans le système de commande à trois boucles? Ou peut-être plus? Non.

Si une vidéo similaire avait été tournée par Discovery Channel, ils auraient certainement installé une caméra à grande vitesse pour de magnifiques clichés comparatifs. Cependant, nous avons un outil plus précis - un capteur de position du rotor et un microcontrôleur. Il vous suffit de supprimer l'erreur de forme d'onde lors de la détermination de la position au moment de l'application de la charge d'impulsion. La procédure à suivre est décrite en détail dans l'article.Méthodes de débogage d'un logiciel de microcontrôleur dans un entraînement électrique . En bref, le microcontrôleur enregistre les points de la forme d'onde dans un réseau pour un événement spécifique, puis la forme d'onde est téléchargée sur l'ordinateur et affichée. Dans le logiciel du contrôleur, j'ai défini le déclencheur pour claquer la forme d'onde lorsque l'erreur de position est supérieure à un certain paramètre, en entrant quelques lignes de code C pour cela. Ensuite, sur l'ordinateur, j'ai obtenu un tel oscillogramme pour le mode de fonctionnement pas à pas avec un courant de 5A:


. 7. «» – . ( 4), , – . 21 .

J'ai ajouté trois variables du système de contrôle à l'oscilloscope: erreur de position, courant statorique, vitesse de l'arbre. L'oscillogramme montre que le courant statorique est resté constant et égal à 5A, la charge de choc n'y a introduit qu'une petite perturbation (due à la FEM d'un moteur tournant). Mais la situation a fortement bondi. La déviation maximale de la position de l'arbre par rapport à la référence était de 36 degrés électriques (ou 9 mécaniques). Il y a un mode oscillatoire amorti du rotor après l'impact. J'ai mené plusieurs de ces expériences, en m'assurant de la répétabilité. Tous les oscillogrammes se sont avérés similaires - il est bon que si vous avez les outils nécessaires, le temps pour mener une expérience et obtenir un oscillogramme (tel qu'inséré dans l'article) soit de 5 à 10 secondes.

Voyons maintenant ce que la structure de contrôle à trois circuits va montrer (Fig. 8). Auparavant, je lui ai mis tous les régulateurs à vitesse moyenne.

Fig. 8. L'oscillogramme de la réaction à une surtension pulsée avec un système à trois boucles de régulation subordonnée. Le violet montre la déviation du rotor par rapport à la position définie en degrés électriques (divisé par 4 pour passer en mécanique), le bleu montre le courant du stator le long de l'axe q (courant de formation de moment), le bleu indique sa tâche et le rouge indique la fréquence de rotation actuelle. Dans une cellule, l'axe du temps est de 21 millisecondes.

Le processus est plus intéressant ici. En plus de la situation, en fait, j'ai ajouté à l'oscilloscope toutes sortes de quantités, qui montrent le travail de régulation subordonnée. Au temps initial, il est toujours nul: l'erreur est zéro, la vitesse, le courant statorique et sa tâche. Aucune force n'agit sur le rotor, il repose en raison de sa force de friction. Mais le ruban électrique en ce moment vole déjà inexorablement vers le bas, la corde se déroule ... À un certain moment, la longueur du fil est sélectionnée, la charge frappe l'arbre, la position commence à changer, l'erreur (retour du contrôleur de position) grimpe, ainsi que la vitesse de l'arbre. En réponse à cela, le système à trois circuits augmente considérablement le moment sur le variateur, essayant de le ramener à sa position d'origine. Cinq millisecondes après l'impact, le moment sur le moteur atteint le maximum autorisé (courant 5A),après quoi la position commence à contrecœur à changer dans la direction opposée, la vitesse change de signe. Après avoir survolé un point zéro et avoir effectué quelques oscillations, le système vient à la tâche.

On peut voir comment la tâche pour le courant statorique (bleu) est légèrement en avance sur la valeur actuelle (bleu), mais le retard est inférieur à une milliseconde, ce qui indique une vitesse élevée de la boucle de courant. Cependant, certains «peluches» et «aiguilles» sont visibles dans la tâche actuelle, en particulier à la fin du processus de transition. Qu'est-ce que c'est et d'où? Voyons ce que le contrôleur de position donne dans ce processus - la sortie de ses composants proportionnels, intégraux et différentiels. Je laisse de nouveau tomber la bande, les voici:


. 9. . ( 4), – , – , – . 21 .

Voyez comment les trois parties du contrôleur PID fonctionnent sur le transitoire. La forme d'onde ressemble à celle d'un manuel, mais celui-ci est en direct, réel et frais, uniquement à partir du moteur. La sortie de la partie proportionnelle est directement proportionnelle à l'erreur. La partie intégrale est l'intégrale d'erreur, voyez comment elle s'est intégrée «vers le bas» à partir de la première grande fluctuation, puis revient à contrecœur à zéro. La partie différentielle est une dérivée d'une erreur. Mais puisque le capteur de position est incrémental et seulement 1000 marques, alors un changement dans chaque marque est un événement. Par conséquent, la position du système de commande change de manière discrète, irrégulière, ce qui signifie que la dérivée d'une telle modification sera "en forme d'aiguille". Ou même impulsion, rectangulaire, bruyante - que l'on voit.

Mais attendez ... Le dérivé de la position est à la même vitesse! Faites défiler jusqu'à la fig. 8 et comparer ce graphique de la vitesse avec le graphique de la partie différentielle de la figure 9. La même chose, mais pas de bruit! Parce que la vitesse de rotation du module de traitement du codeur incrémental est déterminée de manière plus compétente - le matériel du microcontrôleur, qui suit le temps entre les marques du capteur. La même «dérivée» de position, mais plus correctement mesurée.

Quelle est la morale? Tous les composants du contrôleur ne sont pas également utiles. Ce que fait la composante différentielle du contrôleur de position est théoriquement à faire par la boucle de vitesse en aval. Comme j'en avais besoin pour un meilleur réglage, cela signifie seulement que je n'ai pas réglé la boucle de vitesse intermédiaire.

Ah oui. Par où avons-nous commencé là-bas? Avec erreur de position. Dans le mode de fonctionnement en boucle ouverte, l'erreur était de 36 degrés électriques (9 mécaniques), et dans un système de régulation subordonnée à trois boucles avec ce réglage de régulateurs, elle est de 21 degrés électriques (5,2 mécaniques). Mieux oui. C'est encore mieux? Prenons un autre coefficients de contrôleur de position. J'augmente tout - Kp, Ki, Kd fois une fois et demie. Nous regardons:


Fig. 10. L'oscillogramme de la réaction à une surtension pulsée avec un système à trois boucles de régulation subordonnée. Les coefficients du régulateur de position sont augmentés d'une fois et demie.

L'erreur a diminué, oui ... 18 degrés électriques. Mais que voyons-nous? Le système de contrôle s'est presque immédiatement heurté à la limitation actuelle. Elle aimerait appliquer un courant supérieur à 5A, mais j'ai fixé la limite à 5. Pourquoi? Pour comparer honnêtement avec un système de contrôle ouvert, qui avait également un courant de 5A. Mais cela s'est avéré malhonnête: le système de contrôle vectoriel ne crée du courant que lorsqu'il en a besoin (quand il est nécessaire de réaliser l'instant), et un système ouvert entraîne toujours le courant défini. Du point de vue de l'échauffement et des pertes, le système de contrôle vectoriel est beaucoup plus préférable pour le moteur.

Que le système vectoriel "abandonne" le courant? Au moins pour une courte période. Selon le passeport, le moteur permet 11A. Résolvez 7A pour évaluer le résultat.


Fig. 11. L'oscillogramme de la réaction à une surtension pulsée avec un système à trois boucles de régulation subordonnée. La limite de courant est passée de 5A à 7A.

L'erreur n'est que de 15 degrés électriques! C'est 2,5 fois moins que dans le système de contrôle en boucle ouverte. Mais regardez, qu'est-ce qu'il y a à la fin du calendrier? "Aiguilles" dans la tâche du courant ... et elles continuent et continuent, ce que j'entends acoustiquement - le moteur "sonne". C'est ce qu'on appelle l'auto-oscillation - cela a trop entraîné les coefficients du régulateur.

Circuits fermés et leur bruit


Nous sommes donc arrivés au problème de qualité spécifique de tout système de contrôle, qui n'est parfois pas moins important que la précision du maintien du paramètre réglable lui-même - le bruit. Est-il permis au moteur de "faire du bruit" dans un système de commande en boucle fermée? Cela dépend de combien il fait du bruit et de ce qu'il fait. J'ai préparé une vidéo qui montre les différents bruits qui peuvent naître dans divers contours du système de régulation subordonnée. Pour ce faire, j'ai fixé le microphone en contact direct avec le moteur - à distance du moteur, le son est presque inaudible. Bien que cela dépende du moteur, différents moteurs «sonnent» différemment.

Au début de la vidéo, le bruit de la boucle actuelle est affiché. Seule la boucle de courant avec deux régulateurs de courant a été activée. Un bruit est apparu dans le moteur, que mon collègue a comparé au bruit d'un tuyau à travers lequel l'eau coule. Il ressemble à un bruit "blanc". Ce bruit est généré par le bruit des mesures de courant de phase. En raison de la composante proportionnelle relativement importante (nécessaire pour la vitesse requise), les régulateurs de courant captent toutes les petites fluctuations de la mesure de courant et les amplifient, transférant la tension de l'onduleur à la tâche. C'est-à-dire Initialement, le courant dans le moteur est régulier et ne fait pas de bruit, mais sa mesure est bruyante, les régulateurs de courant tentent de le compenser, de "tirer" la tension de l'onduleur, ce qui fait que le courant réel dans le moteur "fait du bruit". Sur la forme d'onde, vous pouvez le voir comme ceci:


Fig. 12. Oscillogramme du transitoire du saut dans la tâche (1A) des régulateurs de courant et de leur «bruit» ultérieur. La rétroaction sur les régulateurs de courant (signal de l'ADC) et la sortie des régulateurs alimentant l'onduleur sont affichées. Dans une cellule le long de l'axe du temps 4,2 ms.

L'oscillogramme montre non seulement le bruit, mais aussi le processus transitoire des régulateurs de courant lorsqu'ils sont allumés. Le courant est établi en moins de 1 ms, et le transitoire est proche de l'accord à un optimum technique. Le bruit dans la mesure du courant de l'ordre de + -0,02 A entraîne une variation de la tension de sortie de 20% du courant, qui est entendu comme du bruit. Si vous ralentissez les régulateurs 10 fois, vous pouvez obtenir l'image suivante:


Fig. 13. L'oscillogramme du processus transitoire du saut dans la tâche (1A) des régulateurs de courant à 10 Kp et Ki sous-estimé par rapport au réglage technique optimal. Dans une cellule le long de l'axe du temps 4,2 ms.

Les régulateurs actuels sont devenus doux et silencieux, comme la laine de coton, et ils ne sont absolument pas intéressés à répondre à certains bruits dans le canal analogique - tout comme pour leur propre tâche ...

Ensuite, la vidéo montre différents sons du contrôleur de position. Il y a beaucoup d'expériences là-bas, je vais montrer le dernier cas - auto-oscillations avec un contrôleur de position trop élevé Kp. Étant donné que le capteur de position est incrémental, avec un grand , un changement de position par une seule marque rend le contrôleur "fou" très nerveux, jetant la tâche à la boucle de vitesse et, par conséquent, au courant. Quelque chose comme ça:


Fig. 14. Auto-oscillations du contour de position avec un Kp excessivement élevé. Le violet et le rouge indiquent le courant statorique de formation de moment (référence et réel), bleu - la position du codeur en marques (incréments), bleu - la sortie du contrôleur de position (référence à la boucle de vitesse).

On peut voir qu'en changeant la position d'un seul repère (un «tick» du capteur de position), le système de commande projette la référence de courant de 0,3A. C'est un point considérable, étant donné la puissance moteur de 5A, ce qui conduit au début du mouvement et, par conséquent, aux fluctuations. La vidéo montre comment les auto-oscillations «effrayantes» sonnent, bien que la position saute d'une marque inoffensive d'avant en arrière.

À cet égard, une question philosophique se pose: quelles vibrations et quels bruits sont terribles, et lesquels ne méritent pas d’être pris en compte? Tout dépend de l'objet - où le servo est utilisé. S'il s'agit d'une machine à trois coordonnées avec une boîte de vitesses et des jeux, un bras manipulateur pour le soudage ou une servocommande à grande vitesse de certains appareils à gouverner, la «sonnerie» n'est pas si terrible là-bas. Dans de telles applications, c'est juste le bruit acoustique qui peut provoquer une insatisfaction, mais presque rien montré dans la vidéo n'affectera le processus technique. Mais s'il s'agit d'un entraînement direct pour positionner des substrats dans une usine de silicium ou s'il s'agit d'un entraînement direct pour un microscope, il n'y a aucun bruit du mot. Non seulement les grincements de la boucle de position de l'encodeur, mais même ce bruit à peine audible de la boucle de courant peut déjà être un problème.Parce que tout cela est transmis à l'organisme de travail et entraînera une violation de la technologie du processus.

Oui, je dois dire que tous les sons qui sont montrés dans la vidéo ne sont pas que des sons. Si vous saisissez l'arbre, ils se sentent tous très bien. Les doigts humains sont très sensibles - bien mieux que de nombreux capteurs. Même ce bruit de «l'eau qui coule» des régulateurs actuels se fait sentir. Tout comme dans une conduite d'eau. Par conséquent, pour les tâches d'asservissement qui interagissent avec les humains, les bruits et les vibrations sont également indésirables. Imaginez un simulateur d'avion avec un cockpit inclinable, où les commandes sous lui craquent et gémissent.

Comment faire face au bruit? Eh bien, avec le contour de position plus ou moins clair - vous devez mettre un capteur plus précis. L'encodeur de ces expériences avec 1000 balises est le capteur «poulets pour rire» dans le domaine du servo de haute précision. S'ils mettent un encodeur, alors environ cent mille marques. Et le plus souvent, ils mettent un capteur de position analogique, qui donne un signal sinus / cosinus. En utilisant un bon ADC et un suréchantillonnage (mesurant beaucoup plus souvent que nécessaire, puis en faisant la moyenne du résultat), vous pouvez obtenir un ordre de grandeur plus précis que l'encodeur.

Que faire du bruit ADC dans la boucle de courant? Recherchez d'abord une source de bruit. Dans ce lecteur, une source de bruit a été trouvée - il s'agit de DC / DC, ce qui rend l'instrument à 5 V de l'alimentation d'entrée et monté sur la carte de l'onduleur. Le câblage de la carte n'est pas entièrement réussi, et DC / DC «fonit» à toutes les pistes de la carte passant. L'ADC du microcontrôleur lui-même est beaucoup moins bruyant que le bruit de ce DC / DC. Deuxièmement, le même suréchantillonnage peut être utilisé si les performances de l'ADC le permettent. Troisièmement, vous devez choisir la bonne plage de mesure. J'ai travaillé avec un moteur 5A à partir d'un convertisseur 60A. En conséquence, la gamme complète de l'ADC pour mesurer le courant est également proche de 60A. Si la plage était de 20 A, le même bruit sur le canal analogique après conversion en ampères serait trois fois moins.

Mais le bruit de l'ADC n'est pas tout. Je n'ai pas montré dans la vidéo l'un des principaux bruits qui ne sont pas audibles - le bruit de PWM. La fréquence du PWM dans ces expériences a été fixée à 20 kHz - à la frontière de l'audibilité. Mais cela ne signifie pas que ces vibrations ne sont pas transmises à l'arbre du rotor. Il est nécessaire de mesurer l'ondulation du courant dans le moteur causée par une fréquence PWM donnée, de le recalculer pour le moment, et il est alors déjà possible d'évaluer s'il «passera» à l'arbre ou non. La figure 15 montre le courant d'ondulation dans la phase moteur, mesuré par un capteur externe et un oscilloscope.


Fig. 15. Ondulation de courant dans la phase moteur à une fréquence PWM de 20 kHz. L'amplitude de l'ondulation est de 0,3A.

L'ondulation actuelle à 0,3A est assez importante. Il serait plutôt significatif que nous positionnions des substrats en silicium dans l'usine Intel avec ce lecteur. Heureusement, cela ne brille pas spécifiquement pour ces types de moteurs et vous pouvez oublier le problème. Mais que se passe-t-il si vous devez effectuer une conduite plus sérieuse? Pour commencer, vous pouvez augmenter la fréquence du PWM. Les transistors à effet de champ de puissance modernes peuvent fournir une fréquence de commutation allant jusqu'à 500 kHz. Cependant, il y a ... trois problèmes.

Le premier problème est qu'avec l'augmentation de la fréquence PWM, l'influence du soi-disant «temps mort» augmente (certains l'appellent une pause de temps mort, mais c'est faux - le courant y circule). C'est le moment où le transistor inférieur de l'onduleur est déjà bloqué et le supérieur n'est pas encore allumé (et vice versa). Ce temps est le même pour un type de transistor, et en pourcentage de la période PWM, il devient de plus en plus avec une augmentation de la fréquence du PWM. Le temps mort déforme la tension de sortie de l'onduleur, ajoutant une non-linéarité aux régulateurs de courant de l'onduleur.

Le deuxième problème est qu'avec l'augmentation de la fréquence PWM, il devient plus difficile de générer ce microcontrôleur très PWM. Le microcontrôleur fait du PWM en utilisant une minuterie matérielle qui se déclenche par unité à chaque cycle d'horloge du microcontrôleur. En réglant la comparaison avec la minuterie, le programmeur choisit à quelle heure ouvrir la clé. Que se passera-t-il dans un tel système avec un microcontrôleur à 100 MHz et une fréquence PWM de 500 kHz? On se divise l'un dans l'autre, on obtient 200 quanta (discrets) de réglage du point de consigne. 200 paramètres de réglage de tension pour PWM ne conviennent pas du tout. Un servo a besoin d'au moins deux ordres de grandeur de plus. Pour cela, certains fabricants de microcontrôleurs intègrent le soi-disant PWM haute résolution dans leurs produits - ils permettent de compter le temps d'ouverture des clés avec une résolution temporelle plusieurs fois meilleure qu'un cycle d'horloge unique du microcontrôleur.Il existe une telle possibilité dans ce microcontrôleur, cependant, le troisième problème empêche l'inclusion de PWM haute résolution.

Le troisième problème concerne les capteurs de courant. Dans l'onduleur utilisé, ils sont de type shunt et sont en série avec les touches inférieures de l'onduleur. Et cela signifie qu'il est possible de mesurer le courant en phase uniquement au moment où la touche inférieure est ouverte. Et cela signifie que le démarrage de l'ADC doit être synchronisé avec le fonctionnement PWM et que la mesure doit être effectuée exactement au moment où la touche inférieure est ouverte. Le problème est que les transitoires dans les circuits analogiques n'ont pas le temps de se terminer, si la fréquence PWM est très élevée - le courant commence à être mesuré avec une erreur. En général, tout est compliqué ...

Il existe une manière fondamentalement différente - certains fabricants de servo-variateurs refusent généralement le PWM et font une boucle de courant matériel soit sur le FPGA soit sur des amplificateurs opérationnels fonctionnant en mode linéaire et dissipant toute l'énergie excédentaire que le PWM est conçu pour économiser. Mais c'est une histoire très, très différente.

Conclusions


Les exigences pour les servos sont très différentes - quelqu'un a besoin d'un mode de contrôle pas à pas pour une simple machine CNC lente (le prix d'émission est pilote + moteur quelques milliers de roubles), quelqu'un a besoin d'une telle qualité de maintien de la position que même le bruit du circuit actuel devient un problème. Cet article «au sommet» parle de certains aspects du travail du système de régulation subordonnée et de la qualité du travail de la boucle de position afin d'initier le lecteur à autre chose que les «beaux hommes» bien connus. La qualité du servo variateur montrée dans ces expériences est en effet très médiocre, principalement en raison de la faible résolution du capteur de position du rotor. Lorsque vous utilisez un capteur avec une bonne résolution, la qualité de la régulation augmente nettement.

La publicité


Ces expériences ont été réalisées sur le kit de débogage VectorCARD K1921BK01T de NPF Vektor LLC, construit sur la base du microcontrôleur de motocontrôle domestique K1921BK01T du NIIET OJSC (ARM Cortex-M4F, 100 MHz) . Le kit de débogage comprend tous les équipements présentés dans l'article vidéo, y compris le logiciel du microcontrôleur dans les codes source avec ce système à trois boucles de régulation subordonnée, ainsi que le logiciel pour observer les oscillogrammes de toutes les variables du système de contrôle.

Liens associés à mes autres articles


Contrôle vectoriel du moteur électrique «sur les doigts»
Méthodes de débogage du logiciel des microcontrôleurs dans un entraînement électrique
Nouveau microcontrôleur domestique de contrôle moteur K1921VK01T de OJSC «NIIET»

Vidéo bonus
:

Source: https://habr.com/ru/post/fr392837/


All Articles