Đây là bài làm bài tập lớn môn mô hình hóa và mô phỏng của thầy đỗ mạnh cường(đại học bách khoa hà nội). đề số 4 : Dùng máy tính khảo sát quá trính quá độ của hệ thống điều khiển tự động.
Trang 1I N ĐI N
BỘ MÔN TỰ ĐỘNG HOÁ CÔNG NGHI P
====o0o====
BÀI TẬP LỚN
ĐỀ TÀI:
MÔ HÌNH HÓA H THỐNG LIÊN TỤC
v ê hướ dẫ : TS Đỗ ạ h Cườ
S h v ê thực h ệ :
Hà Nội, 03-2015
Trang 2LỜI CẢM ƠN
Trước t ê em x ử lờ cám ơ châ thà h sâu sắc tớ các thầy cô áo trong trườ Đạ học Bách Khoa à ộ ó chu và các thầy cô áo tro v ệ Đ ệ , bộ
mô Tự độ hóa cô h ệp ó r ê đã tậ tì h dạy, truyề đạt cho ch em
hữ k ế thức, k h h ệm quý báu tro suốt thờ a qua
Đặc b ệt em x ử lờ c m ơ đế thầy Đỗ ạ h Cườ , thầy đã tậ tình giúp
đỡ, trực t ếp chỉ b o, hướ dẫ ch em tro suốt quá trì h học Tro thờ a làm
v ệc vớ thầy, ch em khô ừ t ếp thu thêm h ều k ế thức bổ ích mà cò học tập được t h thầ làm v ệc, thá độ h êm t c, h ệu qu , đây là hữ đ ều rất cầ th ết cho ch em tro quá trì h học tập và cô tác sau này
Sau cù , em x kí h ch c quý Thầy Cô tro v ệ thật dồ dào sức khỏe, ềm
t để t ếp tục thực h ệ sứ mệ h cao đẹp của mì h là truyề đạt k ế thức cho thế hệ ma sau
à ộ , ày 3 thá 3 ăm 2015
Trang 3MỤC LỤC
Trang
ục ục 3
Đề bà 4
1 ây dự hàm truyề Th ết lập phươ trì h sa phâ 5
2 Code chươ trì h mô phỏ C
3 ao d ệ chươ trì h 12
4 kết qu đườ co quá độ 13
5 ô phỏ trê atlab 1
6 Các chỉ t êu chất lượ của hệ thố .15
7 hậ x t 16
8 Tà l ệu tham kh o 17
Trang 4ĐỀ BÀI Đ :
Nội dung: Dùng máy tính khảo sát quá trính quá độ của hệ thống đi u khiển
tự động
Yêu cầu:
1 ập phươ trì h sa phâ của hệ thố
2 Chọ thờ a cắt mẫu
3 V ết chươ trì h tí h toá mô phỏ hệ vớ tí h ệu vào dạ bước h y, ồm:
- Số bứơc tí h: tố th ểu 1000 bước
- Vẽ đồ hoạ đặc tí h quá độ từ dữ l ệu đã tí h
- Chươ trì h mô phỏ cho ph p hập và mô phỏ vớ các á trị tham số tuỳ ý
- ra mà hì h các chỉ t êu đá h á:
• á trị cực đạ của tí h ệu ra: y[k]max
• Độ quá đ ều chỉ h: δmax (%)
• á trị ổ đị h của tí h ệu ra: y[k]ôđ
• Thờ a đạt á trị y[k]max
• Thờ a đạt á trị y[k]ôđ
• 100 á trị tí h toá : y[10* ] (các á trị cách hau 10 bước tí h)
4 Kh o sát lạ hệ b S mul k và so sá h vớ kết qu tí h toá
Trang 51 XẬY DỰNG HÀM TRUYỀN-THIẾT LẬP PHƯƠNG TRÌNH SAI PHÂN
àm truyề kí của hệ thố là:
( )( )
vào hàm W(s) ta có:
( ) ( ) ( )
B ế đổ về dạ :
( ) ( )
Tro đó:
Az2Y(z) + BzY(z) + CY(z) = K1T2 [z2U(z) + 2zU(z) + U(z)]
Dùng tính chất dịch hàm gốc c biế đổ Z ta tìm được phươ trì h sa phâ tươ ứng:
AY[k+2] + BY[k+1] + CY[k] = K1K2T2(U[k+2] + 2 U[k+1] + U[k])
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
AY[k+2] + BY[k+1] + CY[k] = 4 K1T2
Y[k+2] = (4 K1T2 – BY[k+1] – CY[k]) /A
Trang 6Từ đó ta có cô thức tính các giá trị đáp ứ y(t) hư sau:
y[0] = y[1] = 0;
y[k+2] = (4K1T2 – By[k+1] – Cy[k]) /A;
k=0, 1, 2…999; , B, C là các h ng số đã tí h ở trên
2.CODE CHƯƠNG TRÌNH MÔ PHỎNG – C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;
namespace Mohinhhoamophong
{
public partial class Form1 : Form
{
O, xMax, yMax
lệch trục tọa độ khi vẽ
vào
đầu ra cần tính toán
độ của Tod;
để vẽ đồ thị
Trang 7{
InitializeComponent();
graph = DrawArea.CreateGraphics();
xMax = DrawArea.Width;
yMax = DrawArea.Height;
x0 = 0;
y0 = DrawArea.Height;
}
{
lại đồ thị
float.TryParse(textBoxK2.Text, out K2)&& float.TryParse(textBoxT2.Text, out
float.TryParse(textBoxT.Text, out T)&& float.TryParse(textBoxK3.Text, out
K3))
{
sao cho giá trị Tmin/T<=20"); } // chu kỳ trích mẫu
{
A = 4 * T1 * T2 + 2 * T * (T1 + T2) + (1 + K1 * K2 * K3)
* T * T;
B = (-8 * T1 * T2 + (2 + 2 * K1 * K2 * K3) * T * T);
C = 4 * T1 * T2 - 2 * T * (T1 + T2) + T * T * (1 + K1 * K2 * K3);
y[0] = 0; y[1] = 0;
ymax = y[1];
Trang 8for (int i = 0; i < (sopt - 2); i++)
{
y[i + 2] = (4 * K1 * K2 * T * T - B * y[i + 1] - C * y[i]) / A;
Tìm vị trí và giá trị của ymax
}
có thể hệ thống ko ổn định
"gọn" trong picturebox
unit_x = (DrawArea.Width - 3 * delta_x) / (T * 1000); unit_y = (y0 - 3 * delta_y) / ymax;
_item.ToString();
thì thêm y[] vào listbox
}
}
trục tọa độ
thị
{
chi_so += 100;
graph.DrawLine(blackPen, delta_x + chi_so * T *
unit_x, y0 - delta_y - 3, delta_x + chi_so * T * unit_x, y0 - delta_y + 3); graph.DrawString(chi_so.ToString(), f, b, delta_x + (chi_so - 15) * T * unit_x, y0 - 20);
}
Trang 9if (OnDinh)
{
định
{
k;
x_Tod = k;
}
&& (k >= x_ymax));
k = 999;
{ k; }
0.01);
yod = 0;
{
yod += y[i];
}
yod = yod / (999 - k + 1);
Tmax = x_ymax * T;
{
graph.DrawLine(blackPen, toa_do_x, y0 - ymax *
toa_do_x += 6;
{
graph.DrawLine(blackPen, delta_x + x_ymax * T *
toa_do_y += 6;
delta_x + x_ymax * T * unit_x, y0 - ymax * unit_y - 2 * delta_y);
toa_do_x = delta_x;
Trang 10{
graph.DrawLine(blackPen, toa_do_x, y0 - delta_y - yod * unit_y, toa_do_x + 3, y0 - delta_y - yod * unit_y); graph.DrawLine(blackPen, toa_do_x, y0 - delta_y - yod * unit_y * 1.05F, toa_do_x + 3, y0 - delta_y - yod * unit_y * 1.05F); graph.DrawLine(blackPen, toa_do_x, y0 - delta_y - yod * unit_y * 0.95F, toa_do_x + 3, y0 - delta_y - yod * unit_y * 0.95F); toa_do_x += 6; } while (toa_do_x <= (xMax - 2 * delta_x)); graph.DrawString("Yod=" + yod.ToString(), f, b, xMax - 7 * delta_x, y0 - delta_y - yod * unit_y * 1.1F); //Vẽ gióng Tod toa_do_y = y0 - delta_y - y[x_Tod] * unit_y; do {
graph.DrawLine(blackPen, delta_x + x_Tod * T * unit_x, toa_do_y, delta_x + x_Tod * T * unit_x, toa_do_y + 3); toa_do_y += 6; } while (toa_do_y <= (y0 - delta_y)); graph.DrawString("Tod=" + x_Tod.ToString(), f, b, delta_x + x_Tod * T * unit_x + 10, y0 - 2 * delta_y); chi_so = ymax / 5; int _tmp = (int)(chi_so * Math.Pow(10, 1)); chi_so = (float)(_tmp / Math.Pow(10, 1)); float tmp2 = chi_so; for (int i = 0; i <= 15; i++) if ((chi_so > 0) && (chi_so < ymax)) {
graph.DrawLine(blackPen, delta_x - 3, yMax - chi_so * unit_y - delta_y, delta_x + 3, yMax - chi_so * unit_y - delta_y); _tmp = (int)(chi_so * Math.Pow(10, 1)); chi_so = (float)(_tmp / Math.Pow(10, 1)); graph.DrawString(chi_so.ToString(), f, b, delta_x - 30, yMax - chi_so * unit_y - delta_y - 10); chi_so += tmp2; }
}
else {
textBoxHT.Text = "Không ổn định"; textBoxTmax.Text = "N/A"; textBoxxicma.Text = "N/A"; textBoxYmax.Text = "N/A";
}
}
}
else MessageBox.Show("Xin chỉ nhập dữ liệu dạng số!"); }
//============================================//
private void VeTrucToaDo() {
Trang 11graph.DrawLine(p, delta_x, y0 - delta_y, xMax - 2, y0 -
tung
(float)0), new PointF((float)delta_y, (float)(-2.5))); //mui ten Oy
VeOXY();
}
{
}
PointF diemCuoi)
{
myPen.Width = 5;
(diemDau.Y + diemCuoi.Y) / 2);
graphics.DrawLine(myPen, diemDau, endPoint);
}
}
Trang 123 GIAO DI N CHƯƠNG TRÌNH:
Khung bên trái, phầ “CÀ ĐẶT THAM SỐ” là để nhập các tham số K1, K2,K3,T1, T2 và chu kỳ trích mẫu T
Sau khi nhập xong nhấ “ ” để vẽ đồ thị và tính toán các chỉ tiêu chất lượng và in ra các gịá trị của y[k]
Trang 134 IN KẾT QUẢ ĐƯỜNG CONG QUÁ ĐỘ
Chọ bộ thô số: K1=0.1; K2=10;K3=100; T1=0.04; T2=0.02; T=0.001
ao d ệ chươ trì h sau kh mô phỏ :
Đồ thị đặc tí h quá độ của hệ thố :
Trục x thể h ệ á trị t(s) (thờ a )
Trục y thể h ệ á trị của y(t) theo t
Trang 145 MÔ PHỎNG TRÊN MATLAB
Sơ đồ s mul k:
ệ h vẽ đồ thị:
>> figure(1)
>> plot(ScopeData.time,ScopeData.signals.values)
>> grid on
Đườ co quá độ thu được qua atlab:
Trang 15hậ x t:
Đồ thị thu được b chươ trì h mô phỏ có dạ ố vớ đồ thị mô phỏ bở atlab hư vậy, ếu bỏ qua sa số khô thể trá h khỏ tro quá trì h mô phỏ , ch ta có thể k ểm chứ được phươ pháp tìm phươ trì h
sa phâ của hệ thố , và tí h toá của chươ trì h mô phỏ là đ
6 CÁC CHỈ TIÊU CHẤT LƯỢNG CỦA H THỐNG
Các chỉ t êu chất lượ của hệ thố được tí h toá tự độ tro ao d ệ chí h của chươ trì h, phụ thuộc vào bộ tham số đầu vào
ếu hệ thố ổ đị h, textbox “ ệ thố ” sẽ đưa ra thô báo “Ổ đị h”,
đồ thờ các chỉ t êu chất lượ được đưa ra các ô tươ ứ
ếu hệ thố khô ổ đị h, textbox “ ệ thố ” sẽ đưa ra thô báo
“Khô ổ đị h”, các ô chỉ t êu đưa ra thô báo “ / ”
(Tí h ổ đị h của hệ thố được đá h á theo t êu chuẩ urw tz)
Ví dụ: Vớ bộ thô số đầu vào hư phầ trê , hệ thố là ổ đị h vớ các chỉ t êu hư sau:
Trang 167 NHẬN XÉT
Vớ bộ thô số T1, T2, K1, K2, K3 ,T phù hợp, hệ thố sẽ ổ đị h Các thô
số trê đều ph khác 0
Đườ co xuất phát từ ốc tọa độ, vọt lê tớ á trị Ymax tạ thờ đ ểm Tmax, dao độ xu qua h á trị Yod á trị vượt quá tố đa so vớ Yod là h (%)
Đế thờ a Tod, hệ ổ đị h, chỉ dao độ tro phạm v 5% xu qua h á trị Yod
Trang 178 TÀI LI U THAM KHẢO
1 uyễ Cô ề , uyễ hạm Thục h, Mô hình hóa hệ thống và mô phỏng, B Khoa học và Kỹ thuật, 200
2.Các sách,tà l ệu C và tìm h ểu tham kh o trê ter et
Trang 18NHẬN XÉT CỦA GIẢNG VIÊN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 19………