Logique floue contre PID. Nous croisons le hérisson et le serpent. Moteur d'aéronef et algorithmes de contrôle des centrales nucléaires

Probablement, tous ceux qui ont étudié la théorie du contrôle automatique ont douté à plusieurs reprises dans leur cœur de la façon dont ces deux, trois ou même dix carrés de fonctions de transfert dans le modèle représentent la dynamique d'une unité complexe, comme un réacteur nucléaire ou un moteur d'avion. Y a-t-il de la triche ici? Il est possible que travailler avec des modèles simples arrête de travailler avec des modèles complexes dans la «vraie» vie.


Dans cet article, nous allons expérimenter avec le «vrai» modèle de moteur d'avion. L'ayant entouré de "vrais" modèles d'équipements et d'algorithmes de contrôle d'une centrale nucléaire.


Initialement, le modèle a été écrit en Fortran et est destiné à des fins hautement scientifiques liées aux systèmes de gestion des moteurs. Ce modèle nous a été donné à titre d'exemple et notre tâche était de répéter le modèle sous une forme structurelle et de prouver qu'il coïncide avec le modèle d'origine. Ce qui a été fait.


Dès que le modèle est passé de la liste Fortran à un schéma fonctionnel, il est devenu simple et pratique de travailler avec lui, en réalisant les expériences les plus «sophistiquées». Ce n'est pas par hasard que je me suis avéré être de vrais algorithmes de contrôle des centrales nucléaires. Cela a permis d'assembler rapidement un modèle d'expériences sans utiliser de formules, oui oui, seulement des images.


Modèle de moteur


Le modèle est un ensemble de blocs typiques configurés pour simuler divers composants d'un moteur particulier. Dans un article précédent, nous avons démonté un moteur à turbine à gaz dans lequel la puissance nette est retirée à l'aide d'un arbre. Dans un turboréacteur, la puissance nette est la poussée du jet, mais nous contrôlerons la vitesse.

Le schéma général du modèle est illustré à la figure 1.




Figure 1. Schéma d'un modèle structurel d'un turboréacteur.

Malgré le fait que le diagramme du modèle ressemble à une dispersion de pièces en trois dimensions, il s'agit en fait d'un ensemble d'éléments structurels interconnectés.


A titre d'expérience, nous, comme dans l' article précédent , allons essayer de contrôler l'alimentation en carburant pour obtenir la vitesse souhaitée.


Pour ce faire, nous avons besoin d'une chambre de combustion, dans les propriétés de laquelle nous trouvons la consommation de carburant - que nous allons changer. Et dans les paramètres, la chambre a une pression d'entrée, qui est calculée dans ce bloc. (voir fig.2 et 3)



Figure 2. Propriétés de la chambre de combustion.


Figure 3. Paramètres de la chambre de combustion.

En tant que vitesse réglable, nous prenons les révolutions de l'arbre basse pression. Il me semble que ses révolutions dépendent davantage de la pression d'alimentation en carburant que les révolutions de l'arbre haute pression, qui est affecté par les gaz sortant de la chambre de combustion.


Modèle de livraison de carburant


Dans le modèle d'origine, l'alimentation en carburant est spécifiée en kg / s, comme conditions aux limites de la modélisation, sous la forme d'une fonction tabulaire du temps. Nous voulons créer un modèle proche du «réel», nous allons donc utiliser la proposition de l'article précédent et créer un modèle hydraulique d'alimentation en carburant à partir d'une conduite et d'une électrovanne.


Comme modèle, nous allons installer un tuyau d'un diamètre de 10 mm, sur lequel nous mettrons une valve électrique. La pression sur un côté du tuyau est constante, en supposant que la pompe à carburant y fonctionne. La pression de l'autre côté sera prise du modèle de moteur. À la fin du tuyau, nous ajoutons un rétrécissement de 2 fois pour simuler la buse. (Fig.4)



Figure 4. Modèle d'alimentation en carburant du moteur.

Le modèle intègre la dépendance de la variation de la résistance hydraulique de la vanne sur la position de la vanne.


Ce modèle nous permettra de prendre en compte l'effet de la pression dans la chambre de combustion sur la consommation de carburant, en fournissant un retour d'informations. Lorsque nous augmentons la consommation de carburant, nous augmentons la pression dans la chambre de combustion et, en conséquence, la différence entre la pompe à carburant et la chambre de combustion diminue, ce qui conduit à une consommation de carburant inférieure .


Les coûts du tuyau sont déterminés en résolvant l'équation non stationnaire de l'écoulement du fluide, en tenant compte du frottement, de la viscosité, de la densité et d'autres effets physiques, dont la description prendra quelques - trois pages de formules.


Modèle de gestion


Pour simuler un véritable système de contrôle, nous prendrons le modèle du régulateur d'alimentation en vapeur de la turbine du projet de contrôle de la centrale. Pas seulement un PID qui nous donne la position de la valve, mais un modèle honnête qui a:


  1. Modélisation du fonctionnement du moteur d'entraînement en tenant compte de la zone de non sensibilité, des retards, des vitesses d'ouverture et de fermeture.
  2. FIR (relais de conversion d'impulsions) est un bloc non linéaire qui fournit la conversion de l'action de commande dans la commande "ouvrir" et "fermer".
  3. Contrôleur PID.
  4. L'inertie du capteur de vitesse.

Pour décrire tous les blocs et modèles répertoriés, vous aurez besoin de cent cinquante autres pages de texte, alors donnez simplement les images avec une explication minimale.


Modèle de soupape


C'est un modèle du moteur et du système de contrôle local.


Le moteur est un intégrateur délicat qui traite les commandes «ouvrir» et «fermer», en tenant compte d'une vitesse de déplacement donnée des impacts possibles, des pannes de courant, etc. (voir Fig. 5) À la sortie de ce bloc, la position de la vanne est calculée à chaque instant de la simulation de processus



Figure 5. Modèle de moteur électrique

Pour contrôler le moteur électrique de la soupape, l'unité de commande de soupape (BUK) est utilisée, qui fournit un traitement logique des commandes entrantes et des pannes données possibles, et génère également tous les signaux nécessaires pour les systèmes d'indication et de commande. (voir fig.6)



Figure 6. Modèle de l'unité de commande de soupape (BEECH)

Les diagrammes des figures 5-6 sont des schémas de bibliothèque typiques pour la modélisation des centrales nucléaires. Ces blocs ne sont pas modifiés par l'utilisateur, mais sont préparés et utilisés pour créer des algorithmes de contrôle. Les algorithmes de contrôle sont créés sous forme de feuilles. Dans notre cas, la feuille d'algorithme de contrôle de vanne est présentée à la figure 7.


La formation directe de la commande "ouvrir" ou "fermer" (Plus, Moins) s'effectue dans le bloc de conversion relais d'impulsions (FIR). Cette unité peut être réalisée à la fois sur la «logique de fer» (transistors, relais, amplificateurs), et sous forme de programme.
A l'entrée du bloc EPI, un décalage est calculé, calculé par le bloc PID sous forme d'écart en pourcentage. Sur la base de ces données, l'unité elle-même génère des impulsions «ouvertes» ou «fermées» (plus, moins) pour l'unité de commande de vanne. Le schéma de principe du PEV est illustré à la figure 8.

L'algorithme de contrôle de vitesse est illustré à la figure 9.


En tant que données initiales pour le calcul du régulateur de pression, les valeurs de vitesse et de capteur réglées sont utilisées.


L'algorithme PID lui-même est illustré à la figure 10.


Le capteur de vitesse prend en compte le retard, l'inertie et l'erreur du capteur réel. Le schéma du modèle de capteur est illustré à la figure 11.



Figure 7. Algorithme de contrôle de vanne


Figure 8. Diagramme fonctionnel FIR


Figure 9. L'algorithme du bouton de commande


Figure 10. Contrôleur PID


Figure 11. Modèle de capteur

Comme nous pouvons le voir, le modèle est assez détaillé (plus d'un millier de blocs) et n'est pas linéaire du tout.


Puisque dans cette expérience, nous explorons la possibilité même d'optimiser et de gérer des systèmes complexes, le détail du modèle mathématique est important pour nous du point de vue de sa non-linéarité et de sa complexité. Par conséquent, une telle combinaison «sauvage» d'un programme de contrôle réel des régulateurs de centrales nucléaires et d'un modèle de moteur «réel» constitue la tâche pour tester les régulateurs avec des modèles complexes.


  • Le système de contrôle utilise les paramètres suivants:
  • temps d'ouverture et de fermeture de la vanne - 10 secondes
  • plage de régulation du régime moteur - 1500 - 4000 tr / min
  • zone morte pour le régulateur - 1%

Réglage du modèle et expérience numérique


Le modèle que nous explorons ne décrit que le moteur. Et toutes les actions de contrôle, telles que la consommation de carburant, les angles de rotation de l'aube de guidage, les débits, etc., sont définies sous la forme de fonctions qui changent avec le temps. Nous avons créé un modèle d'alimentation en carburant «plus honnête» et essayons de le connecter au modèle de moteur. La conception de l'expérience numérique est la suivante:

  1. amener le modèle de moteur à la vitesse nominale;
  2. commuter l'alimentation en carburant vers le système de commande créé;
  3. faire le contrôle de la vitesse.

La figure 12 montre le circuit de commande pour mener une expérience numérique.


Figure 12. Modèle de contrôle de l'expérience numérique

Le modèle peut fonctionner en mode optimisation ou en mode contrôle.


Lorsque le mode d'optimisation est activé, l'unité d'optimisation fonctionne; en mode désactivé, elle ne participe pas au calcul.


Tous les modèles connectés dans un même boîtier sont considérés comme échangeant des données de manière synchrone via une base de données de signaux. Dans un projet de gestion de facturation, les données sont transférées d'un modèle à un autre. En particulier, la pression de la chambre de combustion du moteur est transmise à la pression à la sortie du système de carburant, et les révolutions calculées de l'arbre basse pression sont transmises au modèle de capteur pour être prises en compte dans le système de commande.


Pour simuler l'inexactitude de la mesure de la vitesse, du bruit blanc est ajouté à la valeur calculée de la vitesse de l'arbre.


La vitesse réglée est transmise à l'unité d'optimisation. Pour surveiller la qualité du transitoire, les débits et les positions des vannes sont utilisés.


Le système de commande se présente sous la forme d'une machine à états à trois états (voir Fig.13):


  1. Accélération du moteur. Dans cet état, le modèle de moteur fonctionne indépendamment du système de carburant et la consommation de carburant est définie comme une fonction linéaire par morceaux. Le régulateur est éteint et les tours d'arbre basse pression calculés sont transmis aux tours réglés Selon le signal du niveau supérieur, la transition peut se produire soit à l'état d'optimisation, soit à l'état de contrôle.
  2. Optimisation. Dans cet état, la consommation de carburant est prise à partir du modèle hydraulique et transférée au modèle de moteur. Le contrôleur PID est activé et ajuste la position de la vanne. Les coefficients PID du contrôleur sont extraits du bloc d'optimisation et appliqués au contrôleur en mode d'optimisation. En tant qu'action de test, un changement de régime moteur est défini.
  3. La gestion. Exactement la même chose que l'optimisation, à l'exception de la transmission des coefficients au contrôleur PID.


Figure 13. Machines d'état du système de gestion du moteur


Figure 14. Les états «Accélération du moteur» et «Optimisation»

Le réglage du contrôleur est effectué par la méthode d'optimisation. Le schéma synoptique d'optimisation est illustré à la figure 15. Selon l'unité de commande utilisée dans le système pour la commande, le bloc d'optimisation sélectionne des valeurs pour le bloc PID ou le bloc de commande flou.


Lors de la configuration, le bruit blanc n'est pas pris en compte (dans le bloc, il est défini sur 0).



Figure 15. Bloc d'optimisation des régulateurs

Résultats de la simulation


Pour sélectionner les coefficients du contrôleur PID, le processus suivant est utilisé:

Dans les 10 secondes, l'accélération est effectuée à l'aide d'une courbe de consommation de carburant pré-calculée. La vitesse de rotation de l'arbre basse pression en fin d'accélération est de 3564 tr / min.

A 10 secondes du calcul, la machine d'état bascule. À partir de ce moment, la consommation de carburant est tirée du modèle hydraulique et la fréquence définie pour le régulateur est de 3600 tr / min.


À 20 secondes de calcul, la fréquence réglée change - 3900 tr / min.


Ainsi, le régulateur doit élaborer une étape de 36 tr / min à 10 secondes de calcul et une étape de 300 tr / min à 30 secondes de calcul.


Le contrôleur PID réglé fait face avec succès à cette tâche, en tenant compte du fait qu'à 10 secondes, en plus d'un saut de tours, un saut de la consommation de carburant se produit lors du passage à un modèle hydraulique (voir Fig.16)



Figure 16. Chiffres d'affaires et processus de contrôle pour le contrôleur PID

Pour créer un contrôleur basé sur la logique floue et la pureté de l'expérience, nous utilisons le même contrôleur PID déjà configuré (voir Fig.10), dans lequel nous ajoutons un modèle de contrôleur basé sur la logique floue et remplaçons la sortie du contrôleur - au lieu du PID, nous envoyons un signal obtenu en logique floue .


Ainsi, tous les autres paramètres liés à la normalisation, la zone d'insensibilité, le travail de l'EPI restent les mêmes que pour le PID.

La sortie du contrôleur, la même que la sortie du PID, est la différence de pourcentage.
Et nous avons quitté le contrôleur PID lui-même pour pouvoir comparer les impacts donnés par les régulateurs. (voir fig.17)



Figure 17. Conversion de PID en logique floue

Le régulateur lui-même ressemble à celui du premier article . (voir fig.18). La non-concordance est entrée, les première et deuxième dérivées de la non-concordance sont déterminées numériquement et une base simple de trois règles est utilisée:

  • Si moins et diminue et ralentit => diminuer.
  • Si la norme est à la fois constante et ne change pas => ne change pas .
  • Si plus et augmente et accélère => augmenter .


Figure 18. Schéma d'un contrôleur flou.

Pour la personnalisation, nous utilisons les mêmes variables que nous avons utilisées dans le premier article - ce sont les plages de déviation des première et deuxième dérivées.


Après optimisation, nous entamons le même processus de transition.



Figure 19. Chiffres d'affaires et commandes pour la logique floue
Le contrôleur de logique floue a très bien fonctionné. Veuillez noter qu'en fonction de la position de la vanne, des étapes «formées par nous-mêmes» se sont formées lorsque la vanne s'est arrêtée, s'est arrêtée puis s'est à nouveau déplacée.

À en juger par le calendrier 19, la logique floue a mieux géré l'augmentation des régimes des avions!


Nous allons maintenant modifier les conditions du problème réglées sur le pas positif de 300 tr / min et tester le pas négatif de -1500 tr / min. (Si vous en prenez plus, la soupape peut se fermer, mais je ne sais pas comment le modèle se comportera à une consommation de carburant nulle, bien que le vrai moteur permette un arrêt à court terme de l'alimentation en carburant.)

À 20 secondes de calcul, nous avons réglé la fréquence à 2100 tr / min. Et voyons comment fonctionnent nos régulateurs. Le premier dans le ring est Fuzzy Logic.



Figure 20. La pratique de la réduction de la vitesse. Logique floue

La deuxième expérience est avec un contrôleur PID. Et que voyons-nous? Il s'agit d'un échec complet, le contrôleur PID, réglé pour augmenter la vitesse, n'a pas pu faire face à la diminution de la fréquence. (voir 21) Quelque chose était maintenant alarmant pour nos centrales nucléaires.


Le modèle de moteur à bas régime était complètement incontrôlable à l'aide d'un contrôleur PID réglé pour contrôler à haut régime.


Soit dit en passant, on peut voir qu'un court arrêt de l'alimentation en carburant (la soupape se ferme complètement) ne conduit pas à l'effondrement du modèle de turboréacteur.



Figure 21. Pratique de la réduction de la vitesse. Contrôleur PID.

Cela demande la vérification auprès du régulateur SDA, dans lequel la dérivée seconde est utilisée. Puisqu'un tel modèle a déjà été fait pour l' article précédent (voir Fig. 22), la transformation de la logique floue en règles de trafic est une question de deux secondes. (voir fig.23).



Figure 22. Schéma structurel des règles de circulation du régulateur.


Figure 23. Remplacement du PID par des règles de trafic dans l'algorithme de contrôle

Nous ajustons le contrôleur par la méthode d'optimisation et répétons la réduction de vitesse.



Figure 24 Test de la réduction de la vitesse du contrôleur des règles de circulation

SDA fonctionnait avec dépassement, mais nettement mieux que PID, et presque aussi bon que la logique floue. Mais il y a un dépassement!


Compliquons la tâche - ajoutons du bruit au capteur


Essayons maintenant d'ajouter du bruit blanc au capteur de mesure du signal et voyons comment les régulateurs se comportent avec le vrai capteur. La zone morte représente 1% de la vitesse maximale - elle est de 40 tr / min. Réglez le bruit blanc à 50 tr / min.


Étant donné que le PID ne fonctionne pas à une vitesse inférieure, nous allons tester à une augmentation.


Le régulateur de contrôle de la circulation ne résiste manifestement pas à un tel bruit, bien qu’il maintienne la vitesse requise, mais la soupape de commande tremble, comme dans la danse de Saint-Guy, lorsque la vitesse réglée est activée. Sur la figure 25, la section 25 - 26 secondes du processus est spécialement agrandie.



Figure 25 Augmentation du régime avec bruit dans le capteur. Règlements routiers


Figure 26 Augmentation du régime avec bruit dans le capteur. Contrôleur PID

Le transitoire du contrôleur PID n'a pas changé malgré le bruit dans le capteur RPM. La gestion comporte des étapes claires et longues.


L'alarme pour la centrale nucléaire s'est retirée.



Figure 27. Contrôleur flou avec bruit dans le capteur.

Un contrôleur à logique floue avec bruit contrôle également, mais au moment de l'application à un état stationnaire, des fluctuations de la position de l'organisme de régulation se produisent.

Conclusions


La troisième série de tests de logique floue contre PID et SDA s'est terminée par une victoire de la logique floue. Contrairement au modèle simple de l' article précédent .


Il s'est avéré impossible de contrôler le contrôleur PID à basse vitesse.


L'avantage identifié expérimentalement du PID est l'absence d'oscillations avec un capteur bruyant.


Soit dit en passant, la dynamique du moteur (graphique d'accélération) s'est avérée très similaire à la dynamique d'un modèle simplifié.

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


All Articles