volume2 asservissements modélisation et simulation
Post on 14-Apr-2018
251 Views
Preview:
TRANSCRIPT
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
1/16
Centre de comptencesen
automatisation industrielleet productique
asservisSystmes
Volume 2
Asservissements : modlisation etsimulation
J.-M. Allenbach
Ecole dIngnieurs de Genve
Laboratoire dAutomati ue
N X
Edition 2004
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
2/16
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
3/16
Asservissements linaires Table des matires
Jean-Marc Allenbach TM1 20040408
9 MODLISATION ET SIMULATION
9.1 INTRODUCTION 91
9.2 IDENTIFICATION DE PROCESSUS9.2.1 Prambule 939.2.2 Identification en boucle ouverte 93
9.2.3 Identification en boucle ferme 94
9.3 MODLES ( rdiger)9.3.1 Profondeur des modles 97
9.3.2 Modles analogiques 9
9.3.3 Modles numriques 9
9.4 SIMULATION EN TEMPS DIFFR( rdiger)
9.5 SIMULATION EN TEMPS REL ( rdiger)
9.A GUIDE POURSYSTEM IDENTIFICATION TOOLBOX
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
4/16
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
5/16
Asservissements linaires Modlisation et simulation
Jean-Marc Allenbach 91 030916
CHAPITRE 9: MODLISATION ET SIMULATION
9.1 INTRODUCTION
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 quiest 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.
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
6/16
Asservissements linaires Modlisation et simulation
Jean-Marc Allenbach 92 030916
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.
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
7/16
Asservissements linaires Modlisation et simulation
Jean-Marc Allenbach 93 050302
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 rgulierT. 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.
Fig. 9.1 Mesure en boucle ouverte.
Il suffirait d'injecter l'entre u une impulsion de Dirac, puis de calculer la fonction detransfert par transforme inverse du signal de sortiey.
Y s G s U s ou Y z G z U z ( ) ( ) ( ) ( ) ( ) ( )= =s s (9.1)
Si on applique en u(t) une impulsion de Dirac (t), la sortiey(t) est appeleg(t).
G ss ( ) o t kT k ( ) ( ) [ ]= = G zs ( ) (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] ety[k] (0k n), on peut faire mieux. On peut traduire (9.1) dans l'espace
temps par la convolution.
y k k u k[ ] [ ] [ ]= (9.3)
On peut obtenirg[k] par dconvolution, les n valeurs de tant connues, puis en rechercher la
transforme en z pour obtenir la fonction de transfert.
y
+Gd Gp
Gs
u
v
+
D/A
A/DSystme Numrique
y[k]
u[k]
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
8/16
Asservissements linaires Modlisation et simulation
Jean-Marc Allenbach 94 050302
y k u k k[ ] / [ ] [ ] = G zs ( ) (9.4)
Cette mthode permet certes d'extraire la rponse impulsionnelleg[k] avec une assez bonne
approximation, mais il faut relever certains problmes:
Le signaly[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.
Fig. 9.2 Mesure en boucle ferme.
Dans ce cas, on identifie le systme en boucle ferme Gaf.
GG
G Gafs
R s
=+1
(9.5)
Aprs identification, il est toutefois facile de reconstituer le systme rgler, car on connat le
rgulateur utilis.
GG
G Gsaf
R af=
1(9.6)
On peut calculer la corrlation entre les signaux d'entre et de sortie qui portent sur N
chantillons.
+GR Gd Gp
Gs
ucmw
v
+ +
e
F
uspa[k]
D/A+
+
A/DSystme Numrique
y
y[k]
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
9/16
Asservissements linaires Modlisation et simulation
Jean-Marc Allenbach 95 050302
o
uy spa[ ] [ ] [ ]k u i k y i
i
N
=
=
0
(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 sontstatistiquement indpendants, on peut affirmer que cette corrlation est gale la rponse
impulsionnelle, en tant affranchi de l'influence des autres signaux [12].
o
uy [ ] [ ]k g k= (9.8)
k k[ ] [ ]= 0 1 0L N (9.9)
De (9.9), on peut tirer l'expression en z de la rponse impulsionnelle identifie.
G z g g z g z N( ) = + + 0 11L N (9.10)
On suppose que le systme est d'ordre n, ce qui permet d'crire la fonction de transfert.
G zb b z b z b z
a z a z a z
n n
n nafn 1 n
n 1 n
( ) =+ + + +
+ + +
0 11 1
11 11
L
L
(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.
)(1
)()()(
n1
1n1
1
n1
1n1
10af zU
zazaza
zbzbzbbzUzGzY
nn
nn
+++
++++==
L
L
(9.12)
)()()1()( n1
1n1
10n1
1n1
1nnnn zbzbzbbzUzazazazY ++++=+++
LL (9.13)
On retourne dans le temps.
][]1[]1[][
][]1[]1[][
spanspa1nspa1spa0
n1n1
kubkubnkubnkub
kyakyankyanky
+++++
=++++
L
L
(9.14)
Les valeurs de y et uspa sont connues par mesure pour 0 kn, 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 kest entache dune erreuree [k]
lorsque les coefficients sont approxims.
][][]1[]1[][
][]1[]1[][
espanspa1nspa1spa0
n1n1
kekubkubnkubnkub
kyakyankyanky
++++++
=++++
L
L
(9.15)
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
10/16
Asservissements linaires Modlisation et simulation
Jean-Marc Allenbach 96 050302
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.
][
1
2quad keS
n
k
e=
= (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 Tet 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.
Fig. 9.3 Mesure en boucle ferme sans injection de signal.
y
+G
R G
d G
p
Gs
ucmw
v
+ +
e
F
v[k]
A/DSystme Numrique
y[k]A/D
A/D
u[k]
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
11/16
Asservissements linaires Modlisation et simulation
Jean-Marc Allenbach 97 050302
Y z G z U z G z V z ( ) ( ) ( ) ( ) ( )= +s cm pf (9.17)
y k n a y k n a y k b u k n b u k n b u k
c v k n c v k n c v k e k
[ ] [ ] ... [ ] [ ] [ ] ... [ ]
[ ] [ ] ... [ ] [ ]
+ + + + = + + + + +
+ + + + +
1 0 1
0 1
1 1
1
n n
n e
(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'erreure sur le vecteur d'tat.
x A x B B e
C x D D
[ ] [ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
k k u k v k k
y k k u k v k
+ = + + +
= + +
1 u v
u v
(9.19)
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
12/16
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
13/16
IdentGuide.doc
J.-M. Allenbach 1 2004-03-24
Utilisation de la Bote Outils
System Identification
Prparation
On peut rassembler les donnes dans un fichier iddata
NomFichier=iddata(NomSortie,NomEntree,PerEchanti) ;
Appel du Fichier
On ouvre une fentre de travail.ident
Par le champ Data , on peut ouvrir une autre fentre en choisissant import
On clique sur le bouton Import
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
14/16
IdentGuide.doc
J.-M. Allenbach 2 2004-03-24
On slectionne ensuite le champ Reprocess , dans lequel on choisit selectrange . 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 degauche.
On dpose avec la souris le fichier vert dans la fentre Working Data et lefichier rouge dans la fentre Validation Data . On choisit ensuite la mthode de
modlisation par le champ Estimate
On clique sur le bouton Estimate.
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
15/16
IdentGuide.doc
J.-M. Allenbach 3 2004-03-24
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: x(t+Ts) = A x(t) + B u(t) + K e(t)
y(t) = C x(t) + D u(t) + e(t)
A =
x1 x2 x3 x4
x1 0.96241 -0.062219 0.0032441 0.0076629x2 0.0057285 0.97928 0.073213 0.041276
x3 0.085745 0.098763 -0.31597 0.73622
x4 -0.033189 0.10557 -0.35739 -0.013738
B =
u1
x1 0.003929
x2 0.0068265
x3 0.76904
x4 -0.53549
C =
x1 x2 x3 x4y1 5.171 -0.08369 -0.011249 0.038528
D =
u1
y1 0
K =
y1
x1 0.14604
x2 -0.55359
x3 -1.3064x4 1.4203
-
7/27/2019 VOLUME2 Asservissements modlisation et simulation
16/16
IdentGuide.doc
J -M Allenbach 4 2004-03-24
x(0) =
x1 -1.1539
x2 -0.27813
x3 -5.4653
x4 11.009
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 3.8528e-002
D =
0
>>
top related