Với kết cấu nội dung gồm 4 chương, đồ án Ứng dụng Matlab trong giải mạch điện tuyến tính ở chế độ xác lập trình bày tổng quan về Matlab, mạch điện tuyến tính ở chế độ xác lập, xây dựng thuật toán phân tích mạch, kiểm tra với Matlab,... Mời các bạn cùng tham khảo.
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……………………………………………………… 1.3. Các hàm tố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 TỐN PHÂN TÍCH MẠCH ……… 18 3.1. Bài tốn ……………………………………………….……………… 18 3.2 . Thuật tố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 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 ngun lý, ngun tắc trong xây dựng, tính tố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 tốn nhiều, phải thường xun 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 tố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 q trình tính tố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 q 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 tố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 Lời cảm ơn Để hồ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 ln 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 hồ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! 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 tốn các bài tố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à hồn thiện Các ứng dụng điển hình của Matlab: Tốn học và tính tốn Phát triển thuật tố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 Matlab cung cấp cho ta các phương pháp theo hướng chun 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 chun dụng cho một lĩnh vực nào đó. Toolbox là một tập hợp tồ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 tố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 hồn chỉnh cho ứng dụng Matlab của mình Thư viện tốn học Matlab: đây là một thuật tốn khổng lồ các thuật tốn tính tốn từ các hàm cơ bản cộng, trừ, nhân, chia, sin, cos, số học 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 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 biến mà ta sử dụng 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 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 = 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 q 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 tốn Các phép tốn số học: nối các tốn hạng trong biểu thức với nhau. Dấu các phép tố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 = lớn hơn hoặc bằng ~= khơng bằng lớn hơn Các phép tốn logic & và / hoặc ~ khơng Các phép tốn quan hệ và logic thường được dung trong các biểu thức của các tố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 end >> if(Cm~=0) XCm=1/(w*Cm) else XCm=0 end >> Z1=R1+(XL1 XC1)*i; >> Z2=R2+(XL1 – XC1)*i; >> Zm=Rm+(XLm – XCm)*i; >> E1=E1*cos(anpha1) i*E1*sin(anpha1); >> E2=E2*cos(anpha2) i*E2*sin(anpha2); >> Em=Em*cos(anpham) i*Em*sin(anpham); >> A=[1 1 1;Z1 Z2 0;0 Z2 Zm]; >> C=inv(A); >> B=[0;E1;Em]; >> I=C*B Từ ma trận I ta đưa ra giá trị dòng điện từng nhánh: >> = I(1,1) >> = I(2,1) >> = I(m,1) 30 Ta tìm được giá trị dòng điện trên các nhánh, từ đó tìm các giá trị điện áp >> = * >> = * >> = * Để tính giá trị hiệu dụng từ kết quả phức ta có lệnh: >>modun = abs() Để tính giá trị góc pha ban đầu: >>argumen =angle() Lưu ý: Ta cần chú ý vào mối quan hệ giữa các thơng số, chiều dòng điện trong mạch để tính tốn tránh thực hiện sai phép tính 31 Chương 4: KIỂM TRA TRÊN MATLAB 4.1. BÀI TỐN Cho mạch điện như hình vẽ: Biết : e1= e2 = 12 sin (wt), R1 = R2 = R3= 2( ), L1 = L2 = 2/314 (mH), w = 314 (rad/s) Xác định dòng điện và điện áp qua các nhánh ? Giải Phức hóa mạch điện trên ta có mạch A 32 B Áp dụng định luật Kirchoff 1 tại nút A, ta có: (1) Áp dụng định luật Kirchoff 2: Vòng I: (2) Vòng II: (3) Với: = + jw = 2 + 2j = + jw = 2 + 2j = = 2 = = 12. = 12 (cos + j sin ) = 12 Từ (1), (2), (3), ta có hệ phương trình: (2 + 2j) + 2 = 12 (2 + 2j) 2 = 12 Tiến hành giải hệ phương trình trên ta có: = j 33 = + j = j = . = => (t) = 2.68 sin (314 t ) = => (t) = 2.68 sin (314 t + ) = => (t) = 5.36 sin (314 t ) Giá trị điện áp: = = ( j) . (2 + 2j) = + j = (t) = sin (w t + ) = 7.59 sin (314 t + ) = = ( + j) . (2 + 2j) = j => (t) = 7.59 sin (314 t ) = = ( j) . 2 = j = => (t) = 10.73 sin (314 t ) 34 4.2. KIỂM TRA BẰNG PHẦN MỀM MATLAB 4.2.1. Chương trình >> R1=2; L1=2/314; E1=12; anph1=0; >> R2=2; L2=2/314; E2=12; anph2=0; >> R3=2; >> w=314; >> anpha1=anph1*pi/180; >> anpha2=anph2*pi/180; >> XL1=w*L1; >> XL2=w*L2; >> Z1=R1+XL1*i; >> Z2=R2+XL2*i; >> Z3=R3; >> E1=E1*cos(anpha1) + i*E1*sin(anpha1); >> E2=E2*cos(anpha2) + i*E2*sin(anpha2); >> A=[1 1 1; Z1 0 Z3;0 Z2 Z3]; >> C=inv(A); >> B=[0;E1;E2]; >> I=C*B 4.2.2. Kết quả 35 I = 1.8000 0.6000i 1.8000 + 0.6000i 3.6000 1.2000i Giá trị dòng điện các nhánh: >> I1=I(1,1) I1 = 1.8000 0.6000i >> modunI1=abs(I1) %gia tri dong dien hieu dung modunI1 = 1.8974 >>argumenI1=angle(I1)*180/pi %gia tri goc pha ban dau argumenI1 = 18.4349 >>t= 50*pi:0.1:50*pi; >>I1= modunI1*sqrt(2)*sin(314*t + argumenI1*pi/180); >>plot(t,I1) >>grid 36 Hình 4.1: Biểu diễn giá trị dòng điện I1 >> I2=I(2,1) I2 = 1.8000 + 0.6000i >> modun2=abs(I2) %gia tri dong dien hieu dung modun2 = 1.8974 >> argumen2=angle(I2)*180/pi %gia tri goc pha ban dau argumen2 = 161.5651 >>I2= modunI2*sqrt(2)*sin(314*t + argumenI2*pi/180); 37 >>plot(t,I2) >>grid Hình 4.2: Biểu diễn giá trị dòng điện I2 >> I3=I(3,1) I3 = 3.6000 1.2000i >> modun3=abs(I3) %gia tri dong dien hieu dung modun3 = 3.7947 >> argumen3=angle(I3)*180/pi %gia tri goc pha ban dau argumen3 = 38 18.4349 >>I3= modunI3*sqrt(2)*sin(314*t + argumenI3*pi/180); >>plot(t,I3) >>grid Hình 4.3: Biểu diễn giá trị dòng điện I3 Giá trị điện áp: >> U1=I1*Z1 U1 = I.8000 + 2.4000i >> modunU1=abs(U1) %gia tri dien ap hieu dung modunU1 = 39 5.3666 >> argumenU1=angle(U1)*180/pi %gia tri goc pha ban dau argumenU1 = 26.5651 >>U1= modunU1*sqrt(2)*sin(314*t + argumenU1*pi/180); >>plot(t,U1) >>grid Hình 4.4: Biểu diễn giá trị điện áp U1 >> U2=I2*Z2 U2 = 4.8000 2.4000i 40 >> modunU2=abs(U2) %gia tri dien ap hieu dung modunU2 = 5.3666 >> argumenU2=angle(U2)*180/pi %gia tri goc pha ban dau argumenU2 = 153.4349 >>U2= modunU2*sqrt(2)*sin(314*t + argumenU2*pi/180); >>plot(t,U2) >>grid Hình 4.5: Biểu diễn giá trị điện áp U2 >> U3=I3*Z3 41 U3 = 7.2000 2.4000i >> modunU3=abs(U3) %gia tri dien ap hieu dung modunU3 = 7.5895 >> argumenU3=angle(U3)*180/pi %gia tri goc pha ban dau argumenU3 = 18.4349 >>U3= modunU3*sqrt(2)*sin(314*t + argumenU3*pi/180); >>plot(t,U3) >>grid 42 Hình 4.6: Biểu diễn giá trị điện áp U3 KẾT LUẬN Trong q trình q trình học tập và nghiên cứu mạch điện học phần lý thuyết mạch điện chúng ta thường phải giải quyết nhiều bài tốn từ đơn giản đến phức tạp và thường gặp khó khăn trong khâu tính tốn, có những nhầm lẫn, sai sót trong tính tốn. Với ứng dụng thiết thực của Matlab thì việc hỗ trợ cho chúng ta giải các bài tốn mạch điện sẽ trở nên dễ dàng hơn…Đề tài: “ Ứng dụng Matlab trong giải mạch điện tuyến tính chế độ xác lập” cho ta một cái nhìn rõ hơn về việc giải mạch điện sử dụng phần mềm Matlab 43 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. Nhà xuất bản khoa học và kỹ thuật Hà Nội Lý thuyết mạch điện. Phương Xuân Nhàn – Hồ Anh Túy. Nhà xuất bản khoa học và kỹ thuật Hà Nội 44 ... thể hơn là việc hỗ trợ giải bài tố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... 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... Lời cảm ơn Để hồ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ị