1. Xây dựng hàm truyền và tìm phương trình sai phân của hệ:
Ta có hàm truyền kín của hệ thống là
𝑊(𝑠) =
𝐾1
𝑇1𝑠 + 1
1 + 𝐾1
𝑇1𝑠 + 1
𝐾2
𝑇2𝑠 + 1
=
𝐾1(𝑇2𝑠 + 1)
(𝑇1𝑠 + 1)(𝑇2𝑠 + 1) + 𝐾1𝐾2
𝑊(𝑠) =
𝐾1𝑇2𝑠 + 𝐾1
𝑇1𝑇2𝑠2 + (𝑇1 + 𝑇2)𝑠 + 𝐾1𝐾2 + 1
Chọn phương pháp gián đoạn hóa kiểu Tustin, thay 𝑠 = 2
𝑇
.
𝑧−1
𝑧+1
vào hàm W(s) ta có:
𝑊(𝑧) =
𝐾1𝑇2. (𝑇2 . 𝑧 𝑧 − + 1 1) + 𝐾1
𝑇1𝑇2. (𝑇2 . 𝑧 𝑧 − + 1 1)2 + (𝑇1 + 𝑇2) (𝑇2 . 𝑧 𝑧 − + 1 1) + 𝐾1𝐾2 + 1
𝑊(𝑧) =
[2𝐾1𝑇2(𝑧 − 1) + 𝐾1𝑇(𝑧 + 1)]𝑇(𝑧 + 1)
4𝑇1𝑇2(𝑧 − 1)2 + (𝐾1𝐾2 + 1)𝑇2(𝑧 + 1)2 + 2(𝑇1 + 𝑇2)𝑇(𝑧 + 1)(𝑧 − 1)
𝑊(𝑧) =
𝑛𝑢𝑚
𝑑𝑒𝑛
10 trang |
Chia sẻ: hoang10 | Lượt xem: 717 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài tập Kĩ thuật điện tử, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
MÔ HÌNH HÓA VÀ MÔ PHỎNG
Bài tập lớn số 1
Nhóm 10 MSSV
Phạm Văn Tưởng 20093217
Bùi Đình Dân 20093401
Phạm Công Minh 20091791
Lê Hải Đăng 20090710
0. Đề bài: Sơ đồ khối
1. Xây dựng hàm truyền và tìm phương trình sai phân của hệ:
Ta có hàm truyền kín của hệ thống là
𝑊(𝑠) =
𝐾1
𝑇1𝑠 + 1
1 +
𝐾1
𝑇1𝑠 + 1
𝐾2
𝑇2𝑠 + 1
=
𝐾1(𝑇2𝑠 + 1)
(𝑇1𝑠 + 1)(𝑇2𝑠 + 1) + 𝐾1𝐾2
𝑊(𝑠) =
𝐾1𝑇2𝑠 + 𝐾1
𝑇1𝑇2𝑠2 + (𝑇1 + 𝑇2)𝑠 + 𝐾1𝐾2 + 1
Chọn phương pháp gián đoạn hóa kiểu Tustin, thay 𝑠 =
2
𝑇
.
𝑧−1
𝑧+1
vào hàm W(s) ta có:
𝑊(𝑧) =
𝐾1𝑇2. (
2
𝑇 .
𝑧 − 1
𝑧 + 1) + 𝐾1
𝑇1𝑇2. (
2
𝑇 .
𝑧 − 1
𝑧 + 1)
2
+ (𝑇1 + 𝑇2) (
2
𝑇 .
𝑧 − 1
𝑧 + 1) + 𝐾1𝐾2 + 1
𝑊(𝑧) =
[2𝐾1𝑇2(𝑧 − 1) + 𝐾1𝑇(𝑧 + 1)]𝑇(𝑧 + 1)
4𝑇1𝑇2(𝑧 − 1)2 + (𝐾1𝐾2 + 1)𝑇2(𝑧 + 1)2 + 2(𝑇1 + 𝑇2)𝑇(𝑧 + 1)(𝑧 − 1)
𝑊(𝑧) =
𝑛𝑢𝑚
𝑑𝑒𝑛
Trong đó:
𝑛𝑢𝑚 = [2𝐾1𝑇2(𝑧 − 1) + 𝐾1𝑇(𝑧 + 1)]𝑇(𝑧 + 1)
𝑛𝑢𝑚 = 2𝐾1𝑇2𝑇(𝑧 − 1)(𝑧 + 1) + 𝐾1𝑇
2(𝑧 + 1)2
𝑛𝑢𝑚 = (2𝐾1𝑇2𝑇 + 𝐾1𝑇
2)𝑧2 + 2𝐾1𝑇
2𝑧 + (−2𝐾1𝑇2𝑇 + 𝐾1𝑇
2)
𝑛𝑢𝑚 = 𝐴1𝑧
2 + 𝐵1𝑧 + 𝐶1
Và
𝑑𝑒𝑛 = 4𝑇1𝑇2(𝑧 − 1)
2 + (𝐾1𝐾2 + 1)𝑇
2(𝑧 + 1)2 + 2(𝑇1 + 𝑇2)𝑇(𝑧 + 1)(𝑧 − 1)
𝑑𝑒𝑛 = [4𝑇1𝑇2 + (𝐾1𝐾2 + 1)𝑇
2 + 2(𝑇1 + 𝑇2)𝑇]𝑧
2
+[−8𝑇1𝑇2 + 2(𝐾1𝐾2 + 1)𝑇
2]𝑧
+[4𝑇1𝑇2 + (𝐾1𝐾2 + 1)𝑇
2 − 2(𝑇1 + 𝑇2)𝑇]
𝑑𝑒𝑛 = 𝐴2𝑧
2 + 𝐵2𝑧 + 𝐶2
Vậy: 𝑊(𝑧) =
𝑛𝑢𝑚
𝑑𝑒𝑛
=
𝐴1𝑧
2+𝐵1𝑧+𝐶1
𝐴2𝑧2+𝐵2𝑧+𝐶2
, trong đó:
𝐴1 = (2𝐾1𝑇2𝑇 + 𝐾1𝑇
2)
𝐵1 = 2𝐾1𝑇
2
𝐶1 = (−2𝐾1𝑇2𝑇 + 𝐾1𝑇
2)
𝐴2 = [4𝑇1𝑇2 + (𝐾1𝐾2 + 1)𝑇
2 + 2(𝑇1 + 𝑇2)𝑇]
𝐵2 = [−8𝑇1𝑇2 + 2(𝐾1𝐾2 + 1)𝑇
2]
𝐶2 = [4𝑇1𝑇2 + (𝐾1𝐾2 + 1)𝑇
2 − 2(𝑇1 + 𝑇2)𝑇]
Ta có hàm sai phân:
𝑌(𝑧)
𝑈(𝑧)
=
𝐴1𝑧
2+𝐵1𝑧+𝐶1
𝐴2𝑧2+𝐵2𝑧+𝐶2
𝐴2𝑧
2𝑌(𝑧) + 𝐵2𝑧𝑌(𝑧) + 𝐶2𝑌(𝑧) = 𝐴1𝑧
2𝑈(𝑧) + 𝐵1𝑧𝑈(𝑧) + 𝐶1𝑈(𝑧)
Dùng tính chất dịch hàm 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:
𝐴2𝑌(𝑘 + 2) + 𝐵2𝑌(𝑘 + 1) + 𝐶2𝑌(𝑘) = 𝐴1𝑈(𝑘 + 2) + 𝐵1𝑈(𝑘 + 1) + 𝐶1𝑈(𝑘)
Vì tín hiệu vào là tín hiệu bước nhảy U(t) = 1(t) nên ta có:
U(k+2) = U(k+1) = U(k) = 1
Do vậy:
𝐴2𝑌(𝑘 + 2) + 𝐵2𝑌(𝑘 + 1) + 𝐶2𝑌(𝑘) = 𝐴1 + 𝐵1 + 𝐶1 = 4𝐾1𝑇
2
Cuối cùng ta có phương trình sai phân của hệ thống là:
𝑌(𝑘 + 2) =
4𝐾1𝑇
2−𝐵2𝑌(𝑘+1)−𝐶2𝑌(𝑘)
𝐴2
Từ đó ta có công thức tính các giá trị đáp ứng y để đưa vào lập trình như sau:
y[0] = 0;
y[1] = 0;
y[x + 2] = 4*K1*T*T/A2 – B2 / A2* y[x+1] – C2/A2 * y[x];
với x = 0,1,2 .n và các giá trị A2, B2, C2 là hằng số, đã tính toán ở trên.
2. CODE:
int x[1000];
float y[1000], Ymax, Tmax, tmp,A,B,C,hs,h;
int i, ok,k;
k = 0;
if ( (T1 * T2 * T * K1 * K2 != 0 ) && (T2 >10 * T) && (T1 > 10* T) )
ok = 1;
else ok = 0;
Ymax = 0; Tmax = T;
A = 4 * T1 * T2 + (K1 * K2 + 1 ) * T * T + 2 * ( T1 + T2 ) * T;
B = -8 * T1 * T2 + 2 * (K1 * K2 + 1) * T * T;
C = 4 * T1 * T2 + ( K1 * K2 +1) * T * T - 2 * ( T1 + T2) * T;
Yod = K1 / (1 + K1 * K2);
for (i = 0 ; i < 998 ; i++)
{
y[i + 2] = (4 * K1 * T * T - B * y[i+1] - C * y[i] ) / A;
x[i + 2] = i+2;
if (y[i+2] > Ymax)
{
Ymax = y[i+2];
Tmax = T * (i+2);
}
tmp = abs((y[i + 2] - Yod) / Yod);
if ( tmp <= (0.05 * Yod) && (k==0))
{
Tod = (i + 2) * T;
k = 1;
}
if (tmp > (0.05 * Yod)) k = 0;
}
h = abs(Ymax-Yod) / Yod * 100;
3. In kết quả đường cong quá độ
Ứng với bộ thông số:
Ta có đường cong quá độ như sau:
4. So sánh với Matlab
Sơ đồ SimuLink
Đáp ứng thu được trên matlab
Nhận xét:
Đồ thị vẽ bằng phần mềm mô phỏng có quỹ đạo gần giống với mô phỏng bằng
matlab. Tuy nhiên một số chỉ tiêu chất lượng của hệ thống có sai lệch không đáng kể so
với matlab. Nguyên nhân xuất phát từ việc lấy gần bằng trong cách gián đoạn hóa bằng
tustin 𝑠 =
2
𝑇
.
𝑧−1
𝑧+1
5. In kết quả:
Kết quả y[1000] được thể hiện bằng 1 mảng 1000 phần tử, người sử dụng có thể
xem giá trị 1 phần tử bất kì trên giao diện.
Ví dụ với bộ số ví dụ ở trên, ta có y[60], y[160], y[260] như sau:
6. Các chỉ tiêu chất lượng của hệ thống
Các chỉ tiêu chất lượng hệ thống được tính toán trực tiếp và hoàn toàn tự động trên
giao diện chính của chương trình. Với bộ số ở phần trước, ta có các chỉ tiêu được tính như
sau:
7. Nhận xét về dạng đường cong:
Với bộ thông số T1,T2,K1,K2,T phù hợp, hệ thống sẽ ổn định. Lưu ý cần chọn
thời gian trích mẫu T1, T2 lớn hơn ít nhất 10 lần giá trị T. Các thông số trên đều phải
khác 0.
Đường cong xuất phát từ gốc tọa độ, vọt lên tới giá trị Ymax tại thời điểm Tmax,
dao động xung quanh giá trị Yod. Giá trị vượt quá tối đa so với Yod là h(%).
Đến thời gian Tod , hệ ổn định, chỉ dao động trong phạm vi 5% xung quanh giá
trị Yod.