1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thí nghiệm matlab và simulink

36 577 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 730,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Báo cáo thí nghiệm matlab và simulink

Trang 1

Lời Núi ĐầuMatlab là một ngôn ngữ bậc cao để giải các bài toán về kỹ thuật Nó tích hợpcác phép tính ma trận, phân tích số dựa trên các hàm cơ bản hơn nữa cấu trúc

đồ hoạ hớng tới đối tơng của Matlab cho phép tạo ra các hình vẽ có chất lợngcao, cho phép lập trình giao diện làm việc rất dễ dàng cho ngời sử dụng, dễdàng ứng dụng nó trong thực tế, cho phép:

+ Sử dung các hàm có sẵn trong th viện nh:

Control system (điều khiển tự động)

Finacial( lĩnh vực kinh tế )

fuzzylogic (điều khiển mờ ),

Symbolic (tính toán biểu thức)…

+cho phép lập tình tạo ra ứng dụng mới (M-file )

+cho phép phân tich mô phỏng mô hình thực tế (simulink)

+phân tích khảo sát và hiển thị dữ liệu

+phần mềm đồ hoạ 2D, 3D

+ứng dung phát triển giao tiếp với các phần mềm khác nh C++, fotran…

Ưu điểm của MatLab:

+ Được tớch hợp sẵn rất nhiều cỏc toolbox và cỏc hàm tớnh toỏn phức tạp, ta chỉ việc ỏp dụng

+ Thời gian tớnh toỏn tương đối nhanh (nếu biết tối ưu chương trỡnh: MatLabtớnh toỏn dựa trờn dạng Matrận nờn nếu biết đưa cỏc vũng lặp về dạng

Matrận sẽ rỳt ngắn được nhiều về thời gian tớnh toỏn)

+ Cú thể tự học, tự mày mũ để ỏp dụng (MatLab cú rất nhiều Toolbox do nú

hỗ trợ cho rất nhiều lĩnh vực khỏc nhau, tựy theo nhu cầu của bản thõn mà tatỡm hiểu phần nào cần thiết, đừng để bị choỏng trước sự "khổng lồ" của MatLab)

+ Cú thể thiết kế giao diện cho người dựng (GUI)

Nhược điểm:

Giao diện cho người dựng (GUI) khụng thể chuyển thành file exe nờn mỗi lần chạy phải chạy từ MatLab Chớnh vỡ khuyết điểm này, cỏc chương trỡnh viết bằng MatLab chỡ dựng để Mụ phỏng trong quỏ trỡnh học hoặc để tự khảo sỏt trong quỏ trỡnh nghiờn cứu vấn đề gỡ đú chứ khụng được đưa thành chương trỡnh sử dụng trong thực tế

Nội dung báo cáo bao gồm:

Bài 1: Viết chơng trình giải mạch điên trên M-File

Bài 2: Khảo sát hệ thống điều khiển trên công cụ Control System Toolbox

Trang 2

Bài 3: Mô phỏng hệ thống điều khiển tự động trên công cụ Simulink

Bài 1 Viết chơng trình giải mạch điện trên M-File

Khái quát M file

Các M-file l các file ASCII (file text) bình thà các file ASCII (file text) bình th ờng chứa các câu lệnh của Matlab).một yêu cầu cần thiết là các file có phần mở rộng là ‘.m’ và vì lí do

này nên nó cái tên M-file.-có 2 loại m file : Script v à các file ASCII (file text) bình th Function Các Script

v Function file cũng hoạt động nhà các file ASCII (file text) bình th các Procedures v Functions trong cỏc à các file ASCII (file text) bình thngôn ngữ lập trình thông thờng khác.Về cơ bản nội dung của một script đợc hiểu nh chính nội dung đó đợc gõ vào đầu đấu nhắc của cửa sổ lệnh.hiểu đơngiản thì nó chỉ thực hiện một câu lệnh của Matlab, tức chơng trình gồm tập hợp các câu lệnh viết dới dạng liệt kê ,không có biến dữ liêu vào và ra

Trang 3

Ưu điểm của script là: Tạo ra va sửa và xem xét một chuỗi câu lệnh có thể

dễ dàng xem lại hoặc thực hiện lại của công việc đã thực hiện.Function là các file có chứa biến dữ liệu vào và ra

Matlab cung cấp cho ta một công cụ biên soạn các Mfile khá tốt đó là các Matlab Editor

-Có thể khởi động Matlab Editor bằng cách : Từ menu File/New/M-file hoặcnhấn tổ hợp phím ‘Ctrl – N’,cửa sổ Editor hiện ra soạn thảo các câu lệnh của bạn và Save

-H m à các file ASCII (file text) bình th M-file dựng cho các h m phà các file ASCII (file text) bình th ức tạp hơn, chẳng hạn chứa các vòng lặp,các câu điều kiện

để biết trong th mục hiện tại có những m_file nào bạn có thể sử dụng lệnh What

Một số toán tử và câu lệnh trong M-file

Câu lệnh : disp(‘nội dung cần hiển thị’)

3.2 Các câu lệnh điều kiện ,rẽ nhánh

Câu lệnh điều kiện if

Trang 4

Cấu trúc đơn giản nhất

Cấu trúc : if expression (các toán tử quan hệ)

Statements (nội dung)

Break : thoát khỏi vòng lặp

Error : dùng thông báo lỗi ,hiển thị cho ngời lập trình biết đó là lỗi gì

Return : cho phép quay trở về thực thi những lệnh nằm trong tác dung của

Clc : xoá tất cả lệnh trong cửa sổ commandwindow

Clear : xoá danh sách biến đợc liệt kê

Exit(quit): thoát khỏi chơng trình

Whos : cho biết tất cả các biến hiện thời

Trang 5

Chương trình giải mạch điện (7 nhánh song song )

%%% bai thi nghiem so 1 %%%

%%% GVHD: Tong Thi ly %%%

%%% SVTH: Nguyen Dinh Hong Lop LTTC-DH Dien1-K1 %%%

Trang 6

disp(' nhap cac thong so mach dien va tinh toan')

W = input ('Nhap Gia Tri W = ') ;

%%% Nhap tan so goc

if W == 0

disp ('Mach Dien Mot Chieu')

N = input (' Nhap So Nhanh Mach Dien = ')

for i = 1 : N

Nhanh = i

J(i) = input (' Nhap Gia Tri nguon dong J = ') ;

if J(i) ==0

E(i) = input (' Nhap Gia Tri hieu dung E = ') ;

R(i) = input (' Nhap Gia Tri thuan tro R = ') ;

Trang 7

disp('cong suat toan mach')

P=sum (P)%%cong suat toan mach

else

disp('mach dien xoay chieu')

N = input (' Nhap So Nhanh Mach Dien = ')

for i = 1 : N

Nhanh = i

J0(i) = input (' Nhap Gia Tri J0 = ') ;

G(i) = input (' Nhap Gia Tri Pha J = ') ;

if J0(i)==0

E0(i) = input (' Nhap Gia Tri E0 = ') ;

F(i) = input (' Nhap Gia Tri Pha E = ') ;

R(i) = input (' Nhap Gia Tri R = ') ;

L(i) = input (' Nhap Gia Tri L = ') ;

C(i) = input (' Nhap Gia Tri C = ') ;

Trang 8

E(i) = E0(i)/sqrt(2);%%% Lay gia tri hieu dung

J(i) = J0(i)/sqrt(2);%%% Lay gia tri hieu dung

Pa=K/G %%the o nut

disp ('dien the o nut ')

Trang 9

disp ('cong suat tac dung toan mach')

P=sum(P)%%cong suat toan mach

disp ('cong suat phan khang toan mach')

Q= sum(P)

disp ('cong suat toan phan cua mach')

S=sqrt(P^2+Q^2)

End

Hiển thị kết quả ra màn hình sau khi dã nhập các thông số.

nhap cac thong so mach dien va tinh toan

nhap so nut mach dien d=2

Nhap Gia Tri W = 100

mach dien xoay chieu

Nhap So Nhanh Mach Dien = 7

N =

7

Nhanh =

1

Nhap Gia Tri J0 = 10

Nhap Gia Tri Pha J = 0

Nhanh =

Trang 10

2

Nhap Gia Tri J0 = 0

Nhap Gia Tri Pha J = 0

Nhap Gia Tri E0 = 10

Nhap Gia Tri Pha E = 10

Nhap Gia Tri R = 5

Nhap Gia Tri L = 2

Nhap Gia Tri C = 10

Nhanh =

3

Nhap Gia Tri J0 = 0

Nhap Gia Tri Pha J = 0

Nhap Gia Tri E0 = 20

Nhap Gia Tri Pha E = 0

Nhap Gia Tri R = 5

Nhap Gia Tri L = 4

Nhap Gia Tri C = 9

Nhanh =

4

Nhap Gia Tri J0 = 10

Nhap Gia Tri Pha J = 45

Nhanh =

5

Nhap Gia Tri J0 = 0

Nhap Gia Tri Pha J = 0

Nhap Gia Tri E0 = 25

Nhap Gia Tri Pha E = 60

Nhap Gia Tri R = 10

Nhap Gia Tri L = 2

Trang 11

Nhap Gia Tri C = 5

Nhanh =

6

Nhap Gia Tri J0 = 0

Nhap Gia Tri Pha J = 0

Nhap Gia Tri E0 = 10

Nhap Gia Tri Pha E = 30

Nhap Gia Tri R = 20

Nhap Gia Tri L = 3

Nhap Gia Tri C = 45

Nhanh =

7

Nhap Gia Tri J0 = 10

Nhap Gia Tri Pha J = 0

Trang 13

Num: vecto chứa các hệ số đa thức ở tử số bậc từ cao xuống thấp

Den: vecto chứa các hệ số đa thức ở mẫu số bậc từ cao xuống thấp

T : chu kỳ lấy mẫu của hệ gián đoạn

1.2) Điểm zezo - Điểm cực

Câu lệnh : sys=zpk(Z,P,K,T)

Z,P : là hệ số hàng chứa danh sách các điểm Zezo và điểm cực hệ thống

K : hệ số khuếch đại

Trang 14

1.3) Phơng trình trạng thái

Câu lệnh : sys=ss(A,B,C,D,T)

A,B,C,D : các ma trận trạng thái của hệ thống

1.4) Chuyển đổi giữa các trạng thái

- Từ hàm truyền sang trạng thái

Sys_dis,sys : hệ thống gián đoạn và liên tục tơng ứng

Method: phơng pháp lấy mẫu

Trang 15

K Gs

Trong đó: H=1.5; Gs=1/s(s+1)(s+2)

4-Một Số Hàm Đặc Biệt

4.1) Hàm ctrl

Câu lệnh: C_com=ctrl(A,B) hoặc C_com=ctrl(sys)

tính ma trận điều khiển đợc của hệ thống

Sơ đồ khối của mô hình có hàm truyền

Lưu đồ thuật toỏn

Trang 17

Mô phỏng hệ thống điều khiển tự động trên công cụ Simulink

Kh¸i qu¸t chung

Trang 18

Động cơ một chiều được ứng dụng rộng rãi trong rất nhiều lĩnh vực.Các đề t i và các file ASCII (file text) bình th ề thiết kế bộ điều khiển cho đông cơ một chiều cũng được đề cậprất nhiều trong cac sách, tạp chí v trên Internet Trong nhià các file ASCII (file text) bình th ều t i lià các file ASCII (file text) bình th ệu, b ià các file ASCII (file text) bình thtoán điều khiển động cơ điện một chiều thường được ứng để minh họa chocác ví dụ thiết kế và tính đơn giản v khá thiết thực Mô hình toán à các file ASCII (file text) bình th động cơđiện một chiều khá đơn giản m là các file ASCII (file text) bình th ại có thể minh họa b i toán à các file ASCII (file text) bình th điều khiển vớinhiều mạch vòng.

Chúng ta sẽ áp dụng lý thuyết điều khiển cơ bản theo từng bước mộtthông qua b i toán à các file ASCII (file text) bình th điều khiển tốc độ động cơ một chiều Công cụMatlab/Simulink được sử dụng trong thiết kế vừa giúp chúng ta nhanh chúngtìm ra được mô hình cần thiết nhờ các h m toán hà các file ASCII (file text) bình th ọc mạnh mẽ của Matlabvừa minh họa cho các lệnh của Matlab thông qua Control system toolbox.Với mục tiêu l không nhà các file ASCII (file text) bình th ững cụ thể, giải quyết một cách thấu đáo b i toánà các file ASCII (file text) bình thđiều khiển tốc độ động cơ một chiều trên không gian trạng thái m cònà các file ASCII (file text) bình ththông qua đó l m sáng tà các file ASCII (file text) bình th ỏ thêm phần lý thuyết cơ bản trong một ứng dụng cụthể Chính vì lý đó đã nên phần phân tích v thià các file ASCII (file text) bình th ết kế nói chung sẽ được thựchiện nhiều trên nền các lệnh của Matlab Đồng thời phần Simulink cũngđược sử dụng một cách thích hợp.Do b i toán à các file ASCII (file text) bình th điều khiển tốc độ động cơmột chiều có thể được mở rộng ra, sử dụng nhiều loại điều khiển khác nhaunhư PID tương tự, PID số, điều khiển theo phương pháp đặt cực, quan sáttrạng thái, điều khiển tối ưu, LQG

tổng quan về simulinkSimulink tích hợp vào Matlab nh một công cụ để mô phỏng hệ thống giúp ngời phân tích và tổng hợp hệ thống 1 cách trực quan ,trong Simulink hệ thống không đợc mô tả dới dòng lệnh theo kiểu truyền thống mà ở dới dạng sơ đồ khối.Với dạng sơ đồ khối này ,ta có thể quan sát các đáp ứng thời gian của hệ thống với nhiều tín hiệu khác nhau nh tín hiệu bậc thangtín hiệu sinus, xung chữ nhật…

Simulink cho phép ngời sử dụng tạo ra các th viện khối riêng chứa đựng các mô hình ứng dụng và nó có thể tự mô phổng thí nghiệm ,quan sát kết

quả,kiểm chứng với lí thuyết trớc khi tiến hành thí nghiệm

Để khởi động Simulink từ môi trờng Matlab trong của sổ Commandonw gõ lệnh simulink

Để bắt đầu làm việc ta tạo cửa sổ bằng cách vào file-new-model.

Trong th viện Simulink có 8 th viện chính :

-Continuous : hệ thống tuyến tính và liên tục

-Discrete : hệ thống tuyến tính gián đoạn

-Nonlinear : mô hình hoá những phần tử tuyến tính nh rơle ,phần tử bão hoà

Trang 19

-Source : các khối nguồn tín hiệu

-Sinks : các khối thu nhận tín hiệu

-Function & table : các hàm bậc cao của Matlab

-Math : các khối của Simulink với các hàm toán học tơng ứng của Matlab -Signals & system : các khối liên hệ tín hiệu ,hệ thống con…

Mô phỏng hệ thống tự động động cơ một chiều

trên công cụ SimulinkXét động cơ một chiều trong trờng hợp từ thông là hằng số và có giá tri danh

-Ra=Ru+Rf La

Trang 20

(n tÝnh theo vßng/gi©y), nªn ta cã thể viết

Trang 22

minfo(G_m) % cho biết thụng tin về mụ hỡnh đối tượng

MATLAB ss object: 2 states 2 outputs 2 inputs

MATLAB ss object: 2 states 2 outputs 2 inputs

Hàm có 2 đầu vào 2 đầu ra

figure(1); % biểu đồ thứ nhất

Trang 23

10-1 100 101 102 103 104 105-120

System: untitled1 Frequency (rad/sec): 8.6 Magnitude (dB): -27.1

Trang 24

Biểu đồ Bode phản ¸nh mối quan hệ giữa tần số - biªn độ v cà c¸c file ASCII (file text) b×nh th ả pha nữa nếu

vẽ đầy đủ nªn gọi l à c¸c file ASCII (file text) b×nh th đặc tÝnh tần-biªn-pha

Ví dụ, bodemag(G_m(2,1)) cho biết biªn độ của tÝn hiệu ra ở kªnh 2 theotần số ở đầu v o kªnh 1 Nghà c¸c file ASCII (file text) b×nh th ĩa l sà c¸c file ASCII (file text) b×nh th ự phụ thuộc của tốc độ đầu ra theo tần sốcủa tÝn hiệu điều khiển U_a ở đầu v o sà c¸c file ASCII (file text) b×nh th ố 1

Đã chÝnh l ý nghà c¸c file ASCII (file text) b×nh th ĩa của biểu đồ Bode Nªn cã vai trß rất quan trọng trong việc khảo s¸t

Ch¬ng tr×nh viÕt díi d¹ng M-file

(kh¶o s¸t hÖ thèng)

function bai_thi_nghiem_3

Ru=input('nhap gia tri dien tro phan ung Ru=');

Rf=input('nhap gia tri dien to phu Rf=');

Ra=Ru+Rf;

La=input('nhap gia tri dien cam phan ung La=')

Phi = 0.04;

J =input('nhap gia tri momen quan tinh cua dong co J=');

Km=input('nhap gia tri hang so dong co Km=')

Ke = 2*pi*Km;

Trang 25

A_m = [-Ra/La -Ke*Phi/La; Km*Phi/2/pi/J 0];

Trang 26

Lưu ý nhập các ma trận của mô hình bằng cách kích đúp chuột lên khối

v à các file ASCII (file text) bình th

Tiến hành mô phỏng bằng cách click vào Simulation/simulation parmeters

để cài đặt các thông số mô phỏng

Của sổ Simulation/simulation parmeters hiện ra ta chọn những thông số

nh sau:

Startime : thời điểm bắt đầu mô phỏng chọn=0;

Stoptime thời gian quá độ của hệ thống thờng chọn giá trị lớn;

Chạy mô phỏng bằng cách :

Vào menu Simulation/star- click double vào khối scope để quan sát mô

phỏng

Trang 27

KÕt m« pháng

Tænghîpm¹chvßng

®iÒukhiÓnPID

ThiiÕt kÕ bé ®iÒu khiÓn Pid t¬ng tù

- Thiết kế bằng Simulink: Có thể coi l phà c¸c file ASCII (file text) b×nh th ương pháp thực nghiệm

Phương ph¸p thiết kế đơn giản, nhanh, mọi thứ đều cã sẵn, cứ nối v o à c¸c file ASCII (file text) b×nh thnhau rồi xem kết quả -> chọn kết quả tốt nhất

Trang 28

- Thiết kế bằng Matlab: Đßi hỏi phải hiểu b i to¸n, lý thuyà c¸c file ASCII (file text) b×nh th ết v phà c¸c file ASCII (file text) b×nh th ải biết lập tr×nh một chót -> khã hơn một chót nhưng sẽ hiểu s©u hơn về lý thuyết v c¸ch thà c¸c file ASCII (file text) b×nh th ực hiện Cho phÐp khảo s¸t nhiều đặc tÝnh hơn ngay trong qu¸ tr×nh thiết kế cũng như hiểu thªm về c¸c lệnh Matlab øng dôngtrong thiết kế.

chóng ta bắt đầu với bộ điều khiển dßng (vßng lặp trong)

Ở đ©y ta chưa cần quan t©m đến tốc độ vội, dï bằng bao nhiªu cũng được, miễn là đặt chóng bằng bao nhiªu th× nã phải ra bấy nhiªu!

Để sử dụng hàm connect ta vẽ lại sơ đồ điều khiển, trong đã đ¸nh số thứ tự c¸c đầu vào của c¸c khối trong h×nh trªn, số thứ tự của c¸c đầu racủa c¸c khối trong h×nh kÝ hiÖu như h×nh sau:

Trang 29

Sau đã sử dụng lệnh append để b¸o cho Matlab biết c¸c khối cần kết hợp

và thứ tự của chóng như sau:

Sys=apepend(sys1,sys2,sys3);

Tiếp theo ta phải khai b¸o c¸c điểm nối của c¸c khèi Nếu để ý sẽ thấy, đầu vào của khối là có số thứ tự là 2, nã là hiệu của đầu ra số 1 của khối và đầu ra số 3 của DCM Vậy nªn khi khai b¸o ma trận ta sẽ phải cã dßng:

[đầu vào số 2 = đầu ra số 1 - đầu ra số 3]

Tương tự, đầu vào của khối DCM cã số thứ tự là 3 được nối với đầu ra số

2 của khối Vậy nªn khi khai b¸o ma trận ta sẽ phải cã dßng:

[đầu vào số 3 = đầu ra số 2]

ta khai b¸o ma trận như sau:

Đến đ©y ta được m« h×nh kh«ng gian trạng th¸i tổng hợp của hệ kÝn gồm

cả bộ điều khiển và đối tượng điều khiển Đầu vào là dßng điện đặt

(

) và m«men tải , đầu ra là dßng

B©y giờ ta có thể vẽ đồ thị Bode và step như sau:

figure(3);

bodemag(sysc(1,1),'r ', sysc(1,2),'b ', sysc(2,1),'g ', sysc(2,2),'m ',

logspace(-1,5,500));

title('Bieu do Bode - Dieu khien dong tuong tu');

legend('i_a^{ref} - i_a', 'T_L - i_a', 'i_a^{ref} - n', 'T_L - n', 3);

Trang 30

title('Dap ung buoc nhay cua vong lap dieu khien dong');

legend('i_a^{ref} - i_a', 'i_a^{ref} - n', 'T_L - i_a', 'T_L - n', 2

axis([0, 0.001, -0.2, 1.25]);

grid on;

Bây giờ là lúc ta cần phân tích các đáp ứng thu được Từ đó có thể đưa ra một

số kết

luận sơ bộ về việc chọn các hệ số

Để đỡ nhầm lẫn ta có thể thay sysc bằng một cái tên khác, chẳng hạn hekindcd- (hệ kín với bộ điều chỉnh dòng) Khi đó lệnh dùng là:

-Hekindcd=connect(sys,Q,input,output)’

Sau đú tính [yc, tc] để vẽ như sau:

[yc,tc]=step(hekindcd,0.05);

Lưu ý rằng đối với biểu đồ Bode thì trục tung biểu thị cho logarit của biển

đồ Cụ thể, nếu gọi là biên độ của tín hiệu đầu ra thì giá trị ghi trên trục tung là vậy:

Đáp ứng bước nhảy vòng lặp điều khiển dòng

Ngày đăng: 15/11/2015, 15:46

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w