Anda di halaman 1dari 10

UQAC 6GEI360 Laboratoire 2 2009

LABORATOIRE 2
6GEI360 SYSTMES ASSERVIS

PROFESSEUR : ASSISTANT :

RACHID BEGUENANE JEAN GABRIEL MAILLOUX.

REMISE
Remettre : jean-gabriel_mailloux@uqac.ca

Noubliez pas le sujet de votre email : 6GEI630 LAB2

Vous me donnez votre fichier .M et vos deux fichiers .MDL.


Assurez-vous que tout marche, que les commentaires sont significatifs et que la prsentation finale est propre et facile dchiffrer.

STATE-SPACE (VARIABLES DTAT)


Quel est le principe? Si nous avons des quations dtats qui reprsentent notre systme, nous savons quelles sont les conditions initiales des variables dtat et nous connaissons aussi les entres du systme : nous pouvons calculer la rponse du systme dans le temps. Lordinateur est particulirement appropri car il permet de faire cette grande quantit de calculs en peu de temps.

STATE-SPACE DANS MATLAB


Comme Matlab permet de travailler facilement avec les vecteurs et les matrices, il ne serait mme pas ncessaire dutiliser des fonctions spcifiques pour effectuer les calculs qui concernent les quations dtats. Cependant, nous allons travailler avec diffrentes fonctions qui acclrent encore plus notre analyse. Pour un systme mcanique et un systme lectrique, nous allons dcrire, tudier la rponse et analyser le systme. Les laboratoires futurs ncessiteront toujours lutilisation de ces outils afin de bien comprendre comment effectuer le contrle dun systme donn.

1|P a g e

UQAC 6GEI360 Laboratoire 2 2009


CLASSIQUE (DOMAINE DE FRQUENCE) VS DOMAINE TEMPOREL CLASSIQUE AVANTAGES
Reprsentation simplifie Modlisation de systmes interconnects plus simple tude rapide de stabilit et de la rponse transitive

INCONVNIENTS
Applicable seulement aux systmes linaires

TEMPOREL AVANTAGES
Sapplique divers systmes Solutions numriques par ordinateur

INCONVNIENTS
Pas aussi intuitif Tu es aussi bien davoir un ordinateur!!

2|P a g e

UQAC 6GEI360 Laboratoire 2 2009


1. FORMULE DE MASON

TROUVER LA FONCTION DE TRANSFERT T(S) = Y 2 (S)/R 1 (S)


Le premier exercice va vous permettre de construire lquation de Mason dans Matlab. Nous allons voir quune fois de plus, lutilisation des symboles (syms) nous vite de calculer ou de simplifier la main. Voici les commentaires Matlab qui donnent un exemple de dmarche suivre pour la formule de Mason. Il est pratique commune de nommer les chemins (P1 P2 ), les boucles (L1 L2 ) et les dterminants (DET1 DET2 ). Nous avons vu plusieurs manires de simplifier une quation symbolique au laboratoire 1 (simplify, etc.). Vous pouvez en tout temps utiliser la commande simple() qui va tester pour vous plusieurs approches afin de trouver la forme la plus simple. Cela dit, une commande collect() peut souvent tre ncessaire pour rassembler les termes communs. Exemple de structure: % Formule de Mason % a. Trouver les boucles % b. Trouver les chemins de R1 a Y2 % c. Trouver le dterminant : % 1 - (SUM LOOPS)+(produit de chaque 2xLoops qui ne se touchent pas)-(3xLoops)... % d. Trouver les petits dterminants (boucles qui touchent au chemin = 0) % e. Assembler la formule

3|P a g e

UQAC 6GEI360 Laboratoire 2 2009


2. SYSTME MCANIQUE

Comme il nest pas possible de vous faire essayer toutes les commandes dans un seul exercice, voici un tas de commandes essayer (faire help ou doc):

Sachant que : + + =

Voici les variables dtat utiliser : 1 = 2 =

Pour dcrire un systme avec des variables dtat Pour tudier la rponse du systme Pour analyser le systme

ss, ssdata, get, set, ss2tf, ss2zp, tf2ss, zp2ss step, impulse, lsim, ltiview poles, eig, roots, poly, pzmap, ctrb, det, inv, obsv

A.

DFINIR LES MATRICES A, B, C DU MODLE D'TAT (EN SYMBOLIQUE)

Comme les valeurs de k, b et m sont inconnues, il faut utiliser les symboles (avec syms) pour crer ces matrices. Notez que leur contenu est de classe sym, donc, vous ne pouvez directement crer un systme avec ss().

B.

SACHANT QUE K=20, B=9 ET M=1, VALUEZ A ET B

Une fois des valeurs assignes k, b et m, vous pouvez faire A = eval(A) pour obtenir une matrice contenant des valeurs numriques plutt que symboliques.

4|P a g e

UQAC 6GEI360 Laboratoire 2 2009


C. CONSTRUIRE LE MODLE D'TAT AVEC SS()

Faites help ss pour avoir plus dinformation sur les diffrentes faons dutiliser cette commande. Dans notre cas, nous ne voulons pas un modle discret (pas de paramtre Ts)

D.

TROUVER LA MATRICE DE TRANSITION EXPM() POUR UN DELTA DE 0.1S

Pour ceux qui ont lu les notes de cours, vous vous souvenez peut-tre que la matrice de transition peut svaluer avec lquation suivante : () = exp() =
=0 k! A k tk

Dans Matlab, la commande expm() permet de calculer la matrice exponentielle. Dans notre cas, on va vouloir faire expm(A*delta t).

E.

FAIRE UN GRAPHIQUE CALCUL PAR ITRATION AVEC LA MATRICE DE TRANSITION

Vous avez trouv la matrice de transition. Connaissant les valeurs de X un temps = , vous pouvez trouver 1 1 lvaluation de X = + avec lquation suivante : = exp() 2 = + 2 = Si vous vous souvenez de vos boucles for du laboratoire 1, il est concevable de calculer un grand nombre ditration afin dvaluer la valeur de x1 et x2 pendant quelques secondes. Voici comment accumuler des valeurs dans un vecteur : % Accumulation des valeurs de t et de X x_now = X0; % Valeurs de x1 et x2 initiales t = 0; for tmp=1:100 t = [t tmp*dt]; ... (code manquant) X = [X,x_now]; % Accumulation des X end % Affichage plot(t,X')

F.

AFFICHAGE AVEC LSIM()

Utiliser lsim() et plot() pour faire le mme graphique quobtenu de faon itrative. Cette fois, tout le travail est automatis!

5|P a g e

UQAC 6GEI360 Laboratoire 2 2009


G. TROUVER L'QUATION CARACTRISTIQUE DE A

On se souvient que pour trouver cette quation, il suffit de faire le dterminant de la matrice identit multipli par s moins la matrice A. Donc, on veut le dterminant de (sI-A). Utilisez syms s ainsi que eye().

H.

CHOISISSEZ DES PARAMTRES DE K ET B POUR AVOIR UNE RPONSE CRITIQUEMENT AMORTIE.

Connaissant lquation caractristique, il est trs facile de voir la relation entre k et b, sachant que le coefficient damortissement est de 1 lors dune rponse critiquement amortie.

I.

DONNER UN NOM L'OUTPUT ET L'INPUT AVEC SET()

Si vous faites get(sys) dans Matlab, vous allez voir que votre systme a plusieurs paramtres comme InputName, etc. La commande set() vous permet de changer ces paramtres. Il faut faire set(H,'OutputName',{'Position'},'InputName',{'Force'}) o H est notre systme. Pour visualiser le changement, faites get(H) et step(H).

J.

RPONSE UNE IMPULSION

Avec impulse(), on peut maintenant observer un coup sur le ressort. Notez que vos changements de InputName et OutputName sont observables sur le graphique.

6|P a g e

UQAC 6GEI360 Laboratoire 2 2009


3. RESSORT, MASSE ET AMORTISSEUR DANS SIMULINK CONSTRUIRE LE SYSTME MCANIQUE PRCDENT DANS SIMULINK
Connaissant lquation : =

Vous devez construire le modle dans simulink.

Il est toujours bon de commencer par mettre le bon nombre dintgrateurs dans le schma, ensuite de nommer les signaux et finalement de joindre le tout. Utiliser premirement le bloc step comme u dentre.

UTILISER UN GNRATEUR DIMPULSIONS COMME ENTRE


En remplaant le bloc step par le bloc impulse generator, vous allez pouvoir gnrer des coups sur le ressort. Observez ce qui se passe sur le scope la sortie du systme. Vous devez modifier les valeurs de b et de k afin de changer le comportement et observer des oscillations de la masse chaque coup.

7|P a g e

UQAC 6GEI360 Laboratoire 2 2009


4. CRUISE CONTROL DE LA BUGATTI VEYRON
Pour notre premier modle de contrle, nous allons modliser le cruise control dune voiture. Cependant, nous allons tenter du mme coup de rgler un grave problme de notre socit. La Bugatti Veyron est une voiture qui fut construite pour cracher au visage des lois de la physique. Avec ses 1001 chevaux vapeurs ( et 1250 Nm de torque), ses dix radiateurs et sa vitesse maximale de 407 km/h atteinte en 51 secondes, il est toujours surprenant de ne pas voir cette voiture se dsintgrer chaque utilisation. Malheureusement, les ingnieurs de Bugatti nont pas simul le scnario le plus frquent : un riche bozo qui frappe un poteau (http://www.motorauthority.com/bugatti-veyron-smash.html ). Apparemment, il est trop difficile dtre riche, dacclrer et de parler avec Paris Hilton au cellulaire simultanment. Il revient donc nous dautomatiser une de ces trois tches pour viter lanantissement dune autre Veyron. Nous allons crer un bouton de cruise control spcial qui va partir de 0 et amener la voiture 407 km/h, sans intervention. Pour notre prototype, nous allons utiliser un modle trs simpliste qui ne tient pas compte de grandchose. Dans la vrai vie, notre prototype va ncessairement causer laccident fatal de quiconque osera lutiliser car nous avons omis environs 95% des quations qui compliquent normalement ce problme. Quoi quil arrive, NINSTALLEZ PAS CE SYSTME SUR VOTRE BUGATTI VEYRON PERSONNELLE. Pour simplifier les choses, disons que lquation diffrentielle est (on ne considre que la friction de lair):

bv u

La fonction de transfert est ainsi :

Nous voulons un temps dacclration de 51 secondes, pas dovershoot et peu derreur en rgime permanent. Considrons que b = 50 Ns/m et que la Veyron a une masse de 2034 kg.

()

()

8|P a g e

UQAC 6GEI360 Laboratoire 2 2009


TROUVER LA FONCTION DE TRANSFERT DE LAUTO EN OPEN-LOOP.
Ici, pas besoin de symbolique, car nous connaissons la valeur des paramtres m, b et F (qui sera lentre). Un simple tf() suffit. Faire laffichage avec step().

AMLIORER L'ACCLRATION (RDUIRE LE TEMPS DE MONTE) AVEC UN P.


Souvenons-nous de la fonction de transfert dun PID : +

Le Kp nous permet damliorer le rgime transitoire, mais naide pas beaucoup pour lerreur en rgime permanent. Trouvez un Kp raisonnable pour notre temps dacclration dsir.

UTILISER UN PI POUR CORRIGER LA VITESSE EN RGIME PERMANENT.


Ajoutez le terme du PI pour mieux contrler la vitesse finale. Vous devrez peut-tre modifier Kp aussi pour vous adapter (car leurs effets ne sont pas compltement indpendants). Indice : le Ki sera petit.

9|P a g e

UQAC 6GEI360 Laboratoire 2 2009


FAIRE LE MODLE DANS SIMULINK
Il faut faire le modle open loop, et y ajouter le contrleur. Nous savons que la sortie est la vitesse. On connait aussi lquation :

Vous aurez un modle qui ressemble ceci :

10 | P a g e

Anda mungkin juga menyukai