Telechargé par djokoyves193

livre asservissement Aissi salim

publicité
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/382641869
Asservissement des Systèmes Linéaires: Simulations et Travaux Pratiques Par
Matlab/Simulink
Book · July 2024
CITATIONS
READS
0
1,188
1 author:
Salim Aissi
University of Batna 2
14 PUBLICATIONS 24 CITATIONS
SEE PROFILE
All content following this page was uploaded by Salim Aissi on 29 July 2024.
The user has requested enhancement of the downloaded file.
Dr. AISSI SALIM
Université Batna2
Asservissement
des Systèmes
Linéaires:
Simulations et Travaux
Pratiques Par Matlab/Simulink
Edition GANA
Tous Droits Réservés
Batna - Algerie
Tél. 033 25 41 16 0561 27 95 65
Fax. 033 25 30 25
E-mail:[email protected]
Ouvrage : Asservissement des Systèmes Linéaires:
Simulations et Travaux Pratiques Par Matlab/Simulink
Auteur : AISSI Salim
Format : 16 x 23
Nombre de pages : 95 p
Edition : Dar Gana Edition 2019
N° Interne :006/2020
N° dépôt légal :10-2020
ISBN : 978 -9947 -910 -78 -8
Dédicace
Je dédie ce Modest travail à :
o A La mémoire de ma Chère Mère que DIEU
le Tous Puissant, La Prend dans son grand
paradis..
o A La mémoire de mon Cher Père AISSI
MESSAOUD que DIEU le Tous Puissant, Le
Prend dans son grand paradis..
o
o La mémoire de mon Cher Frère Nabil
o ma Chère Femme.
o mes Chers Enfants : Youcef, Taha, Yacine.
o Toute la famille
Remerciements
Ce document présente l'ensemble des travaux effectués durant
mon enseignement du module d'asservissement depuis l'année 2002 au
centre universitaire de Bordj Bou Arreridj et par la suite à l'université
de HADJ LAKHDAR
Batna et l’Université CHAHID MOSTEFA
BENBOULAID Batna2.
Au début, ce document était rédiger sous forme d’un polycopié
destiné aux étudiants du département d’électronique faculté de
technologie, université Batna2, par la suite j’ai décidé de l’imprimer
sous forme de livre afin d’étaler ses avantages à d’autres utilisateurs.
Je tiens à remercier beaucoup ma femme qui ma encouragé et
insisté sur l’impression de ce travail sous forme de livre,
Je tiens à remercier également tous qui m’ont aidé pour réaliser
ce document.
Sommaire
Sommaire
Partie 1 : Prise en main avec
Matlab/simulink
Introduction générale ...................................................................... (9)
Définition de MATLAB .................................................................... (12)
Interface graphique de Matlab ......................................................... (12)
Programmer sous Matlab ................................................................. (13)
Créer un Programme Sous MATLAB ............................................. (16)
Commandes courantes de Matlab .................................................... (18)
Environnement graphique du Simulink ........................................... (19)
Différentes bibliothèques : ............................................................... (20)
Construction d’un schéma de Simulink ........................................... (21)
Partie 2 : Tp Matlab /Simulink proposés
TPN°1 : Instructions Usuelles du Logiciel Matlab ........................... (24)
TPN°2 : Instructions polynômes & Graphisme .............................. (25)
TPN°3 : Représentation des Systèmes Linéaires à l’aide
des équations différentielles ................................................. (26)
TPN°4 : Représentation des Systèmes Linéaires
à l’aide des Fonctions de Transfert .................................... (27)
TP N°5 : Génération Des Différents Signaux d'Entrées Pour Les
Systèmes Asservis à Base des Instructions Matlab............ (29)
TPN°6 : Réponse d’un Systèmes Linéaires du Premier Ordre........ (30)
TP N°7: Analyse Fréquentielle du Système Premier Ordre. ........... (32)
TPN°8 : Systèmes Second Ordre Circuit RLC ................................ (33)
Sommaire
TPN°9 : Systèmes Second Ordre Système mécanique .................... (34)
TPN°10 : comparaison entre les Systèmes Second Ordre Système
mécanique et électrique .................................................................... (36)
TP N11 : Stabilité des Systèmes Asservis ........................................ (37)
TPN12 : manipulation du Simulink ................................................. (39)
Partie 3 : Solutions des TP Proposés
Solution TPN°1 ................................................................................. (42)
Solution TPN°2 : ............................................................................... (43)
Solution TPN°3 : ............................................................................... (46)
Solution TPN°4 : ............................................................................... (52)
Solution TPN°5 : ............................................................................... (58)
Solution TP N°6:. .............................................................................. (62)
Solution TPN°7 : ............................................................................... (68)
Solution TPN°8 : .............................................................................. (72)
Solution TPN°9 : ............................................................................... (74)
Solution TP N°10 : ........................................................................... (76)
Solution TPN°11 : ............................................................................ (87)
Solution TPN°12 : ............................................................................ (89)
Conclusion générale .......................................................................... (93)
Bibliographie ..................................................................................... (95)
Introduction générale
Introduction Générale
Tous les systèmes physiques existant que se soit naturels ou industriels
doivent être contrôlés et maitrisés pour accomplir leurs tâches d'une manière
convenable. Le contrôle de ces systèmes passe par leurs modélisations
mathématiques et la connaissance des techniques des commandes.
Le but de ce document est de s'initier au logiciel
MATLAB/SIMULINK en faisant un tour sur la plupart des fonctionnalités de
ce logiciel puissant et performant afin de connaitre les instructions et les
techniques nécessaires pour la commande des systèmes.
Ce document est destiné aux étudiants Licence en E. E. A.
(Electronique électrotechnique, Automatique) concernés par l'étude et la
modélisation des systèmes à asservir dans toutes les spécialités. Il traite des
travaux pratiques par simulation sous le logiciel MATLAB/ SIMULINK des
systèmes asservis continus, en contournant l'ensemble des cours traités dans le
module d'asservissement linéaire et continus [2], et en introduisant à chaque
TP des commandes Matlab comme outils pour réaliser ses exercices. Ces
derniers touchent les thèmes suivants : les systèmes de premier ordre, les
réponses des systèmes de deuxièmes ordres, les réponses fréquentielles, le
tracé des abaques de Nichols et de Nyquist, et enfin la stabilité et la précision
des systèmes continus.
Afin de bien, maitriser et comprendre l'ensemble
d'asservissement, ce livre est devisé en plusieurs parties :
des
TP
 La première est destinée pour un rappel sur l'environnement et
l’interfaçage graphique de Matlab et de Simulink en citant l'ensemble des
parties importantes, ainsi que les commandes usuelles pour créer et simuler un
programme sous Matlab et Simulink.
 La deuxième partie offre la présentation des TP de simulation en
suivant le programme destiné aux licences déjà citées plus haut.

Finalement pour atteindre le but de ce document des solutions et
explications des TP sont proposées dont leurs scripts sont prêts à être
exécuter.
9
Partie 1 : Prise en main avec Matlab Simulink
10
Partie 1 : Prise en main avec Matlab Simulink
Partie 1
Prise en Main avec
Matlab/Simulink
11
Partie 1 : Prise en main avec Matlab Simulink
1. Definition de MATLAB
Le mot MATLAB, c'est l'initiale de (MATrix-LABoratory) en français
Laboratoire des matrices. Son environnement est de type visuel orienté pour
calcul numérique et matriciel beaucoup
plus. Un large public de chercheurs et
étudiants exploite la puissance de haute
gamme du Matlab. Il est devenu
actuellement une nécessité dans le
domaine du calcul technique.
En effet Matlab possède beaucoup
de plateformes pour le calcul numérique
et formel ou symbolique, des outils
puissants pour le graphisme. La création
des programmes à base d'instruction plus
performantes et focalisées vers des
problèmes bien précis comme :
les instructions concernant le contrôle Figure1.1 : fenêtre de lancement [1]
des systèmes linéaires non linéaires,
discrets, aléatoires, électronique de puissance, logique floue, réseaux de
neurones,…etc.
Matlab existe en plusieurs versions, portant à chaque fois de nouvelles et
puissantes fonctionnalités. La version est affichée au lancement du logiciel
comme l’indique la figure 1.1.
2. Interface graphique Matlab

L'icône de lancement est donnée

L'environnement graphique Matlab est présenté dans la fenêtre de la
par :
figure 1.2 ou on trouve :
 la barre de menu : File, Edit, Debug , Parallel, desktop ,…etc
 la barre d'outil : nouveau ouvrir, lancer Simulink,…etc

l'invite de commande " >> " a partir de cet invite en lance les
commandes Matlab.
12
Partie 1 : Prise en main avec Matlab Simulink
Barre d'outils
Invite de commande
Icône de lancement
Répertoire courant
de Simulink
Barre de menu
Figure 1.2 : fenêtre principale de MATLAB
NB.
Il faut noter que les commandes en Matlab sont de types textuels,
alors la syntaxe doit être respectée pour que les commandes fonctionnent
correctement en évitant la génération des messages d'erreurs
3. Programmer sous Matlab
Avant de programmer sous Matlab quelques principes sur ce logiciel
doivent être connus :
a) Matlab est un logiciel qui peut exécuter des instructions ligne par
ligne à partir de l'invite ">>", il ne nécessite pas une déclaration
des types de variables à priori comme les autre langages (C, Pascal,
…) ce qui indique sa facilité.
b) Le programme est organisé sous forme de plusieurs instructions
regroupées dans un script d'extension .m . Cela donne plus de
13
Partie 1 : Prise en main avec Matlab Simulink
rapidité et de convivialité sans déclaration des bibliothèques à
priori.
Le logiciel Matlab est organisé sous forme de plusieurs Toolbox (boite à
outils) destinées à une large plage de disciplines et spécialités scientifiques.
Pour connaitre ces Toolbox taper : Help
3.1. L'Aide en Ligne de Matlab
>> help
Le résultat donne une liste des boites à outils existantes. Chaque boite à
outils sélectionnée affiche sur la partie droite son contenue. Comme l’indique la
figure 1.3
Liste Boite à outil
pour sélection
Affichage du contenu de la
boite à outils sélectionnée
Figure 1.3 : résultat d'une commande help
14
Partie 1 : Prise en main avec Matlab Simulink
Chaque boite à outil regroupe un ensemble de commande de même type
et exerçant sur un domaine précis. Pour plus d’explication, prenons les deux
exemples du tableau 1.1 suivant :
Tableau 1.1
Exemple 1:
Exemple 2:
>> help elfun
>> help control
"elfun : matlab\elfun Elementary math functions"
"control : Control System Toolbox"
Cette boite regroupe un ensemble de commandes
destinées pour les fonctions mathématique
élémentaire, sin exp, cos, log,…etc.
Cette boite regroupe l'ensemble de
commandes destinées pour le contrôle
des systèmes asservis comme :
déclaration des fonction de transfert tf,
SS, ZPK, Eig, Roots, réponse des
systèmes Step, Impluse, Bode, …etc.
Le résultat est donné par :
Le résultat est donné par :
15
Partie 1 : Prise en main avec Matlab Simulink
3.2. Créer un Programme Sous MATLAB
 Un programme ou script Matlab comporte plusieurs instructions pour
différentes TOOLBOX selon le but souhaité de ce programme.
 Son extension est *.m
 Sa création est à partir du menu file --New ----Script (figure 1.4)
 Les commandes sont écrites ligne par ligne
Figure 1.4 : fenêtre éditeur de script Matlab .m




Les instructions du script sont exécutée a partir du menu : DEBUG-RUN-->Nom de fichier (exp1_univbat.m) ou F5
Les résultats du programme sont récupérés dans l'espace de travail si il
n'y pas d'erreurs
les variables résultants du script Matlab sont enregistrés dans le
Workspace par leurs noms.
Nous pouvons stocker tous les variables d'une session ouverte de l'espace
de travail dans un fichier de type *.mat (Exemple 3).
16
Partie 1 : Prise en main avec Matlab Simulink
Tableau 1.2
Exemple 3:
Les variables utilisés a un moment donné sont
identifiés par la commande who ou whos
* Pour sauvegarder les
variables de l'espace de travail
utiliser la commande
File----Save Workspace as
* Pour récupérer les données
pour une éventuelle utilisation,
utiliser la commande
file----import Data
17
Partie 1 : Prise en main avec Matlab Simulink
3.3
Commandes courantes de Matlab
Comme tout langage de programmation, Matlab possède des instructions
de plusieurs types, citons quelques unes dans les tableaux 1.3 et 1.4. [6, 7].
Tableau 1.3 : fonctions graphiques
plot(t,f,’Cp’)
title(‘titre du
graphe’)
xlabel(‘texte’)
ylabel(‘texte’)
gtext(‘texte’)
grid
Figure(num)
hold on
close all
Trace un graphe « f »en fonction de « t »
avec la couleur « c » et le symbole « p ».
C peut prendre : y (jaune), m (magenta), c (cyan), r
(rouge), g (vert), b (bleu)
P peut être : + (plus), * (étoile), o (cercle).
Donne un titre du graphe tracé
Affiche un texte sur l’axe des ‘X’
Affiche un texte sur l’axe des ‘Y’
Création d’un texte dans la zone ou on clique sur la
souris
Active ou désactive la grille d'une figure
Création d'une nouvelle figure de numéro (num).
Trace d’autres graphes sur une même figure sans
effacer les précédents, hold off annule cette
instruction superposition s).
ferme toutes les figures
Tableau 1.4 : programmation, (if - else) et de boucle (for, while), Instructions
d’interruption,
Z= input(' chaine de
aractère'')
disp(‘chaine de caractère')
pause
For j=1 : n … end
break
if condition 1 … elseif
cond2 … else … end
% texte
Donne une valeur à Z à partir du clavier
affiche chaine de caractère dans l'écran .
Bloque l'exécution d'un programme jusqu'à
un nouveau appuie du clavier
Exécute des instructions de la boucle avec
répétition de j = 1 jusqu' à j =n
Stop l'exécution d’une boucle de type for ou
while sans condition.
Exécuter les Instructions conditionnellement
selon la condition1 ou la condition2.
Utilisée pour les commentaires
le texte après « le % » est considéré comme
un commentaire ou une explication
18
Partie 1 : Prise en main avec Matlab Simulink
4. Environnement graphique du Simulink
1. Simulink est un sous logiciel du Matlab ou bien son co-équipier si le
mot peut être dit, qui présente un outil très fort pour la création des
simulations et systèmes en exploitant son environnement graphique
interactif
2. Simulink par ses différentes versions progressives avec Matlab, est
fondé sur l’utilisation de schémas-blocs et boites à outil dans différents
domaines,
3. L'appuie sur le bouton de lancement
de Simulink génère la
fenêtre de la figure 1.5 :
Elle contient aussi une barre de menu, une barre d'outils, un volet
concernant une recherche par mots clés.
La fenêtre Simulink est devisée en deux parties ; la première affiche la
bibliothèque du Simulink et la deuxième affiche les blocs de chaque élément
sélectionné
Volet de recherche
Liste des boites à
outil
Boite outil
sélectionnée
Figure1.5 : fenêtre principale du Simulink
19
Partie 1 : Prise en main avec Matlab Simulink
4.1 Différentes Bibliothèques de Simulink :
L'outil Simulink possède plusieurs blocs, pour notre cas nous utilisons la boite
Continuous, Discret, math opération, source, Sinks, le bloc port et Subsystems, ce
dernier contient les outils de connexions et les éléments de Mux et Demux .
Comme le montre la figure 1.6.
Sources Générateurs de signaux
Sinks : Outils d'affichage
Continuous
Math Operations
Figure1.6 : Bibliothèques les plus usagées en Simulink
20
Partie 1 : Prise en main avec Matlab Simulink
4.2
Construction d’un Schéma En Simulink
Les étapes pour création d'un modèle ou schéma de simulation sont données
comme suit :


créer un nouveau modèle : dans le
menu File, on choisit New 
Model.
Une nouvelle fenêtre « Untitled.mdl
» s'affiche.
Ouvrir les bibliothèques de blocs
voulus en cliquant sur leurs icônes
(selon l'application à simuler).
glisser dans la fenêtre de l'espace
travail les blocs dont nous avons
besoin pour la création de notre modèle.
les liaisons entre les blocs sont réalisées à l'aide de glissement de la
souris, (de la sortie vers l'entrée).
le changement des paramètres d'un bloc est accompli par un doubleclique,
Une fois que la construction des différents blocs de simulation est
terminée le fichier correspondant doit être enregistré par File  Save,
Save as
Le fichier sauvegardé possède l’extension .mdl.
4.3
Lancement de simulation






Après avoir construire et enregistrer un modèle il faudra lancer la
simulation par :
Simulation -Configuration Parameters (figure1.7)
Pour démarrer une simulation sous Simulink nous devons régler les paramètres
concernés comme le pas , le temps, la méthode de simulation, et en fin la tolérance.
21
Partie 1 : Prise en main avec Matlab Simulink
Méthode d'intégration : c'est le premier point
nécessaire pour avoir une convergence de la
structure du schéma de simulation. Il existe
plusieurs méthodes de simulations dont la première
est Rung-Kutta 4 (ancienne version de Simulink),
et dans les nouvelles versions on trouve ODE45,
ODE113…, etc. Comme l’indique la figure ci
contre. Le choix de la méthode dépend des
conditions de la convergence et de la complexité du système à simuler.
Type de pas de simulation :



Nous choisissons un pas fixe ou variable,
si le pas de simulation est variable, alors l'intervalle de pas [Min Max]
doit être configuré
Temps de début de simulation : Temps de fin de simulation :
l'intervalle temps de la simulation calculé en seconde
figure 1.7 : paramètres de lancement de la simulation
22
Partie 2 : TP Matlab/Simulink Proposés
Partie 2
TP
Matlab/Simulink
Proposés
23
Partie 2 : TP Matlab/Simulink Proposés
TPN°1 : Instructions Usuelles du Logiciel Matlab
But du TP :
Le but du TP est de se Familiariser avec les instructions de Matlab,
ainsi que la manipulation des nombres et opérations sur les matrices.
Exercice N°1 :
Commencer votre travail en effaçant les variables, en fermant les
fenêtres graphiques et en effaçant la fenêtre MATLAB.
4 5 6
Créer la matrice A=[7 8 3]
0 0 2
 Calculer le déterminant de A
 Calculer B  AT
 Calculer C= A -1
 Calculer D  A B
 Calculer E  3A
 Calculer la matrice F contenant les produits terme à terme des
coefficients de A et de B
 Créer la matrice identité de même dimension que A
 Créer une matrice G de dimension (15x10) ne contenant que des 1
 Sauvegarder A, B, C dans un fichier nommé « essai1.mat »
 Effacer toutes les variables, et vérifier qu’elles sont effacées
 Restaurer les matrices A, B, C
Exercice N°2 : Construction de Matrices.
1 2 3
Soit F2=[4 5 6]
0 9 1
24
Partie 2 : TP Matlab/Simulink Proposés
 Vérifier G = [F2, zeros(3, 3); ones(3), eye(3)].
 Quelle est la taille de G.
 Remplacer la dernière colonne de G par le vecteur [7, 8, 9, 10, 5 ,7]
puis extraire la matrice correspondant aux lignes 2 et 4, et aux colonnes 2
et 6.
 Comparer W = F2 *F2 ; M = F2.*F2; N = F2^3 ; T = F2.^3; I =
exp(F2) ; J = sqrt(F2).
TPN°2 : Instructions polynômes & Graphisme.
But du TP :
Maitriser les outils nécessaires pour le traitement des polynômes et les
graphismes sous Matlab
Exercice 1 : Calculs sur les polynômes.
 Consulter l’aide en ligne sur poly, Roots, Conv, Deconv, Polyder,
Polyval, Poly.
 Entrer les polynômes p = 10x5 − 2x2 + 10x et q = x2 + 4.
 Construire un polynôme S(x) possédant les racines (-1), (-5), (-6)
 Calculer les racines de p et q.
 Calculer p’
 Calculer le produit p*q
 Calculer le quotient et le reste de p par q.
 Calculer les valeurs de p en 0 et -1.
 Tracer la courbe d’équation y = p(x) sur [−10, 10].
Exercice 2 : Représentation Graphique.
Obtenir la représentation graphique de la fonction f1 définie par
f1(t)= sin(t)exp(-2t).
25
Partie 2 : TP Matlab/Simulink Proposés
 Créer un vecteur de type ligne t avec un pas de 0.01.
 En utilisant la commande « PLOT », tracer f1 dans une fenêtre
‘figure(1)’
 Annoter les axes en indiquant l’abscisse x en (temps) et l’ordonnée
y en (Volts).
 Donner un titre à cette courbe.
La courbe doit être de couleur rouge et marquée « étoile ».
 Dans une même fenêtre ; figure(2) ; tracer les courbes d’équations
f1(t)= sin(t)*exp(-2t) en bleu f2(t)= -sin(t)*exp(-2t) en vert, f3(t) =
exp(-2t) en rouge et f4(t) = -exp(-2t) en cyan sur L'intervalle t=
[−1, 1].
 En utilisant la commande « SUBPLOT » tracer f1 , f2 et f3 dans une
même (figure(3))
TPN°3 : Représentation des Systèmes Dynamiques Linéaires à
l’aide des équations différentielles
But du TP :
Dans ce TP, le but est de connaitre la résolution d'une équation
différentielle du premier ordre, représentant le modèle mathématique d'un
système asservis de type linéaire continu. Les exemples prisent sont le circuit
(R-C) et le circuit (R-L).
Travail de Préparation :
1) Donner les équations différentielles qui régissent les circuits
électriques R-C, R-L pour une alimentation d’entrée Ve=E
26
Partie 2 : TP Matlab/Simulink Proposés
2) Donner les réponses temporelles des circuits (a), (b), (c), (d)
définies comme suit :
a)
R1-C (entrée =E, la sortie Vs=S1=VC)
b)
R1-C (entrée =E, la sortie Vs=S2=VR1)
c)
R2-L (entrée =E, la sortie Vs=S3=VL)
d)
R2-L (entrée =E, la sortie Vs=S4=VR2)
Programmation du Travail de Préparation.(utiliser plot)
En se basant sur les réponses temporelles ou les solutions des équations
différentielles de premier ordre des circuits R-C et R-L :
1. Tracer sous Matlab la réponse Vc1(t) du circuit (R1-C) , pour
R1=1000kΩ, C=0.9µF.
2. Tracer sous Matlab la réponse VR1(t) du circuit (R1-C) , pour
R1=1000kΩ, C=0.9µF.
3.
Tracer sous Matlab la réponse VL(t) du circuit (R2-L) , pour
R2=100Ω, L=70H.
4. Tracer sous Matlab la réponse I L (t) du circuit (R2-L) , pour
R2=100Ω, L=70mH.
TPN°4 : Représentation des Systèmes Dynamiques Linéaires à
l’aide des Fonctions de Transfert
But du TP :
Maitriser la représentation des systèmes asservis de type linéaire
continus à partir de leurs modèles mathématiques, passage entre les
différentes représentations (fonction de transfert, modèle d’état, etc.…).
27
Partie 2 : TP Matlab/Simulink Proposés
Exercice N°1 : Introduction des Fonctions de Transfert Sous MATLAB
L’introduction de fonctions de transfert s’effectue sous plusieurs
formes polynomiales, forme ZPK (zéros, pôles, gain), forme d’état. Prenons
quelques types de systèmes asservis, deuxième et troisième ordre pour
s’entrainer sur la déclaration de ces systèmes.
𝒔+𝟓
𝒔 + 𝟏𝟎
𝒇𝟏 (𝒔) = 𝒔^𝟑 + 𝟖 𝒔^𝟐 + 𝟏𝟕 𝒔 + 𝟏𝟎 , 𝒇𝟐 (𝒔) = 𝟐 𝒔^𝟐 + 𝟑 𝒔 + 𝟏 ,
𝒇𝟑 (𝒔) = 4.25
(𝒔 − 𝟐)(𝒔 + 𝟏. 𝟐)
(𝒔 + 𝟎. 𝟑)( 𝒔 + 𝟏)(𝒔 + 𝟓)
1) Consulter l’aide en ligne sur les commandes Tf, ZPK, TF2SS, TF2ZP
2) Créer un fichier de commande tp3ex1.m pour les commandes MATLAB
de l’exercice N°1
3) Introduire 𝐟𝟏 (𝐬) et 𝐟𝟐 (𝐬) sous MATLAB
4) Donner les pôles de ces deux systèmes
5) Introduire le système 𝐟3 (𝐬) en utilisant la commande ZPK
6) Passer de la représentation fonction de transfert de 𝐟𝟏 (𝐬) et 𝐟𝟐 (𝐬) vers la
forme ZPK connue par la forme d’Evans 𝐇(𝐬) =
(𝐬−𝐙(𝟏))(𝐬−𝐙(𝟐))...(𝐬−𝐙(𝐧))
𝐊 (𝐬−𝐏(𝟏))(𝐬−𝐏(𝟐))...(𝐬−𝐏(𝐧))).
7) Passer de la représentation fonction de transfert de f1 (s) et f2 (s) vers la
forme d’état
Ẋ = AX + Bu, y = CX + Du.
8) Passer de la représentation ZPK de f3 (s) vers la forme Ẋ = AX + Bu, y
= CX + Du.
9) Enregistrer l’espace de travail de cet exercice dans tp3ex1.mat
28
Partie 2 : TP Matlab/Simulink Proposés
Exercice N°2 : Construction de Schémas Fonctionnels
Soit le schéma fonctionnel donné par la figure ci-dessous
1. Consulter l’aide en ligne sur les commandes Series, Parallel, feedback
2. Créer un fichier de commande tp3ex2.m pour les commandes
MATLAB de l’exercice N°2
3. Donner la fonction de transfert en boucle ouverte
4. Donner la fonction de transfert en boucle fermée (Y(s)/U(s))
5. Vérifier le résultat analytiquement.
6. Calculer les pôles de la fonction de transfert en boucle fermée
7. Passer de cette fonction de transfert aux différentes formes (ZPK, SS )
du système en BF
8. Enregistrer l’espace de travail de cet exercice dans tp3ex2.mat
TPN°5 : Génération Des Différents Signaux d'Entrées Pour Les
Systèmes Asservis à Base des Instructions Matlab
But du TP :
Savoir programmer un signal d'entrée sous Matlab comme le signal
carré, signal triangulaire, signal dent de scie en utilisant les outils de
programmation de Matlab (for, if-else,…etc), Zeros, ones. Cela permet à
l'étudiant de connaitre et de manipuler les étapes complètes pour générer un
signal Périodique,…etc.
29
Partie 2 : TP Matlab/Simulink Proposés
Travail demandé :
En utilisant des scripts Matlab, tracer sous MATLAB les fonctions ou
les réponses suivantes
1. Echelon Unitaire
2. Signal sinusoïdal périodique.
3. Signal carré périodique.
4. Signal périodique triangulaire.
5. Signal marche d’escalier.
6. Proposer d'autres signaux périodiques
7. Comparer les résultats de vos programmes avec les instructions
Matlab comme rectwin, triang
TPN°6 : Réponse d’Un Systèmes Linéaires Continu du Premier
Ordre
Buts du TP :
Le but souhaité de ce TP est l’étude générale des systèmes du premier
ordre excités par des entrées sous formes d’impulsions et des échelons afin
d’avoir des réponses impulsionelles et indicielles. Voir l'influence d'un pôle
dominant sur la réponse d'un système. L'exemple pris est toujours celui des
deux circuits électriques RC et RL.
30
Partie 2 : TP Matlab/Simulink Proposés
Exercice N°1
Soit les deux circuits électriques suivants :
I2
R1
VE
VR2
R2
I1
C
VC
VE
L
VL
V
E
1. Donner les équations différentielles qui régissent les deux circuits
électriques.
2. Donner les valeurs de R1, C, R2, L pour que l’équation différentielle
soit
0.5
dy(t)
dt
+ y(t) = 15u(t) avec u(t) est l’entrée et y(t) est la sortie.
3. Résoudre ces équations et donner Vc(t), VL(t), I2(t).
4. Pour t=[0 :1.5s] tracer sous Matlab ces équations en utilisant la
commande PLOT
Vc(s)
V (s)
E
E
5. Donner les fonctions de transferts h1 (s) = V (s) , h2 (s) = VL (s) ,
VR2 (s)
I2 (s)
E
E
h3 (s) = V (s) , h4 (s) = V (s)
6. Introduire ces fonctions de transfert sous Matlab
7. Théoriquement calculer le gain statique, la constante de temps de ces
systèmes.
Exercice N°2 :
Utiliser l’aide en ligne sur les commandes IMPULSE, STEP
1.
2.
3.
4.
Tracer la réponse impulsionelle de h1 (s), h2 (s), h3 (s), h4 (s).
Tracer la réponse indicielle de h1 (s), h2 (s), h3 (s), h4 (s).
Expliquer physiquement les réponses temporelles trouvées.
Comparer ces résultats avec la question N°5 de l’exercice N°1
31
Partie 2 : TP Matlab/Simulink Proposés
Exercice N°3 :
Utiliser l’aide en ligne sur les commandes LSIM.
1. Tracer la réponse suite à une rampe r(t)=2*t du système h1 (s)
2. Tracer la réponse suite à une entrée u(t)=sin(4*t+pi/4) du système
h1 (s)
3. Tracer et comparer les réponses indicielles des deux
systèmes h5 (s) =
10
100 s^2 + 526 s + 82
et h6 (s) =
10
s + 0.161
.
4. Donner les pôles de h5(s), h6(s), que remarquez-vous ?
TP N°7 : Analyse Fréquentielle d'un Système asservis du Premier
Ordre.
Buts du TP :
La maitrise de la réponse fréquentielle en se basant sur le diagramme de
Bode. Savoir lire le de diagramme de l'amplitude en Décibel, et déduire tirer
des valeurs du signal de sortie à partir de sa fréquence, son gain Gdb, sa phase
en degré.
Travail de préparation :
Donner la réponse temporelle du système de premier ordre
y ( p)
k
suite à une entrée Echelon, et à une entrée

u ( p) 1   p
sinusoïdale u(t)=Am sin(t+) [2].
H ( p) 
Travail Sous Matlab
Soit le système linéaire donné par :
0,5
dy
 y (t )  u (t )
dt
1. Tracer l'entrée sinusoïdale u(t)=2sin(4t+pi/4) pour t=[0: 4*pi]
32
Partie 2 : TP Matlab/Simulink Proposés
2. Dans le même graphe tracer la réponse du système ci-dessus pour
cette entrée sinusoïdale ; (utiliser la commande "hold on" pour
tracer les deux courbes).
3. En utilisant la commande BODE, tracer le diagramme de Bode de
ce système.
4. Tracer le lieu de Nyquist de ce système
5. Tracer l'abaque de Nichols de ce système
6. Tracer le lieu des racines en utilisant la commande "rlocus"
7. en utilisant le tracé de Bode déduire pour la pulsation =4rad/s le
gain en décibel et la phase de la sortie.
8. à partir des ces données est ce qu’on peut déduire la réponse y(t)
pour cette pulsation =4rad/s?
Commandes Utiles Plot, Lsim; Bode;hold on; Nyquist ;Nichols; rlocus…
TPN°8 : Systèmes Asservis du Second Ordre
Application au Circuit RLC
But du TP :
Maitriser la modélisation des systèmes asservis linéaires continus de
deuxième ordre, "étude du cas d'un circuit RLC", étudier la solution de leurs
équations différentielles et tracer leurs réponses temporelles.
Exercice 1
Nous considérons un système électrique RLC série, donné par la figure
ci-dessous 1
R
L
C
ue  t 
33
us  t 
Partie 2 : TP Matlab/Simulink Proposés

Ecrire les équations différentielles régissant la dynamique de ce
système du 2ième ordre

Déduire de ces équations la fonction de transfert en sa forme
canonique.

Donner la réponse temporelle de cette transformée inverse.
𝑇𝐿−1 [
n
(𝑃2 +2 
2
 n 𝑃+  n
2
]
Exercice 2 (programmation)
Pour des valeurs R-L-C données nous proposons un système H2(p)
donné par H 2 ( p) 
72
( p  6 p  36)
2
1.
Calculer  ,  n ,
2.
3.
Tracer la réponse indicielle de ce système.
Calculer graphiquement le dépassement D en %.
4.
Calculer analytiquement le dépassement D en %.
K et déduire le type du système.
TPN°9 : Systèmes Asservis du Second Ordre,
Système mécanique : Masse-ressort
But du TP :
Maitriser la modélisation des systèmes asservis linéaires continus du
deuxième ordre, "étude du cas d'un système
mécanique ", étudier la solution de leurs
k
f
équations différentielles, tracer leurs réponses
temporelles.
M
Exercice 1
Considérons le système mécanique illustré
z
par la figure ci-contre.
34
F
Partie 2 : TP Matlab/Simulink Proposés
Avec "M" est une masse, maintenue à un mur par un amortisseur de
coefficient de frottement visqueux "f" et un ressort d’amortissement de
raideur "k" tiré par une force "F" vers le bas.
Pour l’entrée U(t) = F(t), Force appliquée à la masse, la Sortie y(t) est
la position ou le déplacement de la masse appelée Z(t).
Avec n est la pulsation propre,  est l’amortissement
,
K est le gain statique du système.


Exprimer ces 3 paramètres en fonction des données du système cidessus..
Donner la fonction de transfert de ce système en le mettant sous la
forme canonique
n
2
[
]
2
2
(𝑃 + 2   n 𝑃 +  n

à quelles conditions le facteur d’amortissement  est-il inférieur à 1
Exercice 2 :

Répéter les questions de L'EXO 2 du TP N°8 pour H2(P) en donnant
des valeurs a "f, M, K" du système mécanique correspondants.
35
Partie 2 : TP Matlab/Simulink Proposés
TPN°10 : Comparaison entre les Systèmes Second Ordre
Système mécanique et électrique
But du TP :
Comparer les résultats physiques de deux systèmes de second ordre de
même fonction de transfert, tracé et comparaison des diagrammes de Bode,
de Nyquist et de Nichols, pour différentes valeur de facteur d'amortissement.
Systèmes Physiques à Etudier
Considérons deux système physiques ; circuit électrique RLC série
donné par la figure 1, système Mécanique Masse-Ressort (figure2):.
R
L
k
C
ue  t 
us  t 
f
M
F
z
Figure 1
Figure 2
EXERCICE 1
en choisissant à chaque fois des valeurs différentes de R, L, C , et en utilisant
les commandes Step, Hold on.
1. Tracer les réponses indicielles dans une même figure ( exp : appelez la
fig 9.1) du système RLC pour les coefficients d'amortissements suivant
: ξ =0.25, 0.5, 0.707, 1 ,1.5 et n de 5 rad /s
2. Pour le système mécanique refaire la même opération de que (1) en
traçant les résultats dans la figure (fig9.2)
3. Comparer les deux courbes des fig9,1 et fig9,2, conclure.
36
Partie 2 : TP Matlab/Simulink Proposés
4. expliquer physiquement les courbes du fig9.1 et fig9.2
EXERCICE 2
1. dans une même figure (fig 9.3), Tracer le diagramme de BODE du
circuit RLC
pour ξ =0.25, 0.5, 0.707, 1 et 2, que remarquez vous (utiliser Hold
on)?
2. calculer la marge de gain et la marge de phase un utilisant "Margin"
pour différent ξ.
3. Pour une valeur de ξ =0.707 tracer le lieu de racines (rlocus)
4. Tracer le diagramme de Nyquist,
5. Tracer les abaques de Nichols.
TP N°11 : Stabilité des Systèmes Asservis
But du TP :
Ce TP est très important, il permet à l’étudiant de reconnaître si les
systèmes sont stables ou pas. En se basant sur leurs réponses temporelles, et
leurs pôles, et de concevoir une boucle fermée.
TRAVAIL DE PREPARATION
On considère les 2 systèmes suivants :
H 1 ( p) 
p 1
p  2p  3
H 2 ( p) 
10 ;
2p  3
2
1. Calculer la fonction de transfert du système H1(p)xH2(p) en boucle
fermé avec retour unitaire.
2. Discuter la stabilité de ce système en calculant ces pôles.
3. Utiliser la table de Routh pour vérifier votre résultat.
37
Partie 2 : TP Matlab/Simulink Proposés
SIMULATION
1.
2.
3.
Vérifier la stabilité de H 1(p) et H2(p).
Calculer le système H1(p)xH2(p) en boucle fermé avec retour unitaire
via la commande "feedback".
Vérifier sa stabilité en utilisant la méthode de Routh [2] et la
commande Matlab.
4.
H2(p) est un système instable, essayé de le stabiliser en utilisant un
correcteur indiqué par le schéma ci-contre. (Utiliser SERIES,
FEEDBACK, ROOTS)
5.
Proposer le régulateur qui donne un système en boucle fermé avec un
gain =2 et une Constante du temps =0.5s
38
Partie 2 : TP Matlab/Simulink Proposés
TPN°12 : Manipulation du Simulink
But du TP :
Maitriser l’utilisation du Simulink en introduisant des systèmes asservis
linéaire continus de premier et deuxième ordre, afficher leurs différentes
réponses, connaitre les différents blocs de génération de signaux,…etc.
Simulation
1.
Réaliser les schémas de simulation des figures ci-dessus :
2. Tracer les résultats de ces quatre systèmes dans un même scope
3. de la même manière tracer les réponses d'un système du deuxième ordre
pour différentes valeurs de « ksi » et voir le résultat de simulation.
39
Partie 2 : TP Matlab/Simulink Proposés
40
Partie 3 : Solution des TP Proposés
Partie 3
Solution des TP
Proposés
41
Partie 3 : Solution des TP Proposés
Solution TPN°1 : Instructions Usuelles du Logiciel Matlab
%Université de Batna2, Faculté de Technologie, Département
D'électronique
%solution de TPN°1 manipulation des instructions usuelles de Matlab
%Destiné aux utilisateurs licence et Master
clear all
clc
A=[4 5 6; 7 8 3;0 0 2]
deta=det(A)
B=A'
C=inv(A)
D=A*B
E=3*A
F=A.*B
eye(size(A))
G=ones(15,10)
save essai1.mat
clear all
clc
who
load essai1.mat
F2=[1 2 3;4 5 6;0 9 1]
G = [F2, zeros(3, 3); ones(3), eye(3)]
size(G)
G(:,6)=[7; 8 ;9;10;5;7]
H=G([2 4],[2 6])
W = F2 *F2
M = F2.*F2
N = F2^3
T = F2.^3; I = exp(F2)
J = sqrt(F2)
42
Partie 3 : Solution des TP Proposés
Solution TPN°2 : Instructions polynômes & Graphisme.
Solution de l'Exercice 1 : polynômes.
%---------------------------------%Calculs sur les polynômes
%solution tp N°2
%proposé par Dr Aissi salim
%------------------------------------%------------------------------------P=[10 0 0 -2 10 0]
q=[1 0 4]
poly([-1 -5 -6])
roots(P)
roots(q)
polyder(P)
conv(P,q)
deconv(P,q)
polyval(P,[0 -1])
x=[-10:0.01:10];
y=10*x.^5 -2*x.^2 + 10*x;
plot(x,y)
title('TP2 polycopie 2015/2016')
grid
xlabel('Abscices')
ylabel('Ordonnées')
6
1
TP2 polycopie 2015/2016
x 10
Ordonnées
0.5
0
-0.5
-1
-1.5
-10
-8
-6
-4
-2
0
Abscices
43
2
4
6
8
10
Partie 3 : Solution des TP Proposés
Solution de l'Exercice 2 : Représentation Graphique.
%université de Batna2, faculté de technologie, département
d'électronique
%solution de TPN°2 manipulation des instructions de graphisme
%destiné aux utilisateurs licence et Master
clear all
clc
t=[0:0.01:4*pi];
f1= sin(10*t).*exp(-2.*t)
figure(1)
plot(t,f1)
xlabel('Temps')
ylabel('Volts')
title('réponse temporelle')
t=[-1:0.01:1];
f11= sin(10*t).*exp(-2.*t)
f12=-sin(10*t).*exp(-2.*t)
f13=exp(-2.*t)
f14=-exp(-2.*t)
figure(2)
plot(t,f11,'b')
hold on
plot(t,f12,'g')
plot(t,f13,'r')
plot(t,f14,'c')
hold off
figure(3)
subplot(3,1,1), plot(t,f11)
subplot(3,1,2), plot(t,f12)
subplot(3,1,3), plot(t,f13)
44
Partie 3 : Solution des TP Proposés
réponse temporelle
1
0.8
0.6
Volts
0.4
0.2
0
-0.2
-0.4
0
2
4
6
8
10
12
14
Temps
8
6
4
2
0
-2
-4
-6
-8
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
5
0
-5
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
5
0
-5
-1
10
5
0
-1
45
Partie 3 : Solution des TP Proposés
Solution TPN°3 : Représentation des Systèmes Dynamiques
Linéaires à l’aide des équations différentielles
Exercice N°1
1/ les équations différentielles des circuits R-C et R-L :
1.1 le circuit R-C :
E=UR+UC
E=R i(t)+UC
; i(t)= C d(UC/dt)
E= RC dUC/dt +UC
avec :  =RC
1.2 le circuit R-L :
E=Ri(t)+Ldi(t)/dt
E/R=L/R di(t)/dt+i(t) avec =L/R
2/ les réponses temporelle UC(t),IL(t) :
E=UR+UC→E=Ri+1/C ∫i(t)dt
UC(t)=E-UR=E(1-exp(-t/ ))
/Ur=Ri(t)=E .exp (-t/ )
Donc UC(t)=E(1-exp(-t/ ))
E=UR+UL→ E=Ri(t)+L di(t)/dt
La solution du courant i(t), est la somme des solutions permanente ip(t) et la
solution homogène ih(t), alors i(t)= ip(t)+ ih(t)
ih(t)=Aexp(-t/),
ip(t)=E/R
i(t)=E/R+Aexp(-t/)
alors :t=0→i(0)=0→A=-E/R
i(t)=E/R(1-exp(-t/))
46
Partie 3 : Solution des TP Proposés
3/ les valeurs Ic(t),UL(t) :
E=UR+UC→E=Ri+1/C∫ i(t)dt
La solution du courant i(t), est la somme des solutions permanentes ip (t) et la
solution homogène ih(t)
ih(t)=Aexp(-t/→les conditions initiales à t=0→i(0)=E/R
A=E/R
donc iC(t)= E/R exp(-t/)
IL(t)=E/R(1-exp(-t/))→UL(t)=L di(t)/dt → UL(t)=L d(E/R(1-exp(-t/))/dt
Ul(t)=E exp(-t/)
Exercice : 02
1/ Vc(t) en fonction du temps :
t=0:0.1:10
vc(t)en fonction de temps
10
r=1000*10^3
9
c=0.9*10^-6
8
e=10
7
z=r*c
plot(t,vC)
vc(t)
6
vC=e*(1-exp(-t/z))
5
4
grid
3
xlabel('temps')
2
ylabel('vc(t)')
1
title('vc(t)en
fonction de temps')
0
0
1
2
47
3
4
5
temps
6
7
8
9
10
Partie 3 : Solution des TP Proposés
2/ Ic(t) en fonction du
temps :
-5
1.2
Ic(t)en fonction de temps
x 10
t=0:0.1:10
1
r=1000*10^3
c=0.9*10^-6
0.8
Ic(t)
e=10
z=r*c
IC=e/r*exp(-t/z)
0.6
0.4
plot(t,IC,'k')
0.2
grid
xlabel('temps')
0
0
ylabel('Ic(t)')
title('Ic(t)en
temps')
fonction
1
2
3
4
5
temps
6
7
8
9
10
de
Vl(t)en fonction de temps
10
3/ Vl(t) en fonction du temps :
9
t=0:0.1:10
8
r=100
7
e=10
Vl(t)
l=70
6
5
y=l/r
4
Vl=e*exp(-t/y)
3
plot(t,Vl,'g')
2
grid
1
xlabel('temps')
0
0
1
ylabel('Vl(t)')
48
2
3
4
5
temps
6
7
8
9
10
Partie 3 : Solution des TP Proposés
title('Vl(t)en fonction de temps')
4/ Il(t) en fonction du
temps :
Il(t)en fonction de temps
0.1
t=0:0.1:10
0.09
r=100
0.08
e=10
0.07
l=70
0.06
Il(t)
y=l/r
0.05
Il=e/r*(1-exp(-t/y))
0.04
plot(t,Il,'m')
0.03
grid
0.02
xlabel('temps')
0.01
0
ylabel('Il(t)')
title('Il(t)en
temps')
fonction
0
1
2
3
4
5
temps
6
7
8
9
de
4/ tracer les réponses vc(t),Il(t),Ic(t),vl(t) sous MATLAB en utilisant SUBPLOT.
t=0:0.001:1
r1=100*10^3
r2=1000
c=0.3*10^-6
e=10
l=20
z=r1*c
y=l/r2
Vc=e*(1-exp(-t/z))
Ic=e/r*exp(-t/z)
49
10
Partie 3 : Solution des TP Proposés
Vl=e*exp(-t/y)
Il=e/r*(1-exp(-t/y))
subplot(4,1,1),plot(t,Vc,'r');
grid
xlabel('temps')
ylabel('vc(t)')
title('Vc(t),Ic(t),Vl(t),Il(t)en
fonction du temps')
subplot(4,1,2),plot(t,Ic,'k');
grid
xlabel('temps')
ylabel('Ic(t)')
subplot(4,1,3),plot(t,Vl,'b');
grid
xlabel('temps')
ylabel('Vl(t)')
subplot(4,1,4),plot(t,Il,'m');
grid
xlabel('temps')
ylabel('Il(t)')
50
Partie 3 : Solution des TP Proposés
5/ sous MATLAB introduire les fonctions de transfert S1/E et S2/E.
S2/E
S1/E
r=1000*10^3
r=100
c=0.9*10^-6
l=70
z=r*c
y=l/r
n1=[1]
n2=[y]
d1=[z,1]
d2=[1,y]
s1=Tf(n1,d1)
s2=Tf(n2,d2)
Transfer function:
Transfer function
1
---------------0.9 s + 1
0.2
--------------s+0.2
51
Partie 3 : Solution des TP Proposés
Solution TPN°4 : Représentation des Systèmes Dynamiques
Linéaires à l’aide des Fonctions de Transfert
Exercise N°1
help tf,
help zpk,
help tf2ss
help tf
num1=[1 5 ]
den1=[1 8 17 10]
num2=[1 10]
den2=[2 3 1]
f1=tf(num1,den1)
f2=tf(num2,den2)
roots(den1)
roots(den2)
Z=[2 -1.2]
P=[-0.3 -1 -5]
K=[4.25]
f3 = ZPK(Z,P,K)
[Z1,P1,K1] = TF2ZP(num1,den1)
[Z2,P2,K2] = TF2ZP(num2,den2)
[A1,B1,C1,D1] = TF2SS(num1,den1)
[A2,B2,C2,D2] = TF2SS(num2,den2)
[A3,B3,C3,D3] = zp2SS(Z,P,K)
save tp3ex1.mat
52
Partie 3 : Solution des TP Proposés
Le résultat obtenu après exécution est donnée comme suit :
num1 =
1
5
den1 =
1 8 17 10
num2 =
1 10
den2 =
2 3 1
Transfer function:
s+5
----------------------s^3 + 8 s^2 + 17 s + 10
Transfer function:
s + 10
--------------2 s^2 + 3 s + 1
ans =
-5.0000
-2.0000
-1.0000
ans =
-1.0000
-0.5000
Z=
2.0000 -1.2000
P=
-0.3000 -1.0000 -5.0000
K=
4.2500
Zero/pole/gain:
4.25 (s-2) (s+1.2)
------------------(s+0.3) (s+1) (s+5)
Z1 =
-5
P1 =
-5.0000
53
Partie 3 : Solution des TP Proposés
-2.0000
-1.0000
K1 =
1
Z2 =
-10
P2 =
-1.0000
-0.5000
K2 =
0.5000
A1 =
-8 -17 -10
1 0 0
0 1 0
B1 =
1
0
0
C1 =
0 1 5
D1 =
0
A2 =
-1.5000 -0.5000
1.0000
0
B2 =
1
0
C2 =
0.5000 5.0000
D2 =
0
A3 =
-0.3000
0
0
1.0000 -6.0000 -2.2361
0 2.2361
0
B3 =
1
0
54
Partie 3 : Solution des TP Proposés
0
C3 =
4.2500 -28.9000 -14.0649
D3 =
0
Exercice N°2 (TP N°4) :
Soit le schéma fonctionnel donné par la figure ci-dessous :
1/ Donner la FT en BF (y(s)/u(s)) :
n1=[1 1]
d1=[1 3 1]
f4=tf(n1,d1)
n2=[1]
d2=[5 1]
f5=tf(n2,d2)
n3=[1]
d3=[1 1]
f6=tf(n3,d3)
h=series(f5,f4)/(1+(f4*f5*f6))
55
Partie 3 : Solution des TP Proposés
Transfer function:
5 s^5 + 31 s^4 + 66 s^3 + 57 s^2 + 19 s + 2
-----------------------------------------------------------------------------------------25 s^7 + 185 s^6 + 496 s^5 + 602 s^4 + 362 s^3 + 112 s^2 + 17 s + 1
2/ Verifier le résultat analytiquement:
H(p)=y(p)/u(p)
Y(p)=f5(s)*f4(s)*e(t)
e(t)=u(p)-y’(p)
Y’(p)=f6(s)*y(p)
Y(p)=f5(s)*f4(s)*[u(p)-y’(p)]=f5(s)*f4(s)*[u(p)-f6(s)*y(p)]
y(p)=f5(s)*f4(s) / ‘(1+f5(s)*f4(s)*f6(s)) *u(p)
D'où
3/ passer de cette fonction de transfert à la forme ZPK du système en BF :
n1=[5 26 45 33 10 1]
d1=[25 185 496 607 383 136 26 2]
f3=tf(n1,d1)
[z,p,k]=tf2zp(n1,d1)
zpk(f3)
n1 =
5 26 45 33 10
1
d1 =
25 185 496 607 383 136 26
2
Transfer function:
5 s^5 + 26 s^4 + 45 s^3 + 33 s^2 + 10 s + 1
------------------------------------------------------------------25 s^7 + 185 s^6 + 496 s^5 + 607 s^4 + 383 s^3 + 136 s^2 + 26 s + 2
56
Partie 3 : Solution des TP Proposés
z=
-2.6180
-1.0000
-1.0000
-0.3820
-0.2000
p=
-2.6539
-2.6180
-1.0000
-0.2730 + 0.2760i
-0.2730 - 0.2760i
-0.3820
-0.2000
k=
0.2000
Zero/pole/gain:
0.2 (s+2.618) (s+1)^2 (s+0.382) (s+0.2)
-------------------------------------------------------------------(s+2.654) (s+2.618) (s+1) (s+0.382) (s+0.2) (s^2 + 0.5461s + 0.1507)
57
Partie 3 : Solution des TP Proposés
Solution TPN°5 : Génération Des Différents Signaux d'Entrées
Pour Les Systèmes Asservis à Base des Instructions Matlab
Exercice : 01
Tracer sous MATLAB les réponses d’un échelon unitaire, signal sinusoïdal,
signal carré, signal triangulaire, signal marche d’escalier.
A/ Echelon unitaire :
échelon unitaire
2
t=0:0.002:10
1.8
1.6
ech=ones(1,length(t))
grid
1.2
échelon
plot(t,ech,'r')
1.4
1
0.8
xlabel('temps')
ylabel(' échelon ')
0.6
0.4
0.2
title('échelon unitaire')
0
0
1
2
3
4
5
temps
6
7
8
9
10
B/ Signal sinusoïdal :
signal sinusoidale
1
t=0:0.002:10
0.8
r=sin(t)
0.6
grid
xlabel('temps')
ylabel(' sinusoidal ')
title('signal sinusoidal')
sinusoidale
0.4
plot(t,r,'g')
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
58
2
3
4
5
temps
6
7
8
9
10
Partie 3 : Solution des TP Proposés
C/ signal quarré
t=0:0.01:2
clear all
close all
TP N° 5 : signal carré de 10 période avec T=4
T=4;
1
N=10;
0.9
t=0:0.001:T;
0.8
t1=[0:0.001:T/2]+(i*T)
y1=ones(1,length(t1));
plot(t1,y1)
signal carré d'entrée
0.7
for i=0:N-1
0.6
0.5
0.4
0.3
0.2
hold on
t4=[0:0.001:0.01]+(i*T);
0.1
0
0
5
y4=[0:0.1:1]
plot(t4,y4,'r')
hold on
t2=[T/2:0.001:T]+(i*T)
y2=zeros(1,length(t2));
plot(t2,y2)
t3=[T/2:0.001:(T/2)+0.01]+(i*T);
y3=[0:0.1:1]
plot(t3,y3,'r')
end
grid
xlabel('temps')
ylabel('signal carré d''entrée')
title('TP N° 5 : signal carré de 10
période avec T=4')
59
10
15
20
temps
25
30
35
40
Partie 3 : Solution des TP Proposés
D/ signal marche d’escalier :
t=0:0.01:2
y=ones(1,length(t))
hold on
plot(t,y)
grid
t1=t+2
signal marche d'éscalier
6
y1=ones(3,length(t))*2
5.5
hold on
5
plot(t1,y1,'r')
4.5
t2=t1+2
y2=ones(1,length(t2))*4
hold on
marche d'éscalier
grid
4
3.5
3
plot(t2,y2,'g')
2.5
grid
2
t3=t2+2
y3=ones(1,length(t3))*6
hold on
1.5
1
0
1
plot(t3,y3,'v')
grid
t11=2:0.001:2.01
y11=(1:0.1:2)
plot(t11,y11)
grid
t12=4:0.001:4.01
y12=(1:0.1:2)*2
plot(t12,y12)
60
2
3
4
temps
5
6
7
8
Partie 3 : Solution des TP Proposés
grid
t13=6:0.001:6.01
y13=(1:0.1:2)*2+2
plot(t13,y13)
grid
xlabel('temps')
ylabel(' marche d''éscalier ')
title('signal marche d''éscalier')
E/ signal triangulaire :
clear all
close all
T=4;
N=5;
t=0:0.001:T;
TP N° 5 : signal triangulaire de 6 période avec T=4
2
1.8
plot(t1,y1)
hold on
hold on
t2=[T/2:0.001:T]+(i*T)
y2=-t2+((i+1)*T);
plot(t2,y2)
end
grid
xlabel('temps')
ylabel('signal d''entrée périodique
')
title('TP N° 5 : signal triangulaire
de 5 période avec T=4')
1.6
signal d'entrée périodique
for i=0:N-1
t1=[0:0.001:T/2]+(i*T)
y1=t1-(i*T);
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0
61
2
4
6
8
10
temps
12
14
16
18
20
Partie 3 : Solution des TP Proposés
F/ Signal Rampe
signal rampe
2
1.8
t=0:0.01:2
1.6
1.4
y=t
référence
1.2
plot(t,y,'g')
1
0.8
grid
0.6
xlabel(' temps ')
0.4
0.2
ylabel(' référence ')
0
0
0.2
0.4
0.6
title('signal rampe')
0.8
1
temps
1.2
1.4
1.6
1.8
2
Solution TPN°6 : Réponse d’Un Systèmes Linéaires du
Premier Ordre
Exercice N°1 : (impulse ; step ; lsim) ;
Soit le système linéaire caractériser par l’équation temporelle suivante :
0.5 dy/dt+y(t)=15 u(t)
1/les équations différentielles de R-C et R-L
Pour le circuit R-C : R.C [dVc(t)/dt]+[Vc(t)]=Ve
Pour le circuit R-L : L/R*[dI(t)/dt]+[I(t)]=[VE/R2]
2/ les valeurs de R1*C1=0.5 , pour le circuit L2/R2=0.5
3/ résolution des équations différentielle
Vc(t)=E/R1[1-exp(-t/ )]   =R1*C1
Il=Ve/R*[1-exp(-t/( L2/R2)]
Vl=L2(dIL2)=E(exp(-t/2) 2=L2/R2
62
Partie 3 : Solution des TP Proposés
4/ l’expression des FT du système h1(p), h2(p), h3(p), h4(p):
𝑉𝑐
15
H1(p)=𝑉𝑒 = 1+0.5𝑃
Ic(t)=Cd[vc(t)]/dt=C(p H1(p))
𝐼𝑐(𝑝)
15𝑃τ1
IL
15
H2(p)= 𝑈𝑒 = 1+0.5𝑃
H3(p)=𝑈𝑒 = 1+0.5𝑃
Il(t)=Ld[Il(t)]/dt=L(p H3(p))
𝑉𝑙
15τ2
H4(p)=𝑈𝑒 = 1+0.5𝑃
5/Introduction des FT sous matlab
n1=[15]
d1=[0.5 1]
h1=tf(n1,d1)
n2=[7.5 0]
d2=[0.5 1]
h2=tf(n2,d2)
n3=[15]
d3=[0.5 1]
h3=tf(n3,d3)
n4=[7.5 0]
d4=[0.5 1]
h4=tf(n4,d4)
6/ le système h1 et h3 se sont des systèmes de 1er ordre
Le gain statique :
k=15
La constante de temps: =0.5
63
Partie 3 : Solution des TP Proposés
Exercice N°2 : (impulse ; step ; lsim) ;
1/Tracer la réponse impulsionelle :
u(t)
H(p)
y(t)
Réponse temporelle
y(t)=L-1 h(p) = L-1(k/ ζ (p+1))= k/  *exp(-t/ )
= L-1(15/0.5(p+1/ 0.5))= 15/ 0.5*exp(-t/ 0.5)
y(t) = 30*exp(-2*t); on peut utilisé la commande step
Impulse Response
30
25
n1=[15]
h1=tf(n1,d1)
Amplitude
20
d1=[0.5 1]
15
10
impulse(sd1)
5
0
0
0.5
1
1.5
2
2.5
3
3.5
Time (sec)
Impulse Response
30
25
20
D2=[0.5 1]
H2=tf(N2,D2)
Amplitude
N2=[15]
15
10
impulse(H2), grid
5
0
0
0.5
1
1.5
Time (sec)
64
2
2.5
3
Partie 3 : Solution des TP Proposés
2/ tracer la réponse indicielle (entrée échelon) :
U(t)
AK
A
𝐾
1 + 𝜏𝑃
t
Step Response
30
k=15
25
d1=[0.5 1]
h=tf(k,d1)
%pour entrée échelon
a=2
Amplitude
20
15
10
5
step(h*a), grid
0
0
0.5
1
1.5
Time (sec)
La constante du temps :  =0.5
Le gain statique : k=15
Y(t)= h(p)*u(t) =k/(1+  p) * A/p
= AK *1/P(1+  p)
=30 *1/p(1+0.5p)=C1/P+C2/1+0.5P
C1=1
C2=-0.5
Y(t)=AK(1-exp(-t/ ))
Y(t)=2*15(1/p-0.5/0.5(p+1/0.5))
Y(t)= 30*(1-exp(-2*t))
65
2
2.5
3
Partie 3 : Solution des TP Proposés
Exercice N°3 : ( lsim) ;
1/ tracer la réponse suite a une entrée sinusoïdale u(t)= 2*sin(4*t+pi/4) :
Linear Simulation Results
20
15
clf
u = 2*sin(4*t+pi/4)
Amplitude
t = 0:0.01:4;
10
5
0
-5
lsim(h,u,t),grid
-10
-15
0
0.5
1
1.5
2
2.5
3
3.5
4
Time (sec)
2/ la réponse indicielle de h2(p)=10/(100p2+526p+82)
; h3(p)=10/p+0.161
h2(p)=10/(100p2+526p+82)
Step Response
0.14
0.12
0.1
d2=[100 526 82]
Amplitude
n2=10
0.08
0.06
h2=tf(n2,d2)
0.04
step(h2),grid
0.02
0
0
5
10
15
20
Time (sec)
66
25
30
35
40
Partie 3 : Solution des TP Proposés
h3(p)=10/p+0.161 :
Step Response
70
60
n3=10
h3=tf(n3,d3)
Amplitude
50
d3=[1 0.161]
40
30
20
step(h3),grid
10
0
0
5
10
15
20
25
30
35
40
Time (sec)
Dans ces deux réponses nous remarquons que leurs aspects et valeurs finales,
sont presque identiques (malgré h2 est de deuxième ordre et h3 est de premier ordre),
cela est traduit par : la présence d'un pôle dominant (p1= -0.1608) dans le système de
deuxième ordre qui va éliminer l’effet du deuxième pôle p2= -5.0992
pole(h2)
ans =
-5.0992
-0.1608
>> pole(h3)
ans =
-0.1610
67
Partie 3 : Solution des TP Proposés
TP N°7 : Analyse Fréquentielle du Système Premier Ordre.
1/Tracer l’entrée sinusoïdale u(t)=2sin(4t+pi/4)pourt=[0 :4*pi] :
2
1.5
1
t=0:0.01:4*pi;
0.5
u=2*sin(4*t+pi/4);
-0.5
0
-1
plot(t,u)
-1.5
-2
0
2
4
6
8
10
12
14
2/tracer la réponse du système en utilisant la commande Hold :
hold on
n=[1];
Linear Simulation Results
2
d=[0.5 1];
1.5
h=tf(n,d)
1
--------0.5 s + 1
1
0.5
Amplitude
Transfer
function :
0
-0.5
-1
-1.5
-2
0
2
4
6
8
Time (sec)
lsim(h)
lsim(h,u,t)
grid
68
10
12
14
Partie 3 : Solution des TP Proposés
3/diagramme de Bode
Bode(h)
grid
Bode Diagram
0
-5
Magnitude (dB)
-10
-15
-20
-25
-30
Phase (deg)
-35
0
-45
-90
-1
0
10
1
10
2
10
10
Frequency (rad/sec)
4/tracer le lieu de Nyquist :
nyquist(h)
grid
Nyquist Diagram
0.5
0.4
0.3
0.2
Imaginary Axis
0.1
0
-0.1
-0.2
-0.3
-0.4
-0.5
-1
-0.8
-0.6
-0.4
-0.2
0
Real Axis
69
0.2
0.4
0.6
0.8
1
Partie 3 : Solution des TP Proposés
5/tracer l’abaque de Nichols :
nichols(h)
grid
Nichols Chart
40
0 dB
30
0.25 dB
0.5 dB
20
1 dB
Open-Loop Gain (dB)
-1 dB
3 dB
10
-3 dB
6 dB
0
-6 dB
-10
-12 dB
-20 dB
-20
-30
-40 dB
-40
-360
-315
-270
-225
-180
-135
-90
-45
0
Open-Loop Phase (deg)
6/tracer le lieu de racine en utilisant la commande ‘rlocus’ :
rlocus(h)
grid
Root Locus
0.4
0.999
0.997
0.995
0.988
0.97
0.88
0.3
1
0.2
Imaginary Axis
0.1
8
0
-0.1
1
1
7
6
-7
-6
5
4
3
2
1
1
-0.2
1
-0.3
0.999
-0.4
-8
0.997
-5
0.995
0.988
-4
-3
Real Axis
70
0.97
-2
0.88
-1
0
1
Partie 3 : Solution des TP Proposés
7/déduire le gain et la
Bode Diagram
0
System: h
Frequency (rad/sec): 3.98
Magnitude (dB): -6.96
phase:
-5
Pour w=4 rad/s
Magnitude (dB)
-10
-15
-20
-25
Magnitude= -7 dB
-30
Phase= -63 degrés
Phase (deg)
-35
0
-45
System: h
Frequency (rad/sec): 3.94
Phase (deg): -63
-90
-1
10
0
1
10
10
Frequency (rad/sec)
8/déduire la réponse pour w=4rad/s:
-7dB=20 logl0(y/hl)
-7/20= logl0(y/hl)
10^(-7/20)=y/2
Y=2*10^(-0.35)
= 0.8934
71
2
10
Partie 3 : Solution des TP Proposés
Solution TPN°8 : Circuit RLC
Exercice 1
Un système fondamentale du second d’ordre est régit ou défini par l’équation
différentielle suivante
𝑦̈ + 20 𝑦̇ + 20 𝑦 = 𝑘20 𝑢
La fonction de transfert du système second d’ordre est obtenue à partir de
l’équation différentielle en appliquant la transformée de Laplace
H(p)=
𝑌(𝑝)
𝑈(𝑝)
=
𝑘 2
0
𝑃+20 𝑃+2
0
R
L
Avec
 : est le facteur d’amortissement
0 ∶ 𝑙𝑎 𝑝𝑢𝑙𝑠𝑎𝑡𝑖𝑜𝑛 𝑝𝑟𝑜𝑝𝑟𝑒
ue  t 
C
us  t 
K : le gain statique
U : l’entrée
Y : la sortie
Pour un circuit RLC après l’application de loi de Kirchhoff nous obtenons l’équation
différentielle suivante :
𝑅
1
1
𝑈𝑆̈ + 𝐿 𝑈̇𝑆 + 𝐿𝐶 𝑈𝑠 = 𝐿𝐶 𝑈𝑒


  1  1  n t  sin  1   2  t  
TL
n
e
2
2
 p  p  2  p   
1  2
n
n 


1 

n2


  arccos   Avec Us la tension de sortie et Ue la tension d’entrée
72

Partie 3 : Solution des TP Proposés
Après transformation de Laplace La fonction de transfert est donnée comme
suit
𝑈𝑆
H(p)=𝑈𝑒 =
𝑃 2+
𝑅
𝐿
1
𝐿𝐶
𝑃+
1
𝐿𝐶
Par comparaison de 8.2 et 7.3 on trouve =1/sqrt(LC)
 = (𝑅/2)*(sqrt(C/L))
k=1
la condition sur les paramètres RLC pour que le facteur d’amortissement <1
est (R*sqrt(LC))<2*L
Exercice 02
Pour un circuit RLC qui a une FT donnée par H 2 ( p ) 
72
( p  6 p  36)
2
sa réponse indicielle est donnée par :
réponse à un echelon d'un circuit RLC TP8
2.5
System: sys1
Time (seconds): 1.63
Amplitude: 2
2
Amplitude
1.5
1
0.5
0
0
0.2
0.4
0.6
0.8
1
Time (seconds)
73
1.2
1.4
1.6
1.8
Partie 3 : Solution des TP Proposés
Graphiquement le dépassement est calculé à partir de la réponse indicielle, il
est donné par
𝑦
𝐷% = 100 ∗ 𝑚𝑎𝑥
−𝑦(∞)
𝑦(∞)−𝑦(0)
Graphiquement le dépassement D% est presque 16.5%
Analytiquement 𝐷% = 100 ∗ exp(
−
√1−2
)=16.303%
Les valeurs trouvées graphiquement et théoriquement sont presque les mêmes.
num1=72
den1=[1 6 36]
sys1=tf(num1,den1)
step(sys1)
%calcul du coefficient d'amortissement Z et de la pulsation naturelle
Wn
[wn,z]=damp(sys1)
%%le dépassement analytiquement
D=100*exp((-z(1)*pi)/sqrt(1-z(1).^2))
Solution TPN°9 : Système Masse-Ressort.
Exercice 01
Pour un système mécanique masse ressort figée a un mur son équation
différentielle est donné comme suit
𝑓
𝑘
𝑘
𝑧̈ + 𝑀 𝑧̇ + 𝑀 𝑧 = 𝑀 𝐹
k
Avec Z le déplacement de la masse, M la valeur
f
M
de la masse, f est le coefficient de frottement
F
visqueux et K la raideur du ressort,
z
La fonction de transfert est donnée comme suit
74
(9.1)
Partie 3 : Solution des TP Proposés
𝑈𝑆
H(p)=𝑈𝑒 =
𝐾/𝑀
𝑃 2+
𝑓
𝑀
𝑃+
𝐾
𝑀
.
Par comparaison de 9.2 et 8.2 on trouve

n=sqrt(K/M)

 = 𝑓/(2*(sqrt(M*K)))

k=1
la condition sur les paramètres K, M, f pour que le facteur d’amortissement <1 est
f<(2*sqrt(M*K)) ou M>(f2/(2*k))
Exercice 2 :
Pour
H 2 ( p) 
un
système
Masse-ressort
qui
a
une
FT
donnée
par
72
( p  6 p  36)
2
En comparant avec 9.1
le gain statique k=2;
K/M=36 alors k=36M, f/M=2 =2*.5*6=6 alors f=6M
Finalement pour M=10 Kg, on aura
f=60 K=360 (ces valeurs sont fictifs)
Le programme du système mécanique est de la même façon que celui du circuit RLC.
75
Partie 3 : Solution des TP Proposés
Solution des TPN°10 Systèmes Second Ordre
Comparaison Système RLC mécanique
Exercice N°1
Tracé de la réponse indicielle pour
différentes valeur
de 𝑘𝑠𝑖 =
0.25,0.5, 0.707, 1 𝑒𝑡 2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%
%%%tracé des réponses d'un système mécanique pour différentes valeurs de ksi
%%%Tp réalisé par la promotion licence contrôle 2013/2014
%%% dans Le circuit RLC, les valeurs de R, L et C sont proposées
%%% de manière à avoir des "ksi=R/(2*sqrt(C/L))= 0.25,0.5, 0.707, 1, 2
clear all
clc
r=2
l=0.05e-3
c=3.125e-6
ksi1=r/(2*sqrt(c/l))
num=1/(l*c)
den=[ 1 r/l 1/(l*c)]
h=tf(num,den)
%%%%%%%%%%%%%%%%%%%%%%%
r1=4
l1=0.05e-3
c1=3.125e-6
ksi2=r1/(2*sqrt(c1/l1))
num1=1/(l*c)
den1=[ 1 r1/l 1/(l*c)]
76
Partie 3 : Solution des TP Proposés
h1=tf(num1,den1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
r2=5.656
l2=0.05e-3
c2=3.125e-6
ksi3=r2/(2*sqrt(c2/l2))
num2=1/(l*c)
den2=[ 1 r2/l 1/(l*c)]
h2=tf(num2,den2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%
r3=8
l3=0.05e-3
c3=3.125e-6
ksi4=r3/(2*sqrt(c3/l3))
num3=1/(l*c)
den3=[ 1 r3/l 1/(l*c)]
h3=tf(num3,den3)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
r4=16
l4=0.05e-3
c4=3.125e-6
ksi5=r4/(2*sqrt(c4/l4))
num4=1/(l*c)
den4=[ 1 r4/l 1/(l*c)]
h4=tf(num4,den4)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
77
Partie 3 : Solution des TP Proposés
clear figure
figure(1)
title ('Réponse indicielle : système électrique')
step(h,'b')
hold on
step(h1, 'r')
step(h2, 'g')
step(h3, 'c')
step(h4, 'r*')
grid
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
%%%tracé des diagrammes de Bode pour différentes valeurs de ksi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
figure(2)
grid
title ('diagramme de bode : système électrique')
bode(h)
hold on
bode(h1,'r')
bode(h2,'g')
bode(h3,'o')
bode(h4,'m')
figure(3)
grid
title('les valeurs de KSI : système électrique ')
plot([ksi1 ksi2 ksi3 ksi4 ksi5],'r')
78
Partie 3 : Solution des TP Proposés
Réponse indicielle : système électrique
1.5
System: h2
Time (sec): 5.19e-005
Amplitude: 1.04
Amplitude
1
0.5
0
0
1
2
3
4
-4
Time (sec)
x 10
diagramme de bode : système électrique
20
Magnitude (dB)
0
System: h
Frequency (rad/sec): 7.61e+004
Magnitude (dB): 6.23
-20
-40
-60
-80
-100
0
Phase (deg)
-45
-90
-135
-180
3
10
4
10
5
10
Frequency (rad/sec)
79
6
10
7
10
Partie 3 : Solution des TP Proposés
les différentes valeurs de KSI : système électrique
35
30
25
20
15
10
5
0
1
1.5
2
2.5
3
3.5
4
4.5
5
Tracé de la réponse indicielle du système mécanique pour différentes valeurs de
 = 𝟎. 𝟐𝟓, 𝟎. 𝟓, 𝟎. 𝟕𝟎𝟕, 𝟏 𝒆𝒕 𝟐
Partant par le même principe du circuit électrique étudié précédemment, nous
avons fixé la masse et la raideur mais on a changé le coefficient de frottement f pour
avoir des réponses similaire au circuit RLC.
Les résultats obtenus avec des coefficients visqueux fictifs (les valeurs
proposées sont pas pratiques et se sont de type benchmark)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%
%%%tracer des réponses d'un système mécanique pour différentes
valeurs de ksi
%%%Tp réalisé par la promotion licence contrôle 2013/2014
%%% La masse et le coefficient de frottement et la raideur sont
proposés
%%% d'une manière à avoir des "ksi=f/(2*sqrt(k*m))" 0.25,0.5, 0.707,
1, 2
clear all
80
Partie 3 : Solution des TP Proposés
clc
f=2
m=0.05e-3
k=320000
ksi1=f/(2*sqrt(k*m))
num=k/m
den=[ 1 f/m k/m]
h=tf(num,den)
%%%%%%%%%%%%%%%%%%%%%%%
f1=4
m1=0.05e-3
k1=320000
ksi2=f1/(2*sqrt(k1*m1))
num1=k/m
den1=[ 1 f1/m1 k1/m1]
h1=tf(num1,den1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f2=5.656
m2=0.05e-3
k2=320000
ksi3=f2/(2*sqrt(k2*m2))
num2=k2/m2
den2=[ 1 f2/m2 k2/m2]
h2=tf(num2,den2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%
f3=8
m3=0.05e-3
81
Partie 3 : Solution des TP Proposés
k3=320000
ksi4=f3/(2*sqrt(k3*m3))
num3=k3/m3
den3=[ 1 f3/m3 k3/m3]
h3=tf(num3,den3)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f4=16
m4=0.05e-3
k4=320000
ksi5=f4/(2*sqrt(k4*m4))
num4=k4/m4
den4=[ 1 f4/m4 k4/m4]
h4=tf(num4,den4)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear figure
figure(1)
step(h,'b')
title('réponse indicielle: système mécanique Masse ressort')
hold on
step(h1, 'r')
step(h2, 'g')
step(h3, 'c')
step(h4, 'r*')
grid
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
%%%tracé des diagrammes de bode pour différentes valeurs de ksi
82
Partie 3 : Solution des TP Proposés
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
figure(2)
title ('diagramme de Bode : système mécanique')
bode(h)
hold on
bode(h1,'r')
bode(h2,'g')
bode(h3,'o')
bode(h4,'m')
grid
figure(3)
grid
title('les valeurs de KSI')
plot([ksi1 ksi2 ksi3 ksi4 ksi5],'r')
réponse indicielle: système mécanique Masse ressort
1.5
Amplitude
1
0.5
0
0
1
2
Time (sec)
83
3
4
-4
x 10
Partie 3 : Solution des TP Proposés
diagramme de bode : système mécanique
20
Magnitude (dB)
0
-20
-40
-60
-80
-100
0
Phase (deg)
-45
-90
-135
-180
3
10
4
5
10
10
6
10
7
10
Frequency (rad/sec)
On remarque que les valeurs de ξ influent beaucoup sur la réponse
temporelle indicielles. A chaque fois que la valeur de ξ baisse le dépassement
augmente
Prenant l’exemple de ξ =0.25 le dépassement est égale a 43%
Pour l’exemple de ξ =0.5 le dépassement est égale a 12.33%
Systèmes Electrique
figure(4)
grid
title ('diagramme de nichols : système électrique')
nichols(h)
hold on
nichols(h1,'r')
nichols(h2,'g')
nichols(h3,'o')
84
Partie 3 : Solution des TP Proposés
nichols(h4,'m')
figure(5)
grid
title ('diagramme de nyquist : système électrique')
nyquist(h)
hold on
nyquist(h1,'r')
nyquist(h2,'g')
nyquist(h3,'o')
nyquist(h4,'m')
Nichols Chart
20
Open-Loop Gain (dB)
0
-20
-40
-60
-80
-100
-180
-135
-90
-45
Open-Loop Phase (deg)
85
0
45
Partie 3 : Solution des TP Proposés
Nyquist Diagram
2.5
2
1.5
Imaginary Axis
1
0.5
0
-0.5
-1
-1.5
-2
-2.5
-1
-0.5
0
0.5
1
1.5
Real Axis
On remarque que les réponses des systèmes mécanique et électrique sont
identiques mais leurs sens physique sont différents. Ceci est expliqué par la maniére
suivante :
Deux systèmes qui possèdants les mêmes pôles ont les mêmes dynamiques,
mais leurs amplitudes ne reflètent pas les mêmes dimensions.
En conclusion l'interprétation physique des réponses sont distinctes : pour le
système mécanique la réponse temporelle est une distance z(t), par contre pour le
système électrique, la réponse temporelle est la tension du condensateur Vc(t).
86
Partie 3 : Solution des TP Proposés
SOLUTION TP N°11 : STABILITE DES SYSTEMES
ASSERVIS
Le programme proposé est donnée par :
%%%%%% TP N°11 stabilité des systèmes linéaires
close all
clc
clear all
num1=[1 1]
den1=[1 2 3]
num2=[10]
den2=[2 -3]
sys1=tf(num1,den1)
sys2=tf(num2,den2)
step(sys1)
step(sys2)
%%%%% retour unitaire des systèmes sys1 et sys2
sys3=feedback(sys1*sys2,1)
%%%%%% retour de sys2 sur la chaine de retour
sys4=feedback(sys1,sys2)
%%%%% la réponse indicielle et l'instruction pole montrent la stabilité des
%%%%%% systèmes
step(sys3)
step(sys4)
pole(sys3)
pole(sys4)
87
Partie 3 : Solution des TP Proposés
%%%%%%%%%%un retour unitaire sur sys2 stabilise le système
sys5=feedback(sys2,1)
step(sys5)
grid
title('TP11 : retour unitaire du système2')
TP11 : retour unitaire du système2
1.5
Amplitude
1
0.5
0
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Time (seconds)
1. L’instruction « pole » donne des pôles à partie réelles négatives, donc le
système est stable
2. La réponse indicielle si elle tend vers une valeur finie prouve aussi la
stabilité globale du système en boucle fermé.
3. La table de Routh [2] c’est une méthode analytique pour vérification de la
stabilité, nous effectuons la table puis nous nous vérifions la première
colonne, si elle change de signe, alors le système n’est pas stable, sinon il est
stable.
88
Partie 3 : Solution des TP Proposés
Solution TPN°12 : manipulation du Simulink
les structures proposées dans cette simulation utilisent les blocs source, sinks,
continous donnée par la figure suivante
les fonctions de transfert sont créées à partir du bloc continous
Les signaux sont générés par sources
89
Partie 3 : Solution des TP Proposés
L'affichage est donné par le bloc sinks

IL faut noter que le bloc Scope doit être configurer d'une manière précise
pour que le graphe de simulation donne des résultats clairs. Pour le cas
simple, on doit donner le nombre de graphe à afficher, (Number of axes=4).

Une autre chose importante c'est que le graphe simulé peut être
enregitrer dans l'espace de travail Matlab avec un nom d'une variable
si on coche la case "save data to workspace".

"Limit data points to last" ce sont les derniers points à afficher après
chaque simulation. Le nombre de points dans cette case doit être
suffisament grand, pour que le graphe de la simulation soit complet et
claire.
90
Partie 3 : Solution des TP Proposés
Les résultats de simulation des quatres structure demandés dans le TP sont
données par la figure suivante :
91
Partie 3 : Solution des TP Proposés
On rappelle que pour pouvoir simuler cette structure on doit régler les
paramètres de simulation :
1.
L'horizon de simulation ou le temps de simulation
2.
Le pas de simulation qui sera soit variable ou fixe
3.
La tolerence
4.
La méthode de l'intégration
92
Conclusion générale
Conclusion Générale
Dans ce document nous avons présenté l'essentiel du logiciel
Matlab et son logiciel associé Simulink avec une proposition d'un
ensemble de TP Matlab destinés aux enseignants ainsi que les étudiants
en licence et master nécessitant une connaissance sur des systèmes
asservis linéaires continus.
Dans les prochaines éditions de ce livre nous allons enrichir son
contenu, en ajoutant d’autre type et genre d’exercices qui seront
bénéfiques et utiles pour d'autres disciplines, en proposant à chaque
fois d'autres TP avec leurs solutions.
Vos remarques et questions seront les bienvenues. Contactez
nous sur l'e-mail suivant :
[email protected]
93
Conclusion générale
94
Bibliographie
BIBLIOGRAPHIE
[1].
Site éditeur de logiciels Matlab : www.mathworks.com
[2].
Cours d'asservissement système linaire et continu Pr. Saidi Lamir
Université de Batna2
[3].
Précision des systèmes continus asservis Thierry CHATEAU 24
octobre 2010
[4].
Stabilité Des Systèmes Linéaires Continus t. Chateau, polytech cf
[5].
Cours d'automatique Professeur Belkacem OULD BOUAMAMA Ecole
Polytechnique de Lille LAGIS UMR CNRS 8146
[6].
Simulation des systèmes continus INSA de LYON 3GI 2005-2006
Lounis Adouane (tp1)
[7].
Simulation des systèmes continus INSA de LYON 3GI 2005-2006
Lounis Adouane (tp2)
[8].
Support du cours LCS Langage du calcul scientifique (Matlab)
Université Abderrahmane MIRA de Bejaia Département ST
[9].
tp n°1 travaux pratiques d’automatique au 41 : commande classique des
systèmes linéaires, Fournie Guillaume, Dufrene Johann ING 2 – ep
[10]. TP1 Régulation AuroFC1U1 Exercice d’application Polythèque’
Clermont-Ferrand : Auro-1
[11]. TP1 : Etude temporelle des systèmes linéaires continus 1/2 TP1
AuroFC1U1
[12]. http://blogmatlab.blogspot.com/search/label/ebooks
[13]. polycopies Tps systèmes asservis Université de Caen basse Normandie
pour L3 SPI EII
[14]. Ecole Nationale Supérieure de Physique de Strasbourg, FIP, 1ère
Année Laurent Barbé et Benjamin MAURIN – 2005-2006
95
Edition GANA
126,Lgts Batna Tél. 0561279565 Fax : 033 25 30 25
E.mail : [email protected]
96
View publication stats
Téléchargement