Giáo trình Kỹ thuật lập trình Matlab

MATLAB – phần mềm nổi tiếng của công ty MathWorks, là một ngôn ngữ

hiệu năng cao cho tính toán kỹthuật như được viết trong logo của phần mềm

này. Nó tích hợp tính toán, hiện thịvà lập trình trong một môi trường dễsửdụng.

Các ứng dụng tiêu biểu của MATLAB bao gồm:

− Khảnăng tính toán mạnh.

− Phát triển thuật toán.

− Chứa Simulink là môi trường mạnh đểmô phỏng các hệthống động học tuyến

tính và phi tuyến.

− Đồhọa khoa học và kỹthuật

− Phát triển ứng dụng với các giao diện đồhọa.

− Có kiến trúc mở, ủng hộviệc xây dựng thêm các module tính toán kỹthuật theo

chuẩn công nghiệp.

pdf142 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 2627 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình Kỹ thuật lập trình Matlab, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ự trữ và pha dự trữ. 
Từ dấu nhắc của cửa sổ lệnh MATLAB ta dùng lệnh ‘margin’: 
 num = 10; 
 den = [-1 1 0]; 
margin(num,den) 
(A) 
Gi¸o tr×nh Kü thuËt lËp tr×nh 
132
 Frequency (rad/sec)
P
h
as
e
 (d
eg
); 
M
ag
ni
tu
d
e 
(d
B
)
Bode Diagrams
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstable closed loop)
10
-1
10
0
-80
-60
-40
-20
Kết luận: 
Độ dự trữ biên (Gm = 0 dB). 
Độ dự trữ pha (Pm = 0°). 
Warning: Closed loop is unstable (hệ vòng kín không ổn định). 
Bài tập 
Bài tập 1: Xét sự ổn định của hệ có phản hồi âm đơn vị bằng tiêu chuẩn Nyquist khi 
hàm truyền hệ hở có dạng : 
a) GH(s) = ( )( )1st1st
k
21 ++
 (k =10, t1 = 1, t2 = 2) 
b) GH(s) = ( )( )1st1sts
k
21 ++
 (k = 10 t1=1, t2 =2) 
c) GH(s) = ( )( )( )1st1st1sts
k
321 +++
 ( t1 =1, t2 = 2, t3 = 3, k = 10) 
Bài tập 2:Cho hệ thống điều khiển phản hồi: 
Dùng giản đồ Bode để khảo sát ổn định của hệ thống trên. 
s
1s +
3s4s
2
2 ++ _ 
Gi¸o tr×nh Kü thuËt lËp tr×nh 
133
Bài tập 3: Khảo sát hệ thống: 
 kiểm tra độ ổn định của hệ thống, tính độ dự trữ biên , dự trữ pha. 
3.6 Khảo sát hệ thống điều khiển trong không gian trạng thái: 
3.6.1 Mô tả hệ thống: 
Hệ phương trình mô tả động học của hệ thống tuyến tính dừng có dạng: 
• Phương trình trạng thái: 
*
.. uBxAx += 
• Phương trình đầu ra: 
Y= C.x +D 
Với x véc tơ trạng thái (Nx×1) A ma trận trạng thái (Nx×Ny) 
 U véc tơ biến vào (Nu×1) B ma trậ đầu vào (Nx×Nu) 
 Y véc tơ biến ra (Ny×1) C ma trận đầu ra (Ny×Nx) 
 D ma trận liên thông (Ny×Nu) 
Từ các giá trị A, B, C, D đã biết ta có thể chuyển đổi sang dạng hàm truyền để khảo 
s
1s2 +
5s
10
+ 
1s
1
+ 
_ 
+ 
102 +s 
s
e sT−2 
2
2
+s 
_ 
+ 
Bài tập 4 
Cho hệ thống như hình vẽ 
a) Xây dựng đường đặc 
tính tần số Logarit và 
xác định độ dự trữ biên, 
pha khi biết T=0.05s 
b) Lập lại các bước a) 
khi T=1s. Mô tả ảnh 
hưởng khi tăng thời 
gian giữ chậm . 
Gi¸o tr×nh Kü thuËt lËp tr×nh 
134
sát theo miền thời gian 
3.6.2 Khảo sát tính ổn định: 
Để khảo sát tính ổn định của hệ thống trong không gian trạng thái, Dùng lệnh poly 
cho phép ta xác định phương trình đặc trưng khí biết ma trận hệ thống A. Sau đó dùng 
hàm roots xác định nghiệm của phương trình đặc trưng để xét tính ổn định của hệ. 
Khảo sát đặc tính thời gian: 
Khi đã biết các ma trận hệ thống A, B, C, D ta có thể dùng hàm step của matlab để 
khảo sát đặc tính quá độ và dùng hàm impulse để xây đựng hàm trọng lượng của hệ 
thống. 
Nếu tín hiệu không phải là dạng 1(t) δ(t) thì chúng ta dùng hàm lsim để xây dựng quá 
trình quá độ của hệ thống. 
Ví dụ 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: 
⎥⎦
⎤⎢⎣
⎡ −−=
01
101
A ⎥⎦
⎤⎢⎣
⎡=
0
1
B ⎥⎦
⎤⎢⎣
⎡=
5
0
B D=0; 
Ch−¬ng tr×nh viÕt trong matlab nh− sau: 
a =[-1 -10; 1 0] 
b =[ 1; 0] 
c =[ 0 5] 
d = 0 
subplot(2,1,1) 
step(a,b,c,d) 
grid on 
subplot(2,1,2) 
impulse(a,b,c,d) 
grid on 
Chúng ta đựợc các đường cong như trên hình dưới. 
Gi¸o tr×nh Kü thuËt lËp tr×nh 
135
Cũng với số liệu của ví dụ trên. nhưng thêm điều kiện ban đầu hệ thống 
x1(0)=x2(0)=1; và tín hiệu vào u(t)=0 
Thì ta xử dụng lệnh lsim, chương trình viết trong matlab như sau: 
a =[-1 -10; 1 0] 
b =[ 1; 0] 
c =[ 0 5] 
d = 0; 
x0=[1 1]; 
t=[0:0.1:12] ; u=0*t; 
[y,t]=lsim(a,b,c,d,u,t,x0) 
Bài Tập 1 
Xây dựng hệ phương trình trạng thái mô tả động học của mạch điện hình dưới với các 
biến trạng thãi1=i1; x2=i2; x3=uc; 
 R L1 L2 
 i1 i2 
Ua Uc C 
Gi¸o tr×nh Kü thuËt lËp tr×nh 
136
3.7 Tổng hợp bộ điều khiển PI, PD, PID trong miền thời gian: 
HTĐ của bộ điều khiển PID có dạng: 
G(s)=Kp+KD(s)+KI/s; 
Công việc của người thiết kế là phải xác định các hệ số Kp, Ki, KD của bộ điều khiển 
PID làm cho hệ thống thoả mãn các chỉ tiêu chất lượng đề ra. 
Thiết kế bộ điều khiển PD; 
ở bước này cần xác định KD để hệ thống thoả mãn chỉ tiêu về độ quá điều chỉnh cực 
đại. 
Ví dụ : Cho hệ tuyến tính có phản hồi âm đơn vị có hàm truyền đạt của đối tượng điều 
khiển là: 
)10)(5(
)( ++= sss
KsG 
Yêu cầu: Thiết kế bộ điều khiển để hệ thống đạt các chỉ tiêu chất lượng sau: 
- Độ quá điều chỉnh cực đại ≤ 4%. 
- Sai số xác lập khi tín hiệu vào là hàm t: ≤0.01. 
- Thời gian quá độ ≤0.8 giây. 
- số lần dao động n<3. 
Sai số xác lập tính S=lim( )(*
)(W1 h
sU
s
s
+ ) 
Trong đó U(s) tín hiệu vào t biến đổi laplace thành 1/s2; 
Từ đây suy ra K≤5000. 
Thiết kế bộ điều khiển PD, khi đó HTĐ mạch hở có dạng: 
)10)(5(
)/(5000
)10)(5(
)()( ++
+=++
+=
sss
KKsK
sss
skKpKsG DpDD 
Vậy 
Thiết kế bộ điều khiển PI: 
Phần tích phân của bộ điều khiển PID tạo ra tín hiệu tỷ lệ với tích phân tín hiệu đầu vào 
bộ điều khiển theo thời gian. 
Hàm truyển đạt của bộ điều khiển PI có dạng: 
s
K
KsG ip +=)( 
nghĩa là bộ điều khiển PI đưa thêm một điểm cực s=0 và điểm không s=-KI/KP vào HTĐ 
của mạch hở của hệ thống và làm tăng bậc phiếm tĩnh của hệ thống. Khi sử dụng bộ điều 
khiển PD 
giá trị Kp ảnh hưởng tới biên độ của sai số xác lập và nếu Kp lớn sẽ ảnh hưởng tới độ ổn 
định của hệ thống. 
Khi bậc phiếm tĩnh của hệ thống tăng lên nhờ sử dụng bộ PI thì Kp ít ảnh hưởng tới sai 
số xác lập và ta cần chọn tỷ số Ki/Kp để đáp ứng quá độ thoả mãn. 
Gi¸o tr×nh Kü thuËt lËp tr×nh 
137
Ta xét hệ thống khi sử dụng bộ điều khiển PI có HTĐ của hệ hở: 
)5.48(
)(400
)( 2 +
+=
ss
KsK
sG ip 
Giả sử Kp=100; Ki=10, HTĐ của hệ thống kín khi đó sẽ là: 
 40000 s + 4000 
Gk = - ------------------------------ 
 s^3 + 48.5 s^2 + 40000 s + 4000 
Hình dưới vẽ QTQĐ của hệ thống kín ứng với các trường hợp: 
Kp=100; Ki=10; Kp=10, Ki=1; Kp=2, Ki=0.2; 
Phương trình đặc trưng của hệ : 
S3+48.5s2+400Kps+400.Ki=0 
Sử dụng tiêu chuẩn ổn định Routh khảo sát sự ổn định: 
1 400Kp 
48.5 400Ki 
48.5*400Kp-400Ki 
Điều kiện để hệ ổn định là 48.5Kp>Ki>0; 
Kp=100; Ki=10; 
Kp=10; Ki=1; 
Kp=2; Ki=0.2; 
Gi¸o tr×nh Kü thuËt lËp tr×nh 
138
Chay chuong trinh qúa trình quá độ các chỉ tiêu chất lượng hệ thống ta tính được 
Kp Ki T/ gian qúa độ N độ quá điều chỉnh cực 
đại 
100 10 0.10721 7 68.126 
100 100 0.10721 7 68.686 
2 0.2 0.135 0 0.54075 
Ví dụ : Cho hệ tuyến tính có phản hồi âm đơn vị có hàm truyền đạt của đối tượng điều 
khiển là: 
)10)(5(
)( ++= sss
KsG 
Yêu cầu: Thiết kế bộ điều khiển để hệ thống đạt các chỉ tiêu chất lượng sau: 
- Độ quá điều chỉnh cực đại ≤ 4%. 
- Sai số xác lập khi tín hiệu vào là hàm t: ≤0.01. 
- Thời gian quá độ ≤0.8 giây. 
- số lần dao động n<3. 
Sai số xác lập tính S=lim( )(*
)(W1 h
sU
s
s
+ ) 
Trong đó U(s) tín hiệu vào t biến đổi laplace thành 1/s2; 
Từ đây suy ra K≤5000. 
Thiết kế bộ điều khiển PI, khi đó HTĐ mạch hở có dạng: 
)10)(5(
)/(5000
)( 2 ++
+=
sss
KpKsK
sG ip 
Chọn Ki/Kp=0.1 
Xác định Kp để thảo mãn độ quá điều chỉnh: 
Gi¸o tr×nh Kü thuËt lËp tr×nh 
139
Với quỹ đạo nghiệm số cho ở hình trên ta xác định được khoảng Kp để hệ ổn định. 
Để xác định được Kp sao cho thoả mãn chỉ tiêu chất lượng về độ quá điều chỉnh ta 
dùng chương trình sau 
%thietkePI 
s=tf('s'); 
kip=input('nhap vao he so Ki/Kp ; Ki/Kp=') 
kp=input('nhap vao he so Kp=') 
%%%%%%%%%%%%55 nhap vao ham truyen he ho 
Gh=5000*kp*(s+kip)/(s^2*(s+5)*(s+10)) 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55 
h=feedback(Gh,1) 
step(h) 
t=input('nhap vao thoi gian t chu y nen xem dac tinh qua do truoc khi nhap vao thoi 
gian t ='); 
t1=t; 
[y,t2]=step(h,t); 
l=length(y); 
hmax=max(y); 
hxl=y(l); 
disp('do qua dieu chinh cuc dai'); 
qdc=((hmax-hxl)/hxl)*100 
n=0; 
ts=0; 
%%%% 
for i=1:(l-1) 
 if (y(i)>=(0.95*hxl))&(y(i-1)<=(0.95*hxl)) 
Gi¸o tr×nh Kü thuËt lËp tr×nh 
140
 ts1=i; 
 n=n+1; 
 d1=y(ts1); 
 end 
end 
%%%%%%55 
for i=1:(l-1) 
 if (y(i)>=(1.05*hxl))&(y(i-1)<=(1.05*hxl)) 
 ts2=i; 
 d2=y(ts2); 
 n=n+1; 
end 
end 
%%%%%%%%%%%%%5555 
for i=ts2:(l-1) 
 if (y(i-1)>=(1.05*hxl))&(y(i)<=(1.05*hxl)) 
 ts2=i; 
 d2=y(ts2); 
end 
end 
%%%%%%%%%%%%%555 
n=n-1 
if n>=1 
if ts1<ts2 
 disp('thoi gian on dinh') 
 Td=t2(ts2) 
else 
 disp('thoi gian on dinh') 
 Td=t2(ts1) 
end 
else 
disp('thoi gian on dinh') 
 Td=t2(ts1) 
end 
disp('so lan giao dong'); 
 n 
%%%%5 ve qua trinh qua do 
 step(h,[t]); 
 hold on 
Gi¸o tr×nh Kü thuËt lËp tr×nh 
141
%%%% ve hai duong thang y=0.95yxl va y=1.05yxl 
 a=0.95*hxl; 
 b=1.05*hxl; 
 x=linspace(0,t1,400); 
 plot(x,a,'r',x,b,'r') 
 grid on 
 hold off 
Thay các giá trị Kp tương ứng vào chương trình ta được: 
Kp Ki T/ gian qúa 
độ 
n(só dao động) độ quá điều chỉnh cực 
đại 
0.1 0.1 6.04 11 73.188 
0.01 0.1 9 1 8.352 
0.02 0.1 2.4 1 13.821 
0.03 0.1 1.7 1 24.5 
0.04 0.1 2.8 3 34.1 
Qua bảng ta thấy, để có độ quá điều chỉnh cực đại nhỏ thì thời gian quá độ phải lớn. 
Với bộ điều khiển PI chưa thể đáp ứng được yêu cầu đề ra, 
Thiết Kế bộ điều khiển PID: 
Với bài toán trên thì bộ điều khiển PID không đáp ứng được chỉ tiêu đề ra. Sử dụng 
bộ điều khiển PID. 
Bộ điều khiển PID có hàm truyền đạt: 
 )2)(1()( 2
s
KKpKdssG I++= 
Nghĩa là bao gồm bộ điều khiển PI mắc nối tiếp với bộ điều khiển PD. 
Với kết quả đã có khi thiết kế bộ điều khiển PI Chọn Kp2=0.03 và Ki2=0.003 
Lúc này hàm truyền đạt hở của hệ thống có bộ điều khiển PID : 
)
)10)(5(
)1.0)(*11(5000)( 2 ++
++=
sss
ssKdsG 
Xây dựng QĐNS xác định ảnh hưởng của tham số Kd1. Phương trình xây dựng QĐNS 
khi Kd1 thay đổi dạng sau: 
)
)1.0(150)10)(5(
)1.0(*11501 2 ++++
++
ssss
ssKd 
Khi Kd1 thay đổi ta được QĐNS. 
Khi Kd1 thay đổi ta nhận được QĐN như hình dưới. 
Chúng ta thử chương trình 
Gi¸o tr×nh Kü thuËt lËp tr×nh 
142
Bài Tập: 
Bài tập1 
Xét bộ điều khiển có HTĐ của đối tượng điều khiển là 
0067.0
0067.0)( 2 += ssG 
Bộ điều khiển PID dùng để cải thiện chất lượng hệ thống kín có phản hồi âm đơn vị. Các 
chỉ tiêu chất lượng mông muốn là: 
Thời gian quá độ 3 giây. 
Độ quá điều chỉnh cực đại: 5%. 
Hãy tính toán các tham số Kp, KD , Ki để đạt được chỉ tiêu đề ra. 

File đính kèm:

  • pdfGiáo trình Kỹ thuật lập trình Matlab.pdf