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.
ự 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:
Giáo trình Kỹ thuật lập trình Matlab.pdf

