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

Đề tài: ỨNG DỤNG GUI TRONG MATLAB VÀ SIMULINK TRONG BÀI TOÁN CỤ THỂ 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 (1.05 MB, 22 trang )

Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
Luận văn
Đề tài: ỨNG DỤNG GUI
TRONG MATLAB VÀ
SIMULINK TRONG BÀI
TOÁN CỤ THỂ
BTL: GTM&MPTMT 1 SVTH: Nhóm 7 LT Điện 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
LỜI MỞ ĐẦU
Trong những năm gần đây khoa học công nghệ phát triển hết sức nhanh chóng, đặc
biệt là trong lĩnh vực và truyền thông, tin học ứng dụng. Những thiết bị nghe nhìn,
thiết bị kỹ thuật số máy tính,…đã trở thành những phương tiện hết sức phổ biến
trong xã hội , nhất là máy tính .Có thể nói máy tính là phương tiện thiết yếu đối với
tất cả moi người.Một trong những yêu cầu của người học đối với việc giải mạch
điện là kiểm tra lại kết quả đã tìm được là đúng hay sai. Vì vậy việc sử dụng máy
tính làm công việc này là rất thích hợp.Với những lý do trên tôi quyết định nghiên
cứu đề tài “ỨNG DỤNG GUI TRONG MATLAB VÀ SIMULINK TRONG BÀI
TOÁN CỤ THỂ”.Từ các yêu cầu của đề bài trên ta xẽ chia nhỏ các phần yêu cầu
của bài để giải quyết vấn đề.Đề tài trên xẽ được chia ra làm 2 phần nghiên cứu và
ứng dụng cụ thể cho từng phần và được chia ra làm 3 chương để tìm hiểu và thao
tác chương trình của bài.
Chương 1:Tổng quan về mô hình hóa mô phỏng và vai trò của
phầnmềm Matlab trong mô hình hóa mô phỏng
Chương 2: Thực hiện các yêu cầu của bài tập 1,2
Chương 3: Kết luận.
BTL: GTM&MPTMT 2 SVTH: Nhóm 7 LT Điện 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
NỘI DUNG TRANG
* Chương 1: Tổng quan về mô hình hóa mô phỏng và vai trò của
phần mềm Matlap trong mô hình hóa mô phỏng……… 4
1.1 Giới thiệu chung…………………………………………………… 4


* Chương 2: Thực hiện các yêu cầu của Bài tập 1 và Bài tập 2………. 7
Bài 1: Lấy ví dụ ứng dụng GUI của Matlap thiết kết giao diện tương tác
giữa người và máy………………………………………………… 7
Bài 2: Bài tập về hàm truyền của hệ thống điều khiển…………………… 15
Kết luận: ………………………………………………………………… 22
BTL: GTM&MPTMT 3 SVTH: Nhóm 7 LT Điện 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
NHẬN XÉT
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………
BTL: GTM&MPTMT 4 SVTH: Nhóm 7 LT Điện 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG

Hà Nội … Ngày … Tháng … Năm
SVTH: Nhóm 7 LT Điện 2-K6
CHƯƠNG 1:
TỔNG QUAN VỀ MÔ HÌNH HÓA MÔ PHỎNG VÀ VAI TRÒ CỦA
MÔ HÌNH HÓA MÔ PHỎNG MATLAB
1.1. Giới thiệu chung
MATLAB là 1 phần mềm ứng dụng chạy trong môi trường Windows do hãng
MathWorks sản xuất và cung cấp, nó tích hợp các công cụ rất mạnh phục vụ tính
toán, lập trình, thiết kế, mô phỏng, V.V trong một môi trường rất dễ sử dụng
trong đó các bài toán và các lời giải được biểu diễn theo các ký hiệu toán học quen
thuộc. Có thể nói Matlab là ngôn ngữ của kỹ thuật, đang được rất nhiều các nhà
khoa học, các cán bộ kỹ thuật, giảng viên và sinh viên các trường đại học kỹ thuật
ứng dùng. Các ứng dụng điển hình là:
- Toán học và tính toán.
- Phát triển thuật toán.
- Tạo mô hình, mô phỏng và tạo giao thức.
- Khảo sát, phân tích số liệu.
- Đồ hoạ khoa học kỹ thuật.
- Phát triển ứng dụng, gồm cả xây dựng giao diện người dùng đồ hoạ GUI.
BTL: GTM&MPTMT 5 SVTH: Nhóm 7 LT Điện 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
- Thiết kế các hệ thống điều khiển trong thời gian thực
Matlab cung cấp một họ các phương pháp theo hướng chuyên dụng hóa
được gọi là các Toolbox (hộp công cụ). Các Toolbox cho phép người sử dụng học
và áp dụng các kỹ thuật chuyên dụng cho một lĩnh vực nào đó. Toolbox là một tập
hợp toàn diện các hàm của Matlab (M-file) cho phép mở rộng môi trường Matlab
để giải các lớp bài toán cụ thể. Các lĩnh vực trong đó có sẵn các Toolbox bao gồm:
Xử lý tín hiệu, hệ thống điều khiển, logic mờ, mạng nơron, mô phỏng
Hệ thống Matlab gồm có 5 phần chính:
- Ngôn ngữ Matlab: Là một ngôn ngữ ma trận, mảng cấp cao với các câu

lệnh, hàm, cấu trúc dữ liệu vào / ra, các tính năng lập trình hướng đối tượng. Nó
cho phép lập trình các ứng dụng từ nhỏ đến các ứng dụng lớn, từ các ứng dụng đơn
giản đến các ứng dụng phức tạp.
- Môi trường làm việc của Matlab: Đây là một bộ các công cụ và phương tiện
mà bạn sử dụng với tư cách là người dùng hoặc người lập trình Matlab. Nó bao
gồm các phương tiện cho việc quản lý các biến trong không gian làm việc
Workspace cũng như xuất nhập khẩu dữ liệu. Nó cũng bao gồm các công cụ để
phát triển, quản lý, gỡ rối và định hình M-file, ứng dụng của Matlab.
- Xử lý đồ họa: Đây là một hệ thống đồ họa của Matlab. Nó bao gồm các
lệnh cao cấp cho trực quan hóa dữ liệu hai chiều và ba chiều, xử lý ảnh, ảnh
động, Nó cũng cung cấp các lệnh cấp thấp cho phép bạn tùy biến giao diện đồ
họa cũng như đi xây dựng một giao diện đồ họa hoàn chỉnh cho ứng dụng Matlab
của mình.
- Thư viện toán học Matlab: Đây là một tập hợp khổng lồ các thuật toán tính
toán từ các hàm cơ bản như: cộng, trừ, nhân, chia, sin, cos, tang, số học phức
BTL: GTM&MPTMT 6 SVTH: Nhóm 7 LT Điện 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
tới các hàm phức tạp hơn như: nghịch đảo, ma trận, tìm trị riêng của ma trận,
phép biến đổi Fourier nhanh.
- Giao diện chương trình ứng dụng Matlab API (Application Program
Interface): Đây là một thư viện cho phép bạn viết các chương trình C và Fortran
tương thích với Matlab.
Simulink là một chương trình đi kèm với Matlab, là một hệ thống tương tác
với việc mô phỏng các hệ thống động học phi tuyến. Nó là một chương trình đồ
họa sử dụng chuột để thao tác cho phép mô hình hóa một hệ thống bằng cách vẽ
một sơ đồ khối trên màn hình. Nó có thể làm việc với các hệ thống tuyến tính, phi
tuyến, hệ thống liên tục theo thời gian, hệ thống gián đoạn theo thời gian, hệ thống
đa biến
Đối với các hệ thống phức tạp, phi tuyến, ngẫu nhiên, các tham số biến đổitheo
thời gian, phương pháp giải tích truyền thống không thể cho ta lời giải chính xác

được.
Lúc này, phương pháp mô hình hóa và mô phỏng phát huy thế mạnh của mình và
trong nhiều trường hợp nó là giải pháp duy nhất để nghiên cứu các hệ thống phức tạp.
BTL: GTM&MPTMT 7 SVTH: Nhóm 7 LT Điện 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
Chương 2:
Thực hiện các yêu cầu của 1,bài tập 2
Bµi 1 : Lấy ví dụ ứng dụng GUI của Matlab thiết kế giao diện tương tác giữa
người và máy.
VÝ dô øng dông Gui gi¶i ph¬ng tr×nh bËc 2:
-Vµo comment window matlab gâ lÖnh guide
-Cöa sæ matlab hiÖn lªn
BTL: GTM&MPTMT 8 SVTH: Nhóm 7 LT Điện 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
-Ta chän Blank Gui (Default) (chän lµm viÖc víi mét Gui trèng)
-Cöa sæ Gui hiÖn lªn nh sau:
BTL: GTM&MPTMT 9 SVTH: Nhóm 7 LT Điện 2-K6
Trng HCNHN GVHD: PHM VN HNG
-Rồi sau đó chọn các static text, edit text, pushbutton nh hình vẽ
-Khi lập trình Matlab ta cần quan tâm đến string, và tag của các khối chức năng
Ta thay đổi các khổi chức năng nh sau:
*Tại static text 1:
Kick đúp vào static text thay giá trị string và tag giữ nguyên:
String: Giai phuong trinh bac 2: ax2+bx+c=0
BTL: GTM&MPTMT 10 SVTH: Nhúm 7 LT in 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
*T¹i static text 2:
String: a=
Tag: gi÷ nguyªn
*T¹i static text 3:

String: b=
Tag: gi÷ nguyªn
*T¹i static text 4:
String: c=
Tag: gi÷ nguyªn
*T¹i static text 5:
String: Ket Luan
Tag: kl
*T¹i static text 6:
String: Nghiem x1
Tag: gi÷ nguyªn
*T¹i static text 7:
String: Nghiem x2
Tag: gi÷ nguyªn
*T¹i c¸c edit text 1
String: xãa tr¾ng
BTL: GTM&MPTMT 11 SVTH: Nhóm 7 LT Điện 2-K6
Trng HCNHN GVHD: PHM VN HNG
Tag: heoso_a
*Tại các edit text 2
String: xóa trắng
Tag: heoso_b
*Tại các edit text 3
String: xóa trắng
Tag: heoso_c
*Tại các edit text 4
String: xóa trắng
Tag: nghiem_x1
*Tại các edit text 5
String: xóa trắng

Tag: nghiem_x2
Thay cá giá trị cho nút Tính và nút Tính mới
Kick đúp vào phần pushbutton
*Pushbutton 1:
String: Tinh
Tag: start
*Pushbutton 2:
String: Tinh Moi
Tag: Tinh_moi
Sau khi căn nhập tag và string cho các khôi kéo các nút và ô sao cho cân bằng dễ
nhìn. Ta đợc giao diện nh sau:
Khi cân chỉnh xong giao diện ta vào file/save thì matlab sinh ra file cùng tên với
bài làm có đuôi .m và chúng ta có thể lập trình tại file này
BTL: GTM&MPTMT 12 SVTH: Nhúm 7 LT in 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
Ta lËp tr×nh cho nót Tinh bªn díi dßng function start_callback(……) nh h×nh
LËp tr×nh nót Tinh Moi bªn díi dßng function Tinh_Moi_callback(…) nh sau:
BTL: GTM&MPTMT 13 SVTH: Nhóm 7 LT Điện 2-K6
Trng HCNHN GVHD: PHM VN HNG
Chơng trình lập trình cho nút Tinh nh sau:
a=str2double(get(handles.heso_a,'string')); //chuyển giá trị heso_a thành q
b=str2double(get(handles.heso_b,'string'));//
c=str2double(get(handles.heso_c,'string'));//
denta=b^2-4*a*c; //tính đen ta
x1=(sqrt(denta)-b)/(2*a); //tính x1
x2=-(sqrt(denta)+b)/(2*a); //tính x2
if denta>0 //nếu đen ta >0 thì kết luận hiện Phuong trinh co 2
nghiem
set(handles.kl,'string','Phuong trinh co 2 nghiem');
elseif denta==0 //nếu đen ta =0 thì kết luận hiện Phuong trinh co nghiem

kep
set(handles.k1,'string','Phuong trinh co nghiem kep');
else //nếu đen ta <0 thì kết luận hiện Phuong trinh vo
nghiem
set(handles.kl,'string','Phuong trinh vo nghiem');
x1=[]; //để chống x1
x2=[]; //để chống x2
end
set(handles.Nghiem_x1,'string',x1); //ghi x1 ra nghiem_x1
set(handles.Nghiem_x2,'string',x2); //ghi x2 ra nghiem x_2
BTL: GTM&MPTMT 14 SVTH: Nhúm 7 LT in 2-K6
Trng HCNHN GVHD: PHM VN HNG
Chơng trình lập trình cho nút Tinh Moi nh sau: (để chống tất cả các edit text và
ghi ra kết luận là : Hay nhap so moi)
Chơng trình
set(handles.Nghiem_x1,'string',[]); //để chống nghiem_x1
set(handles.Nghiem_x2,'string',[]); //để chống nghiem_x2
set(handles.heso_a,'string',[]); //để chống heso_a
set(handles.heso_b,'string',[]); //để chống heso_b
set(handles.heso_c,'string',[]); //để chống heso_c
set(handles.kl,'string','Hay nhap so moi'); //ghi ra kết luận là hay nhap so moi
Bi2: Cho h thng iu khin lũ nhit cú hm truyn:
Vi K l s th t nhúm
ng dng SIMULINK
a. Kho sỏt ỏp ng quỏ ca i tng
b. Tng hp h thng iu khin lũ nhit vi b iu khin PID thit k theo
phng phỏp Zigler- Nichols 1
Tại của sổ comment window gõ simulink hiện lên bảng các khổi nh sau:
BTL: GTM&MPTMT 15 SVTH: Nhúm 7 LT in 2-K6
Trng HCNHN GVHD: PHM VN HNG

Sau đó chọnfile/new/modehiện lên bảng simulink nh sau
Bài tập ta có phơng trình trạng thái
Với nhóm 7 vậy K=7
=> G(s)==
a. Khảo sát đáp ứng quá độ của hàm G(s)
Từ simulink tà tìm các khối
Fnc: hàm truyền
Scope: hiển thị đồ thị
BTL: GTM&MPTMT 16 SVTH: Nhúm 7 LT in 2-K6
Trng HCNHN GVHD: PHM VN HNG
Step: hàm bớc nhảy
Rồi sau đó kéo thả sang mô màn hình mô phỏng mode ta vừa mới tạo sau đó nối
dây ta đợc sơ đồ sau
Tại Fcn ta nhập G(s)
Ta vào tab simulation/simulation parameters đặt thời gián bắt đầu và kết thúc mô
phỏng.
ở đây ta chon start time: 0 stop time: 200s
sau đó kick đúp vào scope hiện lên đồ thị
bắt đầu mô phỏng bằng cách vào tab simulation/start => ta sẽ thấy đồ thị hiện lên
tại scope
rồi nhấn nút autoscale(hình ống nhòm để xem toàn bộ đồ thị)
Ta có đợc đồ thị nh sau:
BTL: GTM&MPTMT 17 SVTH: Nhúm 7 LT in 2-K6
Trng HCNHN GVHD: PHM VN HNG
Để tìm k và T
1
,T
2
thì tại điểm uốn của đồ thị ta kẻ tiếp tuyến để tìm các thống số
trên:

Ta cài đặt scope nhứ sau:
vào parameter trên scope
Cài đặt nh sau:
Rồi sau đó vào comment window đánh lệnh sau
>>plot(ScopeData.time,ScopeData.signals.values);
>>grid on //hiện lới
đồ thị sẽ đợc lu sang figure
BTL: GTM&MPTMT 18 SVTH: Nhúm 7 LT in 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
Figure hiÖn lªn nh sau:
Tõ ®å thÞ ta kÎ ®êng tiÕp tuyÕn víi ®iÓm uèn ®Ó t×m T
1,
T
2,
K
BTL: GTM&MPTMT 19 SVTH: Nhóm 7 LT Điện 2-K6
Trng HCNHN GVHD: PHM VN HNG
Từ đồ thị => T
1
=4 (s), T
2
=33(s), k=0.47
Từ đây ta có bộ điều chỉnh PID
W
(PID)
= Kp+T
d
.P)
Trong đó Kp=1,2.=1,2.0,47=4.653
Ti=2T

1
=2.4=8(s)
T
d
=T
2
/2=33/2=16,5 (s)
W
(PID)
=4,653+16,5P)
*Mô phỏng sau khi có bộ điều chỉnh PID
Sau khi thành lập bộ điều chỉnh PID ta mô phỏng trên matlab theo sơ đồ sau:
VớiW
(PID)
=4,653(1+ + 16,5P) =4,653 + + 76,7745P
Sơ đồ nh sau:
BTL: GTM&MPTMT 20 SVTH: Nhúm 7 LT in 2-K6
Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
M« phángvíi thêi gian 300s ta cã ®å thÞ nh sau:
KẾT LUẬN
Sau một thời gian thực hiện bài tập lớn với sự hướng dẫn của thầy giáo Phạm Văn
Hùng , cùng với sự giúp đỡ nhiệt tình của các bạn trong lớp, cùng với sự nỗ lực
của cả nhóm đã hoàn thành bài tập lớn môn giải tích mạng và mô phỏng trên máy
tính với đề tài là:
“ỨNG DỤNG GUI TRONG MATLAB VÀ SIMULINK TRONG BÀI TOÁN
CỤ THỂ”.
Hiểu được cách thức lập trình được GUI và SIMULINK trong matlab, các
ứng dụng được ứng dụng rộng dãi trong ngành điện.
- Lập trình được căn bản trong 2 chương trình GUI và SIMULINK trên.
BTL: GTM&MPTMT 21 SVTH: Nhóm 7 LT Điện 2-K6

Trường ĐHCNHN GVHD: PHẠM VĂN HÙNG
Tuy nhiên do thời gian và trình độ có hạn cũng như kinh nghiệm còn hạn chế. Bài
tập lớn không thể tránh khỏi những thiếu sót, chúng em rất mong được sự giúp đỡ
chỉ bảo của các thầy cô để chúng em có thể hoàn thiện tốt hơn trong những lần sau.
Chúng em xin chân thành cảm ơn thầy giáo PHẠM VĂN HÙNG và các bạn bè
trong lớp đã giúp đỡ chúng em làm bài tập này.
Hà nội, Ngày 18 Tháng 4 Năm 2013
SVTH:Nhóm 7 LT Điện 2-K6
BTL: GTM&MPTMT 22 SVTH: Nhóm 7 LT Điện 2-K6

×