Tải bản đầy đủ (.docx) (40 trang)

Báo cáo thí nghiệm hệ thống điều khiển số

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (673.68 KB, 40 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
----------

Báo cáo thí nghiệm hệ thống điều
khiển số

Lớp
Kíp

: CN KT Điều khiển & Tự động hóa 1-K56
: Kíp 2, sáng thứ 6, tuần 32,34,36

HÀ NỘI -2016

1


Bài tập thực hành số 1-Tìm mô hình gián đoạn của ĐCMC
1. Sử dụng phương pháp đã học(mục 1.3.2b, tài liệu [1]) để xác định hàm
truyền đạt trên miền ảnh Z thích hợp để thiết kế vòng trong cùng điều khiển
dòng phần ứng (tài liệu [2],hình 9.10). Chu kỳ trích mẫu được chọn là
T1=0.1ms và T2 =0.01 ms.
 Động cơ có các tham số:
-Điện trở phần ứng
RA =250m
-Điện cảm phần ứng
LA =4mH
-Từ thông danh định ΨA =0,04Vs
-Momen quán tính
J=0,012kgm2
-Hằng số động cơ


ke=236,8 và kM=38,2
-Hằng số thời gian phần ứng TA = = 0,016
 Vòng điều chỉnh dòng phần ứng ĐCMC

Giả thiết bỏ qua sức từ động cảm ứng eA thực hiện thiết kế vòng điều khiển dòng
phần ứng. Ta được mô hình:

Thiết bị chỉnh lưu được mô tả giống khâu quán tính bậc 1 liền ngay sau khâu ĐC
dòng với hằng số thời gian Tt=100us.
Khi đó hàm truyền đạt của mô hình đối tượng điều khiển dòng:
Gi(s)=
Thay số ta được:
Gi(s)= =
Sử dụng phương pháp đã học tìm hàm truyền đạt trên miền Z với hai chu kì trích
mẫu Ttm=0.1 ms và 0.01 ms để tìm Giz1 và Giz2
Để tính hàm Giz1 và Giz2 ta thực hiện theo sơ đồ bên phải sau:

2


Phân tích Gi(s) /s thành tổng các phân thức hữu tỉ:
= ++
Các hệ số A,B,C được xác định theo công thức Heaviside:
Ta thu được kết quả:
A= 1/Ra=4
B=(1/Ra)*Tt/(Ta-Tt)=4/159
C=(1/Ra)*Ta/(Tt-Ta)= -640/159
Biến đổi Z cho G(s)/s ta thu được ảnh H(z):
H(z) = + - với T là chu kì trích mẫu.
Suy ra:

G(z) = (1-z-1).H(z)=(1-z-1)( + - )
Với T=Ttm1=0,1 ms ta có
Giz1=
Với T=Ttm2= 0.01 ms ta có
Giz2=
2. Sử dụng lệnh C2d của matlab để tìm hàm truyền đạt trên miền ảnh Z theo
các phương pháp ZOH,FOH và TUSTIN.
Chương trình Matlab tìm hàm truyền đạt Gi(s) khâu điều chỉnh dòng điện:
>> Ra=250e-3;
>> La=4e-3;
>> Ta=La/Ra;
>> Tt=100e-6;
>> Ttm1=0.1e-3;
>> Ttm2=0.01e-3;
Hàm truyền đạt trên miền liên tục:
>> Gi=tf([0 1],[Tt 1])*(1/Ra)*tf([0 1],[Ta 1])
Gi =

3


4
-------------------------1.6e-06 s^2 + 0.0161 s + 1
 Với chu kì trích mẫu là Ttm1=0.1e-3 ta có
+ Hàm truyền đạt trên miền ảnh Z sử dụng phương pháp ZOH
>> Gi1=c2d(Gi,Ttm1,'zoh')
Gi1 =
0.009176 z + 0.006577
---------------------z^2 - 1.362 z + 0.3656
Sample time: 0.0001 seconds

+Hàm truyền đạt trên miền ảnh Z sử dụng phương pháp FOH
>> Gi2=c2d(Gi,Ttm1,'foh')
Gi2 =
0.003298 z^2 + 0.01046 z + 0.001998
----------------------------------z^2 - 1.362 z + 0.3656
Sample time: 0.0001 seconds
+Hàm truyền đạt trên miền Z sử dụng phương pháp TUSTIN
>> Gi3=c2d(Gi,Ttm1,'tustin')
Gi3 =
0.004154 z^2 + 0.008307 z + 0.004154
-----------------------------------z^2 - 1.327 z + 0.3313
Sample time: 0.0001 seconds
+Hàm truyền đạt trên miền ảnh Z tính bằng tay với chu kì trích mẫu Ttm1:
>> Gi7=tf([9.17637e-3 6.57735e-3],[1 -1.36164 0.365587],Ttm1)
Gi7 =
0.009176 z + 0.006577
---------------------z^2 - 1.362 z + 0.3656
Sample time: 0.0001 seconds
 Với chu kì trích mẫu là Ttm2=0.01e-3 ta có:
+Hàm truyền trên miền Z sử dụng phương pháp ZOH:
>> Gi4=c2d(Gi,Ttm2,'zoh')
Gi4 =
0.0001209 z + 0.0001169
----------------------z^2 - 1.904 z + 0.9043
Sample time: 1e-05 seconds
+Hàm truyền trên miền Z sử dụng phương pháp FOH:
4


>> Gi5=c2d(Gi,Ttm2,'foh')

Gi5 =
4.064e-05 z^2 + 0.0001585 z + 3.865e-05
--------------------------------------z^2 - 1.904 z + 0.9043
Sample time: 1e-05 seconds
+Hàm truyền trên miền Z sử dụng phương pháp TUSTIN:
Gi6 =
5.951e-05 z^2 + 0.000119 z + 5.951e-05
-------------------------------------z^2 - 1.904 z + 0.9042
Sample time: 1e-05 seconds
+Hàm truyền đạt trên miền Z tính bằng tay với chu kì trích mẫu Ttm2
>> Gi8=tf([0.12091e-3 0.11692e-3],[1 -1.90421261 0.90427207],Ttm2)
Gi8 =
0.0001209 z + 0.0001169
----------------------z^2 - 1.904 z + 0.9043
Sample time: 1e-05 seconds
Như vậy ta thu được bảng sau:
ZOH
FOH
TUSTIN
Tính tay
Ttm1
Gi1
Gi2
Gi5
Gi7
Ttm2
Gi4
Gi5
Gi6
Gi8

3. Mô phỏng khảo sát so sánh kết quả mô phỏng với các mô hình gián
đoạn thu được.
Câu lệnh trong Matlab
>> step(Gi)
>> hold on
>> step(Gi1)
>> step(Gi4)
>> step(Gi2)
>> step(Gi5)
>> step(Gi3)
>> step(Gi6)
>> step(Gi7)
>> step(Gi8)

5


Hình 1: Đồ thị đáp ứng

Hình 2: Đồ thị đáp ứng phóng to
Nhận xét:
+Đồ thị 8 đường Gi1 đến Gi8 đều bám sát theo đồ thị Gi.
+Nếu chu kì trích mẫu càng bé thì bám theo càng chính xác.
+Các phương pháp FOH,ZOH, Tustin cho kết quả khá tốt.
+Đáp ứng kết quả tính hay có sai lệch một chút so với các phương pháp
FOH,ZOH và Tustin nhưng cũng tương đối khá chính xác.

6



4. Xây dựng mô hình trạng thái của động cơ một chiều trên miền thời
gian liên tục. Sử dụng phương pháp đã học để gián đoạn hoa mô hình với giả
thiết chu kì trích mẫu là T=0.01s và T=0.1s. Mô phỏng khảo sát đáp ứng bước
nhảy của 2 mô hình thu được.
Mô hình động cơ DC

4.1 Xây dựng mô hình trạng thái của động cơ 1 chiều.
Ta có hàm truyền đạt vòng hở:
Gh(s) = . .kM ψ.
>> Gh=tf(1,[4/250 1])*(1/250e-3)*38.2*0.04*tf(1,[2*pi*0.012 0])
Gh =
6.112
----------------------0.001206 s^2 + 0.0754 s
Hàm truyền đạt vòng kín:
Gk(s) =
Chương trình Matlab tìm hàm truyền đạt hệ kín:
>> Gk=feedback(Gh,236.8*0.04)
Gk =
6.112
------------------------------0.001206 s^2 + 0.0754 s + 57.89
>> step(Gk)

7


Mô hình trạng thái trên miền liên tục:
Trong đó A,B,C,D xác định nhờ Matlab:
>> [A,B,C,D] = tf2ss(6.112,[0.001206 0.0754 57.89])
A=
1.0e+04 *

-0.0063 -4.8002
0.0001
0
B=
1
0
C=
1.0e+03 *
0 5.0680
D=
0
Mô hình trạng thái trên miền gián đoạn:
Với chu kì trích mẫu T3= 0.1s
>> [Ak1 Bk1]=c2d(A,B,0.1)
Ak1 =
-0.0438 -2.9271
0.0001 -0.0399
Bk1 =
1.0e-04 *
0.6098
0.2166
>> H1=ss(Ak1,Bk1,C,D,0.1)
H1 =
a=
x1
x2
8


x1 -0.04376 -2.927

x2 6.098e-05 -0.03995
b=
u1
x1 6.098e-05
x2 2.166e-05
c=
x1 x2
y1 0 5068
d=
u1
y1 0
Sample time: 0.1 seconds
Với chu kì trích mẫu T4=0.01s
>> [Ak2 Bk2]=c2d(A,B,0.01)
Ak2 =
-0.4989 -133.8566
0.0028 -0.3245
Bk2 =
0.0028
0.0000
>> H2=ss(Ak2,Bk2,C,D,0.01)
H2 =
a=
x1
x2
x1 -0.4989 -133.9
x2 0.002789 -0.3245
b=
u1
x1 0.002789

x2 2.759e-05
c=
x1 x2
y1 0 5068
d=
u1
y1 0
Sample time: 0.01 seconds
Mô phỏng khảo sát đáp ứng bước nhảy của mô hình
Ta có đồ thị mô phỏng:

9


Nhận xét:
-Ta thấy thời gian quá độ và độ quá điều chỉnh còn tương đối lớn.
-Với chu kỳ trích mẫu lớn hơn T=0.1s sẽ tránh được độ quá điều chỉnh lớn mặc
dù thời gian quá độ vẫn tương đương ban đầu.
Xây dựng mô hình động cơ DC bằng biến đổi trực tiếp
Từ sơ đồ cấu trúc của ĐCMC kích từ độc lập ta có hàm truyền đạt của sơ đồ trên
như sau:
Ta có Gh(s)= ... km*ψ
GDC(s)= =
Từ đó ta có mô hình trạng thái của ĐCMC trên miền thời gian liên tục là:
+
Từ mô hình trên ta có các ma trận trạng thái :
A=
; B= ; C= (1 0) ; D=0
Ta có ma trận (sI-A)=
det (sI-A) =

Và =
Ta có = +
=
= 1(t) + 1(t)
Tương tự với các phân thức còn lại ta có
= 1(t)
= 1(t)
10


=
=
= 1(t) + 1(t)
Mặt khác ta có:
{ mà = ( với T là chu kì trích mẫu).
Từ đó ta có được các phần từ của ma trận là:
= 1(t) + 1(t)
= 1(t)
= 1(t)
= 1(t) + 1(t)
Ma trận H = .( I).B
Mà = ; ( I) = ;
B=
Ma trận H có các phần tử là:
= 5069,002.[]
= 5069,002
- Với chu kì trích mẫu Ttm1=0.1s
Ta có Ф11=0,0432; Ф12=0,7487.10-4; Ф21= -3,5946; Ф22=0,0385
→ Ф2 = ()
Ta có: H11 = 0,1012; H21 = 0,3795

→H2 = ()

-Với chu kì trích mẫu Ttm2=0,01s
Ta có: Ф11 = 0,7351; Ф12 = 1,2766.10-4; Ф21 = -6,1294; Ф22 = 0,7271
→ Ф2 = ()
Ta có H11 = 0,0297; H21 = 0,6471.
→H2 = ()

4.2 Kiểm tra tính điều khiển được và quan sát được của đối tượng
Mô hình gián đoạn h1 với T=T3=0.1s
Tính điều khiển được
>> q1=ctrb(Ak1,Bk1)
q1 =
1.0e-04 *
0.6098 -0.6608
0.2166 -0.0086
>> rank(q1)
ans =
2
Ta thấy, hạng của ma trận điều khiển q1: rank(q1)=2, do đó, đối tượng điều khiển
được.
Tính quan sát được

11


>> m1=obsv(Ak1,C)
m1 =
1.0e+03 *
0 5.0680

0.0003 -0.2024
>> rank(m1)
ans =
2
Ta thấy, hạng của ma trận quan sát: rank(m1)=2, do đó đối tượng quan sát được
Mô hình gián đoạn h2 với T=Ttm2=0.01s
Tính điều khiển được:
>> q2=ctrb(Ak2,Bk2)
q2 =
0.0028 -0.0051
0.0000 -0.0000
>> rank(q2)
ans =
2
Ta thấy rank(q2)=2 dp đó đối tượng điều khiển được
Tính quan sát được
>> m2=obsv(Ak2,C)
m2 =
1.0e+03 *
0 5.0680
0.0141 -1.6446
>> rank(m2)
ans =
2
Ta thấy rank(m2)=2 do đó đối tượng quan sát được.

12


BÀI THỰC HÀNH SỐ 2

Tổng hợp vòng điều chỉnh dòng phần ứng (điều khiển
mômen quay)

Đối tượng Giz7 (tính tay, chu kì trích mẫu )
Với hàm: (theo kết quả bài 1)
Giz7 =
>> Az = filt([1 -1.36164 0.365587],[1],0.1e-3)
Az= 1 - 1.362 z^-1 + 0.3656 z^-2
>> Bz = filt([0 0.00917637 0.00657735],[1],0.1e-3)
Bz = 0.009176 z^-1 + 0.006577 z^-2
>> Gz = Bz/Az
Gz =
0.009176 z^-1 + 0.006577 z^-2
----------------------------1 - 1.362 z^-1 + 0.3656 z^-2
>> a0 = 1, a1 = -1.36164, a2 = 0.365587
13


>> b0 = 0, b1= 0.00917637, b2 = 0.00657735
1.Phương pháp hữu hạn
a.Bậc 1
>> l0 = a0/((a0-a1)*(b0+b1+b2))
26.8784
>> l1 = -a1/((a0-a1)*(b0+b1+b2))
36.5987
>> L1= filt([l0 l1],[1],0.1e-3)
26.88 + 36.6 z^-1
Hàm truyền của bộ điều khiển
>> Gr = L1*Az/(1-L1*Bz)
Gr =

26.88 - 40.01 z^-2 + 13.38 z^-3
------------------------------------------1 - 0.2466 z^-1 - 0.5126 z^-2 - 0.2407 z^-3
Hàm truyền của hệ kín
>> Gk = Gr*Gz/(1+Gr*Gz)
Gk =
0.2466 z^-1 - 0.2199 z^-2 - 0.6049 z^-3 + 0.574 z^-4 + 0.344 z^-5 - 0.2997 z^-6
- 0.102 z^-7 + 0.04492 z^-8 + 0.02471 z^-9 - 0.007745 z^-1
----------------------------------------------------------------------------------1 - 2.97 z^-1 + 2.744 z^-2 - 0.4779 z^-3 - 0.2905 z^-4 - 0.1449 z^-5 + 0.1711 z^-6
- 0.03217 z^-7 - 1.979e-18 z^-8 - 4.885e-18 z^-9
>> step(Gk)

14


b.Bậc 2
>> l01 = a0*a0/((a0*a0+a1*a1-a0*(a0+a1))*(b0+b1+b2))
19.7397
>> l11 = -a0*a1/((a0*a0+a1*a1-a0*(a0+a1))*(b0+b1+b2))
26.8784
>> l12 = (a1*a1-a0*a2)/((a0*a0+a1*a1-a0*(a0+a1))*(b0+b1+b2))
29.3821
>> L2 = filt([l01 l11 l12],[1],0.1e-3)
19.74 + 26.88 z^-1 + 29.38 z^-2
Hàm truyền bộ điều khiển
>> Gr2 = L2*Az/(1-L2*Bz)
Gr2 =
19.74 + 8.882e-16 z^-2 - 30.18 z^-3 + 10.74 z^-4
--------------------------------------------------------1 - 0.1811 z^-1 - 0.3765 z^-2 - 0.4464 z^-3 - 0.1933 z^-4
Hàm truyền hệ kín
>> Gk1 = Gr2*Gz/(1+Gr2*Gz)

Gk1 =
0.1811 z^-1 - 0.1496 z^-2 - 0.1576 z^-3 - 0.2463 z^-4 + 0.3775 z^-5 + 0.2136 z^-6
- 0.1324 z^-7 - 0.06922 z^-8 - 0.05536 z^-9 + 0.02915 z^-10 + 0.01412 z^-11
- 0.004992 z^-12
-----------------------------------------------------------------------------------1 - 2.904 z^-1 + 2.702 z^-2 - 0.885 z^-3 + 0.3631 z^-4 - 0.2772 z^-5 - 0.1055 z^-6
+ 0.1327 z^-7 - 0.02583 z^-8 - 2.23e-17 z^-9 + 5.07e-18 z^-10 + 1.961e-18 z^
-11
15


>> step(Gk1)

2.Phương pháp cân bằng mô hình
a.N=2
Chọn Gw2 = x1z^-1 + x2z^-2 với x1+x2 = 1
Chọn x1 = 0.4, x2 = 0.6
>> Gw2 = filt([0 0.4 0.6],[1],0.1e-3)
Gw2 = 0.4 z^-1 + 0.6 z^-2
Hàm truyền bộ điều khiển
>> Gr3 = Gw2/((1-Gw2)*(Bz/Az))
Gr =
0.4 + 0.05534 z^-1 - 0.6707 z^-2 + 0.2194 z^-3
-------------------------------------------------------0.009176 + 0.002907 z^-1 - 0.008137 z^-2 - 0.003946 z^-3
Hàm truyền hệ kín
>> Gk3 = (Gr * Gz)/(1+Gr * Gz)
Gk3 =
0.2466 z^-1 - 0.2199 z^-2 - 0.6049 z^-3 + 0.574 z^-4 + 0.344 z^-5 - 0.2997 z^-6
- 0.102 z^-7 + 0.04492 z^-8 + 0.02471 z^-9 - 0.007745 z^-10
----------------------------------------------------------------------------------1 - 2.97 z^-1 + 2.744 z^-2 - 0.4779 z^-3 - 0.2905 z^-4 - 0.1449 z^-5 + 0.1711 z^-6
- 0.03217 z^-7 - 1.979e-18 z^-8 - 4.885e-18 z^-9

Kiểm tra tính ổn định
16


>> pole(Gk3)
ans =
0
0
0
0
0
0
-0.3767 + 0.3144i
-0.3767 - 0.3144i
1.0000
0.9938
0.9938
0.3679
0.3679
-0.0000 + 0.0000i
-0.0000 - 0.0000i
Kết luận: Hệ ổn định vì tất cả các điểm cực đều nằm trong đường tròn đơn vị
>> step(Gk3)

b.N = 3
>> Gw3 = filt([0 0.3 0.5 0.2],1,0.1e-3)
Gw3 = 0.3 z^-1 + 0.5 z^-2 + 0.2 z^-3
Hàm truyền bộ điều khiển

17



>> Gr4 = Gw3 / ((1-Gw3) * Gz)
Gr4 =
0.3 + 0.09151 z^-1 - 0.3711 z^-2 - 0.08953 z^-3 + 0.07312 z^-4
-----------------------------------------------------------------------0.009176 + 0.003824 z^-1 - 0.006561 z^-2 - 0.005124 z^-3 - 0.001315 z^-4
Hàm truyền hệ kín
>> Gk4 = (Gr4 * Gz)/(1+Gr4 * Gz)
Gk4 =
2.526e-05 z^-1 + 1.943e-06 z^-2 - 7.328e-05 z^-3 - 1.496e-05 z^-4 + 7.627e-05 z^
-5 + 2.55e-05 z^-6 - 3.256e-05 z^-7 - 1.539e-05 z^-8 + 4.389e-06 z^-9
+ 3.131e-06 z^-10 - 7.892e-08 z^-11 - 2.313e-07 z^-12
--------------------------------------------------------------------------------8.421e-05 - 0.0001339 z^-1 - 7.73e-05 z^-2 + 0.0001682 z^-3 + 2.54e-05 z^-4
- 6.947e-05 z^-5 - 9.679e-06 z^-6 + 1.115e-05 z^-7 + 2.496e-06 z^-8
- 1.156e-06 z^-9 + 2.175e-22 z^-10 + 5.214e-23 z^-11
Kiểm tra tính ổn định
>> pole(Gk4)
ans =
0
0
0
0
0
0
0
0
1.0000
0.9938
0.9938
-0.7168

-0.7168
-0.3500 + 0.2784i
-0.3500 - 0.2784i
0.3679
0.3679
0.0000
-0.0000
Vì tất cả các điểm cực đều nằm bên trong đường tròn đơn vị nên hệ ổn định
>> step(Gk4)
18


3.Mô phỏng bằng Simulink

Kết quả mô phỏng với final value của step1 =5723, của step2=723, của step3=23.

19


Nhận xét : Kết quả mô phỏng của Simulink giống với kết quả tính theo hàm truyền

BÀI THỰC HÀNH SỐ 3
Tổng hợp vòng điều chỉnh tốc độ quay
Sơ đồ vòng điều chỉnh tốc độ quay:

Ta có hàm truyền đạt của đối tượng điều khiển vòng điều chỉnh tốc độ là :
Gn= Gkín(bài 2)kMΨ
Để đơn giản ta xấp xỉ Gk(bai2) một khâu tích phân quán tính bậc nhất:
20



Gk(bai2)=1/(1+2*Tt*s)
Ta dùng câu lệnh sau để tính Gnz:
Gns= Km*phi/((1+2*Tt*s)(2*pi*J*s))
Sử dụng Matlab thực hiện biến đổi z theo phương pháp ZOH và T = 0.1ms ta có:
>> Gnz=c2d(Gn,0.1e-3,'zoh')
Gnz =
0.0004318 z + 0.0003656
----------------------z^2 - 1.607 z + 0.6065
Sample time: 1e-05 seconds
Đánh giá hàm quá độ Gnz

Nhận xét: Đối tượng không ổn định
1. Tổng hợp bộ điều khiển PI cho tốc độ theo phương pháp gán điểm cực
Trình bày phương pháp
-Viết lại hàm truyền đối tượng điều khiển tốc độ:
Gnz = = =
Bộ điều khiển có dạng:
GR(z) = =
Tham số đã biết: p1 = -1. Cần tìm r0 và r1:
Đa thực đặc tính của hàm truyền hệ kín:
N(z) = P(z)An(z) + R(z)Bn(z)
=(z-1)(a0z^2 + a1z + a2) + (r0z + r1)(b0z^2 + b1z +b2)
21


=(a0+r0b0)z^3 + (a1 - a0+b1r0+r1b0)z^2 + (-a1+a2+b2r0+r1b1)

z + (b2r1-a-


2).

Để hệ kín ổn định thì N(z) phải có tất cả các nghiệm thuộc vòng tròn đơn vị.
N(z) = (z – zi) với zi chọn thuộc vòng tròn đơn vị.
Giả sử hệ kín có các điểm cực z1,z2,z3. Với z1 ,z2 chọn trước, z3 là ẩn.
z1 + z2 =m1 , z1.z2 =m2
Ta có:
N(z) = (z-z1)(z-z2)(z-z3)
=z^3 + (-z1 + -z2 + -z3)z^2 + (z1z2 + z1z3 +z2z3)z + (-z1z2z3)
Cân bằng 2 vế ta có hệ phương trình:
(*)
AX=B
=
X=A-1B
Chương trình Matlab
>> b0=0;b1=0.0004318;b2=0.0003656;a0=1;a1=-1.607;a2=0.6065;
>> z1=0.987+0.02i;z2=0.987-0.02i;m1=z1+z2;m2=z1*z2;p1=-1;
>> A=[b1 b0 1;b2 b1 -m1;0 b2 m2]
A=
0.0004

0 1.0000

0.0004

0.0004 -1.9740

0 0.0004 0.9746
>> B=[-m1-a1+a0;m2-a2+a1;a2]
B=

0.6330
-1.2389
0.6065

22


>> X=A\B
X=
13.3509
-13.0849
Khai báo các ma trận R, P, An, Bn
>> An=tf([1 -1.6067 0.6065],[0 0 1],0.1e-3)
An = z^2 - 1.607 z + 0.6065
>> Bn=tf([0 0.0004318 0.0003656],[0 0 1],0.1e-3)
Bn =0.0004318 z + 0.0003656
>> P=tf([1 p1],[1],0.1e-3)
P =z - 1
>> R=tf([13.3509 -13.0849],[1],0.1e-3)
R = 13.35 z - 13.08
Hảm truyền bộ điều khiển PI là:
>> Grn=tf([X(1) X(2)],[1 p1],0.1e-3)
Grn =
13.35 z - 13.08
--------------z-1
Hàm truyền hệ kín bài 3
>> Gk3=(R*Bn)/(P*An+R*Bn)
Gk3 =
0.005765 z^2 - 0.000769 z - 0.004784
-----------------------------------z^3 - 2.601 z^2 + 2.212 z - 0.6113

Kiểm tra điểm cực của hệ:
>> pole(Gk3)

23


ans =
0.9866 + 0.0197i
0.9866 - 0.0197i
0.6278
Vẽ đồ thị sử dụng Matlab
>> step(Gk3)

Nhận xét: Độ quá điều chỉnh và thời gian xác lập đều thỏa mãn yêu cầu là 29.6% nhỏ
hơn 30% và 0.12(s).
3.Tổng hợp bộ điều chỉnh PI theo phương pháp tiêu chuẩn tích phân bình phương.
Bộ điều chỉnh PI số có dạng:
r0 + r1 z −1 R( z −1 )
GRn ( z ) =
=
1 + p1 z −1 P ( z −1 ) chọn
−1

p1 = −1

Đối tượng điều khiển:
=B(z)/A(z)
Sai lệch điều chỉnh :E(z)=W(z)/(1+Gr*Gn)
=>>E(z)*(P(z)*A(z)+R(z)*B(z))=P(z)*A(z)*W(z)
=>>E(z)*[ z3+ (-1+a1+b1.r0).z2+ (a2-a1+b1.r1+b2.r0).z +(b2.r1 -a2)]= W(z)*[z3+(a1-1) z2+

(a2-a1)*z-a2]
Đưa về dạng sai phân:
ek= -ek-1*k1 - ek-2*k2 - ek-3*k3 + wk+ wk-1*k4 + wk-2*k5 - wk-3*a2
vớik1=(a1-1+b1.r0); k2= (a2-a1+b1.r1+b2.r0); k3=(b2.r1 -a2); k4=(a1-1); k5= (a2-a1);
24


Tiêu chuẩn tích phân bình phương:

Mô phỏng khảo sát:
Sử dụng Optimization toolbox của Matlab:
Ta có mô hình hàm truyền được tính theo phương pháp gián đoạn hóa từ phần trước:
Tạo file “bai3a.m” lưu ở folder đã liên kết với Matlab có nội dung như sau:
function Ik = bai3(r)
b0= 0; b1= 0.0004318; b2= 0.0003656;
a0= 1; a1= -1.607; a2= 0.6065;
k1=(a1-1+b1*r(1)); k2= (a2-a1+b1*r(2)+b2*r(1)); k3=(b2*r(2)-a2); k4=(a1-1);
k5= (a2-a1);
e0=1;
e(1)=1-b1*r(1);
e(2)=-e(1)*k1-k2+1+k4+k5;
e(3)=-e(2)*k1-e(1)*k2-k3;
k=4:300;
w(k)=1; w(k-1)=1; w(k-2)=1; w(k-3)=1;
Ik =0;
for k = 4:1:300
e(k)= -e(k-1)*k1 - e(k-2)*k2 - e(k-3)*k3 + w(k)+ w(k-1)*k4 + w(k-2)*k5 - w(k)3*a2;
Ik = Ik + e(k)^2;
end
Cửa sổ lệnh Matlab thực hiện các lệnh tìm tối ưu như sau:

>>options=optimset('fminunc');
>>options=optimset(options,'Display','iter','LargeScale','off');
>> r0=[-1 1];
>> [r1,fval]=fminunc('bai3a',r0,options);
First-order
Iteration Func-count
f(x)
Step-size
optimality
0
3 6.39045e+12
1.41e+14
1
6 3.80056e+09 7.09935e-15
9.97e+08
2
21 3.75626e+09
7381
1.04e+09
3
24 3.74248e+09
1
2e+09
4
27 3.74205e+09
1
1.85e+09
5
36
3.73974e+09

91
1.95e+09
6
39
3.7211e+09
1
2.43e+09
7
42 3.67625e+09
1
3.07e+09
8
45
3.5525e+09
1
3.89e+09
9
48 3.24169e+09
1
4.14e+09
10
51 2.56437e+09
1
2.15e+09
11
54 2.15468e+09
1
3.67e+09
25



×