23
1 BÀI THÍ NGHIỆM Môn: Lý thuyết điều khiển tự động Mục đích: 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. Yêu cầu: - Sinh viên nắm vững các kiến thức đã được học trên lớp - Đã học qua môn học "Lý thuyết mạch" Bài 1: - Giới thiệu phần mềm Matlab, các lệnh cơ bản và cách tạo hàm trong Matlab. - Giới thiệu “Control System Toolbox”, bộ công cụ của Matlab dành cho điều khiển hệ thống. - Bài tập - Tạo hàm truyền đạt - Biến đổi hàm truyền đạt thành các dạng khác nhau (liên tục, rời rạc, điểm cực – không, mô hình không gian trạng thái). - Các lệnh đồ họa Simulink Toolbox và cách xây dựng hệ thống trên Simulink. - Bài tập Bài 2: - Tính điểm cực, điểm không

Bai thi Nghiem ky thuat dien tu

Embed Size (px)

Citation preview

Page 1: Bai thi Nghiem ky thuat dien tu

1

BÀI THÍ NGHIỆM

Môn: Lý thuyết điều khiển tự động Mục đích:

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.

Yêu cầu: - Sinh viên nắm vững các kiến thức đã được học trên lớp - Đã học qua môn học "Lý thuyết mạch"

Bài 1:

- Giới thiệu phần mềm Matlab, các lệnh cơ bản và cách tạo hàm trong Matlab.

- Giới thiệu “Control System Toolbox”, bộ công cụ của Matlab dành cho điều khiển hệ thống.

- Bài tập - Tạo hàm truyền đạt - Biến đổi hàm truyền đạt thành các dạng khác nhau (liên tục, rời rạc, điểm

cực – không, mô hình không gian trạng thái). - Các lệnh đồ họa Simulink Toolbox và cách xây dựng hệ thống trên

Simulink. - Bài tập

Bài 2:

- Tính điểm cực, điểm không

Page 2: Bai thi Nghiem ky thuat dien tu

2

- Tạo hàm truyền đạt từ các điểm cực – không từ hàm truyền đạt - Tính và vẽ đáp ứng thời gian từ các điểm cực – không - Vẽ đáp ứng thời gian của hệ phi tuyến trên Simulink - Bài tập

Bài 3:

- Vẽ đáp ứng của hệ thống trong miền thời gian và miền tần số (đồ thị Bode, đáp ứng xung đơn vị, đặc tính tần số biên – pha…)

- Tính điều khiển được, tính quan sát được của hệ thống - Bài tập - Khảo sát hệ thống trong không gian trạng thái - Bài tập

Page 3: Bai thi Nghiem ky thuat dien tu

3

BÀI 1. Matlab với môn học Lý thuyết điều khiển tự động Mục đích:

Giúp cho sinh viên làm quen với phần mềm Matlab – một công cụ tính toán mạch được sử dụng rộng rãi trong nhiều ngành kỹ thuật, trong đó có lĩnh vực điều khiển hệ thống. Nội dung trình bày bao gồm các tập lệnh cơ bản, cách tạo hàm và bộ công cụ Control System.

Yêu cầu: - Sinh viên nắm vững các kiến thức toán học cơ bản liên quan đến các phép

toán ma trận, vector, đa thức… - Có kỹ năng sử dụng máy vi tính.

Nội dung: 1 Cửa sổ lệnh Khi dùng Matlab trên cửa sổ lệnh thì trang màn hình sẽ giống như tờ giấy nháp để người sử dụng có thể giải toán và thử các vấn đề liên quan đến hệ thống được khảo sát. Có thể thực hiện các phép toán thông thường, vào các đa thức, các hàm truyền đạt… Trong cửa sổ lệnh đã được mặc định biến ans để trả về giá trị: >> 2 ans = 2

2 Cách biểu diễn ma trận trong Matlab: * Cách tạo ma trận: Ví dụ: Muốn tạo ma trận

1 3 4 5 7 2 -1 3 5 0 0 3

>> A=[1 3 4; 5 7 2;-1 3 5; 0 0 3]

* Có thể tạo ma trận với các biến phức:

Page 4: Bai thi Nghiem ky thuat dien tu

4

>>B=[2+6i 1-3i;3+8i 2-2i]

Chú ý: không có dấu cách khi viết số phức. Matlab có thể chấp nhận biến i hoặc j khi viết số phức và để tránh nhầm lẫn, có thể định nghĩa ii=sqrt(-1) * Tạo ma trận có kích thước n*n gồm các số 0 và 1 ngẫu nhiên: >>rand(n)

* Tạo ma trận có kích thước n*m gồm các số 0 và 1 ngẫu nhiên: >>rand(n,m)

* Tìm hiểu các câu lệnh: magic, hilb, ones, zeros, eye, diag, triu, tril, sqrtm, det, rank *Có thể tạo ma trận 5*5 theo cách sau: >>[A, zeros(3,2);zeros(2,3) eye(2)] * Kích thước ma trận: >> sizeA=size(A) sizeA = 3 3 * Thực hiện các phép toán về ma trận:

Cộng ma trận: >> A+B Trừ ma trận: >> A-B

Nhân ma trận: >> A*B

Chuyển vị ma trận: >> A'

Nghịch đảo ma trận: >> inv(A)

Chia trái >>A\B Chia phải >>A/B Câu hỏi: Tìm sự khác nhau giữa phép chia trái và phép chia phải? * Tính giá trị riêng >>[X,D]=eig(A)

A phải là ma trận vuông. Các phần tử đường chéo của D chính là các giá trị riêng: A.X=X.D 3 Vector >> v=[sin(pi) 0.4 -0.3]

Các phép toán về vector cũng tương tự như các phép toán về ma trận. * Các tạo các vector khi biết điểm đầu, điểm cuối và số phần tử >> v=1:1:10;

A, B cùng kích thước

Số cột ma trận A bằng số hàng ma trận B

A là ma trận vuông

Page 5: Bai thi Nghiem ky thuat dien tu

5

* Tìm hiểu các lệnh: max, min, sort, sum, prod, mean, any, all

4 Đa thức

Trong Matlab, đa thức được biểu diễn dưới dạng vector có các phần tử bằng các hệ số của đa thức theo thứ tự số mũ giảm dần. >> a= [1 5 6]

>> b=[2 3 8]

Cộng: >> a+b

Nhân: >> conv(a,b)

Chia: >>[q,r]=deconv(a,b)

Trong đó: q là đa thức chia r là đa thức dư * Muốn tìm giá trị của đa thức tại một giá trị xác định (n) của biến: >> polyval(a,n)

* Tính nghiệm của đa thức: >> r=roots(a)

* Xác định đa thức khi biết nghiệm của nó:. >> a=poly(r)

5 Các lệnh for, while và if * Lập trình trên Matlab thực chất là tạo ra các hàm mới của riêng người sử dụng và đưa vào thư viện chung của Matlab. Thủ tục để tạo ra một hàm mới để Matlab hiểu và đưa vào thư viện của nó như sau:

Dùng từ khóa function Khai báo biến đầu ra, tên hàm và các biến đầu vào của hàm đó.

Chú ý: Đặt dấu ";" ở cuối mỗi câu lệnh Tên hàm phải trùng với tên file.

* Mở script file bằng cách vào “File”, chọn “New”, chọn “M file”

Page 6: Bai thi Nghiem ky thuat dien tu

6

* Lệnh for: So sánh hai đoạn lệnh sau với n cho trước: x=[];

for i=1:n

x=[x,i^2];

end

hay x=[]; for i=1:n, x=[x,i^2], end và x=[];

for i=n:-1:1

x=[x,i^2];

end

- Giải thích kết quả của đoạn lệnh sau for i=1:n

for j=1:m

H(i,j)=1/(i+j-1);

end

end

H

- Giải thích kết quả của đoạn lệnh sau s=0;

for c=A

s=s+sum(s);

end

So sánh với sum(sum(A)) * Lệnh while: Cú pháp: while relation

statements

end

Ví dụ: Với a đã cho n=0;

while 2^n<a

n=n+1;

end

n * Lệnh if: Cú pháp:

Page 7: Bai thi Nghiem ky thuat dien tu

7

if relation

statements

end

Ví dụ: if n<0

parity=0;

elseif rem(n,2)==0

parity=2;

else

parity=1;

end

Các toán tử relation trong Matlab: > Lớn hơn < Nhỏ hơn

>= Lớn hơn hoặc bằng <= Nhỏ hơn hoặc bằng == Bằng ~= Không bằng

Chú ý: “=” được sử dụng trong câu lệnh gán còn while“==” được sử dụng trong 1 relation Các relation có thể được nối với nhau bằng các toán tử & (and), | (or), ~ (not).

Page 8: Bai thi Nghiem ky thuat dien tu

8

6 Công cụ Control System Toolbox Tên hàm Chức năng

Các mô hình LTI ss Tạo mô hình không gian trạng thái tf Tạo hàm truyền đạt zpk Tạo mô hình điểm cực - không

Các đặc tính của mô hình size Biểu diễn kích thước của đầu vào/đầu ra/ma trận

Chuyển đổi mô hình c2d Chuyển từ mô hình liên tục sang dạng rời rạc theo thời gian

d2c Chuyển từ mô hình rời rạc theo thời gian sang dạng liên tục

d2d Tạo mô hình rời rạc theo thời gian với thời gian lấy mẫu mới Các phép toán trong không gian trạng thái

ctrb Tạo ma trận điều khiển được obsv Tạo ma trận quan sát được

Các chức năng của mô hình pzmap Vẽ toạ độ điểm cực - không của mô hình LTI

Kết nối mô hình feedback Nối phản hồi hai mô hình parallel Mắc song song các mô hình

series Mắc nối tiếp các mô hình Đáp ứng thời gian

impulse Tính và vẽ đáp ứng xung

Lsim Mô phỏng đáp ứng của mô hình LTI với các đầu vào bất kỳ

Step Tính đáp ứng xung đơn vị Đáp ứng tần số

Bode Tính và vẽ đáp ứng Bode

bodemag Tính và vẽ biên độ của đáp ứng Bode nichols Vẽ đáp ứng Nichols nyquist Vẽ đáp ứng Nyquist

Page 9: Bai thi Nghiem ky thuat dien tu

9

7 Các xây dựng hàm truyền đạt Ví dụ: Biểu diễn hàm truyền đạt sau:

Y s 5 s 20

G sU s s 15 s 25 s 0.4

>> s=tf('s');

>> sys_tf=5*(s+20)/((s+15)*(s+25)*(s-0.4))

hoặc có thể tạo một M_file trong Matlab để mô tả hàm truyền đạt của hệ thống này.

%G(s)=5(s+20)/(s+15)(s+25)(s-0.4)

num=5*[1 20];

den=conv(conv([1 15],[1 25]),[1 -0.4]);

printsys(num,den,'s')

8 Cách xây dựng mô hình không gian trạng thái x Ax Buy Cx Du

Ví dụ: Biểu diễn phương trình không gian trạng thái sau:

1 2 1x x u

3 4 2y 1 3 x

>> A=[1 2;3 4];

>> B=[1;2];

>> C=[-1 3];

>> D=0;

>> sys_ss=ss(A,B,C,D)

hoặc có thể tạo một M_file trong Matlab để mô tả phương trình không gian trạng thái này.

A=[1 2;3 4]; B=[1;2];

C=[-1 3];D=0;

printsys(A,B,C,D)

Page 10: Bai thi Nghiem ky thuat dien tu

10

9 Chuyển từ hàm truyền đạt về không gian trạng thái. Câu lệnh: >>[A,B,C,D]=tf2ss(num,den)

Trong đó: A, B, C, D l à các ma trận trạng thái num, den là tử số và mẫu số của hàm truyền đạt Ví dụ: >> num=[1.5]; >> den=[1 14 40.02]; >> [A,B,C,D]=tf2ss(num,den)

10 Chuyển từ không gian trạng thái về hàm truyền đạt >>[num,den]=ss2tf(A,B,C,D,1)

11 Chuyển từ hàm liên tục sang hàm rời rạc theo thời gian và ngược lại sysd = c2d(sysc,Ts) % Chuyển từ hàm liên tục sang dạng rời rạc với thời gian lấy mẫu Ts

sysc = d2c(sysd) % Chuyển từ hàm rời rạc sang dạng liên tục

sysd1= d2d(sysd,Ts) % Thay đổi thời gian lấy mẫu của hàm rời rạc

>> sysc=tf(num,den) >> Ts=0.05; >> sysd=c2d(sysc,0.05)

12 Xây dựng mô hình điểm cực - không Ví dụ: Xây dựng mô hình điểm cực - không sau:

1.5G s

s 9.996 s 4.004

sys_zpk = zpk([],[-9.996 -4.004], 1.5)

This is the resulting zero/pole/gain representation.

13 Mắc song song hai khâu sys1 + sys2 hoÆc parallel(sys1,sys2)

Page 11: Bai thi Nghiem ky thuat dien tu

11

14 Mắc nối tiếp hai khâu sys1 * sys2 hoÆc series(sys2,sys1)

15 Mắc hồi tiếp feedback(sys1,sys2,sign)

16 Mắc hồi tiếp feedback(sys1,sys2,sign)

BÀI TẬP Bài 1. Cho:

5 1 0A 0 2 1

0 0 1

, 0

b 01

, c 1 1 0

a. Giả sử A * x b . Tìm x

b. Giả sử y*A c . Tìm y

c. 1G s c sI A b . Tìm G 0 và G 1

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

Page 12: Bai thi Nghiem ky thuat dien tu

12

trong đó:

p1p3p1sys

2sys được biểu diễn dưới dạng không gian trạng thái:

u2x21y

u21

x4132

2311

x

2

p 1sys3p 3p 5

2

3

p p 2sys4p 1

p

1p5sys

6sys được biểu diễn dưới dạng không gian trạng thái:

u2x31y

u1

1x

4132

x

Page 13: Bai thi Nghiem ky thuat dien tu

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?

Page 14: Bai thi Nghiem ky thuat dien tu

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

123

23

apC

apC

apC

5p4p3p1p9p3p2pW

>> 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;

Page 15: Bai thi Nghiem ky thuat dien tu

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)

Phas

e (d

eg)

Mag

nitu

de (d

B)

-50

0

50

10-1 100 101 102-90

0

90

Step Response

Time (sec)

Ampl

itude

0 5 100

0.5

1

1.5

Pole-Zero Map

Real Axis

Imag

Axi

s

-2 -1.5 -1 -0.5 0-4

-2

0

2

4

0 50 1000

0.2

0.4

0.6

0.8

1Some 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

Page 16: Bai thi Nghiem ky thuat dien tu

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)

Ampl

itude

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)

Ampl

itude

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)

Page 17: Bai thi Nghiem ky thuat dien tu

17

5 10 15 20

5

10

15

20

25

30

35

40

0

10

20

30

0

20

40

600

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

Page 18: Bai thi Nghiem ky thuat dien tu

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

22

3

4

y sin(2pi * t) 2y

y t 2t 3y 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:

apap2p1ap3ppW 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

Page 19: Bai thi Nghiem ky thuat dien tu

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

Page 20: Bai thi Nghiem ky thuat dien tu

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:

Page 21: Bai thi Nghiem ky thuat dien tu

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

Page 22: Bai thi Nghiem ky thuat dien tu

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

u21

x4132

2311

x

2

p 2sys3p 3p 5

2

3 2

p p 2sys4p p p 2

p

1p5sys

6sys được biểu diễn dưới dạng không gian trạng thái:

u2x31y

u1

1x

4132

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 4p aW p

p p p p

Page 23: Bai thi Nghiem ky thuat dien tu

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 00 0 11 2

AK

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 ; 00 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?