Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
1
MATLAB
Ví dụ
2
Mô hình vật lý
Khối 1:Lực Biểu thức toán ChiềuGravitational Force m1g DownSpring Force 1 k1(yg(t) - y1) UpDamper Force 1 b1 (yg(t)' - y1') UpInertial Force m1 y1“ DownSpring Force 2 k2(y1 - y2) DownDamper Force 2 b2(y1' - y2') Down
3
Khối 2:Lực Biểu thức toán ChiềuGravitational Force m2g DownSpring Force 2 k2(y1 - y2) UpDamper Force 2 b2(y1' - y2') UpInertial Force m2 y2" Down
m1:0 = -m1y1" + b1(yg(t)' - y1') + k1(yg(t) - y1) - b2(y1' - y2') - k2(y1 - y2) - m1g
m2:0 = -m2y2" + b2(y1' - y2') + k2(y1 - y2) - m2g
4
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)
0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
y1 = z1 + y1eqy1' = z1' y1" = z1"
y2 = z2 + y2eqy2' = z2‘y2" = z2"
Phần tử chứa năng lượng Quan hệ Biến trạng thái
Spring 1 ½ k1(yg - z1)^2 z1
Mass 1 ½ m1v1^2 v1
Spring 2 ½ k2(z1 - z2)^2 (z1 - z2) = Δ
Mass 2 ½ m2v2^2 v2
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
5
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
Biến trạng thái - State variables:z1'= v1Δ'= z1' - z2' = v1 - v2 X={z1, Δ}T
Đầu ra - Input: yG Đầu vào - Output: y = z1-Δ
m1 = 10,000kgm2 = 150kgb1= 180,000Nm/sb2 = 400Nm/sk1 = 80,000Nmk2= 700Nm
Khái báo trong Matlab
6
7
Lệnh Step: xem đáp ứng của hệ thống theo đầu vào bước
Lệnh bode (xem đáp ứng theo tần số)
>> bode(fourth_ss)
8
Xây dựng hàm truyền từ mô tả bằng không gian trạngthái: TRANSFER FUNCTION FROM STATE SPACE (ss2tf):
>> [num,den] = ss2tf(A, B, C, D)
num = 1.0e+003 * 0 0.0000 0.2400 2.2800 0.7333den =1.0e+003 *0.0010 0.0381 0.3244 2.2800 0.7333
Transfer function:
240 s^2 + 2280 s + 733.3--------------------------------------------------------------s^4 + 38.12 s^3 + 324.4 s^2 + 2280 s + 733.3
Hiện hàm truyền trực bằng lệnh tf
>> fourth_tf = tf(fourth_ss)
Transfer function:
240 s^2 + 2280 s + 733.3-------------------------------------------------------------s^4 + 38.12 s^3 + 324.4 s^2 + 2280 s + 733.3
9
(m1s^2 + (b1 + b2)s + (k1 + k2))Z1(s) - (b2s + k2)Z2(s) = (b1s + k1)Yg(s)
-(b2s + k2)Z1(s) + (m2s^2 + b2s + k2)Z2(s) = 0
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
Hàm truyền - Transfer function
>> m1 = 10000; m2 = 150; b1 = 300000; b2 =1200; k1 =100000; k2 = 11000;
>> s = tf('s');! tf function allows the variable s to be used symbolically in the frequency domains
>> higher_tf = (b2*s+k2)*(b1*s+k1)/((m1*s^2 + (b1+b2)*s +(k1+k2))*(m2*s^2+b2*s+k2)-(b2*s+k2)^2)
Transfer function:3.6e008 s^2 + 3.42e009 s + 1.1e009-----------------------------------------------------------------------------------------------1.5e006 s^4 + 5.718e007 s^3 + 4.867e008 s^2 +3.42e009 s + 1.1e009
Khai báo hàm truyền trực tiếp
10
Lệnh “Step” cho xem ghế của xe đáp ứng thế nào với đầu vào bước – xe gặpmột thay đổi đột ngột về độ cao yg = 0.1m như gặp vỉa hè.
>> yg = 0.1;>> step(yg * higher_tf)
Xem đáp ứng theo tần số bằng giản đồ Bode – mô tả xe đáp ứng thế nào khi xe đivào đường lồi lõm theo nhiều tần số khác nhau.
>> bode(higher_tf)
11
POLES AND ZEROSCác poles - cực xuất hiện khi hàm truyền đạt vôi định do mẫu số bằng 0.
>> pole(higher_tf)ans =-29.7661-4.0084 + 7.5498i-4.0084 - 7.5498i-0.3372! For this system there are two real poles and one pair of complex conjugates.
Các điểm không – zeros xuất hiện khi giá trị của hàm truyền bằng không do tử sốbằng 0.
>> tzero(higher_tf)ans =-9.1667-0.3333
Giản đồ cực và điểm không trong mặt phẳng phức.
>> pzmap(higher_tf)
12
>> pole(higher_tf)ans =-29.7661-4.0084 + 7.5498i-4.0084 - 7.5498i-0.3372
NATURAL FREQUENCYHệ bậc 2 đánh giá bằng tần số tự nhiên (tần số riêng - naturalFrequency), tần số cộng hưởng (resonant frequency) và hệ số giảm chấn (damping ratio).
Hệ bậc cao hơn: các tần số riêng, tần số cộng hưởng và hệ số giảm chấn tạo thànhtừng cặp điểm cực liên hợp (cặp số phức liên hợp - pair of complex conjugate poles). Có thể có nhiều tần số riêng tùy theo số cặp cực liên hợp.
Tần số riêng bằng biên độ - magnitude của mỗi cặp cực liên hợp.
1 cặp cực liên hợp – 1 tần số riêng xác định theo định lý Pythagorian:
>> wn = sqrt(4.0084^2 + 7.5498^2)wn = 8.5479
RESONANT FREQUENCYTần số công hưởng liên hệ với tần số riêng nhưng không hoàn toàn giống hệt.Tần số cộng hưởng có chịu ảnh hưởng của tính giảm chấn của hệ thống.
Tần số cộng hưởng (rad/s) bằng phần ảo của cạp cực liên hợp.
Ơ đây chỉ có 1 tần số cộng hưởng 7.5498 rad/s.
>> pole(higher_tf)ans =-29.7661-4.0084 + 7.5498i-4.0084 - 7.5498i-0.3372
13
DAMPING RATIOHệ số giảm chấn của hệ thống có thể xác định nhờ lệnh:
>> damp(higher_tf)
Eigenvalue Damping Freq. (rad/s)-3.37e-001 1.00e+000 3.37e-001-4.01e+000 + 7.55e+000i 4.69e-001 8.55e+000-4.01e+000 - 7.55e+000i 4.69e-001 8.55e+000-2.98e+001 1.00e+000 2.98e+001
Hệ số giảm chấn của hệ thống có thể xác địnhbằng tính toán như tỉ số phần thực và phần ảocủa cặp cực liên hợp:>> damp = 4.0084 / sqrt(4.0084^2 + 7.5498^2)damp =0.4689
DC GAINDC gain là giới hạn của hàm truyền khi s tiến về 0.
Lẽ thường thì DC gain của hệ thống ghế - xe bằng 1 (vì sau khi gặp một cú sốctrên đường chạy, sau một lúc dao động hệ thống trở lại vị trí cũ).
Dung lệnh của MATLAB tìm DC gain:
>> dcgain(higher_tf)ans =1
Có hai cách khác tìm DC gain:- Nhìn giản đồ Bode, quan sát biên độ thế nào khi tần số dần về 0.DC Gain = 10 M(0)/20
14
Khi tần số dần về 0, biên độ cũng dần về 0, vậy:
>> dcgain = 10^(0/20)dcgain =1
- Hay xác định giá trị hàm truyền khi s bằng 0:Cho s=0 và tính hàm truyền:
>> s=0;
>> (b2*s+k2)*(b1*s+k1)/((m1*s^2 + (b1+b2)*s +(k1+k2))*(m2*s^2+b2*s+k2)-(b2*s+k2)^2)
ans =1
15
SETTLING TIMEThời gian thiết lập ổn định (settling time) xác định bằng cách quan sát đáp ứngbước (step response) khi nào thì đạt “dao động chỉ còn trong khoảng 2% của giá trịổn định cuối cùng” (khi đỉnh hay đáy dao động trong khoảng 0.98 và 1.02).
Theo đồ thị đáp ứng tathấy thời gian thiết lậpổn định là 1.15 s.
Simulink
16
Các khối của Simulink
Sum: y = x1 + x2++
integrator: dq / dt = x, y = q1/s
* Multiplier: y = x1 * x2
c Gain: y = c * x
cConstant: y = c
f(x)Function: y = f(x)
Sinusgenerator: y = sin (t)
Subsystem: Placeholder for a subnetwork model
1Inport: Input from an external model
1Outport: Output to an external model
Hệ bậc 1– constant input to exponential decay
òx + q
-c
( , ) ( )
At equilibrium,
0 = /eq
dqf q x f q x cq
dt
dqx cq q x c
dt
= = -
= - ® =
( ) ( )difference t x cq t= -
/eqq x c=
17
Hệ bậc 2 - Giao động có giảm chấn
F(t)
x
d
k
m òF(t) + v
-d
ò x
-k
(a) (b)
m = 1
18
19
Ví dụ:0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
20
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
21
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
22
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
23
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
0 = -m1z1" + b1(yg(t)' - z1') + k1(yg(t) - z1) - b2(z1' - z2') - k2(z1 - z2)0 = - m2z2" + b2(z1' - z2') + k2(z1 - z2)
24
>> m1 = 10000; m2 = 150; b1 = 300000; b2 =1200; k1 = 100000;k2 = 11000;
SQUARE WAVE RESPONSE
Báo lỗi:Warning: Unable to reduce the step size without violating a minimum step size of3.552713678800488e-015 at time 1.000000000000002 for model 'higher'.
Warning: Unable to meet the relative error tolerance of 0.001, using an effective relative tolerance of 0.004666960926886673.
Warning: Unable to reduce the step size without violating a minimum step size of3.5527136788005e-015 at time 1.000000000000003 for model 'higher'.
Warning: Unable to reduce the step size without violating a minimum step size of3.552713678800513e-015 at time 1.000000000000007 for model 'higher'.
Warning: Unable to reduce the step size without violating a minimum step size of7.105427357600962e-015 at time 2.000000000000002 for model 'higher'.
Lỗi do: khối “đạo hàm” không thể đạo hàm hàm tín hiệu hình sóng vuông không liêntục.
25
Ta thay thế khối “đạo hàm” bằng khối “hàm truyền - transfer function” gần đúng với“khối đạo hàm” (transfer function with a high pass filter that is a good approximation of a derivative). Ở đây chọn tần số cao cỡ 100 lần của tần số hệthống
t bằng 1/100 hằng số thời gian nhỏ nhất của hệ thống (t = 0.001) (hằng số tời gian nhỏ nhất 0,2 s).
26
SINUSOIDAL RESPONSE
27
Phóng to khu vực 1 khung sóngvuông
28
STEP RESPONSETrong Simulink Library Browser – Simulink, chọn Sources và lấy Step source từ cột bên phải. Nối đuôi của yg(t) với Step source output. Lưu ý thay đổi khối đạohàm bằng khối hàm truyền gần đúng để đạo hàm input dạng bước.