rapport_asservissement

33
Table des Matières Liste des figures..................................................2 Introduction.......................................................3 Cadre théorique et méthodologie....................................4 Modèle de l’ensemble actionneur et système asservi...............4 Lien rigide.................................................... 4 Lien élastique................................................. 5 Travail de préparation........................................... 5 Lien rigide.................................................... 5 Lien élastique................................................. 7 Présentation de la stratégie expérimentale......................10 Lien rigide................................................... 10 Lien élastique................................................ 12 Observations, calculs et résultats; Discussion....................13 Lien rigide..................................................... 13 Lien élastique.................................................. 19 Conclusion........................................................22 Bibliographie.....................................................23 ANNEXE............................................................24

Transcript of rapport_asservissement

Page 1: rapport_asservissement

Table des MatièresListe des figures.....................................................................................................................................2

Introduction...........................................................................................................................................3

Cadre théorique et méthodologie.........................................................................................................4

Modèle de l’ensemble actionneur et système asservi.......................................................................4

Lien rigide......................................................................................................................................4

Lien élastique.................................................................................................................................5

Travail de préparation.......................................................................................................................5

Lien rigide......................................................................................................................................5

Lien élastique.................................................................................................................................7

Présentation de la stratégie expérimentale.....................................................................................10

Lien rigide....................................................................................................................................10

Lien élastique...............................................................................................................................12

Observations, calculs et résultats; Discussion.....................................................................................13

Lien rigide........................................................................................................................................13

Lien élastique...................................................................................................................................19

Conclusion...........................................................................................................................................22

Bibliographie.......................................................................................................................................23

ANNEXE...............................................................................................................................................24

Page 2: rapport_asservissement

Liste des figuresFigure 1 : Illustration du banc d’essai utilisé en laboratoire obtenu à partir du document (1)..............4Figure 2 : Illustration de l’ensemble actionneur et système asservi pour un lien rigide obtenu à partir du document (1)....................................................................................................................................4Figure 3 : Illustration de l’ensemble actionneur et système asservi pour un lien rigide obtenu à partir du document (1)....................................................................................................................................4Figure 4 : Schéma du module Simulink utilisé pour répondre à la question (d).....................................7Figure 5 : Graphe de comparaison des réponses obtenueçs aux questions (b), (c) et (d)......................7Figure 6 : Module Simulink permettant la simulation de la fonction de transfert et du modèle d'état pour le travail préparatoire de la deuxième séance..............................................................................8Figure 7 : Comparaison des réponses du module simulink....................................................................9Figure 8 : Module Simulink modifié pour appliquer la méthode Ziegler-Nichols...................................9Figure 9 : Réponse simulée à l'échelon pour K_lim et Omega_lim......................................................10Figure 10 : Illustration du phénomène de friction dans le banc d'essai obtenue à partir du document (1)........................................................................................................................................................12Figure 11 : Réponse expérimentale du système à un échelon d’amplitude 3, vitesse vs temps..........13Figure 12 : Méthode graphique utilisée pour la détermination des paramètres.................................14Figure 13 : Comparaison des réponses expérimentales et modélisées...............................................14Figure 14 : Deuxième méthode graphique utilisant le graphique de la position.................................15Figure 15 : Comparaison des réponses expérimentales et modélisées...............................................15Figure 16 : Comparaison des réponses expérimentales et modélisées...............................................16Figure 17 : Réponse expérimentale à un échelon avec un contrôleur proportionnel..........................17Figure 18 : Comparaison des réponses expérimentales et modélisées avec un contrôleur proportionnel......................................................................................................................................17Figure 19 : Détermination des seuils d’arrêt et de démarrage en utilisant la réponse du système à une commande sinusoïdale de très basse fréquence..........................................................................18Figure 20 : Réponses expérimentale du système à un échelon...........................................................19Figure 21 : Comparaison des courbes modélisée et expérimentale....................................................19Figure 22 : Comparaison des courbes modélisée de la fonction de transfert, du modèle d’état et de la courbe expérimentale.........................................................................................................................20Figure 23 : Réponse expérimentale près du gain limite.......................................................................20

Page 3: rapport_asservissement

IntroductionPour asservir un système, nous devons connaître ses caractéristiques internes. C’est là que

réside tout le problème de l’identification des paramètres du système. En effet, de par sa structure physique et de par son obéissance à certaines lois physiques universelle, nous pouvons déduire les équations du modèle régissant le système. Cependant, les paramètres du modèle ne peuvent être obtenus qu’expérimentalement sur le banc d’essai.

Le but de ce laboratoire est de valider les modèles développés théoriquement pour les systèmes avec lien rigide et lien élastique en identifiant expérimentalement les paramètres de ces modèles, mais aussi, d’évaluer la pertinence de ces modèles en comparant les réponses expérimentales aux réponses théoriques attendues. Il s’agit ici d’entrevoir les limites expérimentales du modèle linéaire théorique. Après tout, le système que nous avons modélisé n’est pas linéaire à cause du frottement alors que le modèle retenu l’est. C’est dire que nous avons dû approximer le système réel pour le rendre linéaire et relativement simple à asservir.

Lorsque nous aurons trouvé les meilleurs approximants des paramètres, il nous faudra les valider et valider le modèle retenu en effectuant des tests supplémentaires en boucle fermé et en utilisant la méthode de Ziegler-Nichols pour trouver le gain limite et la fréquence limite.

Ce document se subdivise en trois parties; dans la première partie, nous présentons la théorie associée aux modèles retenus, le travail de préparation effectué avant le laboratoire ainsi que la démarche expérimentale qui sera employée.

Dans la deuxième partie, nous présentons les observations et résultats obtenus ainsi qu’une discussion de ces résultats. Cette approche permet de présenter les discussions avec les graphes et résultats correspondants.

Finalement, nous discuterons de l’atteinte des objectifs fixés dans la Conclusion. Le code Matlab utilisé pour effectuer les calculs du laboratoire est présenté dans l’annexe.

Page 4: rapport_asservissement

Cadre théorique et méthodologieUne illustration du banc d’essai que nous utilisons en laboratoire est présentée à la Error:

Reference source not found. Une illustration de l’ensemble actionneur et système asservi pour un lien rigide est présentée à la Figure 2. Une illustration de l’ensemble actionneur et système asservi pour un lien élastique est présenté à la Figure 3. Les détails du calcul du modèle de l’ensemble actionneur et système asservi se retrouve dans le document (1). Nous nous contenterons d’en énoncer les résultats.

Figure 1 : Illustration du banc d’essai utilisé en laboratoire obtenue à partir du document (1)

Figure 2 : Illustration de l’ensemble actionneur et système asservi pour un lien rigide obtenue à partir du document (1)

Figure 3 : Illustration de l’ensemble actionneur et système asservi pour un lien rigide obtenue à partir du document (1)

Page 5: rapport_asservissement

Modèle de l’ensemble actionneur et système asservi

Lien rigideLa fonction de transfert entre l’angle de l’axe du servomoteur et la tension appliquée à l’entrée de l’amplificateur de puissance est la suivante :

Où Km est le gain statique du servomoteur et est la constante de temps du servo-moteur avec les

deux volants branchés sur son axe. Nous obtenons aussi le modèle d’état suivant :

Où X est le vecteur des états et Y est la sortie du système. Il s’agit ici d’un modèle simplifié qui ne prend pas en compte la friction statique et la friction de coulomb.

Lien élastiqueLe système avec lien élastique est plus compliqué puisqu’il est d’ordre quatre.

: Position angulaire de l’axe du servomoteur et du volant 1

: Position angulaire de l’axe de la charge (volant 2)

: La constante de rappel du lien élastique

: Le gain statique

: Le moment d’inertie du servomoteur avec le volant 1

: Le moment d’inertie du volant 2

: Une constante de temps

: Une constante de temps

La fonction de transfert du système est donnée par :

Page 6: rapport_asservissement

Travail de préparationDans le but se préparer aux séances de laboratoire, un certain travail était demandé. Voici nos solutions aux questions du travail préparatoire. L’énoncé des questions a été retranscrit en italique.

Lien rigideb. Déterminer, en fonction du temps, l’expression mathématique de la réponse à un échelon unitaire d’un servomoteur dont la fonction de transfert est donnée par

Posons y(t) la sortie du système, Y(s) la transformé de Laplace de la sortie du système et U(s) la

transformé de Laplace de l’entré du système. Sachant , on trouve :

Nous utilisons la fonction residue de Matlab pour décomposer la sortie du système en fractions partielles :

La transformé inverse de Laplace se fait alors directement par inspection pour trouver la réponse temporelle du système :

c. Répéter (b) pour la fonction de transfert

Nous utilisons une fois de plus Matlab pour calculer la décomposition en fractions partielles et nous obtenons :

Nous trouvons donc la réponse recherchée en utilisant les tables de transformés inverses de Laplace.

Page 7: rapport_asservissement

d. Mettre au point un module Matlab-Simulink qui permet de simuler les réponses considérées aux points b et c;

e. Valider votre module de simulation en vérifiant la concordance entre son comportement et les résultats obtenus aux points b et c;

Le schéma du module Simulink utilisé pour répondre aux deux derniers points est présenté à la Figure 4. Les graphiques comparant les réponses obtenues pour les questions (b), (c) et (d) sont présentés à la Figure 5.

Figure 4 : Schéma du module Simulink utilisé pour répondre à la question (d)

En regardant les graphiques de la Figure 5, on voit que les réponses se superposent parfaitement et que le module Simulink a donné les mêmes résultats que les calculs manuels.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

5

10

15

20

25

temps (s)

Ten

sion

(V

)

Réponses comparées entre module simulink et calcul manuel pour G

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.2

0.4

0.6

0.8

1

1.2

1.4

temps (s)

Ten

sion

(V

)

Réponses comparées entre module simulink et calcul manuel pour H

Calcul manuel

Module simulink

Calcul manuel

Module simulink

Figure 5 : Graphe de comparaison des réponses obtenues aux questions (b), (c) et (d)

Lien élastiquei. Vérifier qu’au modèle d’état (A, B, C, D) correspond bien la fonction de transfert H(s);

Page 8: rapport_asservissement

Il suffit ici de vérifier la relation suivante :

ii. Vérifier (par voie théorique) que les valeurs du gain-limite et de la fréquence limite du système asservi sont données par :

iii. Calculer les valeurs de et ;

Nous effectuons le calcul dans un tableau Excel :

Tableau du calcul de Omega_lim et K_limK_m 12 G 8035,714 Omega_lim 9,682458t_1 0,14 a+c 7,55102 K_lim 1,127764t_2 2,45 ca+b 190,4155I_1 0,0016 cb 707,9082I_2 0,0016K_R 0,15

iv. Mettre au point un module Matlab-Simulink qui permet de simuler la réponse à un échelon du modèle d’état (A, B, C, D) et de la fonction de transfert H(s);

Le module Simulink est présenté à la Figure 6.

Figure 6 : Module Simulink permettant la simulation de la fonction de transfert et du modèle d'état pour le travail préparatoire de la deuxième séance

v. Valider vos modules en vérifiant la concordance entre réponse à l’échelon théorique et réponse obtenue par simulation;

Le graphe de comparaison des réponses est présenté à la Figure 7.

Page 9: rapport_asservissement

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1

0

1

2

3

4

5

6

7

8

9

temps (s)

Ten

sion

(V

)

Réponses comparées entre module simulink et calculs théoriques pour le point B.v.

Calculs théoriques

Module simulink

Figure 7 : Comparaison des réponses du module simulink

vi. Modifier ces modules afin de déterminer par simulation le gain-limite et la fréquence limite du système asservi en appliquant la méthode de Ziegler-Nichols ;

Le module Simulink modifié est présenté à la Figure 8.

Figure 8 : Module Simulink modifié pour appliquer la méthode Ziegler-Nichols

vii. Vérifier que les résultats obtenus au point (vi) concordent bien avec les résultats théoriques au point (iii).

Le résultat de la simulation est présenté à la Figure 9.

Page 10: rapport_asservissement

0 1 2 3 4 5 6 7 8 9 10-0.5

0

0.5

1

1.5

2

2.5

temps (s)

Ten

sion

(V

)

Réponse simulée à l'échelon pour Klim et Omega

lim

Figure 9 : Réponse simulée à l'échelon pour K_lim et Omega_lim

Les résultats concordent bien puisque Klim_simulé = 1,127 et Klim_théorique = 1,127. Aussi, lim_simulé = 9,67 et

lim_calculé = 9,68.

Présentation de la stratégie expérimentale

Lien rigideB. Identification des paramètres du système asservi avec un lien rigide

Il faut tout d’abord identifier les paramètres du système asservi avec un lien rigide. Pour ce faire, on injecte un échelon en boucle ouverte dans le système et on observe les courbes expérimentales de la position et de la vitesse. Nous pourrons alors effectuer deux tests d’identification graphique et un test d’identification numérique.

La première méthode d’identification graphique s’effectue sur la courbe de la vitesse en

fonction du temps. Pour identifier , il suffit de relever la tension en régime permanent et de

diviser par l’amplitude de l’échelon d’entrée. On trouvera ainsi le gain statique du système.

Pour identifier , il suffit de relever l’abscisse du point d’intersection d’une droite de pente

égale à la pente initiale de la courbe expérimentale et d’ordonnée à l’origine nulle et d’une droite horizontale d’ordonnée à l’origine égale à la tension en régime permanent de la courbe expérimentale. Il s’agit ici tout simplement de tracer deux droites et de relever l’abscisse du point d’intersection et l’on obtiendra directement la constante de temps recherchée.

Cette méthode graphique n’est pas très opportune dans notre cas puisque le graphe de la vitesse est obtenu en utilisant l’approximation d’Euler et qu’il est donc davantage sensible à la résolution de la mesure de position et à la période d’échantillonnage. De plus, l’erreur relative

Page 11: rapport_asservissement

dépendra aussi de la vitesse de rotation que l’on tente de mesurer. En effet, pour une petite vitesse, l’erreur sera plus grande.

La deuxième méthode d’identification graphique s’effectue sur la courbe de la position en fonction du temps. Deux valeurs sont relevées sur la courbe, soit pt la pente en régime permanent et Q, l’écart vertical en régime permanent entre la courbe expérimentale et une droite de pente pt et d’ordonné nulle. Il peut être démontré théoriquement que les paramètres du système s’obtiennent ainsi :

Pour obtenir , on peut aussi dessiner l’asymptote de la courbe expérimentale et lire

directement le paramètre sur l’axe du temps. Cette deuxième approche sera privilégiée puisqu’elle ne requiert qu’une seule lecture sur le graphe et qu’elle sera donc moins sujette à l’erreur.

La dernière méthode d’identification est une méthode d’identification numérique. Il s’agit ici d’utiliser la fonction fminsearch de Matlab pour trouver les valeurs des paramètres qui minimisent une fonction de coût associée. La méthode est appliquée sur le graphique de la vitesse en fonction du temps.

Les trois méthodes d’identification décrites ci-haut constituent le Test 1.1 et les résultats des trois méthodes seront comparés dans un tableau comparatif.

C. Validation des résultats d’identification

L’identification des paramètres du système asservi ne donne pas vraiment d’indication sur la qualité du modèle utilisé et des paramètres retenus. Pour valider le modèle et les paramètres trouvés nous devons effectuer un test de validation des résultats d’identification.

Le Test 1.2 consiste à vérifier que la réponse à l’échelon du système en rétroaction de position soit conforme à la réponse attendue. Il s’agit ici de relever expérimentalement la réponse à l’échelon du système en rétroaction de position et de le comparer à une simulation utilisant le modèle et les paramètres retenus. Nous utiliserons un module Simulink/Matlab pour relever la réponse simulée.

D. Caractérisation du frottement présent dans le système asservi

Le modèle que nous avons utilisé ne prend en compte que le frottement visqueux. C’est d’ailleurs évident puisqu’il est linéaire tandis que la friction statique et la friction de coulomb introduisent des non-linéarités. Il est alors nécessaire de se faire une idée de l’ampleur des phénomènes que nous négligeons dans notre modèle.

Pour ce faire, nous déterminerons les seuils de démarrage et d’arrêt du moteur en observant la réponse du système en chaîne ouverte à une entrée sinusoïdale de très basse fréquence. Une illustration du résultat attendu est présentée à la Figure 10. Cette illustration provient du document (1). Il est dit dans ce document que la friction statique provoque en moyenne un seuil de démarrage de 0,5V et la friction dynamique provoque en moyenne un seuil d’arrêt de 0,3V.

Page 12: rapport_asservissement

Figure 10 : Illustration du phénomène de friction dans le banc d'essai obtenue à partir du document (1)

Lien élastiqueOn exécute un test de réponse à un échelon du système avec un lien élastique en chaine

ouverte. Il s’agit du Test 2.1. Les résultats de ce test seront utilisés pour identifier les paramètres du système en (B) et (C).

B. Identification des coefficients de la fonction de transfert

Il s’agit ici d’utiliser la fonction fminsearch de Matlab pour trouver les coefficients de la fonction de transfert qui minimisent la fonction du coût (l’erreur). C’est donc une méthode numérique.

C. Identification des paramètres du modèle d’état

Il s’agit ici d’utiliser la fonction fminsearch de Matlab pour trouver les paramètres du modèle d’état qui minimisent la fonction du coût (l’erreur). C’est donc, aussi, une méthode numérique.

D. Validation des résultats d’identification

Nous avons trouvé dans le travail préparatoire la relation entre le gain limite, la fréquence limite et les paramètres du système. Nous effectuerons le test de Ziegler-Nichols pour valider notre modèle et l’identification des paramètres que nous avons faite. Nous pourrons comparer les valeurs simulées et expérimentales de la tension limite et de la fréquence limite.

Aussi, nous allons utiliser Matlab-Simulink pour trouver les réponses simulés aux Tests 2.1 et 2.2 pour la fonction de transfert et le modèle d’état. C’est-à-dire que nous allons utilisés les paramètres et coefficients identifiés aux points (B) et (C) dans nos simulations. Par la suite, nous comparerons les réponses expérimentales et simulées.

Page 13: rapport_asservissement

Observations, calculs et résultats; DiscussionNous avons décidé d’imbriquer la section des résultats et la section de discussion afin de

faciliter notre discussion. En effet, il est préférable de se référer directement aux graphiques pour appuyer la discussion.

Lien rigideTest 1.1 : Identification des paramètres du système asservi avec lien rigide

Nous voulions tout d’abord modéliser le système de roues à lien rigide à l’aide d’un modèle du premier ordre. La réponse expérimentale du système à un échelon est illustrée à la Figure 11.

Figure 11 : Réponse expérimentale du système à un échelon d’amplitude 3, vitesse vs temps.

On veut modéliser cette réponse à l’aide d’un système d’ordre un répondant à l’équation suivante :

On utilise une méthode graphique.

Page 14: rapport_asservissement

Figure 12 : Méthode graphique utilisée pour la détermination des paramètres.

On obtient et . On en fait un modèle Simulink et on compare les deux réponses.

Figure 13 : Comparaison des réponses expérimentales et modélisées.

On voit que semble adéquat, mais le modèle est loin d’être parfait. Tout d’abord, on

remarque que la pente à l’origine de la réponse expérimentale semble être égale à 0. C’est le signe que le système est clairement d’ordre supérieur à un. Cette particularité ne permet pas à la méthode utilisée de donner de bons résultats. En effet, il faut alors tenter d’évaluer visuellement la pente à l’origine à partir du reste de la courbe. On refait une démarche similaire à partir du graphique de la position.

Page 15: rapport_asservissement

Figure 14 : Deuxième méthode graphique en utilisant le graphique de la position.

La seconde méthode graphique nous donne :

Figure 15 : Comparaison des réponses expérimentales et modélisées.

On voit ici que cette méthode a donné de bons résultats puisque le graphe de la position est sujet aux erreurs car il relevé directement à partir de l’encodeur optique plutôt que d’être calculé par l’approximation d’Euler. Cependant, il nous apparait difficile pour un modèle d’ordre un de donner de meilleurs résultats.

Nous allons maintenant présenter les résultats de la méthode numérique. Nous avons utilisé les fichiers Matlab qui nous ont été fournis lors du laboratoire par M. De Santis et que nous avons légèrement modifié pour notre application. Les fichiers modifiés sont en annexe. Nous obtenons par

Page 16: rapport_asservissement

cette méthode des paramètres assez similaires à ceux obtenus avec la deuxième méthode graphique.

Figure 16 : Comparaison des réponses expérimentales et modélisées.

Soit,

La Figure 16 nous décrit un modèle relativement proche de la réalité, mais celui-ci ne semble pas rigoureux. Un modèle du premier ordre ne semble pas tout à fait adéquat.

(Volts) (sec)

Méthode 1 8.33 0.35Méthode 2 8.33 0.24

Méthode 3 (numérique) 8.305 0.25033

On voit clairement ici que les trois méthodes on données sensiblement les mêmes résultats

en ce qui concerne mais la méthode 1 semble diverger en ce qui concerne . En effet, nous avons

déjà expliqué que cette méthode donne généralement de bons résultats mais qu’à cause de notre situation particulière, elle n’est pas très applicable ici. La méthode 2 semble cependant avoir donné de bons résultats puisqu’elle donne des valeurs très proches de la méthode numérique.

Test 1.2 : Validation des résultats d’identification

Pour valider notre modèle, on effectue un test en boucle fermée. On applique encore un échelon de 3, mais nous utilisons un contrôleur proportionnel avec K1=1 et K2=K3=K4=0. La Figure 17 montre les résultats expérimentaux.

Page 17: rapport_asservissement

On simule ensuite avec Simulink le modèle que l’on a obtenu précédemment en ajoutant un contrôleur proportionnel de même valeur et on compare les résultats à la Figure 18. La réponse simulée semble bien meilleure que la réponse expérimentale réelle, ce qui porte à conclure que nous avons omis des paramètres importants dans notre modèle. On pourrait penser, par exemple, à la friction qui ralentirait la réponse de notre système.

Figure 17 : Réponse expérimentale à un échelon avec un contrôleur proportionnel.

Figure 18 : Comparaison des réponses expérimentales et modélisées avec un contrôleur proportionnel.

Page 18: rapport_asservissement

Test 1.3 : Caractérisation du frottement, détermination des seuils de démarrage et d’arrêt

Nous avons négligé le frottement dans notre modèle. Pour l’estimer, nous appliquons une commande de type sinusoïdale afin d’identifier à quelle valeur de commande le système commence à bouger, ce qui correspond au frottement statique. Au retour du sinus vers zéro, nous aurons la commande seuil d’arrêt du système en mouvement ce qui correspond au frottement dynamique. La Figure 19 permet de voir clairement ces deux seuils car elle illustre la vitesse en fonction de la commande.

Figure 19 : Détermination des seuils d’arrêt et de démarrage en utilisant la réponse du système à une commande sinusoïdale de très basse fréquence.

On lit, à partir de la Figure 19, un seuil d’arrêt de 0,24V et un seuil de démarrage de 0,48V. C’est concordant avec les donnés du document (1) où l’on stipule que le seuil d’arrêt moyen est de 0,3V et que le seuil de démarrage moyen est de 0,5V. Ces résultats expliquent, au moins en partie, le mauvais comportement de notre système en boucle fermée.

Page 19: rapport_asservissement

Lien élastiqueNous allons maintenant tenter de modéliser le système de roue avec lien élastique par un système du

troisième ordre. En premier lieu, nous capturons la réponse expérimentale du système à un échelon d’amplitude 3.

Figure 20 : Réponses expérimentale du système à un échelon.

Nous appliquons ensuite une méthode numérique contenue dans le fichier fminsearch1 fournie par le professeur que nous avons adapté à notre cas, tous les fichiers de programmation seront laissés en annexes.

Figure 21 : Comparaison des courbes modélisée et expérimentale.

Ayant obtenu ces paramètres, nous pouvons obtenir le modèle d’état associé a notre système à l’aide de la fonction fminsearch2.

Page 20: rapport_asservissement

Figure 22 : Comparaison des courbes modélisée de la fonction de transfert, du modèle d’état et de la courbe expérimentale.

Les modèles concordent avec la réponse expérimentale comme on peut le voir à la Figure 22. On veut ensuite déterminer le gain et la fréquence limite à l’aide la méthode Ziegler-Nichols. Nous commençons par tâtonnements en observant la réponse expérimentale.

Figure 23 : Réponse expérimentale près du gain limite.

Cette figure nous permet d’évaluer graphiquement la fréquence limite; nous obtenons 8,168 rad/sec. Le gain limite expérimental est de 1,27. On calcule grâce aux formules énoncés dans le travail préparatoire le gain limite et la fréquence limite simulée. C’est-à-dire ceux trouvés à l’aide des coefficients de la fonction de transfert. Le tableau suivant présente les résultats expérimentaux et simulés.

Page 21: rapport_asservissement

(Volts) (rad/sec)

Résultats expérimentaux 1,2796 8,8979Résultats simulés 1,27 8,168

Les résultats obtenus sont concordants puisqu’il y a peu d’écart entre les valeurs. Cependant, remarquons qu’un gain un peu plus élevé nous aurait rapproché davantage de la réponse puisque la fréquence aurait été aussi plus élevée. Et on peut voir sur la Figure 23 que le système n’était pas tout à fait rendu au gain limite puisqu’il finit par converger vers 0. Remarquons également qu’il était difficile d’obtenir exactement le gain limite sans que la commande ne sature. En effet, le système devenait très sensible quand le gain s’approchait du gain limite. Par contre, ce test nous montre avec succès que notre modèle et les paramètres calculés modélisent bien le système.

Page 22: rapport_asservissement

ConclusionNous avons atteint nos objectifs car, autant pour le système avec lien rigide que pour le

système avec lien élastique, nous avons pu identifier et valider les paramètres du système. De plus, nous avons pu observer les limites d’application des modèles retenus.

En effet, pour le lien rigide, il serait peut-être préférable de modéliser la friction statique et la friction dynamique puisqu’elle génère des erreurs non-négligeables en boucle fermée. Nous avons cependant estimé le niveau de friction du système et nous pouvons désormais compenser cette friction comme il est mentionné dans le document (1) à la page 12.

En ce qui concerne le lien élastique, les résultats obtenus concordent parfaitement. Nous avons donc atteint les buts de ce laboratoire.

Page 23: rapport_asservissement

Bibliographie1. Hurteau, Richard et DeSantis, Romano. Asservissement de position angulaire avec un lien rigide et élastique. Site du cours ELE3201. [En ligne] http://www.cours.polymtl.ca/ele3201/protege/laboratoires.htm.

2. Tremblay, Isabelle. Guide de rédaction des rapports de laboratoire. site du cours ELE3201. [En ligne] [Citation : 20 02 2009.] http://www.cours.polymtl.ca/ele3201/protege/laboratoires.htm.

3. M. De Santis, Romano. Étude théorique et expérimentale d'un asservissement en position avec un lien rigide ou élastique. Montréal : PRESSES INTERNATIONALES POLYTECHNIQUE, 2008.

Page 24: rapport_asservissement

ANNEXEfichier matlabscriptidentificationparammoteur.m

clear all; global vitesse temps ref X npt Km% réponse du système dont on veut calculer l'approximants1t1e1_090126ABSSnpt=250; refoutput=mean(vitesse(150:npt));Km=refoutput/ref;% estimation initiale des coefficients de l'approximant;tau=0.0578;X=tau;X0=X;% calcul des coefficients du meilleur approximant du 2ème ordre[X,fval]=fminsearch(@cout1storderapprox,X0)% réponse obtenue avec le meilleur approximanttau=X;s = tf('s');tf1=Km/((tau*s+1)); vitesse_sim=ref*step(tf1,temps);% comparaison entre réponse de l'approximant et réponse du système originalhold off

plot(temps(1:250),vitesse_filtree(1:250),'b',temps(1:250),vitesse_sim((1:250)),'b+');grid;title('vitesse_filtree vs temps');xlabel('sec'); ylabel('rad');legend('réponse du système expérimental','réponse du meilleur approximant du 1er ordre',...'identification des parametres de la fdt',0); % visualisation coefficients du meilleur approximantv0=['Km = ' num2str(Km) ];v1=['tau = ' num2str(tau) ];v={v0 v1};h=msgbox(v,'Coefficient du meilleur approximant du 1er ordre');set(h,'Position',[200 200 75 75]);

fichier cout1storderapprox.m

function F = cout1storderapprox(X)global vitesse temps ref npt Km% valeurs des coefficients de l'approximant du 2ème ordretau=X;% réponse à l'échelon de l'approximant du 1er ordres=tf('s');tf1=(Km)/(tau*s+1);vitesse_sim=ref*step(tf1,temps);% fonction coutF=1000*(vitesse_sim(1:npt)-vitesse(1:npt))'*(vitesse_sim(1:npt)-vitesse(1:npt));

fichier fminsearch1.m

% ce module estime les paramètres G a b c de la fonction de transfert du% système avec un lien élastique; les étiquettes « vitesse » « temps » « ref »% dénotent les variables définies dans le fichier de données expérimentales% relatives à la réponse à un échelon (s2t11e1040908rmds)clear all; global a b c G vitesse temps ref npt position% chargement de la réponse à l'échelon du système expérimentalS2_T1_E1_090209ABSS;npt=250;% calcul des valeurs optimales de G a b ca=4;b=150;c=4;G=9000;X=[a;b;c;G];X0=X; % valeur initiale de l'estimée de G a b c

Page 25: rapport_asservissement

[X,fval] = fminsearch(@cout3rdorderapprox,X0); % calcul des paramètresa =X(1);b=X(2);c=X(3);G=X(4);% résultat% comparaison entre réponse expérimentale et réponse de l'approximanttf1=tf([G],conv([1 0],conv([1 c],[1 a b]))); % fonction de transfert de l'approximantvitesse_sim=ref*impulse(tf1,temps);position_sim=ref*step(tf1,temps); % réponse à l'échelon de l'approximantfigure(1);hold off;plot(temps(1:150),vitesse(1:150),'r',temps(1:150),vitesse_sim(1:150),'g+');grid;title('VITESSE VS TEMPS');xlabel('temps en sec'); ylabel('vitesse en rad/sec');legend('experimentale','approximant');figure(2);hold off; plot(temps(1:150),position(1:150),'r',temps(1:150),position_sim(1:150),'g+');grid;title('POSITION VS TEMPS');xlabel('temps en sec'); ylabel('position en rad');legend('experimentale','approximant');% visualisation coefficients du meilleur approximantv0=['G = ' num2str(G) ];v1=['a = ' num2str(a) ];v2=['b = ' num2str(b) ]; v3=['c = ' num2str(c) ];v={v0 v1 v2 v3};h=msgbox(v,'PARAMÈTRES IDENTFIÉS ');set(h,'Position',[200 200 150 150]);

fichier cout3rdorderapprox.m

% cout3rdorderapprox.mfunction F = cout3rdorderapprox(X)global a b c G vitesse temps ref npt positiona =X(1);b=X(2);c=X(3);G=X(4);% calcul de la fonction de transferttf1=tf([G],conv([1 0],conv([1 c],[1 a b])));% reponse à l'échelon du modèlevitesse_sim=ref*impulse(tf1,temps);position_sim=ref*step(tf1,temps);% cout à minimiserF=100*(vitesse_sim(1:npt)-vitesse(1:npt))'*(vitesse_sim(1:npt)-vitesse(1:npt))% + ...%1000*(position_sim(1:npt)-position(1:npt))'*(position_sim(1:npt)-position(%1:npt));fichier fminsearch2.m

%Ce module estime les paramètres Km t2 I1 I2 du modèle d état du système avec un lien élastique.% a partir de la reponse a un echelon (fichier de données s2t1e1_040908rmds) en utilisant la fonction%fminsearch; s2t1e1_040908rmds fournit l'entrée ref et les vecteurs vitesse et position.% Il utilise les variables intermédiaires L K M N P dont la relation avec les variables physiques à identifier est% t1=1/L;t2=1/N;Kr=M*I2;I1=Kr/K;Km=P/L;clear all; global N vitesse temps ref position npt% chargement des données expérimentales pour la réponse à un échelonS2_T1_E1_090209ABSS; npt=250;% valeur initiale de l'estimation de L K M N PI2 =0.0016;I1=0.002;t1=0.2;t2=.3;Kr=.1;Km=12; L =1/t1;K=Kr/I1;M=Kr/I2;N=1/t2;P=Km*L;X=[L K M N P];X0=X;[X,fval] = fminsearch(@coutmde3rdapprox,X0); % détermination de l'estimation optimale de L K M N PL =X(1);K=X(2);M=X(3);P=X(5);I2=.0016;t1=1/L;t2=1/N;Kr=M*I2;I1=Kr/K;Km=P/L; % estimation des valeurs des paramètres physiques

Page 26: rapport_asservissement

% comparaison entre réponse expérimentale, modèle d'état et fonction de transfert% réponse obtenue avec l'estimation optimale des parametres du modèle d'étatA=[0 1 0 0;-K -L K 0;0 0 0 1;M 0 -M -N];B=[0;P; 0; 0];C=[0 0 1 0];D=0;sys=ss(A,B,C,D);tf1=tf(sys);vitessesimme=ref*impulse(tf1,temps);positionsimme=ref*step(tf1,temps);%réponse modèle d'état% réponse obtenue avec l'estimation optimale des parametres de la fonction de tranfertG=5409.0941;a=3.8245;b=150.3198;c=4.2558;tf2=tf([G],conv([1 0],conv([1 c],[1 a b])));vitessesimfdt=ref*impulse(tf2,temps);positionsimfdt=ref*step(tf2,temps);%reponse fonction de transfertfigure(1);hold off; % visualisation des résultatsplot(temps(1:150),vitesse(1:150),temps(1:150),vitessesimme(1:150),'b+',temps(1:150),vitessesimfdt(1:150),'g*');grid; legend('r réponse experimentale','b réponse modele détat','g réponse fonction de transfert',0);title('VITESSE VS TEMPS');xlabel('temps en sec');ylabel('vitesse en rad/sec');

fichier coutmde3rdapprox

% coutmde3rdapproxmfunction F=coutmde3rdapprox(X)global vitesse temps ref npt NL =X(1);K=X(2);M=X(3);P=X(5);% N=X(4);A=[0 1 0 0;-K -L K 0;0 0 0 1;M 0 -M -N];B=[0;P; 0; 0];C=[0 0 1 0];D=0;sys=ss(A,B,C,D); tf1=tf(sys);vitesse_sim=ref*impulse(tf1,temps);position_sim=ref*step(tf1,temps);% cout à minimiserF=100*(vitesse_sim(1:npt)-vitesse(1:npt))'*(vitesse_sim(1:npt)-vitesse(1:npt));