1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

MÔ HÌNH HÓA VÀ MÔ PHỎNG VỚI MATLAB/SIMULINK doc

32 1,6K 24
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Mô Hình Hóa Và Mô Phỏng Với MATLAB/Simulink
Tác giả Trần Vĩnh Thái
Trường học Đại học Bách khoa Hà Nội
Chuyên ngành Thiết bị điện – điện tử
Thể loại Báo cáo môn học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 32
Dung lượng 1,08 MB

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

Nội dung

„ Vai trò của mô hình hóa và mô phỏng„ Mô hình toán và phương pháp số † Mô hình toán của hệ vật lý † Phương pháp số giải phương trình vi phân... „ Vai trò của mô hình hóa và mô phỏng † Đ

Trang 1

„ Vai trò của mô hình hóa và mô phỏng

„ Mô hình toán và phương pháp số

† Mô hình toán của hệ vật lý

† Phương pháp số giải phương trình vi phân

Trang 2

ĐHBK Hànội B/m Thiết bị điện – điện tử 3

Yêu cầu với sinh viên

„ Tham dự lớp đầy đủ

„ Làm các bài tập về nhà

„ Hoàn thành bài tập lớn

„ Thi cuối học kỳ

1 Vai trò của mô hình hóa và mô phỏng

„ Mô hình– dạng biểu diễn đơn giản hóa của một hệ vật lý Chương trình này giới hạn mô hình ở dạng thức mô tả toán học, mô hình toán

„ Mô hình hóa và mô phỏng– là kỹ thuật cho phép xây dựng mô hình của hệ vật lý và thực hiện thực nghiệm trên mô hình đó Môn học này

sử dụng công cụ MATLAB/Simulink để biểu diễn mô hình toán của hệ trên máy tính số và cho phép phân tích, nghiên cứu nó

„ Vai trò của mô hình hóa và mô phỏng

† Được sử dụng khi hệ vật lý không tồn tại, tốn kém và/hoặc tốn thời gian xây dựng…

† Cho phép quan sát quá trình, đáp ứng động của hệ thống thiết kế trước khi thực nghiệm trên thiết bị thực

† Là công cụ hữu hiệu với chi phí thấp cho nghiên cứu, dễ sử dụng, dễ dàng thay đổi phương án…

Trang 3

ĐHBK Hànội B/m Thiết bị điện – điện tử 5

2 Mô hình toán và phương pháp số

„ Phân loại mô hình toán

† Mô hình tuyến tính, phi tuyến

† Mô hình thông số tập trung, thông số rải

† Mô hình tĩnh, động

† Mô hình liên tục, gián đoạn

† Mô hình xác định, bất định

„ Trình tự xây dựng mô hình

† Xác định mục tiêu và điều kiện của bài toán

† Đặt giả thiết đơn giản hóa và loại bỏ các yếu tố không quan trọng

† Xác định các tham số cho mô hình theo mục tiêu và điều kiện

† Kiểm chứng mô hình về mức độ phù hợp với hệ thống vật lý

2 Mô hình toán và phương pháp số

„ Mô tả toán học thường gặp

†Phương trình vi phân

†Hàm truyền

†Không gian trạng thái

Trang 4

ĐHBK Hànội B/m Thiết bị điện – điện tử 7

2 Mô hình toán và phương pháp số

„ Phương trình vi phân

–Thí dụ 1: Phân tích mạch điện trên hình vẽ Nguồn DC 1 V,

điều kiện đầu i(0) = 0 A, u c (0) = 0 V Xác định quá trình quá

độ của i(t), u c (t) khi đóng công tắc.

w BTVN: Xây dựng mô hình toán động cơ DC kích thích độc lập.

2 Mô hình toán và phương pháp số

„ Hàm truyền

† Định nghĩa: The transfer function of a linear, time-invariant, differential equation system is defined as the ratio of the Laplace transform of the output variable to the Laplace transform ofthe input variable, with all initial conditions assumed to be zero.

„ Tiếp theo thí dụ 1– mô tả bài toán ở dạng hàm truyền

s

v dt

di L

s C C

dt

v d LC dt

dv

Biểu thức:

) (

) ( ) (

s V

s V s Y

S C

=

w BTVN: Chuyển mô hình toán động cơ DC kích thích độc lập về dạng hàm truyền.

Trang 5

ĐHBK Hànội B/m Thiết bị điện – điện tử 9

„ Mô tả không gian trạng thái

† Dạng thức

„ Tiếp theo thí dụ 1– mô tả bài toán ở dạng thức không gian trạng thái

† Đặt

† Từ đó tìm được ma trận A, B, C, D

2 Mô hình toán và phương pháp số

w BTVN: Chuyển mô hình toán động cơ DC kích thích độc lập về mô hình không gian trạng thái Điều kiện: Mạch từ tuyến tính, kích thích không đổi.

2 Mô hình toán và phương pháp số

„ Phương pháp số giải phương trình vi phân

† Phương pháp Euler:

Giải phương trình y’ = f(t,y)trong khoản [a,b],

với y(a) = y(0) = y0:–Chia đoạn [a,b]thành nkhoảng hđủ nhỏ

–Giá trị củaytại y(k) được tính theo giá trị đã biết y(k-1)vàhàm f(tk , y k )theo biểu thức:

) , (

Trang 6

ĐHBK Hànội B/m Thiết bị điện – điện tử 12Thí dụ về ph.pháp Euler viết trong MATLAB

Sai số của phương pháp Euler

wSai số tỉ lệ với h2

Trang 7

ĐHBK Hànội B/m Thiết bị điện – điện tử 14

2 Mô hình toán và phương pháp số

„ Các phương pháp số khác

† Phương pháp Runge-Kutta bậc 2 – trong MATLAB làODE23

† Phương pháp Runge-Kutta bậc 4 – trong MATLAB làODE45

† Phương pháp chuỗi Taylor

† Các phương pháp Predictor-Correctors

† …

wThí dụODE45:

Thí dụ: Runge-Kutta Order 4

Trang 8

ĐHBK Hànội B/m Thiết bị điện – điện tử 16

3 MATLAB/Simulink

„ Tại sao chọn MATLAB/Simulink?

Đây là một công cụ:

† Mạnh cho việc thực hiện mô phỏng các mô hình toán

† Dễ học, dễ sử dụng Æ tốn ít thời gian đầu tư cho công cụ

„ Các công cụ khác

† Dymola với ngôn ngữ Modelica

† 20-Sim với phương pháp Bond Graph

† Maple, Mathematica, ACSL, Saber, Dynast…

„ Tài liệu tham khảo

† MATLAB/Simulink dành cho kỹ sư điều khiển tự động – Nguyễn Phùng Quang

† …

MATLAB

„ Môi trường MATLAB, demo và help

„ Tạo biến trong MATLAB

„ Thao tác với ma trận, toán tử logic và các hàm toán học

„ Công cụ hiển thị

„ M-file

„ Viết chương trình trong MATLAB

„ Lưu biến và buổi làm việc; thư mục và đường dẫn

„ GUI

„ Giải hệ phương trình vi phân với MATLAB

Trang 9

ĐHBK Hànội B/m Thiết bị điện – điện tử 18

Môi trường MATLAB

To get started, select "MATLAB Help" from the Help menu

» a = 2;

» b = 5;

» a^b ans = 32

» x = 5/2*pi;

» y = sin(x)

y = 1

» z = asin(y)

z = 1.5708

» a = 2;

» b = 5;

» a^b ans = 32

» x = 5/2*pi;

» y = sin(x)

y = 1

» z = asin(y)

z = 1.5708

Tạo biến trong môi trường MATLAB

Kết quả được gán cho “ans” nếu không đặt tên biến

Dấu () để truy cập hàm

Trang 10

ĐHBK Hànội B/m Thiết bị điện – điện tử 20

Một số lệnh tiện ích

„ Các lệnh tiện ích

† whowhos – liệt kê các biến

† clear, clear x, clear all – xóa biến

† close– xóa cửa sổ đồ họa hiện hành

† cd – đổi thư mục hiện hành

† dir– liệt kê nội dung thư mục hiện hành

† format– đặt định dạng biến lưu trong môi trường

† help “tên hàm”– tra cứu nhanh

† clc– xóa màn hình lệnh

† …

Thao tác với ma trận

„ 3 khái niệm trong đại số tuyến tính

† Vô hướng – là một số hay một từ (có giá trị đơn nhất)

† Véc-tơ – là mảng 1-D chứa một dãy các vô hướng, biến hoặc

Trang 11

ĐHBK Hànội B/m Thiết bị điện – điện tử 22

» b(2,5) = 23

b = -2.8000 0 + 2.6458i 10.5000 0 0

» b(2,5) = 23

b = -2.8000 0 + 2.6458i 10.5000 0 0

Trang 12

ĐHBK Hànội B/m Thiết bị điện – điện tử 24

» z = rand(2,4)

z = 0.9501 0.6068 0.8913 0.4565 0.2311 0.4860 0.7621 0.0185

» z = rand(2,4)

z = 0.9501 0.6068 0.8913 0.4565 0.2311 0.4860 0.7621 0.0185

Trang 13

ĐHBK Hànội B/m Thiết bị điện – điện tử 26

A(4:5,2:3) A([9 14;10 15])

A(1:end,end) A(:,end) A(21:end)’

a(2nd row).b(3rd column)

Trang 14

ĐHBK Hànội B/m Thiết bị điện – điện tử 28

Thao tác với ma trận

„ Các hàm tiện ích

† zeros– tạo ma trận rỗng

† ones– tạo ma trận 1

† eye– tạo ma trận đơn vị

† rand– tạo ma trận các phần tử ngẫu nhiên

† diag– tạo ma trận đường chéo

† size– hàm trả về kích thước của ma trận

† fliplr– đảo cột ma trận trái phải

† flipud– đảo hàng ma trận trên dưới

† rot90– xoay ma trận 90 độ (ngược chiều kim đồng hồ)

0 1 0 1 0 1 1

» all_pos = all(Mass>=0) all_pos =

0

» all_pos = any(Mass>=0) all_pos =

1

» pos_fin = (Mass>=0)&(isfinite(Mass)) pos_fin =

0 1 0 1 0 0 1

» Mass = [-2 10 NaN 30 -11 Inf 31];

» each_pos = Mass>=0 each_pos =

0 1 0 1 0 1 1

» all_pos = all(Mass>=0) all_pos =

0

» all_pos = any(Mass>=0) all_pos =

1

» pos_fin = (Mass>=0)&(isfinite(Mass)) pos_fin =

Trang 15

ĐHBK Hànội B/m Thiết bị điện – điện tử 30

Một số hàm toán học

„ Các hàm toán học

† abs, sign– hàm trả về trị tuyệt đối và dấu

† sin, cos, asin, acos…– hàm lượng giác

† exp, log, log10– hàm mũ e, log tự nhiên, log hệ 10

† ceil, floor, fix, round– các hàm làm tròn số

† sqrt– hàm căn bậc hai

† gcd– ước số chung lớn nhất

† lcm– bội số chung nhỏ nhất

† real, img– hàm trả về phần thực, phần ảo của số phức

† rem, mod– các hàm lấy phần nguyên và phần dư của phép chia

† max, min, means– các hàm tìm max, min và trị trung bình

title('Sample Plot','fontsize',14);

xlabel('X values','fontsize',14);

ylabel('Y values','fontsize',14);

legend('Y data','Z data')

grid on

Trang 16

ĐHBK Hànội B/m Thiết bị điện – điện tử 32

Công cụ hiển thị - Visualizing data

Trang 17

ĐHBK Hànội B/m Thiết bị điện – điện tử 34

Công cụ hiển thị - Visualizing data

Trang 18

ĐHBK Hànội B/m Thiết bị điện – điện tử 36

Công cụ hiển thị - Visualizing data

† Cho phép người dùng tạo hàm riêng của mình

† Tất cả các biến bên trong hàm có tính chất local(Muốn biến có tính chất global, phải dùng từ khóa globalkhi khai báo biến)

† Thông tin đưa vào hàm dưới dạng thông số

† MATLAB hỗ trợ nhiều tính năng cho hàm Æ xem thêm help

function

Trang 19

ĐHBK Hànội B/m Thiết bị điện – điện tử 38

M-files

„ Cửa sổ soạn thảo M-file: Editor/Debugger

Select Workspace Set Auto- Breakpoints

tips

M-files

„ Function file

function y = mean (x)

% MEAN Average or mean value.

% For vectors, MEAN(x) returns the mean value.

% For matrices, MEAN(x) is a row vector

% containing the mean value of each column [m,n] = size(x);

if m == 1

m = n;

end

y = sum(x)/m;

Tên hàm (phải trùng với tên file)

Các dòng này sẽ

xuất hiện khi gõ

lệnh help mean

Nội dung hàm

Trang 20

ĐHBK Hànội B/m Thiết bị điện – điện tử 40

Viết chương trình trong MATLAB

„ Các điều khiển chương trình

† Lệnh điều kiện switch

a = zeros(k,k) % Preallocate matrix

Trang 21

ĐHBK Hànội B/m Thiết bị điện – điện tử 42

Viết chương trình trong MATLAB

Lưu biến và buổi làm việc

„ Lưu các biến trong Workspace

† Dùng lệnh savevàload

„ Lưu buổi làm việc

† Dùng lệnh diary

load fnameload fname x y zload fname -asciiload fname -mat

load fnameload fname x y zload fname -asciiload fname -mat

save fname

save fname x y z

save fname -ascii

save fname -mat

save fname

save fname x y z

save fname -ascii

save fname -mat

Trang 22

ĐHBK Hànội B/m Thiết bị điện – điện tử 44

Xuất/nhập dữ liệu

„ Cho tệp tin BINARY

† Lệnh fopen, fclose, fread, fwrite, fseek:

„ Cho tệp tin TEXT

» fid= fopen( 'mydata.bin ' , ' wb ');

» fwrite (fid,eye(5) , ' int32 ');

UIMenu

objects Axes object

Figure object

Trang 23

ĐHBK Hànội B/m Thiết bị điện – điện tử 46

GUI

„ Làm việc với object’s handle

† Tạo cùng với lệnh

† Các hàm tiện ích

0– root object handle

gcf– get current figure handle

gca– get current axis handle

gco– get current object handle

† Hàm findobj

handle = plot(x_data, y_data, )

h_obj = findobj(h_parent, 'Property', 'Value', )

Default = 0 (root object)

GUI

„ Thay đổi thuộc tính đối tượng

† Lấy thuộc tính của đối tượng với hàm get

† Đặt thuộc tính cho đối tượng với hàm set

† Thay đổi thuộc tính đối tượng với Property Editor

get(h_object)

set(h_object)

set(h_object,'PropertyName','New_Value', )

Trang 24

ĐHBK Hànội B/m Thiết bị điện – điện tử 48

GUIDE

Push ButtonsRadio Buttons

Frames

Edit text

static textAxes

Trang 25

ĐHBK Hànội B/m Thiết bị điện – điện tử 50

GUIDE

„ Làm việc với m-file

„ Thí dụ tạo GUI và lập trình với m-file

handles.a = get(handles.slider_a,'Value'); set(handles.text_a,'String',

Trang 26

ĐHBK Hànội B/m Thiết bị điện – điện tử 52

Giải phương trình vi phân trong MATLAB

„ Các bước giải phương trình vi phân trong thí dụ 1 :

† 1 Tạo hàm trạng thái elecsys()

21

22

1

.x

R x V

C

x x

Giải phương trình vi phân trong MATLAB

„ Các bước giải phương trình vi phân trong thí dụ 1 :

† 2 Giải phương trình dùng hàm ODE23()

Gọi hàm ode23()

giải phương trình

vi phân khai báo

trong elecsys

Trang 27

ĐHBK Hànội B/m Thiết bị điện – điện tử 54

„ Trình tự xây dựng mô hình (block-diagram) trong Simulink

† Lập mô hình toán của hệ thống ở dạng phương trình vi phân, hàm truyền, hoặc không gian trạng thái (liên tục hoặc gián đoạn)

† Xác định dạng đầu vào, đầu ra

† Sử dụng Simulink Library Browser để chọn các biểu tượng tương ứng với các thông số cần thiết cho mô hình

† Chọn thời gian chạy mô phỏng và chọn solvercho mô hình

„ Thí dụ 1 xây dựng trong Simulink

V

x' = Ax+Bu

y = Cx+Du State-Space Scope

Trang 28

ĐHBK Hànội B/m Thiết bị điện – điện tử 56

Simulink

„ Simulation\Configuration Parameters

Solver:

ODE23 – fast, wide tolerance

ODE45 – first choice

ODE123 – multi-step, tight tolerance, time consumming

ODE15s – multi-step, stiff

† Sử dụng callbackcủa model và sub-model

† Chạy mô phỏng từ dấu nhắc MATLAB

† Dùng chức năng maskcho sub-model

† Sub-model có điều kiện–Thí dụ với if, enable…

[t, x, y] = sim (model, timespan, option, ut)

Trang 29

ĐHBK Hànội B/m Thiết bị điện – điện tử 58

Simulink

„ Bài tập 1 : giải phương trình

„ Bài tập 2 : giải mạch RLC

„ Bài tập 3 : mô phỏng động cơ DC kích thích độc lập

Mach tu may dien xoay chieu - day quan 2 lop Tran Vinh ThaiDHBK Hanoi 9/2006.

15

Z

16

Z B

0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 -5

0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 -5

0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 -5

0

5

STD quay day quan may dien xoay chieu

3 Phân tích, mô phỏng TBĐ với Simulink

„ Bài tập 4:Mô phỏng từ trường quay trong máy điện xoay chiều

Trang 30

ĐHBK Hànội B/m Thiết bị điện – điện tử 60

3 Phân tích, mô phỏng TBĐ với Simulink

„ Bài tập 4:Mô phỏng từ trường quay trong máy điện xoay chiều

3 Phân tích, mô phỏng TBĐ với Simulink

„ Bài tập 5:Mô phỏng hệ điều khiển động cơ điện một chiều

u_A u_R

Control of DC motor

Armature Current Speed (radian)

voltage UA1

voltage UA Urout

Tout

nout iAout Switch

ASS Speed Sensor

Speed Converter

i_A Omega

DC Motor ACS

Current Sensor

u_CW (-) u_CRu_RCurrent Controller

AR TR.s+1 Controlled Rectifier

Clock

Armature Current and Speed

Trang 31

B/m Thiết bị điện – điện tử 62

Trang 32

B/m Thiết bị điện – điện tử 64

Ngày đăng: 21/07/2014, 16:20

TỪ KHÓA LIÊN QUAN

w