MỤC LỤC
Trang
MỞ ĐẦU
LỜI CẢM ƠN
Chương 1. TỔNG QUAN VỀ MATLAB ...……………...……………………3
1.1. Bắt đầu với Matlab ………….……………………………………………. 3
1.2. Các khái niệm cơ bản………………………………………………………
6
1.3. Các hàm toán học…………………………………………………………. 9
Chương 2. MẠCH ĐIỆN TUYẾN TÍNH Ở CHẾ ĐỘ XÁC LẬP ...…………
10
2.1. Mạch điện tuyến tính ở chế độ xác lập ..……………………………..
….10
2.2. Một số phương pháp giải mạch điện tuyến tính ở chế độ xác lập
……….11
Chương 3. XÂY DỰNG THUẬT TOÁN PHÂN TÍCH MẠCH ……….....18
3.1. Bài toán ……………………………………………….……………….....18
3.2 . Thuật toán phân tích mạch……………………………………………….18
Chương 4. KIỂM TRA VỚI MATLAB ……………………………..…….25
4.1. Ví dụ…………………………………………………………………….. 25
4.2. Kiểm tra bằng Matlab…………………………………………………... 27
1
KẾT LUẬN
TÀI LIỆU THAM KHẢO
Mở đầu
Trong chuyên ngành Kỹ thuật điều khiển và Tự động hóa, lý thuyết mạch
điện là một học phần quan trọng. Là cơ sở để sinh viên nắm vững và hiểu
được các nguyên lý, nguyên tắc trong xây dựng, tính toán mạch điện, từ đó
giúp sinh viên có thể đi sâu học tập, nghiên cứu các học phần là đặc thù của
ngành.
Với sự giảng dạy của thầy, cô bộ môn học phần lý thuyết mạch bản thân
em đã phần nào nắm vững cơ lý thuyết, phương pháp để giải các bài tập
mạch điện. Song với số lượng bài tập lớn, khối lượng tính toán nhiều, phải
thường xuyên làm việc với những mạch điện phức tạp ở các chế độ khác
nhau. Vì vậy việc tính toán để giải một bài tập lý thuyết mạch thường mất
khá nhiều thời gian, trong quá trình tính toán có thể mắc nhiều sai lầm dẫn
đến kết quả thu được không chính xác.
Qua quá trình tìm hiểu về phần mềm mô phỏng Matlab & Simulink, với
những ứng dụng thiết thực, rộng lớn của nó ở rất nhiều lĩnh vực khoa học –
kỹ thuật nói chung và đặc biệt đối với kỹ sư điều khiển – tự động hóa, cụ
thể hơn là việc hỗ trợ giải bài toán mạch điện. Với mục đích tìm ra phương
pháp giải bài tập về mạch tuyến tính nhanh chóng và chính xác, đề tài “Ứng
dụng Matlab trong giải mạch điện tuyến tính ở chế độ xác lập” được hình
thành.
2
Lời cảm ơn
Để hoàn thành được đồ án với đề tài “ Ứng dụng Matlab trong giải mạch
điện tuyến tính ở chế độ xác lập”, với sự nỗ lực của bản thân, em đã vận
dụng những kiến thức được học, được trang bị từ thầy cô giảng dạy tại
giảng đường, sự tìm tòi học hỏi, cùng sự thu thập thông tin liên quan tới đề
tài. Bên cạnh đó em luôn nhận dược sự hướng dẫn, giúp đỡ tận tình của các
thầy cô và sự góp ý của các bạn trong nhóm đồ án.
Em xin gửi lời cảm ơn chân thành tới thầy. Người đã hướng dẫn em làm
đồ án này, thầy đã giúp đỡ, tạo mọi điều kiện thuận lợi để em hoàn thành
được đồ án.
Lần đầu tiên thực hiện làm một đồ án, với thời gian và khả năng kiến
thức còn hạn chế, đồ án không thể tránh khỏi những thiếu sót. Em xin nhận
được những nhận xét, góp ý từ thầy cô và các bạn.
Em xin chân thành cảm ơn!
3
Chương 1:
TỔNG QUAN VỀ MATLAB
1.1.1. BẮT ĐẦU VỚI MATLAB
1.1.2. Giới thiệu chung
MATLAB là một bộ phần mềm dùng để tính toán các bài toán kỹ thuật,
được viết bằng ngôn ngữ C do hãng Math Works Inc sản xuất. Nó được tạo
trên cở sở những phần mềm do các nhà lập trình của các dự án LINPACK và
EISPACK viết ra bằng ngôn ngữ Fortran dùng cho việc thực hiện các phép
tính và thao tác trên ma trận.
Tên của phần mềm MATLAB là chữ viết tắt của ‘Matrix Laboratory’ có
nghĩa là ‘phương pháp ma trận’. Đến khi thực hành sử dụng phần mềm ta sẽ
thấy mỗi phần tử cơ bản của Matlab là một ma trận. Phần mềm Matlab liên
tục được bổ sung và hoàn thiện.
Các ứng dụng điển hình của Matlab:
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à giao thức.
Khảo sát, phân tích số liệu.
Đồ họa khoa học kỹ thuật.
Phát triển ứng dụng, gồm cả giao diện người dùng đồ họa GUI.
Thiết kế các hệ thống điều khiển trong thời gian thực.
4
Matlab cung cấp cho ta 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 (Mfile) 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, mạng noron, 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 đố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ừ
ứng dụng đơn giản đến 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 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 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.
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 thuật toán khổng lồ các thuật
toán tính toán từ các hàm cơ bản cộng, trừ, nhân, chia, sin, cos, số học
5
phức…tới các hàm phức tạp hơn như: nghịch đảo, ma trận, tìm giá 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 ta 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...
1.1.3. Giao diện
Command Window: Đây là cửa sổ làm việc chính của MATLAB. Tại đây
ta thực hiện tòan bộ việc nhập dữ liệu và xuất kết quả tính tóan. Dấu nháy
>> báo hiệu chương trình sẵn sàng cho việc nhập dữ liệu. Ta kết thúc việc
6
nhập dữ liệu bằng cách nhấn phím Enter. MATLAB sẽ thực thi dòng lệnh mà
ta nhập vào Command Window và trả kết quả trong Command Window.
Command History: Lưu lại tất cả các lệnh mà ta đã nhập vào trong
Command Window. Ta có thể xem lại tất cả các lậnh bằng cách dùng scroll
bar, hay thực hiện lại lệnh đó bằng cách nhấp kép lên dòng lệnh. Ngòai ra ta
còn có thể cut, paste, delete các lệnh.
Workspace browser: trong MATLAB các dữ liệu được lưu trong biến.
Workspace browser liệt kê tất cả các biến mà ta đang sử dụng trong
MATLAB. Nó cung cấp thông tin về kích thước, loại dữ liệu. Ta có thể truy
cập trực tiếp vào dữ liệu bằng cách nhấn kép vào biến để hiển thị Array
editor.
Launch pad: cho phép người dùng truy cập nhanh vào các bộ Toolbox,
phần Help.
1.1.4. Một số thao tác cơ bản trong Matlab
Trong MATLAB, thanh trình đơn thay đổi tùy theo cửa sổ mà ta lựa chọn.
Tuy vậy các trình đơn File, Desktop, Window, Help có mặt hầu hết trong các
thanh trình đơn.
Trình đơn File:
New: tạo một đối tượng mới (biến, mfile, figure, model, GUI).
Open: mở một file theo định dạng của MATLAB (*.m, *.mat, *.mdl)
Import data…: nhập dữ liệu từ các file khác vào MATLAB.
Save workspace…: lưu các biến trong MATLAB vào file *.mat.
Set path: khai báo các đường dẫn của các thư mục chứa các mfile.
7
Preferences: thay đổi các định dạng về font, font size, color cũng như
các tùy chọn cho Editor, Command Window v.v.
Page Setup: định dạng trang in.
Print: in.
Trình đơn Desktop:
Desktop layout: sắp xếp các cửa sổ trong giao diện.
Save layout: lưu cách sắp xếp cửa sổ.
Trình đơn Window dùng để kích họat (activate) cửa sổ.
Nút Start cung cấp shortcut tới các công cụ trong MATLAB
1.2.
CÁC KHÁI NIỆM CƠ BẢN
1.2.1. Câu lệnh và biến trong Matlab
Các câu lệnh trong Matlab thường có dạng sau:
biến = biểu thức
Tên biến được bắt đầu bằng một chữ cái, sau đó có thể là các chữ và số.
Matlab chấp nhận tên biến (cũng như tên hàm) có đến 19 kí tự và phân biệt
chữ in hoa và chữ in thường.
Không giống với một số phần mềm lập trình khác, ở đây biến không phải
khai báo trước. Nếu không viết tên biến và dấu = trước biểu thức thì chương
trình sẽ tự động tạo tên biến là and.
Ví dụ:
>>2/4
and =
8
0.5000
Nếu cuối câu lệnh ta đánh dấu kết thúc ‘ ; ‘ thì các phép tính được thực
hiện nhưng không xuất kết quả ra màn hình. Ngược lại nếu không gõ dấu
kết thúc thì kết quả tính được in ra màn hình.
Nếu câu lệnh quá dài không thể viết hết được trên một hang thì có thể
dùng dấu ba chấm (…) để viết tiếp trên dòng thứ hai.
Muốn viết lời chú dẫn, trước dòng đó ta gõ dấu %, khi chạy chương trình
máy sẽ bỏ qua dòng này.
1.2.2. Các phép toán
Các phép toán số học: nối các toán hạng trong biểu thức với nhau.
Dấu các phép toán như sau:
+ cộng
trừ
* nhân
/ chia phải
\ chia trái
^ lũy thừa
Các phép toán quan hệ:
== bằng
<= nhỏ hơn hoặc bằng
>= lớn hơn hoặc bằng
9
~= không bằng
< nhỏ hơn
> lớn hơn
Các phép toán logic
& và
/ hoặc
~ không
Các phép toán quan hệ và logic thường được dung trong các biểu thức của
các toán tử điều khiển như if, while.
1.2.3. Số dùng trong Matlab
Matlab dùng số thập phân truyền thống với số chữ số thập phân tùy chọn.
Bạn cũng có thể dùng số dưới dạng lũy thừa của 10 và số có số đơn vị phức.
Dưới đây là một số ví dụ về các số hợp thức dùng trong Matlab:
4 57 180.1122
3.0983741 12.6529E4 20.2908e2
12i 23.1261i 5e2i
1.2.4. Nhập số liệu từ bàn phím
Dùng lệnh input với quy cách viết như sau:
a=input(‘ hãy nhập giá trị của a: a =’)
Khi chạy chương trình máy sẽ dừng để đợi ta gõ vào từ bàn phím giá trị
của a, sau đó bấm Enter.
10
1.2.5. In kết quả ra màn hình
Cách 1: Không gõ dấu kết thúc (;) ở cuối câu lệnh. Khi chạy kết quả tính
được tự động in ra trên màn hình.
Ví dụ:
>>x=12+6*sin(pi/7)
x=
14.6033
Cách 2: Dùng lệnh disp
>> x=12+6*sin(pi/7)
disp(x)
14.6033
1.2.6. Ma trận
Ma trận được biểu thị trong dấu ngoặc vuông, mỗi phần tử trên một hang
được cách nhau bằng các ô trống hoặc dấu phẩy (,), còn mỗi hang được ngăn
cách bởi dấu chấm phẩy (;).
Ví dụ: Viết ma trận A gồm 3 hàng, 3 cột.
>>A=[1 2 3;2 3 4;3 4 5]
A=
1 2 3
2 3 4
3 4 5
11
1.2.7 Số phức
Matlab có thể thực hiện được các phép toán về số phức. Số phức được
biểu thị nhờ hàm I và j. Ví dụ viết số phức z dùng i và j như dưới đây cho kết
qur như nhau:
z= 2+4*i
hoặc z= 2+4*j
Một ví dụ khác về số phức được viết dưới dạng e mũ:
z= r*exp(i*theta)
1.3.
CÁC HÀM TOÁN HỌC
1.3.1 Các hàm lượng giác
sin : sin
cos : cosin
tan : tang
asin : arcsin
acos : arccosin
atan : arctang
atan2 : arctan góc phần tư
sinh : sin hybecbolic
cosh : cosin hybecbolic
tanh : tang hybecbolic
12
1.3.2 Các hàm toán sơ cấp
abs : giá trị tuyệt đối hoặc modun của số phức
angle : góc pha
real : phần thực của số phức
imag : phần ảo
sqrt : căn bậc hai
conj : số phức liên hợp
round : làm tròn đến số nguyên gần nhất
fix : làm tròn hướng về zero
gcd : ước số chung lớn nhất
lom : bội số chung nhỏ nhất
exp : hàm e mũ
log : logarit cơ số tự nhiên
log10 : logarit cơ số 10
13
Chương 2
MẠCH ĐIỆN TUYẾN TÍNH Ở CHẾ ĐỘ XÁC LẬP
2.1. MẠCH ĐIỆN TUYẾN TÍNH Ở CHẾ ĐỘ XÁC LẬP
14
Mạch điện là tập hợp các thiết bị điện nối với nhau bằng các dây dẫn
(phần tử dẫn) tạo thành những vòng kín trong đó có dòng điện có thể chạy
qua. Mạch điện thường gồm các loại phần tử sau: nguồn điện, phụ tải, dây
dẫn.
Cấu trúc mạch điện:
Nút: là giao điểm của ít nhất 3 nhánh.
Vòng: gồm nhiều nhánh tạo thành vòng kín, mỗi nút gặp không quá
một lần.
Nhánh: gồm một hoặc một số phần tử mắc nối tiếp với nhau.
Mạch điện tuyến tính là mạch điện có mô hình toán học bao gồm hữu
hạn các tuyến trạng thái, các thông số R, L, C của các phần tử mạch là các
hằng số và không phụ thuộc điện áp hai đầu hay dòng điện đi qua nó.
Các phần tử tuyến tính:
Điện trở Cuộn cảm
Tụ điện
( R)
( C)
( L)
Chế độ xác lập: chế độ xác lập là quá trình trong đó dưới tác động của
nguồn, dòng điện và điện áp trên các nhánh đạt trạng thái ổn định. Ở chế độ
xác lập dòng điện và điện áp trên các nhánh biến thiên theo một quy luật
giống với quy luật biến thiên của nguồn.
15
Ví dụ : Mạch điện
2.2. MỘT SỐ PHƯƠNG PHÁP GIẢI MẠCH ĐIỆN TUYẾN TÍNH Ở CHẾ
ĐỘ XÁC LẬP
2.2.1 Các định luật Kỉchhoff
Định luật Kirchhoff I: tổng các dòng điện đi vào một nút nào đó bằng
tổng các dòng điện từ nút đó đi ra.
= 0
= 1 khi đi vào nút
= 1 khi đi ra nút
= 0 khi nhánh k không nối tới nút.
Ví dụ : Tại nút A : = 0
16
A
Định luật Kirchhoff II: tổng đại số các điện áp sụt trên các thông số
thụ động của một vòng kín bằng tổng đại số các sức điện động có
trong vòng kín đó.
=
Ví dụ: Cho mạch điện:
Với mạch kín trên, ta có: + + =
2.2.2 Phương pháp dòng nhánh
17
Là phương pháp lập phương trình mạch điện theo định luật Kirchhoff I
và Kirchhoff II với biến là dòng trong các nhánh.
Ta xác định số nút n và số nhánh m của mạch điện.
Mạch điện có n nút thì viết (n – 1) phương trình theo định luật
Kirchhoff I.
Mạch điện có m nhánh thì viết (m – n + 1) phương trình theo định
luật Kirchhoff I
Xét mạch điện:
Chọn chiều dòng điện như hình vẽ.
Lập phương trình mạch theo định luật Kirchhoff I:
+ = 0
Lập phương trình mạch theo định luật Kirchhoff II:
Theo vòng 1: + =
18
Theo vòng 2: =
Ta lập được hệ phương trình:
+ = 0
+ =
=
Với:
= + jw j
= + jw j
= + jw j
Ta tiến hành giải các phương trình để tìm giá trị yêu cầu.
2.2.3. Phương pháp điện áp hai nút
Là phương pháp riêng của phương pháp điện thế điểm nút.
Sử dụng khi mạch có nhiều nhánh nhưng chỉ có hai nút.
Xét mạch điện:
A A
19
B
B
Chọn chiều dòng điện như hình vẽ:
Theo phương pháp này ta lập công thức tính :
=
Trong đó có quy ước các sức điện động có chiều ngược với điện áp thì
lấy dấu dương và cùng chiều lấy dấu âm.
Với: =
= + jw j
= + jw j
= + jw j
Ta tiến hành giải các phương trình để tìm giá trị yêu cầu.
2.2.4 Phương pháp dòng điện vòng
Là phương pháp lập phương trình mạch theo định luật Kirchhoff II với
biến là dòng điện quy ước chạy trong các vòng của mạch.
Nếu mạch điện có n nút và m nhánh khi áp dụng phương pháp dòng điện
vòng ta sẽ viết được: ( m – n +1) phương trình.
A A
20
B
B
Chọn chiều dòng điện như hình vẽ:
Đặt:
=
=
= +
Ta lập được hệ phương trình:
( + ) =
( + ) =
Lưu ý: Phần tử chung : nếu và so với ngược chiều thì lấy dấu () và
ngược lại.
Với : = + jw j
= + jw j
= + jw j
Ta tiến hành giải các phương trình để tìm giá trị yêu cầu.
2.2.5 Phương pháp xếp chồng
Trong mạch điện tuyến tính có nhiều nguồn tác động:
21
Dòng điện qua mỗi nhánh bằng tổng đại số các dòng điện qua nhánh
do tác động của từng sức điện động gây nên.
Điện áp trên mỗi nhánh bằng tổng đại số các điện áp gây nên trên
nhánh do tác động của từng sức điện động gây nên.
Xét mạch điện:
Ta lần lượt cho từng nguồn tác động để tìm từng thành phần của dòng cần
tìm.
Ta có: nt ( // )
=> = +
22
Trường hợp 1: khi chỉ có nguồn .
. =
=
=
Trường hợp 2: khi chỉ có nguồn
Ta có: nt ( // )
=> = +
. =
=
=
Giá trị dòng điện cần tìm là:
= +
= +
= +
23
Chương 3:
XÂY DỰNG THUẬT TOÁN PHÂN TÍCH MẠCH
3.1. BÀI TOÁN
Các dữ liệu cho trước:
Sơ đồ mạch.
Các thông số của các phần tử ( điện trở, điện dung, điện cảm,…).
Các thông số của nguồn áp, nguồn dòng.
Các thông số cần tính:
Dòng điện chạy qua các nhánh.
Điện áp trên các phần tử.
Công suất…
3.2. XÂY DỰNG THUẬT TOÁN PHÂN TÍCH MẠCH
3.2.1. Phân tích mạch
24
Để xây dựng thuật toán giải bài toán mạch này, ta chuyển phương trình
mạch sang số phức, khi đó hệ phương trình vi phân mô tả mạch sẽ trở thành
hệ phương trình đại số và dễ dàng giải được.
Xét mạch điện tổng quát gồm m nhánh, n nút
Ta sẽ lập được hệ gồm m phương trình vi phân như sau:
Chuyển hệ phương trình sang số phức ta có:
(3.1)
Trong đó:
25