Académique Documents
Professionnel Documents
Culture Documents
Elaboré par :
beldi amenallah
2017/2018
TP1:Initiation à MATLAB et SIMULINK
1. but:
Dans ce tp on va manipuler en MATLAB et connaitre les syntaxes élémentaires ainsi que les
fonctions de base utilisées dans MATLAB. de plus , une partie importante est consacrée à la maitrise
de la visualisation graphique .
>> r=2*pi
r=
6.2832
x=
-1
>> A=[1 2 3 ; 4 5 6 ]
A=
1 2 3
4 5 6
A=
1 2 3
4 5 6
B=
12.5000 0.8000
2.0000 4.0000
A=
-0.0286 0.0186
0.0186 -0.0233
addition A+B
>> A+B
ans =
12.4714 0.8186
2.0186 3.9767
multiplication: A*B
>> A*B
ans =
-0.3203 0.0515
0.1859 -0.0783
>> B*A
ans =
-0.3426 0.2139
0.0172 -0.0560
soustraction: A-B
>> A-B
ans =
-12.5286 -0.7814
-1.9814 -4.0233
inversion: inv(A)
calculer l'inverse de A
> inv(A)
ans =
-72.7171 -58.0488
-58.0488 -89.2578
transposition: transpose(A)
>> transpose(A)
ans =
-0.0286 0.0186
0.0186 -0.0233
valeurs propres: eig(A)
>> eig(A)
ans =
-0.0447
-0.0072
rang: rank(A)
>> rank(A)
ans =
trace: trace(A)
>> trace(A)
ans =
-0.0519
determinant:det(A)
>> det(A)
ans =
3.2042e-04
G=
2s+1
-------------
s^2 + 2 s + 1
Construction:
SYS with zeros Z, poles P, and gains K. SYS is an object of class @zpk.
>> G=zpk([-1/2],[-1 -1],2)
G=
2 (s+0.5)
---------
(s+1)^2
G1 =
2s+2
---------------
s^2 + 0.5 s + 2
G2 =
----
16 s
>> G1*G2
ans =
2s+2
---------------------
16 s^3 + 8 s^2 + 32 s
>> series(G1,G2)
ans =
2s+2
---------------------
16 s^3 + 8 s^2 + 32 s
>> G1+G2
ans =
33 s^2 + 32.5 s + 2
---------------------
16 s^3 + 8 s^2 + 32 s
>> parallel(G1,G2)
ans =
33 s^2 + 32.5 s + 2
---------------------
16 s^3 + 8 s^2 + 32 s
>> feedback(G1,G2)
-------------------------
16 s^3 + 8 s^2 + 34 s + 2
> pole(G)
ans =
-1
-1
programmation
boucle for
close all; clear all;
for i=1:100
wt(i)=24*i*0.01;
x(i)=12.5*cos(wt(i)+pi/3);
end
plot(wt,x,'h');
grid;
title('fonction sinusoidale')
xlabel('pulsation wt')
ylabel('fonction x')
instruction IF
close all;
clear all;
n=input('donner un nombre')
m=input('donner un nombre')
if n<m
disp('n est inférieur à m')
elseif n>m
disp('n est supérieur à m')
else
dsip('n est égal à m')
end
prise en main SIMULINK
etude d'un moteur à courant continu
K=9.89738
Tem=0.01838
Tel=3888.88
G=
0.1384
-----------------------
(s+54.41) (s+0.0002571)
>>step(G)
Vcap= Ω*Kw , Ω=3000tr/min=314.159rad/s
Kw=10/314.159 Kw=0.0318sv/rad
Tp2 : systèmes échantillonnées , notion de base
2. But
ce TP constitue une introduction aux systèmes échantillonnés , il a pour but de mettre en évidence
certains phénomènes produisant lors d'échantillonnage d'un processus continu
3. Discrétisation
Transfer function:
2s+1
-------------
s^2 + 2 s + 1
>> help c2d
The string METHOD selects the discretization method among the following:
The default is 'zoh' when METHOD is omitted. The sampling time TS should
>> Gd=c2d(G,0.1,'ZOH')
Transfer function:
0.1856 z - 0.1766
---------------------
>> Gd=c2d(G,0.1)
Transfer function:
0.1856 z - 0.1766
---------------------
>> Gd1=c2d(G,0.6)
Transfer function:
0.7805 z - 0.5769
----------------------
>> Step(G,'b',Gd,'r',Gd1,'g');grid;
4.Fonction de transfert discrète
Transfer function:
0.047 z + 0.046
------------------
Construction:
SYS with zeros Z, poles P, and gains K. SYS is an object of class @zpk.
Den =
1.0000 -1.8100 0.9000
>> p=roots(Den)
p=
0.9050 + 0.2846i
0.9050 - 0.2846i
>> Hd=zpk(-0.046/0.047,p,0.047,-1)
Hd =
0.047 (z+0.9787)
-------------------
>> pzmap(Hd)
>> pole(Hd)
ans =
0.9050 + 0.2846i
0.9050 - 0.2846i
5.etude de stabilité
5.1/
→ Un système échantillonné linéaire est stable si tous les pôles de la fonction de transfert
échantillonnée sont situés à l’intérieure du cercle unité du plan z
D’après la figure 1 , les pôles de la fonction Hd sont situés a l’intérieur de la cercle unité du plan Z
donc se système est stable
5.2/
H(Z) = = =
>> k=1
k=
Zero/pole/gain:
---------------
(z-0.4) (z-0.8)
>> pzmap(H)
>> help feedback
u --->O---->[ M1 ]----+---> y
| | y=M*u
+-----[ M2 ]<---+
5.3
>> G=feedback(H,1)
Zero/pole/gain:
-------------------
5.4/
------------------
>> rltool
6.utilisaton de Simulink
7. Erreur de position
8.Influence de la période d'échantillonnage sur la stabilité
h=tf([10],[0.1 1])
Transfer function:
10
---------
0.1 s + 1
>> h1=c2d(h,0.1)
Transfer function:
6.321
----------
z - 0.3679
>> h2=c2d(h,0.01)
Transfer function:
0.9516
----------
z - 0.9048
>> hbf1=feedback(h1,1)
Transfer function:
6.321
---------
z + 5.953
>> hbf2=feedback(h2,1)
Transfer function:
0.9516
-----------
z + 0.04679
>> figure(1);
step(hbf1,'b',hbf2,'r');
grid;
>> figure(2);
pzmap(hbf1,'b',hbf2,'r');
8.2/
G(p)=20/(1+0.3p)
2.1
p-->0 , Kb0=20rad/s.v
2.2
FTBF=G(p)/(1+R.G(p))
p-->0 Kbf=20/3=6.66
Ωm=Kbf.consigne =6.66*24=160rad/s
2.3
3. Commande numérique
3.2.1
3.2.2
Transfer function:
20
---------
0.3 s + 1
Transfer function:
1.903
----------
z - 0.9048
>> step(gd);
>> grid;
>>
3.2.3
3.2.4
3.2.5
3.2.6:
3.2.7
Transfer function:
20
---------
0.3 s + 1
>> gd=c2d(g,0.35)
Transfer function:
13.77
----------
z - 0.3114
>> rltool(gd)
>>
3.2.8
Tp °4 : regulatio d’un niveau d’eau par PID numerique
But
On s’intéresse dans ce TP à identifier les différents types de correction et étudier les
performances du système échantillonné bouclé.
Travail demandé :
Soit H(p)= K/(1+Tp) la fonction du transfert du système à étudier :
On veut intégrer système dans une boucle fermée à retour unitaire et on veut étudier les
performances du système échantillonné bouclé :
1.1 on discrétise la fonction de transfert H pour les valeurs Te=0.1 ; 0.07 ;0.05 ;0.03
>> hd1=c2d(h,0.1)
Transfer function:
0.001124
----------
z - 0.9963
>> hd2=c2d(h,0.07)
Transfer function:
0.000787
----------
z - 0.9974
>> hd3=c2d(h,0.05)
Transfer function:
0.0005623
----------
z - 0.9981
>> hd4=c2d(h,0.03)
Transfer function:
0.0003375
----------
z - 0.9989
>> rltool(hd1)
Kp=2541.3
>> rltool(hd3)
Kp=3557.9
>> rltool(hd4)
Kp=5929.3
A la limite de stabilité, lorsque Te diminue kp augmente,
1.3
• Kp= 0.66
• Kp=0.6
Erreur2= 1-0.152 =0.848
• Kp= 0.356
Erreur3= 1- 0.0962=0.9038
PI(p)=kp+ki/p
Transfer function:
0.6 s + 1
---------
>> piz=c2d(pi,0.03)
Transfer function:
0.6 z - 0.57
------------
z-1
>> rltool(piz)
2.3 importer hd4 (la discrétisation de la fonction de transfert en Te=0.03)
Et le correcteur piz
2.5
Effets indésirables :
Zero/pole/gain:
(z-0.9989) (z-0.3)
------------------
z (z-1)
Sampling time: 0.03
>> rltool