Thí nghiệm Lý thuyết điều khiển tự động
Matlab là chữ viết tắt của Matrix Laboratory. Đây là một thưviện các công
cụ làm toán trên ma trận. Matlab được tích hợp sẵn một họ các lời giải cho
các ứng dụng chuyên dụng và được gọi là các Toolbox, đó chính là thưviện
cho các hàm để hỗ trợ Matlab giải quyết các cụm công việc trong các lĩnh
vực chuyên môn khác nhau. Các bài thí nghiệm này sẽ đề cập chủ yếu đến
các vấn đề trong “Control System Toolbox”. Qua các buổi thí nghiệm, sinh
viên có thể sử dụng thành thạo phần mềm Matlab về các vấn đề thuộc môn
học “Lý thuyết điều khiển tự động” và qua đó, củng cố các kiến thức liên
quan đến môn học đã được giáo viên truyền đạt trên lớp. Cuối mỗi bài sẽ có
bài tập giúp cho sinh viên nắm được bài đã học.
d. Định nghĩa 2MC b Ab A b . Tìm hạng của MC .
Bài 2.
Lập trình tính giai thừa của một số bất kỳ theo các cách sử dụng câu lệnh while,
for và if
Bài 3.
Biểu diễn hệ thống sau dưới dạng hàm truyền đạt và không gian trạng thái .
sys2 sys4
sys6
sys1
sys3
+
+
sys5
12
trong đó:
p1p
3p1sys
2sys được biểu diễn dưới dạng không gian trạng thái:
u2x21y
u
2
1
x
41
32
23
11
x
2
p 1sys3
p 3p 5
2
3
p p 2sys4
p 1
p
1p5sys
6sys được biểu diễn dưới dạng không gian trạng thái:
u2x31y
u
1
1
x
41
32
x
13
BÀI 2. Vẽ hàm truyền đạt, xây dựng đáp ứng thời gian của các khâu cơ bản
trên Simulink. Khảo sát tính ổn định của hệ thống
Mục đích:
- Giúp cho sinh viên cách tính các điểm cực - không.
- Vẽ đáp ứng thời gian của hệ thống trên Simulink
- Khảo sát tính ổn định của hệ thống
Yêu cầu:
Sinh viên nắm vững các kiến thức liên quan đến hàm truyền đạt và đáp ứng
thời gian của hệ thống
Nội dung:
1 Xác định điểm cực và điểm không của hàm truyền đạt
>> [z,p,k]=tf2zp(num,den)
Ví dụ: Cho
3p6p2p3p
6p2ppW 234
23
Xác định các điểm cực, điểm không của hệ thống?
>> num=[1 2 0 6];
>> den=[1 3 2 6 3];
>> [z,p,k]=tf2zp(num,den)
2 Xác định hàm truyyền đạt khi biết điểm cực và điểm không của hệ thống
>>[num,den]=zp2tf(z,p,k)
Ví dụ:
i43pi43p3p2p
5p4pppW
Xác định hàm truyền đạt của hệ thống?
14
>> k=1;
>> z=[0;-4;-5];
>> i=sqrt(-1);
>> p=[2;-3;-3+4*i;-3-4*i];
>> [num,den]=zp2tf(z,p,k)
3 Khai triển hàm truyền đạt về dạng phân thức tối giản
>>[r,p,k]=residue(num,den)
Cho hàm truyền đạt:
3
3
2
2
1
1
23
23
ap
C
ap
C
ap
C
5p4p3p
1p9p3p2pW
>> num=[2 3 9 1];
>> den=[1 3 4 5];
>> [r,p,k]=residue(num,den)
Trong đó: k là phần thương chia hết của phân thức
p là nghiệm của phân thức
r là hệ số mở rộng phân thức từng phần
Ngược lại: >> [num,den]=residue(r,p,k)
4 Cách vẽ đồ thị
* Chế độ đồ họa trong Matlab
Vẽ đồ thị hàm số
2x2,xsiny
>> x=-2*pi:0.05:2*pi;
>> y=sin(x);
>> plot(x,y)
>> axis([-2*pi 2*pi -1 1]);
>> xlabel('Radial');
>> ylabel('Amplitude');
>> title('y=sin(x)');
>> grid;
15
* Vẽ trong không gian hai chiều
* Vẽ nhiều đồ thị khác nhau trên một hình:
h = tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
subplot(221)
bode(h)
subplot(222)
step(h)
subplot(223)
pzmap(h)
subplot(224)
plot(rand(1, 100)) % Any data can go here
title('Some noise')
Bode Diagram
Frequency (rad/sec)
Ph
as
e
(d
eg
)
M
ag
ni
tu
de
(d
B)
-50
0
50
10-1 100 101 102
-90
0
90
Step Response
Time (sec)
Am
pl
itu
de
0 5 10
0
0.5
1
1.5
Pole-Zero Map
Real Axis
Im
ag
A
xi
s
-2 -1.5 -1 -0.5 0
-4
-2
0
2
4
0 50 100
0
0.2
0.4
0.6
0.8
1
Some noise
* Ví dụ vẽ đáp ứng thời gian từ điểm cực và điểm không:
clf
[num,den]=zp2tf([-2],[-1 -0.2+10*i -0.2-10*i],100);
t=[0:.1:20];
u=exp(-t);
subplot(2,1,1)
lsim(num,den,u,t)
hold on
16
plot(t,u,'m--')
title('Dap ung voi dau vao exp(-t)')
hold off
unew=exp(-0.2*t).*sin(10*t);
subplot(2,1,2)
lsim(num,den,unew,t)
hold on
plot(t,unew,'m--')
title('Dap ung voi dau vao exp(-0.2*t)sin(10t)')
hold off
Linear Simulation Results
Time (sec)
Am
pl
itu
de
0 2 4 6 8 10 12 14 16 18 20
-0.5
0
0.5
1
1.5
2
Linear Simulation Results
Time (sec)
Am
pl
itu
de
0 2 4 6 8 10 12 14 16 18 20
-10
-5
0
5
10
b. Vẽ trong không gian ba chiều
Matlab có thể biểu diễn trong không gian 3 chiều theo 3 cách: vẽ đường viền, vẽ
lưới và vẽ các đường trong không gian 3 chiều.
Ví dụ: Vẽ đường viền của một hàm bậc bốn đơn giản ở bên trái màn hình và vẽ
lưới 3D của hàm đó ở bên phải màn hình.
clf
>> x=[-1:0.1:1];
>> y=[-2:0.1:2];
>> [X,Y]=meshgrid(x,y);
>> z=X.^4+(Y/2).^4;
>> subplot(1,2,1), contour(z)
>> subplot(1,2,2), mesh(z)
17
5 10 15 20
5
10
15
20
25
30
35
40
0
10
20
30
0
20
40
60
0
0.5
1
1.5
2
5 Vẽ đáp ứng trên Simulink
Vẽ đáp ứng thời gian của các khâu cơ bản đã học trong Simulink bằng cách:
- Cho đầu vào là hàm 1 t và t .
- Xây dựng hàm truyền đạt của khâu
- Quan sát đầu ra trên scope
- So sánh với các kết quả lý thuyết
10(s+10)(s+10)
(s+1)(s+0.3-i)(s+0.3+i)
Zero-Pole Step Scope Saturation
18
BÀI TẬP
Bài 1.
Lập trình trong M-file để vẽ đồ thị của các hàm sau trên một hình:
1
2
2
3
4
y sin(2pi * t) 2
y
y t 2t 3
y c sin t
exp -3t
os 2t
Bài 2.
Xây dựng chương trình xét tính ổn định của hệ thống theo tiêu chuẩn Routh.
Bài 3.
Cho hệ thống có hàm truyền đạt:
apap2p
1ap3ppW 35
34
Với giá trị nào của a thì hệ thống quan sát được và điều khiển được hoàn toàn.
Bài 4.
Xây dựng trên Simulink để khảo sát hệ thống được mô tả bằng phương trình vi
phân sau:
x 2x u
Bài 5.
Xây dựng trên Simulink để giải phương trình phi tuyến Val der Pol:
2x x 1 x x 0
19
BÀI 3. Xét tính điều khiển được, quan sát được. Xây dựng hệ thống trên
Simulink
Mục đích:
- Giúp cho sinh viên biểu diễn được các loại đáp ứng tần số của hệ thống.
- Cách xét tính điều khiển được, quan sát được của hệ thống.
- Cách xây dựng hệ thống trên Simulink
Yêu cầu:
Sinh viên nắm vững các kiến thức liên quan đến đáp ứng của hệ thống, tính
điều khiển được và quan sát được của nó.
Nội dung:
1. Biểu diễn các dạng đáp ứng của hệ thống
Step, xung, Bode (biên độ và pha), Nichols, Nyquist, điểm cực-không
2. Lập ma trận điều khiển được
>>ctrb(A,B)
Hệ thống điều khiển được nếu hạng của ctrb(A,B) bằng n.
3. Lập ma trận quan sát được
>>obsv(A,C)
Hệ thống quan sát được nếu hạng của obsv(A,C)) bằng n.
4. X ây dựng hệ thống trên Simulink
10(s+10)(s+10)
(s+1)(s+0.3-i)(s+0.3+i)
Zero-Pole Step Scope Saturation
20
5. Kh¶o s¸t tÝnh æn ®Þnh
>> A=[-8 -16 -6; 1 0 0;0 1 0]
A =
-8 -16 -6
1 0 0
0 1 0
>> P=poly(A)
P =
1.0000 8.0000 16.0000 6.0000
>> roots(P)
ans =
-5.0861
-2.4280
-0.4859
KÕt luËn: Mäi nghiÖm cña ph¬ng tr×nh ®Æc trng ®Òu cã phÇn thùc ©m nªn hÖ
thèng ®· cho æn ®Þnh.
C©u hái: P ë ®©y ®îc tÝnh theo c«ng thøc nµo?
6. Kh¶o s¸t ®Æc tÝnh thêi gian:
Khi ®· biÕt ma trËn A, B, C, D cña hÖ thèng, ta cã thÓ kh¶o s¸t ®Æc tÝnh qu¸ ®é
h(t) cña hÖ thèng b»ng hµm step vµ kh¶o s¸t hµm träng lîng cña hÖ thèng
b»ng hµm impulse. NÕu tÝn hiÖu vµo u(t) cã d¹ng bÊt kú th× ta dïng hµm lsim
®Ó kh¶o s¸t ®Çu ra cña hÖ thèng.
VÝ dô 1: Kh¶o s¸t ®Æc tÝnh qu¸ ®é vµ hµm träng lîng cña hÖ thèng cã m« t¶
to¸n häc trong kh«ng gian tr¹ng th¸i nh sau:
21
>> A=[0 1 0 0;0 0 1 0; 0 0 0 1; -15 -150 -50 -15];
>> B=[0;0;0;1];
>> C=[15 150 0 0];
>> D=0;
>> t=[0: 0.01:10];
>> [y1,x,t]=step(A,B,C,D,1,t);
>> [y2,x,t]=impulse(A,B,C,D,1,t);
>> subplot(211),plot(t,y1,'r-'),grid on
>> xlabel('Time[sec]'), ylabel ('Dap ung qua do')
>> subplot(212),plot(t,y2,'r-'),grid on
>> xlabel('Time[sec]'), ylabel ('Ham trong luong')
VÝ dô 2: Kh¶o s¸t ®¸p øng ®Çu ra cña hÖ thèng cã m« t¶ to¸n häc nh sau:
>> A=[0 -2;1 -3];
>> B=[2;0];
>> C=[1 0];
>> D=0;
>> x0=[1 1];
>> t=[0:0.01:10];
>> u=0*t;
>> [y,x]=lsim(A,B,C,D,u,t,x0);
>> subplot(211),plot(t,x(:,1),'r-'), grid on
>> xlabel('Time[sec]'), ylabel('x1'),
>> subplot(212),plot(t,x(:,2),'r-'), grid on
>> xlabel('Time[sec]'), ylabel('x2'),
BÀI TẬP
Bài1.
Cho hệ thống điều khiển như hình vẽ.
sys2 sys4
sys6
sys1
sys3
+
+
sys5
22
trong đó:
p 1sys1
p p 1
2sys được biểu diễn dưới dạng không gian trạng thái:
u2x21y
u
2
1
x
41
32
23
11
x
2
p 2sys3
p 3p 5
2
3 2
p p 2sys4
p p p 2
p
1p5sys
6sys được biểu diễn dưới dạng không gian trạng thái:
u2x31y
u
1
1
x
41
32
x
a. Hệ thống có điều khiển được, quan sát được không?
b. Vẽ đáp ứng Step, Bode, Nyquist, điểm cực - không của hệ thống
Bài 2.
Xây dựng hệ thống như phần 4 với hàm truyền đạt được thay bằng
2G s s 1 / s 5s 6 , khâu phi tuyến bão hòa được thay bằng khâu tích phân
và chèn thêm một khâu khuếch đại cho hệ số khuếch đại bằng 10 vào sau khâu
tích phân.
Bài 3.
Một hệ thống được mô tả bởi hàm truyền đạt:
4 3 253 10 10 4
p aW p
p p p p
23
Xác định giá trị của a để hệ thống không điều khiển được và không quan sát
được?
Bài 4.
Một hệ thống tuyến tính được mô tả bằng phương trình X AX Bu với
0 1 0
0 0 1
1 2
A
K
a. Xác định phương trình đặc trưng của hệ thống?
b. Tìm miền giá trị của K để hệ thống ổn định?
c. Với một giá trị K cụ thể trong miền tìm được của phần b, hãy xác định các
nghiệm của phương trình đặc trưng?
Bài 5.
Xây dựng chương trình trong Matlab để tìm hàm truyền đạt của hệ thống tuyến
tính có mô tả toán học như sau:
1 1 0 0
0 2 0 ; 0 ; 1 1 1 ; 0
0 0 3 1
A B C D
Bài 6.
Xây dựng một sơ đồ hệ thống điều khiển tuyến tính trên trong Simulink rồi dùng
công cụ của Matlab tính ra hàm truyền đạt của hệ thống đó. So sánh kết quả
nhận được với kết quả tính ra nhờ biến đổi sơ đồ cấu trúc?
File đính kèm:
Thí nghiệm Lý thuyết điều khiển tự động.pdf

