Tải bản đầy đủ (.pdf) (15 trang)

Giáo trình mô hình hóa - Chương 3 doc

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 (260.35 KB, 15 trang )

Giáo trình Mô hình hoá
Bộ môn Tự động hoá Khoa Điện
21
Chơng 3- Mô phỏng hệ thống liên tục
3.1- Khái niệm chung về mô hình hệ thống liên tục
Hệ thống liên tục là hệ thống mà trong đó các trạng thái và thuộc tính của hệ thay đổi
một cách liên tục. Mô hình toán học của hệ thống liên tục thờng là phơng trình vi phân.
Trờng hợp đơn giản nhất đó là hệ phơng trình vi phân tuyến tính hệ số hằng và đợc giải
một cách dễ dàng bằng phơng pháp giải tích. Tuy nhiên, khi mô hình có phần tử phi tuyến
nh phần tử bão hoà, phần tử trễ, phần tử có vùng chết, thì phơng pháp giải tích khó hoặc
không thể giải đợc. Trong trờng hợp này hợp lý nhất là dùng phơng pháp mô phỏng để giải
bài toán. ngời ta có thể dùng máy tính tơng tự hoặc máy tính số để mô phỏng hệ thống liên
tục.
3.2- Dùng máy tính tơng tự để mô phỏng hệ thống liên tục
Máy tính tơng tự đã có quá trình phát triển lâu dài và đã góp phần giải các bài toán của
hệ thống liên tục tuyến tính cũng nh phi tuyến. Máy tính tơng tự đợc dùng rất rộng rãi nhất
là máy tính tơng tự điện tử mà phần tử cơ bản của nó là các bộ khuếch đại thuật toán
OPAMP (Operational Amplifier). Điện áp của máy tính biểu thị biến số mô hình toán học.
Khuếch đại thuật toán có thể làm thành các bộ cộng, tích phân và bộ đảo dấu điện áp do đó nó
có thể giải các phơng trình vi phân dùng để mô hình hoá hệ thống liên tục. Máy tính tơng tự
bị hạn chế bởi độ chính xác không cao do nhiều nguyên nhân: do độ chính xác của phép đo
điện áp, do hiện tợng trôi điểm không của khuếch đại thuật toán, Nói chung, độ chính xác
của máy tính tơng tự không vợt quá 0,1%. Một hạn chế quan trọng khác của máy tính tơng
tự là đối với từng hệ thống cụ thể phải lắp ráp và hiệu chỉnh máy tính, hơn nữa máy tính không
có khả năng phát triển mềm dẻo khi muốn thay đổi cấu trúc của hệ thống. Từ khi có máy tính
số, máy tính tơng tự ít đợc sử dụng vào mô phỏng. Tuy nhiên máy tính tơng tự còn đợc sử
dụng trong một số trờng hợp nh làm thiết bị mô phỏng của hệ thống sản xuất hoá chất, sinh
học hoặc dùng trong mô phỏng hỗn hợp. Xét một hệ thống liên tục đợc mô hình hoá bằng
phơng trình vi phân tuyến tính sau:
2
2


dx dx
BxF(t)
dt dt
++= (3.1)
Giả thiết rằng các điều kiện đầu bằng không và các hệ số trong phơng trình vi phân đều
là hằng số.
Với B > 1, có thể viết (3.1) thành phơng trình sau:
xBxxF(t)= +
&& &
(3.2)
Dựa vào phơng trình (3.2)
ta có thể xây dựng đợc sơ đồ
khối của máy tính tơng tự nh
hình 3.1 để giải phơng trình
trên.
Để nhận đợc đáp ứng của
hệ thống ngời ta phải đặt tín
hiệu F(t) vào bộ cộng. Qua hai
B
F(t)
x
&&
x
&
x
Hình 3.1- Sơ đồ khối của máy tính tơng tự để giải
phơng trình vi phân (3.2)
Giáo trình Mô hình hoá
Bộ môn Tự động hoá Khoa Điện
22

khối tích phân ta nhận đợc tín hiệu ta x, tức là lời giải của phơng trình. Hiệu chỉnh hệ số B
để đợc đặc tính ra mong muốn.
3.3- Dùng máy tính số để mô phỏng hệ thống liên tục
Từ khi máy tính số ra đời đến nay đã hơn nửa thế kỷ, máy tính số đã phát triển rất nhanh
và đợc ứng dụng vào hầu hết các lĩnh vực hoạt động của con ngời. Do ngày nay chủ yếu
dùng máy tính số nên từ đây về sau thuật ngữ máy tính số đợc gọi tắt là máy tính MT
(computer). Trong lĩnh vực mô hình hoá, máy tính là công cụ chủ yếu để thực hiện việc mô
phỏng hệ thống. Sau đây chúng ta sẽ nghiên cứu máy tính làm việc nh thế nào trong việc mô
hình hoá hệ thống.
3.3.1- Phơng trình máy tính
Dùng máy tính để mô hình hoá hệ thống có nghĩa là đa vào máy tính các dữ liệu ban
đầu, máy tính xử lý các dữ liệu đó theo chức năng hoạt động của hệ thống S, đầu ra của máy
tính cho ta các trạng thái của hệ thống S theo thời gian.
Tín hiệu vào [X
k
] và
tín hiệu ra [Y
k
] của máy
tính đều là những tín hiệu
số (gián đoạn). Sau đây ta
sẽ xét quan hệ giữa chúng.
Bớc gián doạn hoá
T (Bớc cắt mẫu hay chu
kỳ cắt mẫu) là nhịp làm
việc của máy tính.
Dãy tín hiệu vào
[X
k
] = [x(0), x(T),

x(2T), , x(kT)].
Dãy tín hiệu ra
[Y
k
] = [y(0), y(T),
y(2T), , y(kT)].
Khi khảo sát ta chấp nhận giả thiết là thời gian tính toán của máy tính không đáng kể
nên có thể bỏ qua, có nghĩa là dãy tín hiệu ra [Y
k
] hoàn toàn đồng bộ với dãy tín hiệu vào
[X
k
].
Tín hiệu ra ở thời điểm k tức y(kT) phụ thuộc vào giá trị của n tín hiệu ra và m+1 tín
hiệu vào xảy ra trớc đó. Các giá trị của m tín hiệu vào và n tín hiệu ra đợc lu trữ trong bộ
nhớ của máy tính. Nh vậy, quan hệ giữa tín hiệu ra và tín hiệu vào của máy tính đợc viết
nh sau:
mn
mi n j
i0 j0
y(kT) b x(kT iT) a y(kT jT)

==
=

(3.3)
trong đó a
n
, b
m

các hệ số
i = 0 ữ m, j = 0 ữ n với m < n.
Phơng trình (3.3) đợc gọi là phơng trình máy tính, biểu thị mối quan hệ tuyến tính
giữa tín hiệu vào và tín hiệu ra của máy tính.
MT
[X
k
][Y
k
]
kk-1 20
[Y
k
]
t
T
n +1
kk-120
[X
k
]
t
T
m +1
H
ình
3
.
2
- Quan hệ giữa tín hiệu vào và ra của máy tính

Giáo trình Mô hình hoá
Bộ môn Tự động hoá Khoa Điện
23
Chú ý rằng trong phơng trình (3.3) luôn luôn có quan hệ m n có nghĩa là tín hiệu ra
phụ thuộc vào m tín hiệu vào trong quá khứ. Nếu m > n có nghĩa là tín hiệu ra phụ thuộc cả
vào (m n) tín hiệu vào trong tơng lai là điều không xảy ra trong thực tế đợc.
Vì tín hiệu ra [y
k
] và tín hiệu vào [x
k
] đều có cùng bớc gián đoạn T (chu kỳ cắt mẫu)
nên để cho gọn phơng trình (3.3) có thể đợc viết lại nh sau:
mn
mi n j
i0 j0
y(k) b x(k i) a y(k j)

==
=

(3.4)
Phơng trình (3.4) có thể khai triển thành:
a
n
y(k)+a
n-1
y(k-1)+ + a
o
y(k-n) = b
m

x(k)+b
m-1
x(k-1)+ + b
o
x(k-m) (3.5)
Phơng trình (3.5) có dạng phơng trình sai phân bậc n.
Các hệ số a
n-1
, , a
0
và b
m
, , b
0
đặc trng cho đặc tính động của hệ thống. Nếu các hệ số
là hằng số thì ta có phơng trình sai phân tuyến tính phản ánh hệ dừng (đặc tính không biến
đổi theo thời gian), trong trờng hợp ngợc lại a
i
(i = 0 ữ n), b
j
(j = 0 ữ m) biến đổi theo thời
gian hệ không dừng. Trong nội dung giáo trình này, ta chỉ khảo sát các hệ thống tuyến tính
dừng.
Bậc của phơng trình sai phân là hiệu giữa bậc của số hạng tín hiệu ra lớn nhất và bé
nhất. Trong trờng hợp phơng trình (3.5), bậc của phơng trình là:
k (k n) = n
Vậy ta có thể kết luận rằng phơng trình máy tính có dạng của phơng trình sai phân
tuyến tính.
Từ phơng trình (3.5) ta có thể viết:
y(k) = - a

n-1
y(k-1) - - a
o
y(0) + b
m
x(k) + + b
o
x(0) (3.6)
nh vậy nếu biết điều kiện đầu x(0), y(0), bằng cách tăng dần bớc k ta có thể tính đợc
y(k) ở các thời điểm khác nhau. Các kết quả tính toán đợc lu trữ trong bộ nhớ của máy tính
và giá trị tín hiệu ra của bớc tiếp theo phụ thuộc vào giá trị của tín hiệu vào và tín hiệu ra
trong quá khứ.
3.3.2- Phơng pháp mô phỏng hệ liên tục tuyến tính bằng máy tính số
Từ các phân tích ở trên ta thấy rằng muốn dùng máy tính số để mô phỏng hệ liên tục,
cần phải mô tả hệ dới dạng phơng trình sai phân tuyến tính sau đó đa phơng trình sai
phân tuyến tính đó vào máy tính để tìm các đặc tính mô phỏng hệ liên tục.
Chú ý rằng hệ liên tục thờng đợc biểu diễn bằng phơng trình vi tích phân. Để biến
đổi phơng trình vi tích phân thành phơng trình sai phân tơng ứng có thể dùng phơng pháp
số Runge-Kutta. Tuy nhiên, phơng pháp này có khối lợng tính toán lớn, đặc biệt là đối với
phơng trình có bậc 3 trở lên thì tính toán rất phức tạp nhiều khi không thực hiện đợc. Vì
vậy, ở phần tiếp theo sẽ trình bày một phơng pháp tiện dụng để tìm phơng trình sai phân của
hệ liên tục. Từ phơng trình Laplace của hệ liên tục, bằng cách biến đổi Z tơng ứng rồi tìm
ngợc lại phơng trình sai phân của hệ để giải trên máy tính số.
3.4- Biến đổi Z và các tính chất
- Mục đích của phép biến đổi Z.
Khi giải phơng trình sai phân bậc cao ngời ta thờng gặp nhiều khó khăn, vì vậy
ngời ta thờng dùng biến đổi Z để biến phơng trình sai phân tuyến tính của hệ gián đoạn
Giáo trình Mô hình hoá
Bộ môn Tự động hoá Khoa Điện
24

thành phơng trình đại số. Điều này hoàn toàn tơng tự nh trong trờng hợp hệ liên tục dùng
biến đổi Laplace để biến phơng trình vi tích phân thành phơng trình đại số.
- Một số định nghĩa trong phép biến đổi Z.
Giả thiết rằng không có tín hiệu ở phía âm
của trục thời gian (hình 4.2).
Đối với tín hiệu dạng liên tục x(t) ta có
định nghĩa về phép biến đổi Laplace nh sau:


==

st
0
L[x(t)] X(s) x(t)e dt
(3.7)
Đối với tín hiệu gián đoạn x[k] ta có định nghĩa về phép biến đổi Z nh sau:



== + ++ =

o1 k k
0
Z[x(k)] X(Z) X(0)Z X(1)Z x(k)Z x(k)Z
(3.8)
trong đó Z là biến phức.
Nếu hàm x(t) không tồn tại, biến đổi Laplace có dạng:
==
B(s) B(p)
X(s)

A(s) A(p)

Thì chuỗi (3.8) là biến đổi Z của hàm gián đoạn x[k] tơng ứng. Bảng 4.1 liệt kê biến
đổi Laplace và biến đổi Z của một số hàm thông dụng.
- Các tính chất của biến đổi Z.
1. Tính chất tuyến tính
Z{a.[v(k)] + b.[w(k)]} = a.V(z) + b.W(z) (3.9)
2. Dịch hàm gốc g(k) về phía trớc m bớc
mj
mj
j0
Z[f(k m)] zF(z) f(k)z


=
+=

(3.10)
Với điều kiện đầu bằng 0 ta có:
Z[f(k+m)]=z
m
F(z) (3.11)
3. Dịch hàm gốc g(k) về phía sau m bớc
Z[f(k - m)]=z
-m
F(z) (3.12)
4. Biến đổi Z của sai phân tiến
f(k) = f(k+1) - f(k)
Z[f(k)]=(1-z
-1

)F(z) (3.13)
5. Biến đổi Z của sai phân lùi
f(k) = f(k) - f(k-1)
Z[
f(k)]=(z - 1)F(z) (3.14)
6. Giá trị đầu của hàm gốc rời rạc f(0)

=
z
f(0) limF(z) (3.15)
Hình 4.2- Các dạng tín hiệu.
(a) Liên tục, (b) Gián đoạn
x
(
t
)
0 t
(a)
T
kT
t
(b)
x
(
k
)

0
0
mm

t
H
ình 4.3- Dạng tín hiệu sau phép dịch
Giáo trình Mô hình hoá
Bộ môn Tự động hoá Khoa Điện
25
7. Giá trị cuối của hàm gốc rời rạc f(0)

=
z1
f( ) lim(z 1)F(z) (3.16)
3.5- Hàm truyền số của hệ gián đoạn
Hàm truyền số của hệ gián đoạn tuyến tính là tỷ số
giữa biến đổi Z của dãy tín hiệu gián đoạn ở đầu ra với
biến đổi Z của dãy tín hiệu gián đoạn ở đầu vào với điều
kiện đầu bằng không.
Giả sử một hệ gián đoạn đợc mô tả bằng phơng
trình sai phân tuyến tính sau:
a
n
y(k+n)+ +a
o
y(k)=b
m
x(k+m)+ +b
o
x(k) (3.17)
trong đó m n, điều kiện này bảo đảm khả năng
giải phơng trình (3.17) trên máy tính.
Thực hiện biến đổi Z các phần tử của phơng trình

(3.16) với điều kiện đầu bằng 0 và tính chất dịch hàm gốc
đi n và m bớc nh đã nêu ở phơng trình (3.11) ta có
hàm truyền số sau:
mm1
mm1 o
nn1
nn1 o
b z b z b
Y(z)
W(z)
X(z) a z a z a




+++
==
+++
(3.18)
Nếu tín hiệu vào x(k) là xung đơn vị hàm Dirac
thì ta có: X(Z) = Z[(k)] = 1
Lúc này W(Z) = Y(Z) (3.19)
Nh vậy cũng giống nh trong trờng hợp biến đổi Laplace, hàm truyền W(s) của hệ
liên tục là phản ứng của hệ đối với hàm đơn vị 1(t), hàm truyền số W(z) là phản ứng của hệ
thống gián đoạn đối với tín hiệu vào là xung Dirac (k).
3.6- Hàm truyền số của hệ liên tục
Đối với hệ liên tục ngời ta dùng biến đổi Laplace gián đoạn để tìm hàm truyền số của
hệ liên tục, nhng phép biến đổi này thờng dẫn đến hàm siêu việt đối với biến s, do đó rất
khó tính toán nên không đợc dùng trong thực tế. Trong thực tế ngời ta dùng phơng pháp
chuyển đổi từ hàm truyền Lapace W(s) sang hàm truyền số qua phép biến đổi Z là W(z) bằng

cách thay biến số:
z = e
sT
(3.20)
Từ biểu thức (3.20) ta có thể giải đợc:
1
slnz
T
= (3.21)
trong đó lnz có thể khai triển thành chuỗi:
35 k
k1
UU U
ln z 2(U ) 2
35 k

=
= +++=

(3.22)
Trong đó:
1
1
1z z1
U
1z z1



==

++

Bảng 4.1- ảnh Laplace và ảnh Z
của các hàm thông dụng
Hàm gốc F(s) F(z)
(t)
1 1
1(t)
1
s


z
z1

t
2
1
s


2
Tz
(z 1)

t
2
3
2!
s


+

2
3
Tz(z 1)
(z 1)

t
3
4
3!
s

+
+

32
4
Tz(z 4z 1)
(z 1)

e
-et
+
1
sa




aT
z
ze

te
-et
+
2
1
(s a)




aT
aT 2
Tze
(z e )

Sin(t)

+
22
s


+
2
zsin( T)
z2zcos(T)1

Cos(t)
+
22
s
s


+
2
2
zzcos(T)
z2zcos(T)1
Giáo trình Mô hình hoá
Bộ môn Tự động hoá Khoa Điện
26
Bỏ qua các số hạng bậc cao trong (3.22) ta có:
2z 1
ln z 2U
Tz 1

==
+

Vậy phép biến đổi số tơng đơng (3.21) có thể viết thành:
2z 1
s
Tz 1

=
+

(3.23)
trong đó T là thời gian cắt mẫu.
3.7- Trình tự tìm hàm truyền số
1. Từ hàm truyền W(s) ta phân tích thành các biểu thức đơn giản W
1
(s), W
2
(s),
2. Tìm biến đổi Z tơng ứng của các biểu thức đơn giản kể trên bằng cách đổi biến số
theo (3.23) ta đợc các hàm tơng ứng W
1
(z), W
2
(z),
Rút gọn lại ta đợc hàm truyền số của hệ liên tục tuyến tính.
Khi sử dụng phơng pháp này ngời ta phải chấp nhận những điều kiện sau đây:
- Nếu hệ liên tục ổn định có hàm truyền đạt là W(s) = W
1
(s), W
2
(s), thì khi chuyển
sang hàm truyền đạt số tơng đơng W(z) cũng sẽ ổn định.
- Nếu hàm W(s) có thể phân tích thành W(s) = W
1
(s), W
2
(s), thì hàm truyền số vẫn
giữ tính nhân nh trớc có nghĩa là W(z) = W
1
(z), W

2
(z),
- Khi chuyển từ W(s) sang W(z) thì các hằng số và hệ số khuếch đại vẫn giữ nguyên.
Ví dụ: Cho hàm
=
++
2
K
W(s)
sasK
, hãy tìm hàm truyền W(z) tơng ứng.
Giải:
Thay

=
+
2z 1
s
Tz 1
vào W(s) ta có:
=


+
+

++

2
K

W(z)
2z 1 2z 1
aK
Tz 1 Tz 1

++ ++
==
+ + + ++
22 2 2 2
22 2 2 2
KT z 2KT z KT A(z z 1)
W(z)
(4 2aT KT )z (2KT 8)z (KT 4 2aT) Bz Cz D

trong đó A = KT
2
; B = 4-2aT+KT
2
; C = 2KT
2
- 8; D = kT
2
- 4 - 2aT.
3.8- Cách chọn bớc cắt mẫu T
Theo lý thuyết lấy mẫu của Shannon, để đảm bảo khả năng khôi phục lại tín hiệu liên tục
từ dãy tín hiệu gián đoạn thì tần số lấy mẫu thấp nhất f
min
phải lớn hơn hoặc bằng 2f
max
trong

đó f
max
là tần số tín hiệu cao nhất, có nghĩa là f
min
2f
max
. Từ đó suy ra bớc cắt mẫu
=
min max
11
T
f2f
. Trong thực tế ngời ta thờng chọn tần số f
min
lớn hơn nhiều lần tần số của
tín hiệu vào f
max
. Do đó bớc cắt mẫu thờng chọn nhỏ hơn so với giá trị tính đợc theo công
thức trên. Để thuận tiện trong việc tính toán ngời ta thờng chọn giá trị bớc cắt mẫu theo
các hằng số thời gian trong hàm truyền của hệ kín. Sau đây ta sẽ xét một số trờng hợp cụ thể.
+ Đối với hệ quán tính bậc nhất
=
+
o
1
W(s)
1Ts
. Bớc cắt mẫu T có quan hệ sau:

Giáo trình Mô hình hoá

Bộ môn Tự động hoá Khoa Điện
27
<<
0
0
T
TT
4
, trong đó T
o
là hằng số thời gian của hệ. Thời gian để đờng đặc tính quá độ
đạt giá trị lớn nhất đợc gọi là T
max
, ta có quan hệ giữa bớc cắt mẫu T và T
max
nh sau:
T
max
= (2ữ9)T
+ Đối với hệ bậc 2

=
+ +
2
0
2
002
W(s)
2ss
. Bớc cắt mẫu đợc tính nh sau:

0,25 <
0
< 1,5; 0,7 1. Trong đó là hệ số tắt dần,
0
là tần số dao động tự nhiên.
Bảng 3.2 cho ta những chỉ dẫn tham
khảo để chọn bớc cắt mẫu đối với các
biến hoặc quá trình khác nhau.

Đối với hệ thống điều khiển nên
chọn bớc cắt mẫu nh sau: T <
min
T
10
,
trong đó T
min
là hằng số thời gian nhỏ nhất
trong hàm truyền của hệ thống. Chọn
bớc cắt mẫu theo quy tắc này cũng tơng
đơng nh chỉ dẫn đối với mục hệ thống
điều khiển trong bảng 3.2.
3.9- Dùng phơng pháp toán tử để tìm phơng trình sai phân của hệ ĐK tự
động
Chúng ta đã biết rằng phơng trình máy tính có dạng phơng trình sai phân tuyến tính.
Vì vậy để mô phỏng hệ điều khiển tự động ngời ta phải tìm cách viết đợc phơng trình sai
phân của hệ. Có hai cách tìm phơng trình sai phân:
-
Từ phơng trình vi tích phân của hệ ngời ta viết thành phơng trình sai phân tơng
ứng - Đó là phơng pháp Runge-Kutta. Phơng pháp này chính xác nhng phức tạp.

-
Dùng phơng pháp toán tử, ta có sơ đồ quan hệ giữa W(s) và W(z) nh sau:










Nh vậy theo sơ đồ trên ta có quá trình tìm phơng trình sai phân của một hệ điều khiển
tự động có hàm truyền W(s). Từ hàm truyền Laplace W(s) sử dụng phép đổi biến
2z 1
s
Tz 1

=
+

ta đợc hàm truyền gián đoạn W(z). Từ W(z) tìm ngợc lại đợc phơng trình sai phân y(k) để
viết phơng trình mô phỏng hệ điều khiển tự động trên máy tính.

Bảng 3.2
Loại biến hoặc quá trình Bớc cắt mẫu (s)
Lu lợng
1 ữ 3
Mức
5 ữ 10

áp suất
1 ữ 5
Nhiệt độ
10 ữ 45
Chng cất
10ữ180
Sấy
20 ữ 45
Hệ thống điều khiển
0,001 ữ 0,1
Hệ liên tục
PT vi
p
hân Biến đổi La
p
lace PT đại số W(s)
Đổi biến
2z 1
s
Tz 1

=
+
PT sai
p
hân
Biến đổi Z PT đại số W(z)
Hệ
g
ián đoạn

H
ình
3
.4- Sơ đồ
q
uan h


g
iữa W
(
s
)
và W
(
z
)
Giáo trình Mô hình hoá
Bộ môn Tự động hoá Khoa Điện
28
Vì hàm truyền W(s) của hệ điều khiển tự động tơng đối dễ tìm nên phơng pháp này
rất thuận tiện cho việc tìm phơng trình sai phân. Phơng pháp này đợc gọi là phơng pháp
toán tử.
3.10- Khái niệm về toán tử tích phân số
Phơng pháp toán tử đợc dùng rất rộng rãi để tìm phơng trình sai phân của hệ điều
khiển tự động. Tích phân của một quá trình liên tục đợc biểu diễn nh sau:
t
0
y(t) u(t)dt=


(3.24)
Biến đổi Laplace hai vế của (3.24) với điều kiện đầu bằng không ta có:
=
U(s)
Y(s)
s
(3.25)
Vậy ta có hàm truyền của khâu tích phân lý tởng hay còn gọi là toán tử tích phân:
==
Y(s) 1
W(s)
U(s) s
(3.26)
Sơ đồ cấu trúc của toán tử tích phân nh trên hình
3.5-a. Có nhiều phơng pháp để chuyển hàm truyền
liên tục của toán tử tích phân sang hàm truyền gián
đoạn. Sau đây sẽ trình bày phơng pháp Tustin hay còn
gọi là phơng pháp hình thang.
Từ 3.24 có thể suy ra đạo hàm của tín hiệu ra
chính là tín hiệu vào. Trong trờng hợp tín hiệu gián
đoạn ta có thể viết:
y(k+1) - y(k) = [u(k+1)+y(k)]T/2 (3.25)
trong đó vế phải của 4.25 chính là diện tích hình thang có hai cạnh đáy u(k), u(k+1) và
chiều cao là T trên hình 4.3b.
Biến đổi Z phơng trình 4.25 ta có:
zY(z) - Y(z) = [zU(z) - U(z)]T/2 (3.26)
Y(z)(z-1) = (z+1)U(z)T/2
Vậy hàm truyền số trong trờng hợp này chính là toán tử tích phân số:
+
==

+
Y(z) T z 1
I(z)
U(z) 2 z 1
(3.27)
Từ (3.26) và (3.27) ta có tơng đơng giữa hai toán tử liên tục và số:
+
=

1Tz1
s2z1
hay

=
+
2z 1
s
Tz 1
(3.28)
Công thức 3.28 có tên là công thức Tustin. Công thức này
chính là công thức (3.23). Hình 3.6 biểu diễn sơ đồ cấu trúc của toán
tử tích phân số.
Nh vậy, từ hàm truyền W(s), thay s bằng biểu thức 3.28 ta
đợc W(z). Dùng phơng pháp biến đổi ảnh và gốc ta tìm đợc
phơng trình sai phân, từ đó viết chơng trình mô phỏng hệ liên tục trên máy tính. Thông
thờng ngời ta dùng phơng pháp Tustin vì nó đơn giản và cho độ chính xác khá cao.
1
s

U(s)

u(t)
Y(s)
y(t)
(a)
T

u(t)
t
kT 0 (k+1)T
(b)
H
ình
3
.5- Cách tính toán tử Tustin
Tz 1
2z 1
+


U(z)
[U(k)]
Y(z)
[Y(k)]
Hình 3.6- Sơ đồ cấu
trúc của tích phân số
Giáo trình Mô hình hoá
Bộ môn Tự động hoá Khoa Điện
29
3.11- Ví dụ minh họa
Cho hệ điều khiển tự động sau có sơ đồ cấu trúc nh trên hình 3.7 với các tham số nh

sau: u(t) = 1(t);
K
1
= 100; T
1
= 0,01;
K
2
= 0,5; T
2
= 0,02.
Bớc cắt mẫu chọn T = 0,001
Hãy mô hình hóa hệ trên máy tính,
viết chơng trình trên máy tính bằng
ngôn ngữ Pascal với các yêu cầu cụ thể
sau:
-
Tìm hàm quá độ.
-
In ra 100 kết quả bằng số.
-
Vẽ đờng cong quá độ y(t).
-
Dùng phần mềm Matlab để kiểm tra kết quả tính.
Giải
1. Tìm phơng trình sai phân của hệ
Ta có hàm truyền hệ kín nh sau:
++
==
++ ++

+
++
1
12 1
32
12
12 1 2 1 2
12
K
1
s(Ts 1)(T s 1) K
W(s)
KK
1
TTs (T T )s s KK
1
s(Ts 1)(T s 1)

Thay

=
+
2z 1
s
Tz 1
ta nhận đợc hàm truyền gián đoạn của hệ W(z):
+++
==
+++
33 2

32
KT (z 3z 3z 1) Y(z)
W(z)
Az Bz Cz D U(z)
, trong đó:
A = 8T
1
T
2
+ 4T
1
T + 4T
2
T + 2T
2
+ K
1
K
2
T
3

B = 24T
1
T
2
- 4T
1
T - 4T
2

T + 2T
2
+ 3K
1
K
2
T
3

C = 24T
1
T
2
- 4T
1
T - 4T
2
T - 2T
2
+ 3K
1
K
2
T
3

D = 8T
1
T
2

+ 4T
1
T + 4T
2
T - 2T
2
+ 3K
1
K
2
T
3

Ta có hàm sai phân sau:
Az
3
Y(z)+Bz
2
Y(z)+CzY(z)+DY(z) = K
1
T
3
[z
3
U(z)+3z
2
U(z)+3zU(z)+U(z)]
Dùng tính chất dịch gốc của biến đổi Z ta tìm đợc phơng trình sai phân tơng ứng với
phơng trình trên:
AY[k+3]+BY[k+2]+CY[k+1]+DY[k]=K

1
T
3
(U[k+3]+3U[k+2]+3U[k+1]+U[k])
Vì tín hiệu vào là tín hiệu nhảy cấp u(t) = 1(t) nên ta có:
U[k+3]=U[k+2]=U[k+1]=U[k]=1
Vậy ta có: AY[k+3]+BY[k+2]+CY[k+1]+DY[k] = 8K
1
T
3

Cuối cùng ta tìm đợc phơng trình sai phân của hệ điều khiển tự động là:
Y[k+3] = (-BY[k+2]-CY[k+1]-DY[k] + 8K
1
T
3
)/A
Từ phơng trình sai phân ta viết chơng trình máy tính để tìm đáp ứng ra y(t) của hệ khi
tín hiệu vào là hàm nhảy cấp 1(t).
ở phần sau là chơng trình mô hình hóa của hệ đã cho đợc
viết bằng ngôn ngữ Pascal.
1
s

1
12
K
(T s 1)(T s 1)++
K
2


u(t) u(t)
H
ình
3
.
7
- Sơ đồ cấu trúc của hệ ĐKTĐ
Gi¸o tr×nh M« h×nh ho¸
Bé m«n Tù ®éng ho¸ Khoa §iÖn
30
2. Ch−¬ng tr×nh Pascal
program MO_HINH_HOA;
uses crt,graph;var
a,b,c,d,max,k1,k2,t1,t2,t,tm,tod,xicma:real;
gd,gm,k,km,ky,i:integer;
y:array[0 1000]of real;
st:string;
BEGIN
clrscr;
k1:=100;
k2:=0.5;
t1:=0.01;
t2:=0.02;
t:=0.002;
y[0]:=0;
y[1]:=0;
y[2]:=0;
a:=8*t1*t2+4*t1*t+4*t2*t+2*t*t+k1*k2*t*t*t;
b:=-24*t1*t2-4*t1*t-4*t2*t+2*t*t+3*k1*k2*t*t*t;

c:=24*t1*t2-4*t1*t-4*t2*t-2*t*t+3*k1*k2*t*t*t;
d:=-8*t1*t2+4*t1*t+4*t2*t-2*t*t+k1*k2*t*t*t;
for k:=0 to 997 do
begin
y[k+3]:=(-b*y[k+2]-c*y[k+1]-d*y[k]+8*k1*t*t*t)/a;
{in ra 100 gia tri}
end;
writeln('100 gia tri cach nhau');
for k:=1 to 100 do
begin
write('y[',k*10:3,']=',y[k*10]:5:4);
if (k mod 6)=0 then writeln;
if k=102 then readln;
end; writeln;
{tim gia tri ymax}
max:=y[0];
for k:=0 to 1000 do
if y[k]>max then
begin
max:=y[k];
km:=k;
end;
{Tim khoang thoi gian on dinh Tod}
k:=1000;
Gi¸o tr×nh M« h×nh ho¸
Bé m«n Tù ®éng ho¸ Khoa §iÖn
31
while abs((y[k]-(1/k2))/(1/k2))<=0.05 do
k:=k-1;
tod:=k*t;

{in cac gia tri ra man hinh}
writeln('Thoi gian on dinh la Tod:',tod:8:4);
xicma:=(max-1/k2)*100/(1/k2);
writeln('Gia tri cuc dai la ymax=',max:8:4);
writeln('Do qua dieu chinh xicma=',xicma:8:4,'%');
writeln('Thoi gian dat cuc dai la tm=',km*t:8:4);
{Ve hinh}
write('Hay cho he so gian truc y:ky='); readln(ky);
gd:=detect;
initgraph(gd,gm,'C:\TP\BGI');
setbkcolor(white);
setcolor(blue);
outtextxy(53,5,'Y');
outtextxy(600,360,'t(s)'); {Ve cac truc toa do}
outtextxy(240,390,'KHAO SAT QTQD HE THONG');
str(max:8:4,st);
outtextxy(20,410,'GIA TRI CUC DAI LA:Ymax='+st); str(km*t:8:4,st);
outtextxy(320,410,'THOI GIAN DE DAT CUC DAI:Tmax='+st);
str(xicma:8:4,st);
outtextxy(20,430,'DO QUA DIEU CHINH LA: xicma%='+st);
str(Tod:8:4,st);
outtextxy(320,430,'THOI GIAN ON DINH LA: Tod='+st);
setcolor(5);
line(50,350,620,350); {Ve truc toa do}
line(50,5,50,350);
line(50,5,47,15); {Ve mui ten truc y}
line(50,5,53,15);
line(620,350,615,347); {Ve mui ten truc t}
line(620,350,615,353); for k:=1 to 6 do {Khac do truc t}
begin

str(100*(k-1)*t:2:1,st);
outtextxy(k*100-60,357,st);
line(k*100-50,347,k*100-50,353);
end;
for k:=0 to 10 do {khac do truc y}
begin
str(k/(5*k2):4:2,st);
outtextxy(5,345-round(ky*k/(5*k2)),st);
line(47,350-round(ky*k/(5*k2)),53,350-round(ky*k/(5*k2)));
end;
Gi¸o tr×nh M« h×nh ho¸
Bé m«n Tù ®éng ho¸ Khoa §iÖn
32
str(max:6:4,st);
outtextxy(round(tm/t)+60,340-round(ky*max),'Ymax='+st);
str(1/k2:2:1,st);
outtextxy(560,335-round(ky/k2),'Yod='+st);
outtextxy(km+50,330,'Tmax');
outtextxy(round(tod/t)+50,330,'Tod');
outtextxy(round(tod/t)+70,315-round(ky/k2),'5%Yod');
moveto(50,350);
setlinestyle(Dottedln,0,1);
line(round(tod/t)+49,350-round(ky*y[round(tod/t)]),round(tod/t)+49,350);
line(50,350-round(ky*max),km+50,350-round(ky*max));
line(km+50,350-round(ky*max),km+50,350);
line(50,350-round(1.05*ky/k2),620,350-round(1.05*ky/k2)); {duong sai so}
line(50,350-round(0.95*ky/k2),620,350-round(0.95*ky/k2));
setlinestyle(SolidLn,0,1);
line(50,350-round(ky/k2),620,350-round(ky/k2)); {duong on dinh}
line(round(tod/t)+100,350-round(1.05*ky/k2),round(tod/t)+100,330-

round(1.05*ky/k2));
line(round(tod/t)+100,350-round(1.05*ky/k2),round(tod/t)+97,340-round(1.05*ky/k2));
line(round(tod/t)+100,350-round(1.05*ky/k2),round(tod/t)+103,340-
round(1.05*ky/k2));
line(round(tod/t)+100,350-round(0.95*ky/k2),round(tod/t)+100,370-
round(0.95*ky/k2));
line(round(tod/t)+100,350-round(0.95*ky/k2),round(tod/t)+97,360-round(0.95*ky/k2));
line(round(tod/t)+100,350-round(0.95*ky/k2),round(tod/t)+103,360-
round(0.95*ky/k2));
{Ve do thi}
for k:=1 to 560 do
begin
if GraphResult<>grOK then
halt(1);
setlinestyle(SolidLn,$C3,ThickWidth);
setcolor(Blue);lineto(k+50,350-round(ky*y[k]));
end; delay(1000);
repeat until keypressed;
closegraph;
END.
Ch¹y ch−¬ng tr×nh cho ta kÕt qu¶ nh− sau:
C¸c kÕt qu¶ tÝnh to¸n ®−îc ch¹y b»ng ch−¬ng tr×nh m« pháng
y[10] = 0.04337 y[20] = 0.29299 y[30] = 0.75050
y[40] = 1.31746 y[50] = 1.87936 y[60] = 2.34186
y[70] =2.64644 y[80] = 2.77405 y[90] = 2.74026
Gi¸o tr×nh M« h×nh ho¸
Bé m«n Tù ®éng ho¸ Khoa §iÖn
33
y[100] = 2.58526 y[110] = 2.36174 y[120] = 2.12303
y[130] = 1.91377 y[140] = 1.76399 y[150] = 1.68700

y[160] = 1.68067 y[170] = 1.73107 y[180] = 1.81739
y[190] = 1.91701 y[200] = 2.00984 y[210] = 2.08120
y[220] = 2.12331 y[230] = 2.13507 y[240] = 2.12090
y[250] = 2.08878 y[260] = 2.04810 y[270] = 2.00773
y[280] = 1.97460 y[290] = 1.95293 y[300] = 1.94404
y[310] = 1.94674 y[320] = 1.95810 y[330] = 1.97431
y[340] = 1.99153 y[350] = 2.00656 y[360] = 2.01725
y[370] = 2.02267 y[380] = 2.02301 y[390] = 2.01929
y[400] = 2.01301 y[410] = 2.00581 y[420] = 1.99914
y[430] = 1.99403 y[440] = 1.99105 y[450] = 1.99025
y[460] = 1.99132 y[470] = 1.99366 y[480] = 1.99660
y[490] = 1.99951 y[500] = 2.00188 y[510] = 2.00343
y[520] = 2.00405 y[530] = 2.00383 y[540] = 2.00300
y[550] = 2.00182 y[560] = 2.00058 y[570] = 1.9995
y[580] = 1.99874 y[590] = 1.99836 y[600] = 1.99834
y[610] = 1.99862 y[620] = 1.99907 y[630] = 1.99959
y[640] = 2.00007 y[650] = 2.00044 y[660] = 2.00065
y[670] = 2.00070 y[680] = 2.00062 y[690] = 2.00045
y[700] = 2.00024 y[710] = 2.00003 y[720] = 1.99986
y[730] = 1.99975 y[740] = 1.99971 y[750] = 1.99972
y[760] = 1.99979 y[770] = 1.99987 y[780] = 1.99996
y[790] = 2.00004 y[800] = 2.00009 y[810] = 2.00012
y[820] = 2.00012 y[830] = 2.00010 y[840] = 2.00007
y[850] = 2.00003 y[860] = 1.99999 y[870] = 1.99997
y[880] = 1.99995 y[890] = 1.99995 y[900] = 1.99996
y[910] = 1.99997 y[920] = 1.99998 y[930] = 2.00000
y[940] = 2.00001 y[950] = 2.00002 y[960] = 2.00002
y[970] = 2.00002 y[980] = 2.00002 y[990] = 9.00001
y[1000] = 2.00000
Giáo trình Mô hình hoá

Bộ môn Tự động hoá Khoa Điện
34
3. Chơng trình Matlab
Dùng phần mềm Matlab vẽ đờng đặc tính quá độ của hệ điều khiển tự động nhằm đối
chứng với kết quả của chơng trình mô phỏng.
K1 = 100; K2 = 0.5; T1 = 0.01; T2 = 0.02;
Num = K1;%Tu so cua ham truyen W(s)
Den = [T1*T2,T1+T2,K1*K2];
step(Num,Den)
title('Dac tinh qua do cua he DKTD')
xlabel('t (s)')
ylabel('y(t)')
Kết qủa mô phỏng bằng
Matlab nh hình 3.9
4. Nhận xét về kết quả mô
phỏng
Chơng trình cho kết quả
là tín hiệu ra y(k) dới dạng số,
cứ cách 10 số in ra một số liệu.
Chơng trình cũng cho kết quả
dới dạng đồ thị đờng cong
quá độ của hệ điều khiển tự
động và tính các đặc tính quá độ
nh: y
max
, y
ôđ
,
max
, T

max
, T
ôđ
. Kết
quả cho thấy hai đờng cong do
H
ình 3.8- Kết quả mô phỏng bằng ngôn ngữ Pascal
H
ình 3.9- Kết quả mô phỏng bằng Matlab
Giáo trình Mô hình hoá
Bộ môn Tự động hoá Khoa Điện
35
chơng trình mô hình hóa và phần mềm Matlab vẽ ra trùng nhau, điều đó chứng tỏ thuật toán
mô hình hóa là đúng.
3.12- Câu hỏi và bài tập
1. Hãy trình bày phơng pháp tìm hàm sai phân của hệ điều khiển tự động liên tục.
2.
Tìm hàm sai phân của hệ liên tục có hàm truyền sau:
=
++
2
K
W(s)
s(s 2a Ks K)

3.
Hãy dùng máy tính mô phỏng và khảo sát quá trình quá độ của hệ liên tục có sơ đồ
cấu trúc nh hình 4.8 với các thông số sau:
K
1

= 50; K
2
= 0,2; T
1
= 0,5; T
2
= 0,1
Bớc cắt mẫu T = 0,01; số bớc tính k = 1000
Yêu cầu: - Tính và in ra các chỉ tiêu đánh giá
chất lợng sau đây:
+ Giá trị cực đại của tín hiệu ra: y(k)
max
.
+ Độ quá điều chỉnh:
max
.
+ Giá trị ổn định của tín hiệu ra: y(k)
ôđ
.
+ Thời gian đạt giá trị y(k)
max
: T
max
.
+ Thời gian đạt giá trị y(k)
ôđ
: T

.
- Dùng Matlab vẽ đờng cong quá trình quá độ của hệ trên. So sánh các kết quả và rút ra

các kết luận về phơng pháp mô phỏng.
1
12
K
(T s 1)(T s 1)++
K
2

u(t) u(t)
Hình 4.10- Sơ đồ cấu trúc của hệ
ĐKTĐ

×