Xây dựng chương trình MATLAB tính phân bố công suất và điện áp cho mạng điện phân phối. Chương trình được xây dựng với mục tiêu chính: hướng đến khả năng ứng dụng trong tính toán thực tế. Quá trình thực hiện chương trình chú trọng các vấn đề sau: 1. Có thể thực hiện tính toán cho mạng điện phân phối có n nút. 2. Đơn giản hóa khâu nhập dữ liệu, rút ngắn các bước tính tay để giảm thiểu sai số, kết quả tính toán đảm bảo yêu cầu chính xác. 3. Dễ dàng sử dụng. 4. Có thể trình bày kết quả tính toán trên các phần mềm khác như MICROSOFT EXCEL, qua đó làm tăng tính tiện ích.
Trang 1MỞ ĐẦU
Trang 2A MỞ ĐẦU
1 GIỚI THIỆU CHUNG
Việc xác định các thông số chế độ của mạng điện phân phối nhưdòng, áp, công suất rất có ý nghĩa trong công tác thiết kế, vận hành, điềukhiển mạng điện
Tính toán trào lưu công suất sẽ tìm được tổn thất công suất trên cácnhánh rẽ và của toàn mạng, từ đó xác định được tổn thất điện năng, làm
cơ sở để đánh giá các chỉ tiêu kinh tế - kỹ thuật
Tính toán trào lưu công suất còn xác định được khả năng đáp ứngcông suất của nguồn cho phụ tải, khả năng tải của máy biến áp trung gianhoặc lưới truyền tải Từ đó có các phương án cung cấp điện, vận hànhthích hợp
Tính toán phân bố điện áp tại các nút của mạng điện phân phối, sẽxác định được tổn thất điện áp trên các nhánh và điện áp tại các nút tải.Kết quả tính toán nhằm phục vụ công tác quy hoạch, thiết kế và vận hànhmạng điện
.Trong quy hoạch, thiết kế, tổn thất điện áp dùng để lựa chọnhoặc kiểm tra dây dẫn
.Trong vận hành tổn thất điện áp dùng để tính toán điều chỉnh điện áp
Ngoài ra, tính toán trào lưu công suất còn xác định được phân bốdòng điện trên các nhánh Dòng điện nhánh cũng là một thông số quantrọng, dùng để kiểm tra dây dẫn và các thiết bị theo điều kiện phát nóng
Trang 32 MỤC ĐÍCH VÀ PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI
Xây dựng chương trình MATLAB tính phân bố công suất và điện
áp cho mạng điện phân phối Chương trình được xây dựng với mục tiêuchính: hướng đến khả năng ứng dụng trong tính toán thực tế
Quá trình thực hiện chương trình chú trọng các vấn đề sau:
1 Có thể thực hiện tính toán cho mạng điện phân phối có n nút
2 Đơn giản hóa khâu nhập dữ liệu, rút ngắn các bước tính tay để giảm thiểu sai số, kết quả tính toán đảm bảo yêu cầu chính xác
3 Dễ dàng sử dụng
4 Có thể trình bày kết quả tính toán trên các phần mềm khác
như MICROSOFT EXCEL, qua đó làm tăng tính tiện ích
Trong quá trình thực hiện, em khảo sát hai phương pháp lặp
Gauss – Seidel và Newton – Rapshon áp dụng trong giải tích hệ thống điện, đưa ra mô hình hóa và viết chương trình ứng dụng theo hai phươngpháp này
Trên cơ sở thực hiện chương trình sẽ xác định phương pháp tínhtoán phù hợp cho mạng điện phân phối
3 KẾT CẤU CỦA ĐỀ TÀI
Trang 4NỘI DUNG
Trang 5CHƯƠNG 1 TỔNG QUAN MATLAB
Trang 6Help – Demo Mfile
Cửa sổ Current Directory
Cửa sổ Command Windown Cửa sổ Command History
CHƯƠNG 1
TỔNG QUAN MATLAB
Matlab (Matrix laboratory) là chương trình lập trình ứng dụng
được sử dụng trong nhiều lĩnh vực như điện, điện tử, điều khiển tựđộng…Matlab có thể giải quyết được nhiều bài toán đặt biệt là các bàitoán về ma trận
1.1 GIAO DIỆN CỦA CHƯƠNG TRÌNH
Các cửa sổ làm việc chính của Matlab gồm có:
Hình 1.1 Các cửa sổ làm việc chính của Matlab
Command windown: cửa sổ để nhập các lệnh và dữ liệu, đồng thời
là nơi xuất các kết quả tính toán
Command history: cửa sổ lưu trữ các lệnh đã thực thi cùng với thời
gian sử dụng
Current directory: cho biết các thư mục đang lưu trữ.
Trang 7Help (demo): trợ giúp thông tin về phần mềm.
Mfile: cửa sổ để viết các lệnh lập trình, có phần mở rộng là file.m.
Các toán tử logic: & (and), | (or), ~ (not)
Các hằng: pi, j, inf (vô cùng), NaN (không xác định)
1.2.2 Cách đặt tên biến
Matlab có những quy định về tên biến: tên biến phải bắt đầu bằngchữ và không chứa các kí tự đặt biệt như @, %, /,…Ngoài ra Matlab cònphân biệt chữ hoa với chữ thường
Trang 81.2.3 Điều khiển vào ra
Các lệnh sau dùng để đưa số liệu vào và ra:
Nhập dữ liệu : input (cú pháp: tên biến = input(‘chuổi hiển thị’)) Hiển thị nội dung của mảng hay chuổi : disp (cú pháp disp(tên biến
hoặc tên chuổi cần hiển thị).
Điều khiển xuất kết quả tính toán : format
Lưu dữ liệu : save (cú pháp: save ‘tên file’ ‘tên biến’ ‘kiểu định
dạng’).
1.2.4 Một số hàm toán học cơ bản
Hàm căn bậc hai của x :sqrt(x)
Hàm chuyển từ chuổi sang số : str2num(x)
Hàm chuyển từ số sang chuổi : num2str(x)
Trong các hàm lượng giác trên thì biến x có đơn vị là radian nếu x có đơn
vị là độ thì ta phải đổi sang radian
1.3.2 Các phép toán cơ bản với số phức
Lấy acgumen số phức z :angle(z)
Trang 9>>A=ones(m,n) (ma trận A gồm toàn các phần tử 1)
Địa chỉ mảng: Để truy xuất đến phần tử nằm ở hàng i cột j của ma trận A ta dùng lệnh:
>>A(i,j)
>>A(:,i) (Truy xuất tất cả các phần tử của cột i)
>>A(i,:) (Truy xuất tất cả các phần tử của hàng i)
Trang 10>>X=A^p (p là một số nguyên dương) Ma trận X có được
bằng cách nhân các ma trận A với nhau p lần
>>X=A.^B
Phép nghịch đảo ma trận:
>>X=inv(A)
1.4.3 Ứng dụng ma trận vào giải hệ phương trình
Nghiệm của hệ phương trình tuyến tính có thể xác định thông qua các phép toán ma trận
Trang 11Hệ (1.1) biểu diển dưới dạng ma trận:
Tuy nhiên khi det(A)=0 việc xác định ma trận nghịch đảo A -1
không chính xác Khi đó Matlab sẽ giải hệ (1.2) bằng một hàm được lậptrình sẵn và cho kết quả tin cậy hơn:
Yii: tổng dẫn riêng của nút i, bằng tổng các tổng dẫn nối vào nút i
Yij: tổng dẫn tương hổ giữa nút i và j, bằng tổng các tổng dẫn nốigiữa hai nút i và j nhưng ngược dấu, n = (số nút) -1 Trong đó điện thếcủa một nút bất kì được chọn làm chuẩn
Trang 12Việc giải hệ này rất đơn giản với Matlab, ta sử dụng lệnh:
>> U=Y\J Hoặc:
>> U=inv(Y)*J
Trang 13Điều kiện Saiđúng
End Khối lệnh
1.5 CẤU TRÚC ĐIỀU KIỆN
Cấu trúc điều kiện là một cấu trúc cơ bản trong lập trình
Sơ đồ khối của cấu trúc if – end như hình 1.3:
Hình 1.3 Sơ đồ khối cấu trúc if-end
Khi biểu thức điều kiện đúng thì Matlab thực thi lệnh Nếu sai thì thực thi các lệnh phía sau end
Trang 14Điều kiện 1 Sai Điều kiện 2
Hình 1.4 Sơ đồ khối cấu trúc if-elseif-end
Nếu điều kiện 1 đúng thì thực hiện khối lệnh 1, nếu sai Matlab sẽ kiểm trabiểu thức điều kiện 2 Nếu điều kiện 2 sai thì Matlab sẽ thực hiện các lệnhnằm trong khối lệnh 3
Sai
Khối lệnh 3
Khối lệnh 2
Trang 15k:=csđầu
k<=cs cuối saiđúng
k:=k+bướctăng EndKhối lệnh
Sơ đồ khối của cấu trúc for-end như hình 1.5:
Hình 1.5 Sơ đồ khối cấu trúc for-end
Bước tăng có thể được mặc định bằng 1 hoặc có giá trị dương hay
âm nhưng phải phù hợp với giá trị của chỉ số đầu và chỉ số cuối
Phát biểu for-end khi số vòng lặp đã xác định.
Trang 16Điều kiện Saiđúng
End Khối lệnh
Sơ đồ khối như hình 1.6:
Hình 1.6 Sơ đồ khối cấu trúc while-end
Phát biểu while-end khi chưa xác định rõ số vòng lặp, quá trình lặpchỉ kết thúc cùng với điều kiện đi kèm
Nếu điều kiện kiểm tra không rõ ràng thì chương trình có thểkhông thoát ra được Trong trường hợp này nhấn tổ hợp phím Ctrl+C đểdừng chương trình
Trang 17Nếu giá trị của biểu thức đứng sau switch trùng với giá trị thử i thì
Matlab sẽ thực hiện khối lệnh i rồi chuyển sang các lệnh đứng sau end.Trong trường hợp giá trị của biểu thức đứng sau switch không trùng vớigiá trị thử nào thì Matlab sẽ thực thi các lệnh đứng sau otherwise
1.7 ĐỒ HỌA 2D TRONG MATLAB
Trang 18Các kiểu đường vẽ xác định như sau:
1.7.3 Đặc tả kích thước, màu của đường vẽ và kiểu đánh dấu của điểm
Kích thước đường vẽ được xác định bằng các hàm:
Màu các cạnh của khối đánh dấu :MarkerEdgeColor
Màu của đường vẽ xác định bằng các tham số:
Kiểu
1.7.4 Thêm đường vẽ vào đồ thị
Để thêm đường vẽ vào đồ thị mà vẫn giữu nguyên đồ thị cũ ta dùng
lệnh hold on.
1.7.5 Đặt các thông số cho trục
Ta có thể quy định giá trị của các trục theo ý riêng Để thực hiện ta
dùng lệnh axis Cú pháp:axis ([ xmin , xmax , ymin , ymax])
Trang 19Xem thuộc tính RUN
Các công cụ (đối tượng GUI).
Vùng không gian thiết kế.
1.8 GIAO DIỆN ĐỒ HỌA GUIDE TRONG MATLAB
GUI cung cấp các công cụ có khả năng liên kết các môi trường tínhtoán và đồ họa làm tăng tính trực quan và sinh động của vấn đề
Để khởi động GUI, từ của sổ Command Windown ta gõ lệnh
guide, khi đó cửa sổ GUI xuất hiện:
Hình 1.7 Cửa sổ GUIDE – MATLAB Muốn tạo một GUI ta chọn hộp ‘Create New GUI’ Không gian làm việc
xuất hiện:
Hình 1.8 Vùng không gian làm việc của GUI.
Trang 20Một số công cụ (đối tượng) của GUI như:
Push button: tạo nút ấn
Edit text : tạo khung, tại khung này cho phép truy xuất dữ liệu Static text : cho phép hiển thị chuổi văn bản
Popup menu: tạo menu đổ xuống
Axes: tạo hệ trụ tọa độ, cho phép hiển thị các hình vẽ…
Để xây dựng GUI ta click chuột và kéo các đối tượng cần sử dụng vàovùng không gian thiết kế Mỗi đối tượng GUI có hai thuộc tính quantrọng:
Thuộc tính String: hiển thị một chuổi kiểu văn bản‘text’ ngay trên
vị trí đặt đối tượng
Thuộc tính Tag: tên của đối tượng, tên Tag do người lập trình đặt.Sau khi đã xác định thuộc tính cho các đối tượng, ta click RUN để kiểmtra kết quả Lúc này Matlab sẽ tự động tạo hai file có phần mở rộng là
file.m và file.fig File.m chứa các chương trình con ‘callback’ mà người
lập trình sẽ yêu cầu Matlab thực hiện khi click vào đối tượng File.figchứa giao diện của GUI vừa tạo ra
Trang 21Hình 1.9 File.m do chương trình Matlab tạo ra.
Hình 1.10 File.fig do người dùng thiết kế
Trang 221.9 LIÊN KẾT GIỮA MATLAB VÀ MICROSORFT EXCEL
Matlab có khả năng liên kết với các phần mềm: Microsoft Office,C++, Visual Basic
Với Microsoft Ofice 2003, Malab có thể liên kết với Excel thông
qua tính năng Excel Link do đó có thể trao đổi dữ liệu (dạng ma trận) qua
lại giữ hai phần mềm
Để sử dụng tính năng này cần thiết lập cấu hình Excel Link của
phần mềm Excel Với Matlab tính năng Excel Link chứa trong hộp công
cụ Tool Box Các bước hướng dẫn thiết lập được trình bày khá cụ thể
trong thư mục Help (Excel Link) của Matlab
Hình 1.11: Hướng dẫn thiết lập Excel Link tại thư mục HELP của MATLAB
Trang 231.9.1 Các tiện ích của liên kết
Sau khi thiết lập liên kết, trên thanh công cụ (Tool bars) của Excel xuất hiện các tiện ích
Hình1.12: Các tiện ích của Excel Link – Matlab.
Chức năng như sau:
Startmatlab : khởi động Matlab từ Excel
Putmatrix : đưa ma trận từ bảng tính của Excel vào
Matlab Ma trận đưa vào Matlab phải được đặt tên biến (variable)
Getmatrix : lấy ma trận từ Matlab ra bảng tính Excel Ma trận lấy ra từ Matlab phải được khai báo đúng tên biến
Evalstring : chạy các lệnh Matlab
1.9.2 Chuyển dữ liệu từ Excel sang Matlab:
Từ bảng tính Excel ta có các dữ liệu (dạng ma trận) như hình 1.13:
Hình 1.13 : Ma trận dữ liệu từ bảng tính Excel.
Để đưa dữ liệu vào Matlab trước hết ta đánh dấu (bôi đen) phần dữ liệu
Trang 24cần thực thi, click ‘startmatlab’ để khởi động Matlab, tiếp theo click
‘putmatrix’ Lúc này chương trình yêu cầu ta đặt tên biến cho các dữ liệu
này, hộp hội thoại như sau xuất hiện:
Hình 1.14: Yêu cầu đặt tên biến (tên ma trận) khi đưa dữ liệu vào Matlab.
Ta đặt tên biến là ‘KHOALUAN’ sau đó click OK Lúc này tại cửa sổ Command Windown của Matlab ta gõ lệnh ‘KHOALUAN’ thì các dữ liệu
này sẽ hiện ra màn hình
Hình 1.15: Kết quả chuyển dữ liệu từ bảng tính Excel vào Matlab.
Trang 251.9.3 Chuyển dữ liệu từ Matlab sang Excel:
Muốn chuyển dữ liệu sang Excel thì biến cần đưa ra phải tồn tại trong
Matlab Chẳng hạn tại Matlab ta có biến ‘DONGDIEN’:
Hình 1.16: Dữ liệu ma trận tại phần mềm Matlab
Để lấy biến này ra bảng tính Excel ta click vào ‘getmatrix’ trên thanh
công cụ của Excel , lúc này chương trình yêu cầu nhập tên biến cần lấy rabảng tính Excel
Hình 1.17: Yêu cầu khai báo tên biến (tên ma trận) lấy ra từ Matlab
Trang 26Ta nhập vào ‘DONGDIEN’ Và chọn OK, lúc này trên bảng tính Excel sẽ xuất hiện dữ liệu của biến ‘DONGDIEN’ chuyển từ Matlab ra Excel.
Hình 1.18: Kết quả chuyển dữ liệu từ Matlab ra bảng tính Excel.
Các dữ liệu chuyển ra nằm tại cột C và bắt đầu từ hàng 6 của bảng tính Excel
Trang 27CHƯƠNG 2 PHƯƠNG PHÁP TÍNH TOÁN PHÂN
BỐ CÔNG SUẤT VÀ ĐIỆN ÁP CHO
MẠNG ĐIỆN PHÂN PHỐI
Trang 28PHƯƠNG PHÁP TÍNH TOÁN PHÂN BỐ CÔNG SUẤT VÀ ĐIỆN
ÁP CHO MẠNG ĐIỆN PHÂN PHỐI
2.1 MÔ HÌNH NÚT CỦA LƯỚI ĐIỆN
Ta xét lưới điện đơn giản như hình 2.1 Tổng trở được tính đổi sang hệ đơn vị tương đối:
Trang 29Hình 2.2 Sơ đồ tương đương
Giả thuyết chiều các dòng điện như hình vẽ Áp dụng định luật KS1 cho các nút ta được:
Trang 30Ibus : vectơ dòng điện bơm vào các nút Quy ước chiều dòng điện
đi vào nút có giá trị dương, dòng điện đi ra khỏi nút có giá trị âm.
Ubus : vectơ điện áp tại các nút.
Ybus : ma trận tổng dẫn nút Các phần tử của ma trận Ybus gồm có:
.
Trang 31Các phần tử nằm ngoài đường chéo chính: Yij = Yji là tổng dẫn tương hổ giữa nút i và nút j, có giá trị Yij = Yji = -yij.
Các phần tử nằm trên đường chéo chính: Yii là tổng dẫn riêng của
Trang 32nút i, bằng tổng các tổng dẫn nối vào nút i Yii = ∑yij = -∑Yij (j = 1:n, j≠i).
Nếu biết được vectơ Ibus ,với Ybus đã có, ta sẽ tính được điện áp
tại các nút bằng phương pháp nghịch đảo ma trận:
Với Matlab việc tìm nghiệm của (2.3) được thực hiện hiệu quả hơn bằng phép chia ma trận:
Trang 33k:=1k:=k+1
Tính các phần tử nằm ngoài đường chéo chính của Ybus - phần tử nằm trên hàng thứ k
Tính các phần tử nằm trên đường chéochính – tổng dẫn riêng thứ k Y kk Y ki
i1 ik n
đúng
k<n Sai
Nhập ro, x0, L
End
Thuật toán thành lập ma trận Ybus biểu diễn bằng sơ đồ khối:
In kết quả tính toán Y bus r 0 : điện trở đơn vị
x 0 : điện kháng đơn vị
L : chiều dài nh: số nhánh.
n: số nút.
Hình 2.3 Sơ đồ khối thuật toán thành lập ma trận Y bus
Trang 342.2 CÁC PHƯƠNG PHÁP GIẢI TÍCH LƯỚI ĐIỆN
Đối với HTĐ, dòng điện Ibus tại (2.3) cũng là các biến chưa xác định và
liên hệ với điện áp tại các nút (S=U.I) do đó không thể xác định nghiệm
Ubus theo (2.4) và (2.5) Việc sử dụng các phương pháp lặp sẽ giải quyết được vấn đề tìm nghiệm Ubus của hệ (2.3).
Phân loại các nút:
Nút PQ (nút tải) là nút mà CSTD và CSPK đã biết (giả thuyết bỏqua ảnh hưởng của tần số và điện áp đến phụ tải)
Nút PV (nút điều chỉnh điện áp) là nút có CSTD xác định, độ lớnđiện áp giữ không đổi bằng cách phát CSPK vào nút
Nút Vq (nút cân bằng công suất – nút hệ thống), ở nút này điện áp
đã biết cả về độ lớn và góc pha CSTD và CSPK tại nút Vq không cốđịnh, đây cũng là nút có công suất phát lớn nhất
2.2.1 PHƯƠNG PHÁP LẶP GAUSS – SEIDEL (GS)
2.2.1.1 Giải phương trình bằng phương pháp lặp GS
Cho hàm số f(x) = 0 Thuật toán GS để giải phương trình như sau:
Biến đổi phương trình f(x) = 0 về dạng x = g(x)
Nếu chọn x(0) là giá trị xấp xĩ ban đầu của nghiệm thì giá trị x(1)
Trang 35Hình 2.4 Phương pháp GS giải phương trình
2.2.1.2 Giải hệ phương trình bằng phương pháp lặp GS
Lặp GS dùng để giải hệ (2.6) cũng giống như giải phương trình f(x)=0:
Chuyển các phương trình của hệ về dạng:
Trang 362.2.1.3 Áp dụng GS vào giải tích lưới điện:
Để đơn giản ta xét lưới điện mà tất cả các nút là nút PQ trừ nút hệthống Vq Vì điện áp của nút hệ thống đã biết nên không có vòng lặp nàotính cho nút này Ta chọn nút Vq (nút s) làm nút quy chiếu Do đó Ui coi
là áp của nút i so với nút hệ thống Với tất cả các nút trừ nút s là nút hệthống ta đều có:
Trang 38U i (k ) Y ij U j Y ij U j
Y
Trang 39ở hệ đơn vị tương đối là (Ui (0)=1.0+j0.0 pu).
Đối với nút PV đã biết CSTD Pi cho và môđun điện áp |Ui| Để tính vectơđiện áp
phần thực và phần ảo của U i cần phải điều chỉnh để thỏa |Ui| Chỉ phần ảo
Trang 40Ui Uj
Dòng công suất trên đường dây:
Sau khi xác định được điện áp các nút, dòng điện và công suất trên đườngdây được tính toán như sau:
Hình 2.5: Sơ đồ thay thế của đường dây
Xét đường dây nối từ nút i đến nút j có tổng dẫn đường dây yij và tổng dẫn rò y’
Trang 41Sai Kiểm tra điều kiện dừng ΔUMAX <= ε
đúng Ui=Ui(k+1), tính CS phát, tổng CS tiêu thụ, cân bằng CS…
Endn: tổng số nút của lưới m: tổng số nút PV
2.2.1.4 Mô hình chương trình hóa phương pháp GS giải tích lưới điện
Hình 2.6 Sơ đồ khối phương pháp GS.
Trang 422.2.2 PHƯƠNG PHÁP LẶP NEWTON – RAPSHON
2.2.2.1 Giải phương trình bằng phương pháp lặp NR
Cho hàm số f(x) = c Lặp NR dùng để giải phương trình như sau:
Chọn x(0) là nghiệm ban đầu và nếu Δx(0) là độ lệch so với nghiệm chính xác, khi đó ta có f(x(0)+ Δx(0)) = c
Khai triển vế trái của phương trình theo chuổi Taylor: