(Luận văn thạc sĩ hcmute) xác định vị trí của dg trên lưới điện phân phối để giảm chi phí vận hành

71 3 0
(Luận văn thạc sĩ hcmute) xác định vị trí của dg trên lưới điện phân phối để giảm chi phí vận hành

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN XUÂN NGỌ XÁC ĐỊNH VỊ TRÍ CỦA DG TRÊN LƯỚI ĐIỆN PHÂN PHỐI ĐỂ GIẢM CHI PHÍ VẬN HÀNH NGÀNH: KỸ THUẬT ĐIỆN – 60520202 S K C0 Tp Hồ Chí Minh, tháng 10/2015 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN XUÂN NGỌ XÁC ĐỊNH VỊ TRÍ CỦA DG TRÊN LƯỚI ĐIỆN PHÂN PHỐI ĐỂ GIẢM CHI PHÍ VẬN HÀNH NGÀNH: KỸ THUẬT ĐIỆN – 60520202 Hướng dẫn khoa học: PGS.TS TRƯƠNG VIỆT ANH Tp Hồ Chí Minh, tháng 10 năm 2015 Luan van LÝ LỊCH KHOA HỌC I LÝ LỊCH SƠ LƯỢC Họ Tên: Nguyễn Xuân Ngọ Giới tính: Nam Ngày, tháng, năm sinh: 26- 06 -1972 Nơi sinh: Hà Tĩnh Quê quán: Hà Tĩnh Dân tộc: Kinh Địa liên lạc: 0933617668 Điện thoại quan: 061222589 Điện thoại nhà riêng: Fax: 0612225897: Email: nguyenxuanngo.pvpnt2@gmail.com II QUÁ TRÌNH ĐÀO TẠO Đại Học Hệ đào tạo: Vừa học vừa làm Thời gian: 2009 Nơi học: Tại Trường Đại học Sư Phạm Kỹ thuật Thành phố Hồ Chí Minh Ngành học: Kỹ thuật điện (KDD) III Q TRÌNH CƠNG TÁC CHUN MƠN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC: Thời gian Từ tháng 122009 đến Nơi công tác Công việc đảm nhiệm Cơng ty Cổ phần Điện lực Dầu khí Nhơn Trạch i Luan van P Phòng HCTH LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tp Hồ Chí Minh, ngày 22 tháng 07 năm 2015 (Ký & ghi rõ họ tên) Nguyễn Xuân Ngọ ii Luan van TĨM TẮT Luận văn trình bày phương pháp tối ưu vị trí dung lượng máy phát điện phân tán lưới điện phân phối dựa giải thuật di truyền GA Mục tiêu tốn giảm chi phí tổn thất cơng suất tác dụng, chi phí mua điện chi phí bồi thường điện Để đánh giá giải thuật, mạng điện 21 nút mô Kết mô chứng tỏ giải thuật phương đề xuất tìm vị trí dung lượng DG phù hợp để giảm chi phí vận hành iii Luan van ABSTRACT This thesis presents a optimization loacation and sizes of distributed generator methodology based on a genetic algorithm (GA) The main objective of the problem is to reduce the cost of active power losses and power purchase costs and compensation costs due to power outages To evaluate algorithms, 21-nodes networks are simulated The simulation results proved that the proposed algorithm and found the location and capacity of DG to reduce operating costs iv Luan van MỤC LỤC LÝ LỊCH KHOA HỌC i LỜI CAM ĐOAN ii TÓM TẮT iii ABSTRACT iv DANH SÁCH CÁC TỪ VIẾT TẮT viii DANH SÁCH CÁC HÌNH ix DANH SÁCH CÁC BẢNG x CHƯƠNG GIỚI THIỆU ĐỀ TÀI I ĐẶT VẤN ĐỀ II MỤC TIÊU VÀ NHIỆM VỤ CỦA LUẬN VĂN III PHẠM VI NGHIÊN CỨU IV PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN V ĐIỂM MỚI CỦA LUẬN VĂN VI GIÁ TRỊ THỰC TIỂN CỦA LUẬN VĂN .3 VII BỐ CỤC CỦA LUẬN VĂN CHƯƠNG TỔNG QUAN VỀ LƯỚI ĐIỆN PHÂN PHỐI VÀ DG 1.1 Tổng quan lưới điện phân phối: 1.1.1 Đặc điểm lưới điện phân phối: 1.1.2 Nhiệm vụ lưới điện phân phối: 1.2 Tổng quan DG .3 1.3 Một số công nghệ DG: .3 1.3.1 Pin mặt trời (photovoltaic –PV) .3 1.3.2 Pin nhiên liệu (Fuel cell –FC) 1.3.3 Máy phát turbine gió (Wind turbine – WT) 1.3.4 Máy phát động đốt (Internal Combustion Engines – ICE) 1.3.5 Turbine khí (Combustion Turbine – CT) 1.3.6 Thủy điện nhỏ v Luan van 1.3.7 Năng lượng mặt trời CHƯƠNG CÁC BÀI TOÀN LIÊN QUAN ĐẾN DG 2.1 Mục đích vận hành DG: 2.2 Các toán liên quan đến DG: .1 2.2.1 Bài toán đánh giá độ giảm tổn hao đường dây: 2.2.2 Bài toán nâng cao độ tin cậy: CHƯƠNG XÂY DỰNG MƠ HÌNH TỐN HỌC VÀ ỨNG DỤNG GIẢI THUẬT DI TRUYỀN 3.1 Những ảnh hưởng tích hợp nguồn phân tán vào lươi phân phối 3.2 Mô tả mục tiêu toán: 3.3 Mơ hình tốn học: .3 3.3.1 Hàm mục tiêu mơ hình: .3 3.3.2 Tổng chi phí cung cấp từ hệ thống phân phối: 3.3.3 Tổng chi phí gián đoạn ước tính: .4 3.3.4 Tổng chi phí tổn thất lượng: .4 3.3.5 Hạn chế công suất DG .4 3.3.6 Hạn chế hoạt động DG 3.4 Giải thuật di truyền (genetic algorithm-GA): 3.4.1 Các đặc tính thuật toán di truyền 3.4.2 Các q trình thuật tốn di truyền: .6 3.4.3 Các tham số thuật tốn di truyền (hay cịn gọi thơng số điều khiển thuật tốn): 10 3.5 Áp dụng giải thuật di truyền tính tốn lưới điện 20 nút tải có tải tập trung sau: 13 3.5.1 Hàm mục tiêu toán: 14 3.5.2 Sử dụng thuật toán di truyền matlab 16 3.5.3 Kết kiểm tra giải thuật 19 3.6 Nhận xét 23 CHƯƠNG KẾT LUẬN 25 vi Luan van 4.1 Kết luận 25 4.2 Hướng phát triển đề tài 25 TÀI LIỆU THAM KHẢO 27 PHỤ LỤC 30 vii Luan van DANH SÁCH CÁC TỪ VIẾT TẮT GA: Gennetic Algorithm DG: Distributed Generator viii Luan van CHƯƠNG KẾT LUẬN 4.1 Kết luận Vận hành kinh tế lưới phân phối phần toán vận hành kinh tế hệ thống điện, góp phần làm giảm chi phí tồn hệ thống, tốn tối ưu vị trí lắp đặt DG nhằm giảm tổn thất nâng cao độ tin cậy có tính tốn đến chi phí vận hành hệ thống lưới điện phân phối hổ trợ nhiều cho công ty Điện lực việc lập kế hoạch điều phối nguồn cung cấp thời điểm nhu cầu phụ tải đồng thời hướng tới thị trường điện cạnh tranh cung cấp với nhiều mức giá Hiện nguồn DG ngày phát triển nhiều lợi ích mà mang đến, việc tìm kiếm lời giải cho tốn tối ưu DG lưới phân phối công việc cần quan tâm Trong luận văn trình bày sơ lược thuật tốn di truyền, tốn tử sử dụng q trình tiến hóa cá thể quần thể Đồng thời xây dựng giải thuật tối ưu vị trí cơng suất DG để giảm tốn thất công suất nâng cao độ tin cậy nhằm giải toán cực tiểu chi phí hệ thống điện Kết đạt thuật tốn di truyền vị trí phù hợp để lắp đặt DG chọn công suất phát phù hợp 4.2 Hướng phát triển đề tài Từ hạn chế giải thuật đề nghị, xin đề xuất số hướng phát triển đề tài sau: Nghiên cứu sâu toàn nâng cao độ tin cậy lưới có nguồn DG Nghiên cứu hàm mục tiêu chi phí xét đến loại DG khác tồn lưới điện phân phối 25 Luan van Sau cùng, cố gắng, song thời gian nghiên cứu trình độ cịn hạn chế, luận văn chắn có nhiều thiếu sót, mong nhận ý kiến đóng góp Hội Đồng, Q Thầy Cơ bạn Học viên để luận văn tăng thêm giá trị khoa học thực tiễn Xin chân thành cảm ơn 26 Luan van TÀI LIỆU THAM KHẢO [1] Trương Việt Anh Hệ Chuyên Gia Mờ vận hành hệ thống điện phân phối Luận án Tiến sĩ, Đại học Bách khoa Tp.HCM, 2005 [2] Thông tư 32/2010/TT-BCT việc quy định hệ thống điện phân phối, ngày 30 tháng 07 năm 2010 Bộ Công Thương [3] Thông tư 33/2011/TT-BCT việc quy định nội dung, phương pháp, trình tự thủ tục nghiên cứu phát triển phụ tải, ngày 06 tháng năm 2011 Bộ công Thương [4] TS Trương Việt Anh Các giải tḥt tái cấu hình lưới điện phân phới Nhà Xuất Bản Đại Học Quốc Gia TP Hồ Chí Minh, 2014 [5] Nguyễn Minh Châu Tới ưu hóa nguồn sản xuất điện phân tán hệ thống điện Luận văn Thạc sĩ, Đại học Sư phạm Kỹ thuật Tp.HCM, 2006 [6] Trương Quang Đăng Khoa, Phan Thị Thanh Bình, Hồng Bảo Trân Xác định dung lượng vị trí máy phát phân bố (DG) tối ưu tổn thất lưới phân phối Tạp chí phát triển KH & CN, số 3, 2007 [7] Lê Kim Hùng, Lê Thái Thanh Tối ưu hóa vị trí đặt cơng suất phát nguồn phân tán mơ hình lưới điện phân phối 22kV Tạp chí KH & CN Đại học Đà Nẵng, 2008 [8] Hoàng Dũng, Võ Khắc Hoàng Nghiên cứu tự động hóa lưới điện phân phối để nâng cao độ tin cậy cung cấp điện Tạp chí KH & CN Đại học Đà Nẵng, 2008 [9] Trương Quang Đăng Khoa, Phan Thị Thanh Bình, Nguyễn Minh Hiếu Tái cấu trúc lưới phân phối pha để giảm tổn thất điện giải thuật Meta – Heuristic Tạp chí phát triển KH & CN, số 2, 2007 [10] Tài liệu hướng dẫn sử dụng phần mềm PSS/Adapt Phần mềm PSS/Adapt 5.0 hãng Power Technologies.Inc [11] Lê Kim Hùng, Trần Vinh Tịnh, Võ Như Quốc Nghiên cứu cấu trúc lưới điện phân phối 22kV pha dây nhằm nâng cao độ tin cậy cung cấp điện Tạp chí KH & CN Đại học Đà Nẵng, 2011 27 Luan van [12] Trương Tuấn Anh Tính tốn độ tin cậy lưới điện phân phối trung áp Tạp chí KH & CN, số 4, 2007 [13] Dương Thị Phương Thảo Tính tốn độ tin cậy lưới điện phân phối Thành phố Đà Nẵng theo tiêu chuẩn IEEE 1366 Luận văn Thạc sĩ, Đại học Đà Nẵng, 2010 [14] Chỉ tiêu độ tin cậy suất cố Công ty Điện lực Cà Mau năm 2014, ngày 08/7/2014 Công ty Điện lực Cà Mau [15] Th.s Lê Việt Cường Nghiên cứu yêu cầu kỹ thuật đấu nối nguồn điện phân tán vào lưới điện trung áp Báo cáo khoa học tổng kết đề tài I-173 [16] Lại Minh Học Tái cấu trúc lưới điện phân phối giảm tổn thất cơng suất có tác dụng DG Luận văn Thạc sĩ, Đại học Sư phạm Kỹ thuật Tp.HCM, 2012 [17] Kwang Y.Lee and Mohamed A.El-Sharkawi Modern Hueristic Optimization Techniques: Theory And Applications to Power Systems IEEE press series on power engineering Mohamed E.EI Hawary, Series Editor, 2008 [18] T Q D Khoa, Member, IEEE, and P T T Binh A Hybrid Ant Colony Search Based Reconfiguration of Distribution Network for Loss Reduction 2006 IEEE PES Transmission and Distribution Conference and Exposition Latin America, Venezuela [20] D.H Popovic, J.A Greatbanks, M Begovic´, A Pregelj Placement of distributed generators and reclosers for distribution network security and reliability Electrical Power and Energy Systems 27, 398–408, 2005 [21] César Augusto Peñuela Meneses, José Roberto Sanches Mantovani Improving the Grid Operation and Reliability Cost of Distribution Systems With Dispersed Generation IEEE Transactions on power systems, vol 28, no 3, august 2013 [22] S Chaitusaney, A Yokoyama Reliability Analysis of Distribution System with Distributed Generation Considering Loss of Protection Coordination 9th International Conference on Probabilistic Methods Applied to Power Systems KTH, Stockholm, Sweden – June 11-15, 2006 28 Luan van [23] M Sedighizadeh, and A Rezazadeh Using Genetic Algorithm for Distributed Generation Allocation to Reduce Losses and Improve Voltage Profile World Academy of Science, Engineering and Technology, vol 37, 2008 [24] M Ahmadigorji, A Abbaspour, A Rajabi-Ghahnavieh, M Fotuhi- Firuzabad Optimal DG Placement in Distribution systems Using Cost/Worth Analysis World Academy of Science, Engineering and Technology, vol 25, 2009 [25] A A Chowdhury, Sudhir Kumar Agarwal, Don O Koval Reliability Modeling of Distributed Generation in Conventional Distribution Systems Planning and Analysis IEEE Transactions On Industry Applications, vol 39, no 5, september/october 2003 29 Luan van PHỤ LỤC Chương trình hàm mục tiêu sử dụng giải thuật GA %% Luan van cao hoc Nguyen Xuan Ngo %Solver: GA %Fitness fuction: @fitness_ngo %Number of variables: %Lower: [2 -10] %Uper: [21 10 10] function fit=fitness_ngo(x) x(1)=round(x(1)); Csys=1500; Cdg=1700; Cfail=2000; mpc_th=loadcase(case21_ngo); mpc_th.thoigian=mpc_th.hesocat(:,2).*mpc_th.hesocat(:,3) ; imax=length(x)/3; for i=1:imax mpc_th.bus(round(x(i)),3)= mpc_th.bus(round(x(i)),3)-x(i+1); mpc_th.bus(round(x(i)),4)= mpc_th.bus(round(x(i)),4)-x(i+2); end [Psys,Qsys, Plos]=runpf_ngo(mpc_th); disp(Plos); %Tinh thoi gian cat tai if mpc_th.bus(x(1),3)Ptai tai nut ket noi end if mpc_th.bus(x(1),4)Qtai tai nut ket noi end C1 =(Csys*Psys+Cdg*x(1,2))*1000*8760; %chi phi mu dien va DG C2 =Csys*Plos*1000*8760; %chi phi ton that C3 =Cfail*sum(mpc_th.bus(:,3).*mpc_th.thoigian)*1000*8760; %3000d/kwh, 1000: kw fit=C1+C2+C3; disp(x); 30 Luan van disp(['Ploss, Cht,Closs,Cdenbu, Ctotal: ',num2str(Plos),', ', num2str(C1),', ',num2str(C2), ', ',num2str(C3), ', ', num2str(fit)]); end Chương trình phân bố cơng suất: function [P_hethong,Q_hethong, dp] = runpf_ngo(casedata, mpopt, fname, solvedcase) %% define named indices into bus, gen, branch matrices [PQ, PV, REF, NONE, BUS_I, BUS_TYPE, PD, QD, GS, BS, BUS_AREA, VM, VA, BASE_KV, ZONE, VMAX, VMIN, LAM_P, LAM_Q, MU_VMAX, MU_VMIN] = idx_bus; [F_BUS, T_BUS, BR_R, BR_X, BR_B, RATE_A, RATE_B, RATE_C, TAP, SHIFT, BR_STATUS, PF, QF, PT, QT, MU_SF, MU_ST, ANGMIN, ANGMAX, MU_ANGMIN, MU_ANGMAX] = idx_brch; [GEN_BUS, PG, QG, QMAX, QMIN, VG, MBASE, GEN_STATUS, PMAX, PMIN, MU_PMAX, MU_PMIN, MU_QMAX, MU_QMIN, PC1, PC2, QC1MIN, QC1MAX, QC2MIN, QC2MAX, RAMP_AGC, RAMP_10, RAMP_30, RAMP_Q, APF] = idx_gen; %% default arguments if nargin < solvedcase = ''; if nargin < fname = ''; a file if nargin < mpopt = mpoption; if nargin < casedata = 'case9'; 'case9.m' end end end end %% don't save solved case %% don't print results to %% use default options %% default data file is %% options qlim = mpopt.pf.enforce_q_lims; on gens? dc = strcmp(upper(mpopt.model), 'DC'); formulation? %% read data mpc = loadcase(casedata); 31 Luan van %% enforce Q limits %% use DC %% add zero columns to branch for flows if needed if size(mpc.branch,2) < QT mpc.branch = [ mpc.branch zeros(size(mpc.branch, 1), QTsize(mpc.branch,2)) ]; end %% convert to internal indexing mpc = ext2int(mpc); [baseMVA, bus, gen, branch] = deal(mpc.baseMVA, mpc.bus, mpc.gen, mpc.branch); %% get bus index lists of each type of bus [ref, pv, pq] = bustypes(bus, gen); %% generator info on = find(gen(:, GEN_STATUS) > 0); are on? gbus = gen(on, GEN_BUS); they at? %% which generators %% what buses are %% - run the power flow t0 = clock; if mpopt.verbose > v = mpver('all'); fprintf('\nMATPOWER Version %s, %s', v.Version, v.Date); end if dc %% DC formulation if mpopt.verbose > fprintf(' DC Power Flow\n'); end %% initial state Va0 = bus(:, VA) * (pi/180); %% build B matrices and phase shift injections [B, Bf, Pbusinj, Pfinj] = makeBdc(baseMVA, bus, branch); %% compute complex bus power injections (generation load) %% adjusted for phase shifters and real shunts Pbus = real(makeSbus(baseMVA, bus, gen)) - Pbusinj bus(:, GS) / baseMVA; %% "run" the power flow Va = dcpf(B, Pbus, Va0, ref, pv, pq); %% update data matrices with solution branch(:, [QF, QT]) = zeros(size(branch, 1), 2); 32 Luan van branch(:, PF) = (Bf * Va + Pfinj) * baseMVA; branch(:, PT) = -branch(:, PF); bus(:, VM) = ones(size(bus, 1), 1); bus(:, VA) = Va * (180/pi); %% update Pg for slack generator (1st gen at ref bus) %% (note: other gens at ref bus are accounted for in Pbus) %% Pg = Pinj + Pload + Gs %% newPg = oldPg + newPinj - oldPinj refgen = zeros(size(ref)); for k = 1:length(ref) temp = find(gbus == ref(k)); refgen(k) = on(temp(1)); end gen(refgen, PG) = gen(refgen, PG) + (B(ref, :) * Va Pbus(ref)) * baseMVA; success = 1; else %% AC formulation alg = upper(mpopt.pf.alg); if mpopt.verbose > switch alg case 'NR' solver = 'Newton'; case 'FDXB' solver = 'fast-decoupled, XB'; case 'FDBX' solver = 'fast-decoupled, BX'; case 'GS' solver = 'Gauss-Seidel'; otherwise solver = 'unknown'; end fprintf(' AC Power Flow (%s)\n', solver); end %% initial state % V0 = ones(size(bus, 1), 1); %% flat start V0 = bus(:, VM) * exp(sqrt(-1) * pi/180 * bus(:, VA)); vcb = ones(size(V0)); %% create mask of voltage-controlled buses vcb(pq) = 0; %% exclude PQ buses k = find(vcb(gbus)); %% in-service gens at v-c buses V0(gbus(k)) = gen(on(k), VG) / abs(V0(gbus(k))).* V0(gbus(k)); if qlim 33 Luan van ref0 = ref; angle of Varef0 = bus(ref0, VA); reference bus(es) limited = []; indices of gens @ Q lims fixedQg = zeros(size(gen, 1), 1); Q limits end %% save index and %% original %% list of %% Qg of gens at %% build admittance matrices [Ybus, Yf, Yt] = makeYbus(baseMVA, bus, branch); repeat = 1; while (repeat) %% compute complex bus power injections (generation load) Sbus = makeSbus(baseMVA, bus, gen); %% run the power flow switch alg case 'NR' [V, success, iterations] = newtonpf(Ybus, Sbus, V0, ref, pv, pq, mpopt); case {'FDXB', 'FDBX'} [Bp, Bpp] = makeB(baseMVA, bus, branch, alg); [V, success, iterations] = fdpf(Ybus, Sbus, V0, Bp, Bpp, ref, pv, pq, mpopt); case 'GS' [V, success, iterations] = gausspf(Ybus, Sbus, V0, ref, pv, pq, mpopt); otherwise error('Only Newton''s method, fast-decoupled, and Gauss-Seidel power flow algorithms currently implemented.'); end %% update data matrices with solution [bus, gen, branch] = pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V, ref, pv, pq); if qlim %% enforce generator Q limits %% find gens with violated Q constraints mx = find( gen(:, GEN_STATUS) > & gen(:, QG) > gen(:, QMAX) + mpopt.opf.violation ); mn = find( gen(:, GEN_STATUS) > 34 Luan van & gen(:, QG) < gen(:, QMIN) mpopt.opf.violation ); if ~isempty(mx) || ~isempty(mn) %% we have some Q limit violations %% first check for INFEASIBILITY (all remaining gens violating) infeas = union(mx, mn); remaining = find( gen(:, GEN_STATUS) > & ( bus(gen(:, GEN_BUS), BUS_TYPE) == PV | bus(gen(:, GEN_BUS), BUS_TYPE) == REF )); if length(infeas) == length(remaining) && all(infeas == remaining) if mpopt.verbose fprintf('All %d remaining gens exceed their Q limits : INFEASIBLE PROBLEM\n', length(infeas)); end success = 0; break; end %% one at a time? if qlim == %% fix largest violation, ignore the rest [junk, k] = max([gen(mx, QG) - gen(mx, QMAX); gen(mn, QMIN) - gen(mn, QG)]); if k > mn mx else mx mn end length(mx) = mn(k-length(mx)); = []; = mx(k); = []; end if mpopt.verbose fprintf('Gen converting to PQ bus\n', mx); end if mpopt.verbose fprintf('Gen converting to PQ bus\n', mn); end && ~isempty(mx) %d at upper Q limit, && ~isempty(mn) %d at lower Q limit, 35 Luan van %% save corresponding limit values fixedQg(mx) = gen(mx, QMAX); fixedQg(mn) = gen(mn, QMIN); mx = [mx;mn]; %% convert to PQ bus gen(mx, QG) = fixedQg(mx); %% set Qg to binding limit gen(mx, GEN_STATUS) = 0; %% temporarily turn off gen, for i = 1:length(mx) %% (one at a time, since bi = gen(mx(i), GEN_BUS); %% they may be at same bus) bus(bi, [PD,QD]) = %% adjust load accordingly, bus(bi, [PD,QD]) - gen(mx(i), [PG,QG]); end if length(ref) > && any(bus(gen(mx, GEN_BUS), BUS_TYPE) == REF) error('Sorry, MATPOWER cannot enforce Q limits for slack buses in systems with multiple slacks.'); end bus(gen(mx, GEN_BUS), BUS_TYPE) = PQ; %% & set bus type to PQ %% update bus index lists of each type of bus ref_temp = ref; [ref, pv, pq] = bustypes(bus, gen); %% previous line can modify lists to select new REF bus %% if there was none, so we should update bus with these %% just to keep them consistent if ref ~= ref_temp bus(ref, BUS_TYPE) = REF; bus( pv, BUS_TYPE) = PV; if mpopt.verbose fprintf('Bus %d is new slack bus\n', ref); end end limited = [limited; mx]; else repeat = 0; %% no more generator Q limits violated 36 Luan van end else repeat = 0; %% don't enforce generator Q limits, once is enough end end if qlim && ~isempty(limited) %% restore injections from limited gens (those at Q limits) gen(limited, QG) = fixedQg(limited); %% restore Qg value, for i = 1:length(limited) %% (one at a time, since bi = gen(limited(i), GEN_BUS); %% they may be at same bus) bus(bi, [PD,QD]) = %% re-adjust load, bus(bi, [PD,QD]) + gen(limited(i), [PG,QG]); end gen(limited, GEN_STATUS) = 1; %% and turn gen back on if ref ~= ref0 %% adjust voltage angles to make original ref bus correct bus(:, VA) = bus(:, VA) - bus(ref0, VA) + Varef0; end end end mpc.et = etime(clock, t0); mpc.success = success; %% - output results %% convert back to original bus numbering & print results [mpc.bus, mpc.gen, mpc.branch] = deal(bus, gen, branch); results = int2ext(mpc); %% zero out result fields of out-of-service gens & branches if ~isempty(results.order.gen.status.off) results.gen(results.order.gen.status.off, [PG QG]) = 0; end if ~isempty(results.order.branch.status.off) results.branch(results.order.branch.status.off, [PF QF PT QT]) = 0; end if fname [fd, msg] = fopen(fname, 'at'); if fd == -1 37 Luan van error(msg); else printpf(results, fd, mpopt); fclose(fd); end end [P_hethong, Q_hethong, dp]=printpf(results, 1, mpopt); %% save solved case if solvedcase savecase(solvedcase, results); end if nargout == || nargout == MVAbase = results; bus = success; elseif nargout > [MVAbase, bus, gen, branch, et] = deal(results.baseMVA, results.bus, results.gen, results.branch, results.et); % else %% don't define MVAbase, so it doesn't print anything end 38 Luan van S K L 0 Luan van ... ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN XUÂN NGỌ XÁC ĐỊNH VỊ TRÍ CỦA DG TRÊN LƯỚI ĐIỆN PHÂN PHỐI ĐỂ GIẢM CHI PHÍ VẬN HÀNH NGÀNH: KỸ THUẬT ĐIỆN – 60520202 Hướng dẫn... VỀ LƯỚI ĐIỆN PHÂN PHỐI VÀ DG 1.1 Tổng quan lưới điện phân phối: 1.1.1 Đặc điểm lưới điện phân phối: Lưới điện phân phối khâu cuối hệ thống điện để đưa điện trực tiếp đến người tiêu dùng Lưới điện. .. DG đến lưới khác - Tổn thất cơng suất lưới: thực tế vị trí DG xác định cho tổn thất lưới nhỏ trước có DG Việc xác định vị trí đặt tối ưu cơng suất DG có xét đến điều kiện vận hành khác lưới điện

Ngày đăng: 02/02/2023, 10:05