Professional Documents
Culture Documents
Chuong 2 - Truyen Dong Dien CLC 3TC
Chuong 2 - Truyen Dong Dien CLC 3TC
Khoa Điện
PGS. TS. Lê Tiến Dũng
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
1
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
MATLAB® nguyên sơ không phải là ngôn ngữ lập trình. Nó được giáo sư Cleve Moler (trường Đại học
Stanford) viết bằng ngôn ngữ Fortran vào những năm cuối của thập niên 1970s. Ban đầu nó là một chương
trình máy tính (calculator) ma trận tương tác đơn giản được xây dựng dựa trên khoảng một tá chương trình
con từ thư viện phần mềm ma trận LINPACK và EISPACK.
Jack Little là một kỹ sư đã từng theo học tại Stanford. Một người bạn
của Little tham gia khóa học của GS. Cleve Moler đã cho Little xem
MATLAB, và Little đã sử dụng Matlab để làm việc trên các hệ thống
điều khiển.
Giao diện của Matlab phiên bản 05/12/1981. Lúc này nó chỉ là
một ứng dụng tính toán (calculator) sử dụng nội bộ trong trường
Đại học Stanford. 4
2
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Evolution of the MathWorks logo from a 2-D contour plot to a 3-D surface plot with color and lighting 6
3
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Source: Moler, Cleve, and Jack Little. "A history of MATLAB." Proceedings of the ACM on Programming
7
Languages 4.HOPL (2020): 1-67.
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
4
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Simulink được công ty MathWorks phát hành vào năm 1990. Nó cung cấp một môi trường mô hình hóa và
mô phỏng dựa trên sơ đồ khối.
Tên ban đầu của Simulink là “Simulab”, tuy nhiên bởi vì nó giống với tên một ngôn ngữ nổi tiếng là Simula
nên MathWorks đã đổi tên Simulab thành Simulink. Tên mới này có 2 ý nghĩa: “Simu” có nghĩa đây là một công
cụ mô phỏng (Simulation), còn “link” nghĩa là nó có thể được sử dụng để liên kết các khối lại với nhau thành
một hệ thống để mô phỏng.
Với các phương tện mạnh mẽ cho mô hình hóa và mô phỏng, Simulink đã trở thành một môi trường hàng
đầu trong lĩnh vực mô phỏng trên máy tính và các lĩnh vực liên quan khác.
10
10
5
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Cách mở Simulink: gõ lệnh simulink vào dòng lệnh của Matlab, hoặc kích vào biểu tượng trên thanh công cụ.
11
11
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
12
12
6
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
13
13
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Simulink Library Browser
Trong thư viện của Simulink có các nhóm: Sources, Sinks, Continuous,
Discrete, Math Operations, Logic and Bit Operations, Discontinuities,
Lookup Tables, Signals Routing, Signal Attributes, User-defined Functions,
Ports & Subsystems,...
Ngoài ra còn có rất nhiều nhóm khối và thư viện khác trong Blocksets &
Toolboxes.
Người dùng cũng có thể tự tạo ra khối của riêng mình và có thể đưa vào
trong trình duyệt của mô hình.
14
14
7
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
15
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
+ From file và From Workspace : được sử dụng để phát các tín hiệu vào từ file hoặc từ Workspace
của Matlab.
+ Clock : được dùng để phát tín hiệu thời gian hiện tại, và nó cũng được dùng để biểu diễn đại lượng
độc lập.
+ Constant : là khối phát ra tín hiệu vào là một hằng số.
+ Ground : Được dùng để phát ra tín hiệu vào bằng 0. Nếu một đầu nào đó của khối chưa được kết
nối, thì có thể kết nối tạm thời với khối Ground để tránh thông báo cảnh báo của chương trình.
+ Ngoài ra còn các khối khác như Step, Pulse Generator, Ramp và Sine Wave.
+ Khối Repeating Sequence có thể dùng để phát các tín hiệu đầu vào có tính chất chu kỳ.
+ Khối Signal Builder được dùng để cho phép người dùng thiết kế bất cứ đồ thị dạng sóng nào.
16
16
8
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
17
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Nhóm Continuous
18
9
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
19
19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
20
20
10
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
21
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
22
22
11
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Signal Routing
23
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
24
12
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Ngoài những khối thường dùng trong thư việc Simulink đã kể ở trên, còn có một số lượng lớn các khối chuyên
ngành khác có thể tìm thấy trong Matlab Toolboxes and Blocksets. Một số toolboxes và blocksets thường dùng
bao gồm:
+ Aerospace Blockset gồm một số lược lớn các khối dành cho kỹ thuật hàng không vũ trụ. Trong đó bao gồm
các nhóm con như Equations of Motion, Aerodynamics, Propulsion, GNC và Animation.
+ Communications System Toolbox cung cấp các công cụ và các khối trong việc mô phỏng các hệ thống
truyền thông. Các nhóm trong này bao gồm Modulation, Synchronization, Sequence Operations, Interleaving
và Source Coding.
+ DSP System Toolbox cung cấp một số khối hữu dụng trong xử lý tín hiệu số. Các nhóm con bao gồm
Filtering, Transforms, Estimation, Quantizers và Statistics.
+ SimEvents cung cấp các khối cần thiết để mô hình hóa một sự kiện hoặc một hệ thống động gián đoạn theo
sự kiện.
25
25
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
+ Các khối và công cụ được dùng cho giao diện giữa các MATLAB Toolboxes sẵn có. Ví dụ như Control
System Toolbox có khối LTI để tải các mô hình tuyến tính bất biến với thời gian vào trong Simulink. Fuzzy Logic
Toolbox có thể sử dụng để truy cập các hệ thống mờ. Neural Network Blockset được dùng để nhúng một mạng
neural vào trong một mô hình Simulink. MPC Toolbox cung cấp các khối giao diện với Model Predictive Control
Toolbox. System Identification Toolbox được dùng để giao diện với các toolbox trong Simulink nhằm mục đích
nhận dạng.
+ Simscape và thư viện của nó Foundation Library cung cấp một phương pháp mô hình hóa dễ dàng cho các
hệ thống kỹ thuật trên nhiều miền vật lý khác nhau (multi-domain physical). Các nhóm trong thư viện bao gồm
Electrical, Hydraulic, Mechanical, Magnetic, Thermal, Pneumatic và các khối kỹ thuật khác. Các nhóm này
cho phép người dùng mô phỏng các hệ thống kỹ thuật bằng phương pháp xây dựng sơ đồ khối, công việc này
tương tự như việc lắp ghép một hệ thống phần cứng thực tế.
26
26
13
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Việc mô hình hóa và mô phỏng trên Simulink được thực hiện bằng cách kéo thả (hoặc copy) các khối trong
các thư viện Simulink, kết nối các khối lại với nhau và sau đó thay đổi các tham số của mô hình (thay đổi thông
số trong từng khối).
27
27
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Khi kéo (hoặc copy) một khối từ thư viện thả vào file mô hình Simulink thì các tham số của khối đó thường
không đúng như mong muốn. Khi đó, chúng ta phải thay đổi lại tham số của khối để đúng với mô hình mong
muốn.
Ví dụ 1: Kéo một khối hàm truyền Transfer function vào mô hình, theo mặc định hàm truyền của khối sẽ là
G(s) = 1/(s + 1). Tuy nhiên hàm truyền chúng ta cần là G(s) = (s3 + 5s2 + 21s + 7)/(2s4+ 7s3+31s2+40s+21). Khi
đó, nháy kép chuột vào khối, chương trình sẽ hiện ra một giao diện để chúng ta sửa lại các hệ số để có được
hàm truyền mong muốn.
28
28
14
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Ví dụ 2
29
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Ví dụ 3
Cho một hệ thống cơ học như hình vẽ. Hệ thống bao gồm
một khối, một lò xo và một giảm chấn. Lực F tác động vào
hệ có chiều như hình vẽ. Hãy xây dựng mô hình toán học
của hệ.
b
30
30
15
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
F = 5; % N
m = 1.0; % kg
b = 0.1; %
k = 0.1; % (File: TDD_VD3_C2.xls)
31
31
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Simscape™ cho phép nhanh chóng tạo các mô hình hệ thống vật lý trong môi trường Simulink®. Với
Simscape, chúng ta có thể xây dựng các mô hình thành phần vật lý dựa trên các kết nối vật lý tích hợp trực tiếp
với các khối và các mô hình toán học khác. Chúng ta có thể mô phỏng các hệ thống như động cơ điện, bộ
chỉnh lưu cầu, bộ truyền động thủy lực, hệ thống điện, hệ cơ học, … bằng cách ghép nối các thành phần cơ bản
thành một sơ đồ. Bên cạnh đó, các công cụ bổ trợ Simscape cung cấp các thành phần và khả năng phân tích
phức tạp hơn.
32
32
16
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
33
33
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Matlab 2017b
34
34
17
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Phân biệt các khối trong Simscape/Power Systems với các khối trong Simulink:
+ Đầu vào/ra của các khối trong Simulink ký hiệu bởi dấu “>”. Đường nối giữa các khối Simulink là đường tín
hiệu/giá trị số học của chương trình.
+ Đầu vào/ra của các khối trong Power Systems ký hiệu bởi dấu “”. Đường nối giữa các khối là đường tín
hiệu vật lý điện.
Không thể nối trực tiếp một khối Simulink với một khối Power Systems. Phải dùng một khối chuyển đổi tín hiệu
trung gian trong thư viện của SimPowerSystems để chuyển đổi và kết nối giữa 2 loại tín hiệu kể trên.
Sau khi kết nối xong mô hình, bước tiếp theo là khai báo các tham số cho từng phần tử của mô hình.
Sau đó phải quyết định là mô hình sẽ được mô phỏng liên tục hay rời rạc. Nếu mô hình là rời rạc thì phải khai
báo thời gian lấy mẫu (cố định hoặc biến đổi).
Các thiết lập, cài đặt các thông số, chế độ hoạt động của mô hình được thực hiện trong POWERGUI.
Muốn sơ đồ hoạt động được, phải có khối POWERGUI.
35
35
KHOA ĐIỆN
Nhóm Elements PGS. TS. Lê Tiến Dũng
36
36
18
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Nhóm Measurements
37
37
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Nhóm Machinese
38
38
19
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
39
39
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
40
40
20
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Ví dụ 4: Mô phỏng động
cơ 1 chiều kích từ độc
lập
(File: TDD_VD4_C2.xls)
41
41
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
42
42
21
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
43
43
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
44
44
22
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
45
45
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
46
46
23
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Ví dụ 8: Mô phỏng hệ truyền động động cơ xoay chiều 3 pha đồng bộ PMSM (File: TDD_VD8_C2.xls)
47
47
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
48
48
24
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Ví dụ 9: Mô phỏng hệ truyền động động cơ xoay chiều 3 pha KĐB IM (File: TDD_VD9_C2.xls)
49
49
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
50
50
25
22:19
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
2.5. Cách trích xuất kết quả và vẽ đồ thị các đặc tính
Lấy kết quả đồ thị, dữ liệu số bằng khối Scope trong Simulink
51
51
KHOA ĐIỆN
PGS. TS. Lê Tiến Dũng
Lấy kết quả đồ thị, dữ liệu số bằng cách xuất biến ra Workspace và dùng lệnh plot, subplot trong Matlab
figure()
subplot(3,1,1)
plot(Time.time,ia,Time.time,ib,Time.time,ic,'LineWidth'
,1);
title('Do thi song dong dien stator ba pha');
xlabel('Time(s)');
ylabel('iabc(A)');
grid on
subplot(3,1,2)
plot(Time.time,tocdo,'LineWidth',2);
title('Do thi toc do cua dong co');
xlabel('Time(s)');
ylabel('v(vong/phut)');
grid on
subplot(3,1,3)
plot(Time.time,momen,'LineWidth',2);
title('Do thi momen cua dong co');
xlabel('Time(s)');
ylabel('M(N.m)');
grid on
52
52
26