Giáo trình Giải tích mạch và mô phỏng trên máy tính

Làm việc trong môi trường Matlab

Matlab là một môi trường tính toán số và lập trình. Giống như một máy tính

cơ bản, nó làm tất cả các phép tính toán học cơ bản như cộng, trừ, nhân, chia; giống

như máy tính kỹ thuật, nó bao gồm: số phức, căn thức, số mũ, logarit, các phép toán

lượng giác như: sin, cos, tang, ; nó cũng giống như máy tính có thể lập trình, có

thể lưu trữ, tìm kiếm lại dữ liệu, cũng có thể tạo, bảo vệ và ghi trình tự các lệnh để

tự động phép toán khi giải quyết các vấn đề, có thể so sánh logic, điều khiển thực

hiện lệnh để đảm bảo tính đúng đắn của phép toán. Giống như các máy tính hiện đại

nhất, nó cho phép biểu diễn dữ liệu dưới nhiều dạng như: biểu diễn thông thường,

ma trận đại số, các hàm tổ hợp và có thể thao tác với dữ liệu thường cũng như đối

với ma trận.

Matlab cung cấp một môi trường phong phú cho biểu diễn dữ liệu và có khả

năng mạnh mẽ về đồ họa, tạo các giao diện riêng cho người sử dụng GUIs. Thêm

vào đó Matlab đưa ra những công cụ để giải quyết những vấn đề đặc biệt, gọi là

Toolbox. Ngoài ra ta còn có thể tạo ra các Toolbox cho riêng mình.

 

pdf 116 trang kimcuc 3960
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Giải tích mạch và mô phỏng trên máy tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Giải tích mạch và mô phỏng trên máy tính

Giáo trình Giải tích mạch và mô phỏng trên máy tính
0 
TRƢỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG 
KHOA KỸ THUẬT-CÔNG NGHỆ 
------ 
BÀI GIẢNG 
GIẢI TÍCH MẠCH VÀ 
MÔ PHỎNG TRÊN MÁY TÍNH 
(BẬC: CAO ĐẲNG) 
Quảng Ngãi, 2014 
GV: Trƣơng Quang Sanh 
BỘ MÔN: Điện-Điện tử 
KHOA: Kỹ thuật-Công nghệ 
 1 
TRƢỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG 
KHOA KỸ THUẬT-CÔNG NGHỆ 
------ 
BÀI GIẢNG 
GIẢI TÍCH MẠCH VÀ 
MÔ PHỎNG TRÊN MÁY TÍNH 
BẬC: CAO ĐẲNG 
(45 tiết) 
Quảng Ngãi, 2014 
GV: Trƣơng Quang Sanh 
BỘ MÔN: Điện-Điện tử 
KHOA: Kỹ thuật-Công nghệ 
 2 
LỜI NÓI ĐẦU 
Điều khiển tự động hóa đóng vai trò quan trọng trong sự phát triển của khoa 
học và kỹ thuật. Lĩnh vực này sử dụng rất rộng rãi từ hệ thống phi thuyền không 
gian, hệ thống điều khiển tên lửa, máy bay không ngƣời lái, robot, ngƣời máy tay, 
máy trong các quá trình sản xuất hiện đại và ngay cả trong đời sống hàng ngày: 
Điều khiển nhiệt độ, độ ẩm,  
Khi các máy móc hiện đại ngày nay càng phức tạp hơn nhiều tín hiệu vào và 
ra thì việc mô tả hệ thống điều khiển đòi hỏi cần phải tính toán nhanh và xử lý một 
lƣợng lớn các lệnh phức tạp. 
Nhằm tạo kỹ năng lập trình và mô phỏng để giải quyết các bài toán đại số, 
phƣơng trình vi phân, ma trận, các bài toán về phƣơng trình toán lý, trong kỹ thuật 
điện, điện tử, tự động Bài giảng “GIẢI TÍCH MẠCH VÀ MÔ PHỎNG TRÊN 
MÁY TÍNH” sẽ giúp cho chúng ta tìm hiểu những nội dung cơ bản nhất về Matlab 
và Simulink cũng nhƣ ứng dụng giải quyết những bài toán kỹ thuật điện đơn giản. 
Nội dung của bài giảng gồm 8 chƣơng: 
Chương 1: Các khái niệm cơ bản 
Chương 2: Tính toán trên các mảng số 
Chương 3: Nhập - xuất dữ liệu trong MATLAB 
Chương 4: Các lệnh điều khiển trong MATLAB 
Chương 5: Hàm do người dùng tự lập 
Chương 6: Đồ họa trong MATLAB 
Chương 7: Các bài toán đại số tuyến tính và phương trình vi phân 
Chương 8: Simulink 
Do thời gian biên soạn có hạn nên không tránh đƣợc những sai sót, mong 
những góp ý xin gửi về Bộ môn Điện - Điện tử, khoa Kỹ thuật - Công nghệ, Trƣờng 
Đại học Phạm Văn Đồng. Trân trọng cảm ơn! 
 Tác giả! 
 3 
MỤC LỤC 
LỜI NÓI ĐẦU ............................................................................................................ 2 
MỤC LỤC ................................................................................................................... 3 
Chƣơng 1 ..................................................................................................................... 7 
CÁC KHÁI NIỆM CƠ BẢN ...................................................................................... 7 
1.1. Giới thiệu phần mềm matlab ............................................................................ 7 
1.2. Làm việc trong môi trƣờng Matlab ................................................................... 9 
1.3. Các lớp dữ liệu .................................................................................................. 9 
1.4. Biến và cấu trúc mảng của biến trong MatLab ............................................... 10 
1.4.1. Biến........................................................................................................... 10 
1.4.2. Cấu trúc mảng của biến ............................................................................ 11 
Chƣơng 2 ................................................................................................................... 15 
TÍNH TOÁN TRÊN CÁC MẢNG SỐ ..................................................................... 15 
2.1. Biểu thức tính toán số ..................................................................................... 15 
2.1.1. Mảng đơn .................................................................................................. 15 
2.1.2. Mảng nhiều chiều ..................................................................................... 16 
2.2. Khởi tạo các mảng số ...................................................................................... 18 
2.3. Các phép tính trên mảng số ............................................................................ 21 
2.3.1. Phép toán giữa mảng với số đơn .............................................................. 21 
2.3.2. Phép toán giữa mảng với mảng ................................................................ 21 
2.3.3. Mảng với lũy thừa .................................................................................... 24 
2.4. Các hàm toán học ............................................................................................ 26 
2.4.1. Các hàm toán học ..................................................................................... 26 
2.4.2. So sánh mảng ............................................................................................ 27 
2.5. Xử lý tính toán các mảng số ........................................................................... 28 
Chƣơng 3 ................................................................................................................... 34 
 4 
NHẬP - XUẤT DỮ LIỆU TRONG MATLAB ........................................................ 34 
3.1. Nhập dữ liệu từ bàn phím bằng hàm input ..................................................... 34 
3.2. Nhập dữ liệu từ chuột bằng hàm menu ........................................................... 35 
3.3. Xuất dữ liệu ra cửa sổ lệnh bằng hàm disp. Hàm format và các khuôn dạng số35 
3.4. Xuất dữ liệu ra cửa sổ lệnh bằng hàm sprintf ................................................. 38 
3.5. Xuất dữ liệu ra file bằng lệnh save ................................................................. 39 
3.6. Nhập dữ liệu từ file bằng lệnh load ................................................................ 40 
3.7. Nhập xuất dữ liệu với các file văn bản có định dạng bằng các hàm 
fopen, fscanf, fprintf, fclose ................................................................................... 40 
3.7.1. Hàm fopen ................................................................................................ 40 
3.7.2. Hàm fprintf ............................................................................................... 41 
3.7.3. Hàm fscanf ............................................................................................... 42 
3.7.4. Hàm fclose ................................................................................................ 42 
Chƣơng 4 ................................................................................................................... 44 
CÁC LỆNH ĐIỀU KHIỂN TRONG MATLAB ...................................................... 44 
4.1. Các lệnh rẽ nhánh: if ... end, switch ... end ................................................ 44 
4.1.1. Lệnh if  end ........................................................................................... 44 
4.1.2. Lệnh switch ... end .................................................................................... 47 
4.2. Các lệnh lặp: for ... end, while ... end ............................................................. 49 
4.2.1. Lệnh lặp for  end .................................................................................. 49 
4.2.2. Lệnh lặp while  end .............................................................................. 52 
4.3. Các lệnh chuyển trong vòng lặp ..................................................................... 53 
4.4. Lệnh chuyển đến cuối m-file .......................................................................... 54 
4.5. Hàm tạm dừng ................................................................................................ 56 
Chƣơng 5 ................................................................................................................... 59 
HÀM DO NGƢỜI DÙNG TỰ LẬP ......................................................................... 59 
 5 
5.1. Hàm biểu thức inline....................................................................................... 59 
5.2. Hàm m-file ...................................................................................................... 60 
Chƣơng 6 ................................................................................................................... 63 
ĐỒ HỌA TRONG MATLAB ................................................................................... 63 
6.1. Mở đầu ............................................................................................................ 63 
6.2. Đồ họa 2D ....................................................................................................... 65 
6.3. Đồ họa 3D ....................................................................................................... 67 
6.3.1. Các lệnh Plots ........................................................................................... 67 
6.3.2. Phối cảnh trong đồ hoạ 3-D ...................................................................... 69 
6.4. Đồ họa chuyển động ....................................................................................... 70 
6.5. Thiết kế giao diện đồ họa ................................................................................ 72 
Chƣơng 7 ................................................................................................................... 76 
CÁC BÀI TOÁN ĐẠI SỐ TUYẾN TÍNH VÀ PHƢƠNG TRÌNH ......................... 76 
VI PHÂN ................................................................................................................... 76 
7.1. Ma trận và ánh xạ tuyến tính .......................................................................... 76 
7.1.1. Ma trận ..................................................................................................... 76 
7.1.2 Ánh xạ tuyến tính: ..................................................................................... 78 
7.2 Hệ phƣơng trình đại số tuyến tính ................................................................... 79 
7.3 Giải thuật giải phƣơng trình vi phân ................................................................ 86 
Chƣơng 8 ................................................................................................................... 90 
SIMULINK ............................................................................................................... 90 
8.1 Simulink mô phỏng hệ thống điện, điện tử, tự động ....................................... 90 
 8.1.1 Tổng quan về Simulink: ............................................................................ 90 
 8.1.2. Mô phỏng bộ điều khiển PID ................................................................. 102 
 8.1.3 Mô phỏng mạch điện ............................................................................... 107 
8.2 Simulink trong mô phỏng đo lƣờng điện. ...................................................... 110 
 6 
8.2.1 Đo dòng: .................................................................................................. 110 
8.2.2 Đo áp ....................................................................................................... 111 
TÀI LIỆU THAM KHẢO ....................................................................................... 115 
 7 
Chƣơng 1 
 CÁC KHÁI NIỆM CƠ BẢN 
1.1. Giới thiệu phần mềm matlab 
Đối với lĩnh vực điều khiển - tự động hóa nói riêng và trong lĩnh vực khoa 
học - kỹ thuật nói chung, mô phỏng là công cụ quan trọng cho phép khảo sát các đối 
tƣợng, hệ thống hay quá trình kỹ thuật - vật lý, mà nhất thiết không phải có đối 
tƣợng hay hệ thống thực. Matlab - simulink đƣợc trang bị công cụ mô phỏng mạnh 
và các phƣơng pháp mô hình hóa. 
Matlab là một bộ chƣơng trình phần mềm lớn của lĩnh vực tính toán số. Tên 
bộ chƣơng trình chính là chữ viết tắt từ MATric LABoratory, thể hiện định hƣớng 
chính của chƣơng trình là các phép toán vector và ma trận. Phần cốt lõi của chƣơng 
trình bao gồm một số hàm toán, các chức năng nhập/xuất cũng nhƣ các khả năng 
điều khiển chu trình mà nhờ đó ta có thể dựng nên các đoạn chƣơng trình để thực 
thi. 
Thêm vào phần cốt lõi là các Toolbox (bộ công cụ) với phạm vi chức năng 
chuyên dụng mà ngƣời sử dụng cần. Trong phạm vi giáo trình này chỉ giới thiệu 
một số Toolbox liên quan đến mô phỏng mạch, điều khiển - tự động hóa. Đặc biệt, 
Simulink là một Toobox có vai trò đặc biệt quan trọng: Một công cụ mạnh phục vụ 
mô hình hóa và mô phỏng các hệ thống kỹ thuật - vật lý trên cơ sở sơ đồ cấu trúc 
dạng khối. 
Trƣớc khi khởi động Matlab, thì ngƣời dùng phải tạo một thƣ mục làm việc 
để chứa các file chƣơng trình của mình (ví dụ: E:/thuchanh_matlab). 
Matlab sẽ thông dịch các lệnh đƣợc lƣu trong file có dạng *.m. Sau khi cài 
đặt Matlab thì việc khởi động chạy chƣơng trình này chỉ đơn giản là nhấp vào biểu 
tƣợng của nó trên desktop , hoặc vào Start\All Programs\Matlab\Matlab 
R2008b. 
 8 
Sau khi đã khởi động Matlab xong, thì bƣớc kế tiếp là chỉ thƣ mục làm việc 
của mình cho Matlab. Nhấn vào biểu tƣợng trên thanh công cụ và chọn thƣ mục 
làm việc của mình (ví dụ: E:/thuchanh_matlab). 
Cửa sổ làm việc của Matlab sẽ nhƣ hình bên dƣới. Nó bao gồm 3 cửa sổ làm 
việc chính: Cửa sổ lệnh (Command Window), cửa sổ thƣ mục hiện tại (Current 
Directory) và cửa sổ chứa tập các lệnh đã đƣợc sử dụng (Command History). 
Để tạo một file.m trong thƣ mục làm việc, ta có thể thực hiện: 
 Nhấn vào biểu tƣợng hoặc vào File\New\M-file 
 Cửa sổ soạn thảo xuất hiện, gõ chƣơng trình cần thiết vào file. Sau khi 
đã hoàn tất nhấn vào biểu tƣợng để lƣu vào thƣ mục hiện tại 
(E:/thuchanh_matlab). 
 9 
Để thực thi tập lệnh có trong file.m trong thƣ mục làm việc thì ngƣời dùng chỉ 
cần gõ tên file đó và Matlab sẽ tự động thực thi các dòng lệnh có trong file.m này. 
1.2. Làm việc trong môi trƣờng Matlab 
Matlab là một môi trƣờng tính toán số và lập trình. Giống nhƣ một máy tính 
cơ bản, nó làm tất cả các phép tính toán học cơ bản nhƣ cộng, trừ, nhân, chia; giống 
nhƣ máy tính kỹ thuật, nó bao gồm: số phức, căn thức, số mũ, logarit, các phép toán 
lƣợng giác nhƣ: sin, cos, tang,; nó cũng giống nhƣ máy tính có thể lập trình, có 
thể lƣu trữ, tìm kiếm lại dữ liệu, cũng có thể tạo, bảo vệ và ghi trình tự các lệnh để 
tự động phép toán khi giải quyết các vấn đề, có thể so sánh logic, điều khiển thực 
hiện lệnh để đảm bảo tính đúng đắn của phép toán. Giống nhƣ các máy tính hiện đại 
nhất, nó cho phép biểu diễn dữ liệu dƣới nhiều dạng nhƣ: biểu diễn thông thƣờng, 
ma trận đại số, các hàm tổ hợp và có thể thao tác với dữ liệu thƣờng cũng nhƣ đối 
với ma trận. 
Matlab cung cấp một môi trƣờng phong phú cho biểu diễn dữ liệu và có khả 
năng mạnh mẽ về đồ họa, tạo các giao diện riêng cho ngƣời sử dụng GUIs. Thêm 
vào đó Matlab đƣa ra những công cụ để giải quyết những vấn đề đặc biệt, gọi là 
Toolbox. Ngoài ra ta còn có thể tạo ra các Toolbox cho riêng mình. 
1.3. Các lớp dữ liệu 
Dữ liệu của Matlab thể hiện dƣới dạng ma trận (hoặc mảng) và có các kiểu dữ 
liệu đƣợc liệt kê sau đây: 
- Kiểu đơn single, kiểu này có lợi về mặt bộ nhớ nhƣng không đƣợc sử dụng 
trong các phép tính toán học vì có độ chính xác kém. 
- Kiểu double, kiểu này là kiểu thông dụng nhất của các biến trong Matlab. 
- Kiểu sqarse. 
- Kiểu uint8, uint16,  
- Kiểu char. 
- MatLab còn có một số kiểu dữ liệu khác c ... ra. Có thể rẽ nhánh tín hiệu bằng cách nháy phím 
chuột phải vào một đƣờng nối có sẵn và kéo đƣờng nối mới xuất hiện tới đầu vào 
cần nối. 
 93 
- Di chuyển đường nối: Để lƣu đồ tín hiệu thoáng và dễ theo dõi, nhiều khi ta 
phải di chuyển, bố trí lại vị trí các đƣờng nối. Khi nháy chọn bằng chuột trái ta có 
thể di chuyển tuỳ ý các điểm góc hoặc di chuyển song song từng đoạn thẳng của 
đƣờng nối. 
- Tạo vector đường nối: Để dễ phân biệt giữa đƣờng nối đơn và đƣờng nối 
các tín hiệu theo định dạng vector, hoặc ma trận, hoặc mảng, ta có thể chọn menu 
Format / Wide nonscalar lines để tăng bề dầy của đƣờng nối. 
- Chỉ thị kích cỡ và dạng dữ liệu của tín hiệu: Lệnh chọn qua menu Format / 
Signal dimensions sẽ hiện thị kích cỡ của tín hiệu đi qua đƣờng nối. Lệnh menu 
Format / Port data types chỉ thị thêm loại dữ liệu của tín hiệu qua đƣờng nối. 
- Định dạng cho một khối: Sau khi nháy phím chuột phải vào một khối, cửa 
sổ định dạng khối sẽ mở ra. Tại mục Format ta có thể lựa chọn kiểu và kích cỡ chữ, 
cũng nhƣ vị trí của tên khối, có thể lật hoặc xoay khối. Hai mục Foreground Color 
và Background Color cho phép ta đặt chế độ mầu bao quang cũng nhƣ mầu nền của 
khối. 
- Định dạng cho đường nối: Sau khi nháy phím chuột phải vào một đƣờng 
nối, cửa sổ định dạng đƣờng sẽ mở ra. Tại đây có các lệnh cho phép cắt bỏ, chép 
hoặc xoá đƣờng nối. 
- Hộp đối thoại về đặc tính của khối: Hoặc đi theo menu của cửa sổ mô 
phỏng Edit / Block Properties, hoặc chọn mục Block Properties của cửa sổ định 
dạng khối, ta sẽ thu đƣợc hộp đối thoại cho phép đặt một vài tham số tổng quát về 
đặc tính của khối. 
- Hộp đối thoại về đặc tính của tín hiệu: Có thể tới đƣợc hộp thoại Signal 
Properties của một đƣờng nối hoặc bằng cách nháy chuột đánh dấu đƣờng nối trên 
cửa sổ mô phỏng, sau đó đi theo menu Edit / Signal Properties từ cửa sổ định 
dạng đƣờng. Trong hộp đối thoại ta có thể đặt tên cho đƣờng nối một cách đơn giản 
 94 
hơn: Nháy kép phím chuột trái vào đƣờng nối ta sẽ tự động tới đƣợc chế độ nhập 
văn bản. 
8.1.1.4 Thƣ viện Sources và Sinks 
Thư viện Sources 
a. Constant 
Khối constant tạo nên một hằng số thực hoặc phức, hằng số có thể là scalar, 
vector hay ma trận tuỳ theo cách ta khai báo tham số Constant Value và ô Interpret 
vector parameters as 1-D có đƣợc chọn hay không. Nếu ô đó đƣợc chọn, ta có thể 
khai báo tham số Constant Value là vector hang hay cột với kích cỡ [1×n] hay [n×1] 
dƣới dạng ma trận. Nếu ô đó không đƣợc chọn, các vector hang cột đó chỉ đƣợc sử 
dụng nhƣ vector với chiều dài n, tức là tín hiệu 1-D. 
b. Step và Ramp 
Nhờ hai khối Stemp và Ramp ta có thể tạo nên các tín hiệu dạng bậc thang 
hay dạng dốc tuyến tính, 53at để kích thích các mô hình Simulink. Trong đó hộp 
thoại Block Parameters của khối Step ta có thể khai báo giá trị đầu / giá trị cuối và 
cả thời điểm bắt đầu của tín hiệu bƣớc nhẩy. Đối với Ramp ta có thể khai báo độ 
dốc, thời điểm và giá trị xuất phát của tín hiệu ở đầu ra. 
 95 
Đối với cả hai khối, ta có thể sử dụng tham số tuỳ chọn Interpret vector 
parameters as 1-D để quyết định các tín hiệu dạng bƣớc nhẩy hay dạng dốc tuyến 
tính có giá trị scalar hay vector hay ma trận. 
Chú ý: Hai khối Step và Ramp không phải chỉ tạo ra một tín hiệu nhƣ nhiều 
ngƣời vẫn hiểu nhầm, mà có thể tạo ra một tập các tín hiệu đƣợc xử lý dƣới dạng 
vector hàng hay cột hoặc ma trận. 
c. Signal Generator và Pulse Generator 
Bằng Signal Generator ta tạo ra các dạng tín hiệu kích thƣớc khác nhau. 
Cung cấp cho 4 dạng song khác nhau: 
+ Sóng Sin 
+ Sóng vuông (Square) 
+ Sóng răng cƣa (Sawtood) 
+ Sóng ngẫu nhiên (Random) 
 96 
Với Pulse Generator tạo chuỗi xung hình chữ nhật: Biên độ và tần số có thể 
khai báo tuỳ ý. Đối với Pulse Generator ta còn có khả năng chọn tỷ lệ cho bề rộng 
xung (tính bằng phần trăm cho cả chu kỳ). Đối với cả hai khối ta có thể sử dụng 
tham số tuỳ chọn Interpret vector parameters as 1-D để quyết định các tín hiệu có 
giá trị scalar hay vector ma trận. 
d. Repeating Sequence 
Khối Repeating Sequence cho phép ta tạo nên một tín hiệu tuần hoàn tuỳ ý. 
Tham số Time values phải là một vector thời gian với các giá trị đơn điệu tăng. 
Vector biến ra Output values phải có kích cỡ phù hợp với chiều dài của tham số 
Time values. Giá trị lớn nhất của vector thời gian quyết định chu kỳ lặp lại của 
vector biến ra. 
 97 
e. Sine Wave 
Khối Sine Wave đƣợc sử dụng để tạo tín hiệu hình sin cho cả hai loại mô 
hình: liên tục (tham số Simple time = 0) và gián đoạn (tham số Simple time = 1). 
Tín hiệu đầu ra y phụ thuộc vào 56at ham số chọn: Amplitude, Frequency và Phase 
trên cơ sở quan hệ y = Amplitude.sin(Frequency.time + Phase). Vì đơn vị của Phase 
là [rad], ta có thể khai báo trực tiếp giá trị của Phase là một hệ số nào đó nhân với 
pi. Giống nhƣ khối Constant, ta có thể sử dụng tham số tuỳ chọn Interpret vector 
parameters as 1-D để quyết định các tín hiệu có giá trị calar hay vector hay ma trận. 
 98 
f. From Workspace 
Khối From Workspace có nhiệm vụ lấy số liệu từ cửa sổ Matlab Workspace 
để cung cấp cho mô hình Simulink. Các số liệu lấy vào phải có dạng của biểu thức 
Matlab, khai báo tại dòng Data. 
 99 
g. From File 
Bằng khối From File ta có thể lấy số liệu từ một MAT-File có sẵn. MAT-
File có thể là kết quả của một lần mô phỏng trƣớc đó, đã đƣợc tạo nên và cất đi nhờ 
khối To file trong sơ đồ Simulink. 
 100 
Thư viện Sinks 
Thƣ viện này bao gồm các khối xuất chuẩn của Simulink. Ngoài khả năng 
hiển thị đơn giản bằng số, còn có các khối dao động kí để biểu diễn các tín hiệu phụ 
thuộc thời gian hay biểu diễn hai tín hiệu trên hệ toạ độ XY. 
a. Scope 
Nhờ khối Scope ta có thể hiển thị các tín hiệu của quá trình mô phỏng. Khi 
nhấn vào nút Properties, hộp thoại Scope Properties (đặc điểm của Scope) sẽ mở ra. 
Chọn general ta có thể đặt chế độ cho các trục. Khi đặt Number of axes > 1, cửa sổ 
Scope sẽ có nhiều đồ thị con giống tƣơng tự nhƣ lệnh Subplot của Matlab. Nếu điền 
một số cụ thể vào ô time range, đồ thị sẽ chỉ đƣợc biểu diễn tại thời điểm do giá trị 
của số xác định. 
b. XY Graph 
 101 
Khối này biểu diễn hai tín hiệu đầu vào trên hệ toạ độ XY dƣới dạng đồ hoạ 
Matlab đầu vào thứ nhất (bên trên). Ứng với trục X đầu thứ hai ứng với trục Y. 
c. To Workspace 
Khối To Workspace gửi số liệu ở đầu vào của khối tới môi trƣờng Matlab 
Workspace dƣới dạng mảng (Array), Stracture hay Stracture with time và lấy chuỗi 
kí tự khai tại variable name để đặt tên cho tập số liệu đƣợc ghi. 
d. To File 
Khối này giúp ta cất tập số liệu (mảng hay ma trận) ở đầu vào của khối cùng 
với vector thời gian dƣới dạng Mat-File. Array định dạng giống nhƣ định dạng mà 
khối From File cần, vì vậy số liệu do To File cất có thể đƣợc From File đọc trực tiếp 
mà không cần phải xử lý gì. 
8.1.1.5 Khởi động và ngừng mô phỏng 
Quá trình mô phỏng của mô hình Simulink đƣợc khởi động qua menu 
Simulation/Start. Trong khi mô phỏng, có thể chọn Simulation/Pause để tạm 
ngừng, hay Simulink/Stop để ngừng hẳn quá trình mô phỏng. 
 102 
8.1.1.6 Xử lý lỗi 
Nếu xuất hiện lỗi trong quá trình mô phỏng, Simulink sẽ ngừng mô phỏng và 
mở hộp thoại thông báo lỗi Simulation Diagnostics. Trong phần phía trên của hộp 
thoại báo lỗi ta thấy có danh sách các khối gây nên lỗi. Khi chuyển vạch chọn tới 
khối nào, ta sẽ thấy ở phần dƣới hộp thoại các mô tả kỹ về lỗi của khối đó. Nếu 
nháy chuột trái vào nút Open, cửa sổ Block Parameters của khối sẽ mở ra để tat hay 
đổi, sửa lại các tham số khai báo tại đó. Đôi khi nguồn gây lỗi trên sơ đồ còn đƣợc 
tô nổi bật bằng mầu, giúp ta nhanh chóng xác định đƣợc vị trí của khối gây lỗi. 
8.1.2. Mô phỏng bộ điều khiển PID 
a. Nội dung: Dùng Matlab Simulink mô phỏng bộ điều khiển PID cho đối 
tƣợng có hàm truyền bên dƣới, sử dụng các khối sau: 
+ Khối Step; 
+ Khối điều khiển PID; 
+ Khối Transfer Fcn; 
+ Khối scope; 
+ Khối Sum. 
Đối tƣợng có hàm truyền sau: 
6
2 9
1,3.10
( )
340 340408 0,71.10
G s
s s
b. Thiết kế: 
Thiết kế hệ thống nhƣ Hình 1 và lƣu tập tin với tên: pid.mdl 
 103 
Hình 1: Hệ thống điều khiển dùng PID 
- Trong command window đánh lệnh: simulink 
- Tiếp tục ta chọn Files NewModel ta đƣợc hình 2 
Hình 2: Cửa sổ giao diện 
- Lần lƣợt tạo các khối theo cách sau: Chọn các khối bằng cách kéo thả biểu tƣợng 
sang giao diện hình 3. 
+ Khối Step: Simulinksources, kéo thả biểu tƣợng Step sang giao diện (Hình 4) 
 104 
Hình 3: Tạo khối Step 
Tƣơng tự nhƣ trên lần lƣợt vẽ các khối sau: 
- Khối PID: SimulinkContinuousPID controller 
- Khối Transfer Fcn: SimulinkContinuous Transfer Fcn 
- Khối Sum: SimilinkCommonly Used blocksSum 
- Khối Scope: SimilinkSinksScope 
Tiếp tục ta double click vào khối Fcn để nhập hàm truyền G(s) vào nhƣ hình 
dƣới đây: 
 105 
Hình 5: Nhập hàm truyền vào khối Fcn 
Bây giờ tiếp tục hiệu chỉnh các thông số của bộ điều khiển PID nhƣ sau: 
+ Kích vào bộ PID đƣợc dao diện sau: 
+ Tiếp tục kích vào Tune để tìm đƣợc các thống số của bộ PID nhƣ sau: 
 106 
+ Ta đƣợc các thông số của của bộ điều khiển PID nhƣ bên dƣới: 
- Kết quả điều khiển của bộ PID nhƣ sau: 
 107 
8.1.3 Mô phỏng mạch điện 
Xét một mạch điện đơn giản sau: 
Power System Blockset cho phép ta xây dựng và mô phỏng một mạch điện 
chứa các phần tử tuyến tính cũng nhƣ phi tuyến. 
Để mô phỏng mạch điện này ta dùng các khối: nguồn, điện trở, điện kháng, 
điện dung và dụng cụ đo. Để đo điện áp ta dùng khối Vmet. Nó cho trị số tức thời 
của điện áp. Để thấy đƣơc giá trị hiệu dụng ta dùng khối RMS. Các bƣớc thực hiện 
nhƣ sau: 
• Từ menu File của cửa sổ powerlib chọn New rồi chọn Model sẽ chứa mạch 
điện và gọi là ctcircuit.mdl 
• Mở thƣ viện Electrical Sources để copy AC Voltage Source Block vào cửa 
sổ ctcircuit.mdl 
 108 
• Mở hộp thoại AC Voltage Source Block bằng cách nhấp đúp lên nó để nhập 
vào biên độ, phase và tần số theo các giá trị đã cho trong sơ đồ. Chú ý là biên độ là 
giá trị max của điện áp. 
• Do khối điện trở không có nên copy khối Series RLC Branch và đặt giá trị 
điện trở nhƣ đã cho và đặt L là vô cùng và C là zero. 
• Thực hiện tƣơng tự với phần tử L và C. 
• Lấy khối đo điện áp trong hệ thống con Measurement 
• Để xem điện áp, dùng khối Scope của Simulink chuẩn. Mở Simulink và copy 
khối Scope vào mô hình ctcircuit.mdl. Nếu khối Scope đƣợc nối trực tiếp với đầu ra 
của thiết bị đo điện áp nó sẽ hiển thị điện áp theo V. 
• Để hoàn thành mạch điện, ta cần nối các phần tử với nhau 
Sơ đồ mô phỏng (lƣu trong ctcircuit.mdl) nhƣ sau: 
Bây giờ ta có thể bắt đầu mô phỏng từ menu simulation. Ta vào menu này, 
chọn các thông số cho qua trình mô phỏng và bấm nút start. 
Để dễ dàng cho việc phân tích trạng thái xác lập của mạch điện chúng ta, thƣ 
viện powerlib cung cấp giao diện đồ hoạ (GUI). Copy khối giao diện Powergui vào 
cửa sổ ctcircuit.mdl và nhấn đúp vào icon để mở nó. Mỗi dụng cụ đo đại lƣợng ra 
 109 
đƣợc xác định bằng mỗi chuỗi tƣơng ứng với tên của nó. Các biến trạng thái đƣợc 
hiển thị tƣơng ứng với các giá trị xác lập của dòng điện và điện áp. Tên các biến 
chứa tên các khối, bắt đầu bằng tiếp đầu ngữ Il‐ hay Uc_. Dấu quy ƣớc đƣợc sử 
dụng với dòng điện và điện áp và các biến trạng thái đƣơc xác định bằng hƣớng của 
các khối: 
 - Dòng điện điện cảm chạy theo hƣớng mũi tên tƣơng ứng với dấu dƣơng 
 - Điện áp trên tụ C bằng điện áp ra trừ đi điện áp vào 
Chọn menu Tool | Steady ‐ State Voltages and Currents để xem các trị số xác lập 
của dòng điện và điện áp. 
Bây giờ chọn menu Tool | Initial Value of State Variables để hiển thị các 
giá trị khởi đầu của các biến trạng thái. Các giá trị khởi đầu này đƣợc đặt để bắt đầu 
simulation ở trạng thái xác lập. 
Tiếp theo ta tính các biểu diễn của không gian trạng thái của mô hình 
ctcircuit bằng hàm power2sys. Nhập dòng lệnh sau đây vào cửa sổ MATLAB: 
[A, B, C, D, x0, states, inputs, outputs] = power2sys(’ctcircuit’); 
Hàm power2sys trả về mô hình không gian trạng thái của mạch trong 4 ma 
trận A, B, C, D, x0 là vec tơ các điều kiện đầu mà ta vừa hiển thị với Powergui. Tên 
của các biến trạng thái, các đại lƣợng vào và các đại lƣợng ra đƣợc trả về trong 3 
ma trận chuỗi. 
Một khi mô hình trạng thái đã biết, nó có thể phân tích đƣợc trong vùng tần 
số. Ví dụ các mode của mạch này có thể tìm từ các giá trị riêng của ma trận A (dùng 
lệnh MATLAB eig(A)): 
eig(A) 
ans = 
1.0e+002* ‐0.5000 + 3.1225i ‐0.5000 ‐ 3.1225i 
Hệ thống này có dao động tắt dần vì phần thực âm. Nếu ta dùng Control 
System Toolbox, ta có thể vẽ đồ thị Bode. Các lệnh MATLAB (lƣu trong 
ctcircuitm.m) nhƣ sau: 
 110 
freq = 0:1500; w = 2*pi*freq; 
[bien, pha, w] = bode(A, B, C, D); semilogy(w, mag1(:, 2)); 
 semilogy(w, mag1(:, 2)); 
8.2 Simulink trong mô phỏng đo lƣờng điện. 
8.2.1 Đo dòng: 
a. Thƣ viện: 
 Measurements 
b. Mô tả: 
Khối đo dòng dùng để đo dòng tức thời chảy trong bất kỳ khối điện hoặc 
trong đƣờng dây nào. Đầu ra mô phỏng cung cấp tín hiệu mô phỏng mà có thể sử 
dụng cho khối mô phỏng khác. 
c. Hộp thoại và các tham số: 
d. Các tín hiệu ra: 
- Xác định dạng tín hiệu ra khi khối này đƣợc sử dụng trong mô phỏng một 
pha. Thông số tín hiệu ra không cho phép khi khối không đƣợc sử dụng trong mô 
phỏng một pha. Mô phỏng một pha đƣợc tích cực bằng khối Powwrgui đặt trong mô 
hình này. 
 111 
- Đặt Complex để tín hiệu ra đo đƣợc có dạng giá trị complex. 
- Đặt Real-Imag là phần thực và ảo của dòng đo đƣợc. Tín hiệu ra là một 
vector hai thành phần. 
- Đặt Magnitude-Angle để ra biên độ và tần số của dòng đo. Tín hiệu ra là 
một vector hai thành phần. 
- Đặt Magnitude để xuất ra biên độ của dòng đo đƣợc. Tín hiệu ra là một giá 
trị đơn. 
e. Ví dụ: 
Demo đo dòng sử dụng 4 khối đo dòng để đọc các dòng nhánh khác nhau 
trong mạch. Hai scope để hiển thị cùng dòng. 
8.2.2 Đo áp 
a. Thƣ viện: 
 Measurements 
b. Mô tả: 
 112 
Khối đo áp Voltage Measurement block đo điện áp tức thời giữa 2 điện cực 
điện. Đầu ra cung cấp tín hiệu mô phỏng mà có thể đƣợc sử dụng cho một khối mô 
phỏng khác. 
c. Hộp hội thoại và các thông số: 
d. Tín hiệu ra: 
- Xác định dạng tín hiệu ra khi khối này đƣợc sử dụng trong mô phỏng một 
pha. Thông số tín hiệu ra không cho phép khi khối không đƣợc sử dụng trong mô 
phỏng một pha. Mô phỏng một pha đƣợc tích cực bằng khối Powergui đặt trong mô 
hình này. 
- Đặt Complex để tín hiệu có dạng giá trị complex 
- Đặt Real-Imag là phần thực và ảo của dòng đo đƣợc. Tín hiệu ra là một 
vector hai thành phần. 
- Đặt Magnitude-Angle để ra biên độ và tần số của dòng đo. Tín hiệu ra là 
một vector hai thành phần. 
- Đặt Magnitude để xuất ra biên độ của dòng đo đƣợc. Tín hiệu ra là một giá 
trị đơn. 
e. Ví dụ: 
Demo sử dụng ba khối đo điện áp để đọc điện áp 
 113 
 114 
CÂU HỎI ÔN TẬP CHƢƠNG 8 
Câu 1: Simulink là gì? Simulink có những thƣ viện con nào? 
Câu 2: Trình bày cách đo dòng bằng công cụ simulink? 
Câu 3: Trình bày cách đo áp bằng công cụ simulink? 
 115 
TÀI LIỆU THAM KHẢO 
 [1] Trần Văn Chính, Giáo trình Matlab và simulink, Đại học Bách Khoa Đà 
Nẵng. 
 [2] Đại học Thái Nguyên (2011), Bài giảng mô phỏng và mô hình hóa, Thái 
Nguyên. 
[3] Nguyễn Phùng Quang (2004), Matlab và Simulink giành cho kỹ sư điều 
khiển tự động, Nhà xuất bản Khoa học và kỹ thuật, Hà Nội. 

File đính kèm:

  • pdfgiao_trinh_giai_tich_mach_va_mo_phong_tren_may_tinh.pdf