Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Systmes asservis
Volume 2 Asservissements : modlisation et simulation J.-M. Allenbach
N X Edition 2004
Asservissements linaires
9 MODLISATION ET SIMULATION
9.1 INTRODUCTION 9.2 IDENTIFICATION DE PROCESSUS
9.2.1 9.2.2 9.2.3 9.3.1 9.3.2 9.3.3 Prambule Identification en boucle ouverte Identification en boucle ferme Profondeur des modles Modles analogiques Modles numriques 93 93 94 97 9 9
91
9.5 SIMULATION EN TEMPS REL ( rdiger) 9.A GUIDE POUR SYSTEM IDENTIFICATION TOOLBOX
Jean-Marc Allenbach
TM1
20040408
Asservissements linaires
Modlisation et simulation
Qui dit simulation dit qu'il veut tudier en laboratoire le comportement dynamique d'une installation, d'un processus physique rel. Cela implique que cette tude ne se pratique pas directement sur le processus concret, mais sur un modle mathmatique de celui-ci. On peut classer une simulation selon deux paramtres: la modlisation (et sa ralisation concrte) et l'excution. Le modle mathmatique du processus peut faire appel aux quations diffrentielles ou aux quations aux diffrences: 1 Analogique: Le modle est tabli de manire continue, il recourt souvent une description dans l'espace s. La ralisation fera appel des intgrateurs amplificateurs oprationnels ( 7.B.3), des gains ( 7.B.2), des multiplicateurs et des fonctions non linaires ralises l'aide d'amplificateurs oprationnels. 2 Numrique: Le modle est tabli de manire chantillonn, dans un temps discret, il recourt souvent une description dans l'espace z. La ralisation fera appel des calculateur numriques (PC, P, ...). Certains logiciels permettent d'implanter sur PC une simulation apparemment analogique, mais qui reste bien entendu numrique (MATLAB, Mathematica). La simulation peut s'excuter en temps rel ou en temps diffr: 1 Une simulation en temps rel require les mmes dures d'opration que le processus qui est reprsent. On utilise ce genre de modle pour valider un appareil de rgulation au sortir de fabrication, avant d'aller l'installer sur le site. Les interfaces avec le simulateur sont identiques ceux qui sont implants sur l'installation relle de telle sorte que l'appareil est vrifi dans des conditions aussi proches que possibles de la ralit. 2 Le plus souvent, la simulation des droule en temps diffr, l'chelle du temps du modle a subi une expansion ou une contraction. En contractant le temps, cela permet d'excuter un grand nombre de simulation en un temps rduit. En dilatant le temps, on peut avoir recours des modles complexes qui demandent un temps de calcul lev, on peut ainsi visualiser des dtails qui ont peut-tre leur importance, mais qu'on devrait approximer pour une ralisation en temps rel. On notera qu'un simulateur analogique peut aussi fonctionner en temps diffr: il suffit de choisir les capacits une dcade au-dessous de la valeur calcule pour obtenir un simulateur qui fonctionne dix fois plus rapidement que le processus rel. Le simulateur analogique n'est plus gure utilis, cause des difficults de mise en uvre: topologie dpendante de l'installation simule. sensibilit la temprature ambiante et aux drives des composants. complexit des modifications. La qualit de la simulation tait dpendante de la prcision de composants, qu'on pouvait toutefois choisir par mesure, et de la prcision du modle. Dans le cas d'un modle numrique, le format et la taille des nombres, ainsi que le pas de calcul dans le temps ont une influence sur la qualit de la simulation.
Jean-Marc Allenbach 91 030916
Asservissements linaires
Modlisation et simulation
Quelque soit le type de simulation dsir, on n'y coupe pas, il faut commencer par laborer le modle. On peut certes, dans les cas simples, crire toutes les quations dynamiques du systme (voir chap. 3), en y appliquant les valeurs numriques indiques par les fabricants des divers organes de l'installation. Cette procdure a toutefois ses limites: On ne connat pas toujours chaque partie de l'installation. On risque des ngliger certains comportements. Les valeurs numriques ne sont pas toujours disponibles. Le calcul ne peut se faire qu' l'aide de "papier et crayon". On prfrera souvent laborer le modle partir du processus concret: il s'agit d'identification de processus.
Jean-Marc Allenbach
92
030916
Asservissements linaires
Modlisation et simulation
9.2
IDENTIFICATION DE PROCESSUS
9.2.1 Prambule Pour identifier un processus S, on suppose qu'on dispose d'un systme d'acquisition de mesures qui peut aussi agir sur le processus. Le systme d'acquisition est le plus souvent informatis, ce qui implique l'usage du calcul chantillonn et une acquisition intervalle rgulier T. On fera appel comme outil de calcul la transforme en z (annexe 11.A)
9.2.2 Identification en boucle ouverte Comme on l'a vu prcdemment ( 4.4.2), l'idal serait de pratiquer une mesure impulsionnelle du systme.
v u[k]
D/A
Gd
+ +
Gp
y[k]
Systme Numrique
Gs
A/D
Il suffirait d'injecter l'entre u une impulsion de Dirac, puis de calculer la fonction de transfert par transforme inverse du signal de sortie y.
Y ( s) = G s ( s) U ( s) ou Y ( z ) = G s ( z ) U ( z )
(9.1)
Si on applique en u(t ) une impulsion de Dirac (t ), la sortie y(t ) est appele g(t ).
G s ( s) o
g ( t ) = g ( kT ) = g[ k ]
Gs (z )
(9.2)
Comme l'impulsion de Dirac n'est pas ralisable concrtement, on renonce cette mesure qui ncessite un calcul simple au profit d'une mesure indicielle ( 8.2.1). On a dj mentionn la mthode d'identification de Strejc ( 8.B.1) base sur une mesure analogique, son application est quelque peu "artisanale". Avec une mesure sur un nombre n fini d'chantillons de u[k ] et y[k ] (0 k n ), on peut faire mieux. On peut traduire (9.1) dans l'espace temps par la convolution. y[ k ] = g[ k ] u[ k ] (9.3)
On peut obtenir g[k ] par dconvolution, les n valeurs de tant connues, puis en rechercher la transforme en z pour obtenir la fonction de transfert.
Jean-Marc Allenbach
93
050302
Asservissements linaires
Modlisation et simulation
y[ k ]/ u[ k ] = g[ k ]
Gs (z )
(9.4)
Cette mthode permet certes d'extraire la rponse impulsionnelle g[k ] avec une assez bonne approximation, mais il faut relever certains problmes: Le signal y[k ] peut subir les effets d'une perturbation v (t ), ce qui fausse la rponse impulsionnelle identifie. On ne peut pas toujours pratiquer un essai sur une installation en boucle ouverte ( 8.2.1). Le signal u(t ) doit avoir une puissance suffisante pour mouvoir l'installation. Le rsultat final dpend du nombre d'chantillons. Enfin, le calcul des coefficients de la fonction de transfert par la transforme en z de la rponse impulsionnelle n'est pas aussi immdiat qu'il y parat, on y reviendra au prochain paragraphe.
9.2.3 Identification en boucle ferme On peut volontiers pratiquer une identification du systme en cours de fonctionnement sans affecter celui-ci. Pour cela, on superpose au signal de sortie du rgulateur une squence binaire pseudo-alatoire uspa[k ] de valeur moyenne nulle et de faible amplitude.
v w
+
F e GR
+ +
ucm
D/A
Gd
+ +
Gp
uspa[k]
y[k]
Gs
A/D
Systme Numrique
Gaf =
Gs 1 + GR Gs
(9.5)
Aprs identification, il est toutefois facile de reconstituer le systme rgler, car on connat le rgulateur utilis.
Gs =
Gaf 1 GR Gaf
(9.6)
On peut calculer la corrlation entre les signaux d'entre et de sortie qui portent sur N chantillons.
Jean-Marc Allenbach
94
050302
Asservissements linaires
Modlisation et simulation
uy [ k ] =
i= 0
uspa [i k ] y[i]
(9.7)
Si on choisit judicieusement le spectre du signal uspa[k ], et qu'on est certain que ses corrlations avec les signaux v et w sont nulles, ce qui est vrai lorsque les signaux sont statistiquement indpendants, on peut affirmer que cette corrlation est gale la rponse impulsionnelle, en tant affranchi de l'influence des autres signaux [12]. uy [ k ] = g[ k ]
g[ k ] = [ g 0 g1 L g N ] 0 k N
o
(9.8) (9.9)
G( z) = g 0 + g1 z 1 + L g N z N
(9.10)
On suppose que le systme est d'ordre n, ce qui permet d'crire la fonction de transfert.
b + b1 z 1 + L + bn1 z n1 + bn z n Gaf ( z) = 0 1 + a1 z 1 + L a n1 z n 1 + a n z n
(9.11)
On constate, en galant (9.11) et (9.10), qu'il faut rsoudre un systme d'quations 2n+1 inconnues, dans lequel on ne connat mme pas n priori. La complexit des calculs requiert un temps souvent exagr. On prfre recourir des mthodes d'optimisation, moins coteuses en temps processeur, bases sur des approximations successives des coefficients ai et bj. On peut exprimer la relation entre entre et sortie. b + b1 z1 +L+ b n1 z n1 + bn z n Y ( z ) = Gaf ( z ) U ( z ) = 0 U (z) 1 + a1 z 1 +L a n1 z n1 + a n z n (9.12)
(9.14)
Les valeurs de y et uspa sont connues par mesure pour 0 k n, et nulles pour les autres valeurs. On cherche tablir les coefficients ai et bj .Comme on procde par approximation successives, lquation de (9.14) qui devrait tre exacte pour tout k est entache dune erreur ee [k ] lorsque les coefficients sont approxims.
y[k n] + a1 y[k n + 1] +Lan 1 y[ k 1] +an y[ k ] = b0 uspa[ k n] + b1uspa[k n + 1] +L+ bn 1uspa[k 1] + bn uspa[ k ] + ee[ k ]
(9.15)
Jean-Marc Allenbach
95
050302
Asservissements linaires
Modlisation et simulation
Plusieurs algorithmes sont issus de la mthode des moindre carrs qui tend minimiser lerreur quadratique due lapproximation, en comparant chaque pas la valeur de y obtenue par calcul celle obtenue par mesure sur linstallation.
Squad =
k =1 2 [k ] ee n
(9.16)
Une fois que les coefficients sont obtenus avec une prcision suffisante, il est facile de mettre en vidence les ples et les zros du systme boucl, puis den tirer le processus lui-mme selon (9.6). La mthode de base des moindres carrs ne garantit pas que les coefficients obtenus seront indpendants dune perturbation qui aurait pu survenir pendant le temps de mesure. Parmi les mthodes plus volues, on cite en particulier lalgorithme auto-rgressif moyenne ajuste (ARMA). Ces algorithmes ne sont pas dvelopps ici en dtail, on utilisera ceux mis disposition par des logiciels (par exemple: System Identification Toolbox de MATLAB, WinPIM de ADAPTECH,). Pour ceux qui veulent en savoir plus, ils se reporteront aux documents mathmatiques sur le sujet ([12]). Il reste encore dfinir les caractristiques du signal uspa. On a dj vu la ncessit quil ait une valeur moyenne nulle pour viter de perturber le fonctionnement du processus : on le construira en ajoutant ou soustrayant un bit (parmi ceux de poids faible) la valeur nulle. Son amplitude sera donc de 2m multipli par le pas de quantification. Le nombre de priodes dchantillonnage o le signal a la valeur + doit tre rigoureusement gal celui ou il a la valeur . Selon Shannon, le spectre de ce signal doit au moins tre le double de la frquence maximale quon veut mettre en vidence sur le systme, idalement, on doit se rapprocher le plus possible dun bruit blanc [12]. Cela dtermine le choix de la priode dchantillonnage T et la construction de la squence du signal. Par ailleurs, si on veut mettre en vidence un processus dordre n, la dure du signal sera au moins de (2n+1) T. On peut aussi tenter d'identifier un systme en mesurant simplement les entres et sorties sans injecter de signal. C'est la mthode qui interfre le moins avec le processus: l'identification est ici un simple observateur et les signaux sont ceux du fonctionnement normal de l'installation, avec leurs proprits.
v w
+
y Gp
Gd
A/D A/D A/D
Gs
y[k]
Jean-Marc Allenbach
96
050302
Asservissements linaires
Modlisation et simulation
Y ( z ) = Gs ( z ) U cm ( z) + Gpf ( z ) V ( z )
(9.17) (9.18)
La qualit du modle dpend ici de la largeur du spectre des signaux d'entre, on espre qu'il sera suffisamment large pour que le modle ait encore du sens. Les mthodes paramtriques d'identification sont ici bien adaptes (Arma, ...). Les mthodes d'identification par les variables d'tat peuvent aussi tre mises en uvre, elles sont assez voisines des prcdentes de par leur concept. On cherche minimiser l'erreur e sur le vecteur d'tat.
x[ k + 1] = A x[ k ] + B u u[ k ] + B v v[ k ] + e[ k ] y[ k ] = C x[ k ] + D u u[ k ] + D v v[ k ]
(9.19)
Jean-Marc Allenbach
97
050302
IdentGuide.doc
Par le champ Data , on peut ouvrir une autre fentre en choisissant import
J.-M. Allenbach
2004-03-24
IdentGuide.doc
On slectionne ensuite le champ Reprocess , dans lequel on choisit select range . Cela nous ouvre une fentre avec le graphique temporel de signal. Par la souris, un y slectionne deux cadres, en vert : la zone utiliser pour ltablissement du modle et en rouge celle utiliser pour la comparaison.
Par deux clics sur le bouton Insert, on importe les donnes dans les fentres de gauche.
On dpose avec la souris le fichier vert dans la fentre Working Data et le fichier rouge dans la fentre Validation Data . On choisit ensuite la mthode de modlisation par le champ Estimate
IdentGuide.doc
Si le taux de vraisemblance nous parait suffisant (ici 81,37 %) on transfert avec la souris le modle dans la fentre To Workspace. On dispose alors dans lespace de travail MATLAB du modle requis.
>> pss4 State-space model: A = x1 x2 x3 x4 B = x1 x2 x3 x4 C = y1 D = y1 K = x1 x2 x3 x4 x(t+Ts) = A x(t) + B u(t) + K e(t) y(t) = C x(t) + D u(t) + e(t) x2 -0.062219 0.97928 0.098763 0.10557 x3 0.0032441 0.073213 -0.31597 -0.35739 x4 0.0076629 0.041276 0.73622 -0.013738
x2 -0.08369
x3 -0.011249
x4 0.038528
u1 0
J.-M. Allenbach
2004-03-24
IdentGuide.doc
Estimated using PEM from data set EssSIMA2e Loss function 6.58701e-005 and FPE 6.79737e-005 Sampling interval: 0.002 >> [A,B,C,D]=ssdata(pss4) A = 9.6241e-001 -6.2219e-002 3.2441e-003 7.6629e-003 5.7285e-003 9.7928e-001 7.3213e-002 4.1276e-002 8.5745e-002 9.8763e-002 -3.1597e-001 7.3622e-001 -3.3189e-002 1.0557e-001 -3.5739e-001 -1.3738e-002 B = 3.9290e-003 6.8265e-003 7.6904e-001 -5.3549e-001 C = 5.1710e+000 -8.3690e-002 -1.1249e-002 D = 0 3.8528e-002
>>
J.-M. Allenbach
2004-03-24