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.

pdf23 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 2259 | Lượt tải: 1download
Tóm tắt nội dung Thí nghiệm Lý thuyết điều khiển tự động, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 
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 tr­ng ®Ò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:

  • pdfThí nghiệm Lý thuyết điều khiển tự động.pdf