The application of Matlab (Matrix - Laboratory) helps students as well as electric technical staff solve electric problems quickly, accurately; especially for electric circuit which has a large number of nodes and branches. The use of matrix to illustrate basic system of equations: Branch currents, round currents, potential nots... are important basis for analysing Matlab - used electric circuit by computers. Based on research into theory of algebraic matrix, circuit structure and application of Matlab software, we have established algorithm and programming software to solve electric circuit problems, using basic methods: branch current, round current, potential node. The program try run successfully and produced results similar to those of manual calculation, while saved a lot of time. We hope this article will help many people, especially Electric Engineering students to solve electric problems quickly and effectively.
ứng dụng matlab giải mạch điện tuyến tính ở chế độ xác lập Application of Matlab in solving linear electric circuit in the defining mode Nguyễn Thị Hiên 1 , Ngô Thị Tuyến 1 SUMMARY The application of Matlab (Matrix - Laboratory) helps students as well as electric technical staff solve electric problems quickly, accurately; especially for electric circuit which has a large number of nodes and branches. The use of matrix to illustrate basic system of equations: Branch currents, round currents, potential nots . are important basis for analysing Matlab - used electric circuit by computers. Based on research into theory of algebraic matrix, circuit structure and application of Matlab software, we have established algorithm and programming software to solve electric circuit problems, using basic methods: branch current, round current, potential node. The program try run successfully and produced results similar to those of manual calculation, while saved a lot of time. We hope this article will help many people, especially Electric Engineering students to solve electric problems quickly and effectively. Key words: Branch circuits, round circuits, potential nodes, matrix. 1. ĐặT VấN Đề 1 Lý thuyết mạch điện là một môn học rất quan trọng, là cơ sở để nghiên cứu các môn cơ sở khác và các môn chuyên môn của ngành Kỹ thuật điện. Với số lợng bài tập lớn, khối lợng tính toán nhiều, và nhất là phân tích mạch điện phức tạp có nhiều nút, nhánh, nên khi giải các bài toán thực tế và kiểm tra kết quả tính, sinh viên sẽ phải tốn nhiều công sức và dễ nhầm lẫn. Trớc kia, sinh viên ngành Kỹ thuật điện thờng dùng các công cụ hỗ trợ thủ công: thớc tính Logarit, sau nữa là máy tính bỏ túi. Ngày nay, tin học và máy tính điện tử đã trở thành công cụ đắc lực giúp sinh viên giải quyết nhanh và thuận lợi các bài toán kỹ thuật. Tuy nhiên, với các ngôn ngữ lập trình: 1 Khoa Cơ Điện, Đại học Nông nghiệp I. Pascal, C, ., việc phân tích mạch thờng chỉ dừng lại ở các bài toán mạch điện tuyến tính có thông số thực, điều này làm mất đi tính tổng quát của bài toán. Hơn nữa, đòi hỏi ngời sử dụng bắt buộc phải có kiến thức về lập trình. Sự ra đời của phần mềm ứng dụng Matlab đã mở ra nhiều triển vọng trong việc giải quyết các bài toán kỹ thuật. Với cấu trúc ngắn gọn, gần với t duy toán học và đặc biệt xử lý dễ dàng đối với số phức, phần mềm này là công cụ mạnh để giải quyết nhanh và chính xác các bài toán phân tích mạch điện. 2. PHƯƠNG PHáP NGHIÊN CứU Từ những nghiên cứu lý thuyết về đại số ma trận, cấu trúc graph ứng dụng trong lý thuyết mạch điện kết hợp với khai thác các tiện ích của phần mềm Matlab, chúng tôi xây Tạp chí KHKT Nông nghiệp 2007: Tập V, Số 2: 80-86 Đại học Nông nghiệp I dựng thuật toán và lập trình giải các bài toán mạch điện bằng các phơng pháp cơ bản: Phơng pháp dòng nhánh, Phơng pháp dòng vòng và điện thế điểm nút. 3. KếT QUả NGHIÊN CứU Bài toán đặt ra: biết sơ đồ cấu trúc của mạch (gồm m nhánh, n nút), biết thông số các phần tử, yêu cầu xác định dòng điện (điện áp) sinh ra trong các nhánh, từ đó có thể kiểm tra cân bằng công suất. 3.1. Thiết lập các ma trận mô tả cấu trúc mạch điện a) Ma trận nhánh - nút Ma trận nhánh - nút A có số hàng là số nhánh, số cột là số nút độc lập của mạch điện A ij = 1 khi j là nút đầu của nhánh i; A ij = -1 khi j là nút cuối của nhánh i; A ij = 0 trong các trờng hợp khác. b) Ma trận nhánh -vòng] Ma trận nhánh - vòng C có số hàng là số nhánh, số cột là số vòng độc lập của mạch điện. C ij = 1 khi nhánh i cùng chiều vòng j C ij = -1 khi nhánh i ngợc chiều vòng j C ij = 0 trong trờng hợp nhánh i không thuộc vòng j Ví dụ: Cho graph gồm 6 nhánh, 4 nút nh hình 1: 1 2 3 4 5 6 I II III 3 2 1 0 Hình 1. Ví dụ về một graph Ta có thể xây dựng đợc các ma trận cấu trúc của mạch điện trên nh sau: Nút Vòng A= 101 110 011 100 010 001 Nhánh; C = 100 110 101 010 011 001 Nhánh Ma trận A, C cho biết cấu trúc của graph: Các phần tử trên một hàng của A cho biết nhánh đó nối giữa các điểm nào với nhau, ví dụ, hàng 2: nhánh 2 nối nút cơ sở với nút 2, trong mạch điện nó chỉ rõ chiều dơng của dòng điện trên nhánh ấy đồng thời cũng cho biết điện áp trên nhánh bằng hiệu số thế của cặp nút nào (ví dụ u 2 = - 2 ). Các phần tử trên một cột của một nút chỉ rõ tại nút đó có những nhánh nào đi ra khỏi ứng dụng Matlab giải mạch điện tuyến tính ở chế độ xác lập nút (giá trị 1) và nhánh nào đi vào nút (giá trị -1). Đối với ma trận C, các phần tử trên mỗi hàng chỉ rõ nhánh đó có tham gia vào vòng không, thuận chiều hay ngợc chiều vòng. Còn các phần tử trên một cột chỉ rõ vòng đó gồm những nhánh nào, cùng chiều hay ngợc chiều vòng. 3.2. Biểu diễn các phơng pháp tính cơ bản bằng ma trận 3.2.1. Phơng pháp dòng nhánh Hệ phơng trình dòng nhánh là hệ phơng trình viết theo định luật Kiêchôp I và II ( Nguyễn Bình Thành & cs, 1972): = = kkk k EIZ 0I && & (3-1a) k I & , Z k , k E & - Dòng điện, tổng trở, sức điện động trên các nhánh. Nếu gọi nh I & - ma trận cột, biểu diễn dòng điện trên các nhánh; nh U & - ma trận cột, biểu diễn điện áp trên các nhánh; Z nh - ma trận vuông kích thớc m x m, các phần tử trên đờng chéo chính là tổng trở riêng các nhánh, Z ij là tổng trở tơng hỗ giữa nhánh i và nhánh j; nut J & - ma trận cột, biểu diễn nguồn dòng (phụ tải) ở các nút (độc lập), lấy dấu (+) khi đi vào nút, nguợc lại lấy dấu (-); nh E & - ma trận cột các sức điện động trên các nhánh, lấy dấu (+) khi cùng chiều các dòng nhánh, nguợc lại lấy dấu (-) Thì có thể viết hệ (3-1a) dới dạng ma trận: = = nh E. T C nh I. nh .Z T C nut J nh I T A && && (3-1b) Trong đó: A T , C T - Các ma trận chuyển vị của ma trận A, C. Đặt: D = nh .Z T C T A (3-1c) G = nh E. T C nut J & & (3-1d) Khi đó: D. nh I & = G (3-1e) Hay: nh I & = D -1 .G (3-2) D -1 - Ma trận nghịch đảo của ma trận D. 3.2.2. Phơng pháp dòng vòng Hệ phơng trình dòng vòng tổng quát, [2]: =+++ =+++ =+++ p kVppp2V2p1V1p 2 kVpp22V221V21 1 kVpp12V121V11 EI.Z I.ZI.Z . EI.Z I.ZI.Z EI.Z I.ZI.Z &&&& &&&& &&&& (3-3a) Dạng ma trận: = Vp 2V 1V Vp 2V 1V pp2p1p p22221 p11211 E . E E I . I I . Z .ZZ Z .ZZ Z .ZZ & & & & & & (3-3b) Hay viết gọn lại: Z V . V I & = V E & (3-3c) Trong đó: Nguyễn Thị Hiên, Ngô Thị Tuyến Z V = pp2p1p p22221 p11211 Z .ZZ Z .ZZ Z .ZZ - ma trận tổng trở vòng, [2], có thể tính theo ma trận tổng trở nhánh: Z v = C T .Z nh .C V I & - ma trận cột dòng điện vòng V E & - ma trận sức điện động vòng, V E & = C T nh E & Trờng hợp có nguồn dòng nh J & trong các nhánh: V E & = C T . ( nh E & - Z nh . nh J & ) (3-3d) Khi đó: V I & = Z V -1 . V E & (3-4) Dòng điện nhánh: nh I & = C. V I & + nh J & (3-5) Điện áp nhánh: nh U & = Z nh . nh I & - nh E & (3-6) 3.2.3. Phơng pháp thế nút Hệ phơng trình thế nút tổng quát, [2]: +=+ +=+ += p kk 1n k1n1n,1n222n111n 2 kk 2 k1n1n2222121 1 kk 1 k1n1n1212111 YEJ.Y .Y.Y . YEJ.Y .Y.Y YEJ.Y Y.Y && &&& && &&& && &&& (3-7a) Dùng ma trận: = 1n 2n 1n 3 2 1 1n,1n12n11n 1n22221 1n11211 J . J J . . Y .YY Y .ZY Y .YY & & & (3-7b) Hay: Y nut . & = dnut J & (3-7c) Trong đó: Y nót - ma trận tổng dẫn nút, có thể xác định theo ma trận tổng trở nhánh Y nót = A T .Z nh -1 .A= A T .Y nh .A dnut J & - Ma trận nguồn dòng tại các nút dnut J & = nut J & - A T .Y nh . nh E & (3-7d) Từ (3-7c), suy ra: & = Y nut -1 . dnut J & (3-8) Ma trận dòng điện nhánh: nh I & = Y nh . ( nh U & + nh E & ) (3-9) Ma trận điện áp nhánh: nh U & = A. & (3-10) ứng dụng Matlab giải mạch điện tuyến tính ở chế độ xác lập Từ điện áp và dòng điện nhánh, tính đợc công suất nhánh (từ đó có thể kiểm tra điều kiện cân bằng công suất): S nh = U nh .conj (I nh ) (3-11) Với: conj (I nh ) là ma trận liên hợp phức của ma trận dòng nhánh. 3.3. Lập trình giải mạch điện bằng Matlab Matlab - chữ viết tắt của Matrix Laboratory - th viện ma trận, là một phần mềm ứng dụng, dùng cho các tính toán dựa trên cơ sở dữ liệu về ma trận (Nguyễn Hoài Sơn & cs, 2000). Với hàng loạt các hàm toán học đã đợc xác định trớc, Matlab cho phép lập chơng trình bằng các lệnh đơn giản, ngắn gọn, cấu trúc gần với t duy toán học. Chơng trình có thể lập trình trên cửa sổ Command Window hoặc lu dới dạng các file trong cửa sổ soạn thảo (m-file) cho các lần sử dụng sau. a) Sơ đồ thuật toán Sơ đồ khối mô tả thuật toán đợc cho ở Hình 2. Phơng pháp thế nút Phơng pháp dòng vòng Phơng pháp dòng nhánh BEGIN Nhập số liệu bài toán Nhập các ma trận cấu trúc D=[A;C*Znh] G=[Jnut;C*Enh] Inh=D\G Unh=Znh*Inh-Enh Snh=Unh.*conj (Inh) END Jdnut=Jnut-A'*Ynh*Enh Ynh=inv (Znh) Vnut=Ynut\Jdnut Unh=A*Vnut Inh=Ynh* (Unh+Enh) Ynut=A*Ynh*A; Zv=C*Znh*C; Ev=C* (Enh-Znh*Jnh) Iv = Zv\Ev Inh=C*Iv + Jnh Nguyễn Thị Hiên, Ngô Thị Tuyến Hình 2. Sơ đồ khối mô tả thuật toán của bài toán phân tích mạch điện b) áp dụng Cho sơ đồ nh hình 3, biết: R 1 = 10 ; X 1 = 10 ; R 2 = 5 ; X 2 = 5 ; R 3 = 30 ; X 3 = 40 ; hỗ cảm giữa các nhánh X 13 = 20; X 23 = 10, sức điện động 1 E & = 100 V; 2 E & = 100/6 V; J & = 2/3 A. Hãy tính dòng điện trong các nhánh bằng các phơng pháp dòng nhánh, dòng vòng, thế nút. Số liệu đầu vào của bài toán là tổng trở, nguồn sức điện động các nhánh, nguồn dòng bơm vào các nút (nếu có), trên cơ sở đó có thể lập các ma trận tổng trở nhánh, sức điện động nhánh, các ma trận cấu trúc . Bài toán có thể giải bằng phơng pháp dòng nhánh, phơng pháp dòng vòng hoặc phơng pháp điện thế nút. Để giải bài toán, ta viết các lệnh sau trên MATLAB command window hoặc trong cửa sổ soạn thảo (m-file): 1 0 R 2 R 3 R 1 J E 2 jX 1 jX 2 jX 3 * * * jX 13 jX 23 E 1 Hình 3. Sơ đồ mạch điện Clc %Nhap so liêu bai toan Z1=10 + j*10; Z2=5 + j*5; Z3=30 + j*40; E1= 100; E2= 100*exp (j*pi/6); J= 2*exp (j*pi/3); %Lap cac ma tran Enh=[E1;E2;0]; Jnut=[J]; Znh (1,1)=Z1; Znh (2,2)=Z2; Znh (3,3)=Z3; Znh (1,2)=0; Znh (2,1)=Znh (1,2); Znh (1,3)=-j*20; Znh (3,1)=Znh (1,3); Znh (2,3)=-j*10; Znh (3,2)=Znh (2,3); A = [-1;-1;1]; C=[1 0;0 1;1 1]; +%Giai bai toan bang phuong phap dong nhanh disp ('1.Phuong phap dong nhanh'); D=[A';C'*Znh]; G=[Jnut;C'*Enh]; Inh=D\G Unh=Znh*Inh-Enh Snh=Unh.*conj (Inh) %Giai bai toan bang phuong phap dong vong disp ('2.Phuong phap dong vong'); Jnh=[0;0;J]; Zv=C'*Znh*C; Ev=C'* (Enh-Znh*Jnh); Iv = Zv\Ev Inh=C*Iv + Jnh Unh=Znh*Inh-Enh Snh=Unh.*conj (Inh) % Giai bai toan bang phuong phap the nut disp ('3.Phuong phap the nut'); Ynh=inv (Znh); Ynut=A'*Ynh*A; Jdnut=Jnut-A'*Ynh*Enh; ứng dụng Matlab giải mạch điện tuyến tính ở chế độ xác lập Vnut=Ynut\Jdnut Unh=A*Vnut Inh=Ynh* (Unh+Enh) Snh=Unh.*conj (Inh) Trên màn hình MATLAB command window sẽ xuất hiện lần luợt: 1. Phuong phap dong nhanh Inh = 0.9309 - 2.0788i 1.4173 - 0.4097i 3.3482 - 0.7565i Unh = -85.0321 -78.4440i -85.0321 -78.4440i 85.0321 +78.4440i Snh = 1.0e+002 * 0.8392 - 2.4979i -0.8838 - 1.4602i 2.2537 + 3.2697i 2.Phuong phap dong vong Iv = 0.9309 - 2.0788i 1.4173 - 0.4097i Inh = 0.9309 - 2.0788i 1.4173 - 0.4097i 3.3482 - 0.7565i Unh = -85.0321 -78.4440i -85.0321 -78.4440i 85.0321 +78.4440i Snh = 1.0e+002 * 0.8392 - 2.4979i -0.8838 - 1.4602i 2.2537 + 3.2697i 3.Phuong phap the nut Vnut = 85.0321 +78.4440i Unh = -85.0321 -78.4440i -85.0321 -78.4440i 85.0321 +78.4440i Inh = 0.9309 - 2.0788i 1.4173 - 0.4097i 3.3482 - 0.7565i Snh = 1.0e+002 * 0.8392 - 2.4979i -0.8838 - 1.4602i 2.2537 + 3.2697i 4. KếT LUậN Cấu trúc của mạch điện bất kỳ có m nhánh, n nút đều có thể đợc mô tả bởi ma trận nút - nhánh A và ma trận nhánh - vòng C, nh vậy ta có thể giải bài toán Lý thuyết mạch một cách đơn giản và dễ dàng bằng cách giải hệ phơng trình các ma trận. Lập trình bằng Matlab có cấu trúc đơn giản, ngắn gọn, thuận tiện cho ngời sử dụng. Bài toán cho kết quả nhanh, chính xác, có thể tính với số phức một cách dễ dàng, đây là u điểm nổi bật của Matlab so với các ngôn ngữ lập trình khác. Chơng trình viết không thiên về lập trình tin học, gần gũi với lý thuyết của môn học, giúp sinh viên củng cố kiến thức môn học đồng thời có điều kiện kiểm tra kỹ năng tính toán của bản thân. Tài liệu tham khảo Nguyễn Hoài Sơn và cộng sự (2000), ứng dụng Matlab trong tính toán kỹ thuật. NXB Đại học quốc gia TP Hồ Chí Minh. Nguyễn Bình Thành và cộng sự (1972), Cơ sở lý thuyết mạch, quyển 1. NXB Đại học NguyÔn ThÞ Hiªn, Ng« ThÞ TuyÕn vµ Trung häc chuyªn nghiÖp, Hµ Néi, tr 25- 30, 99-108. ứng dụng Matlab giải mạch điện tuyến tính ở chế độ xác lập