Download - Matlab Loadflow
LOAD FLOW berbasis
METODA GAUSS-SEIDEL
1. Persamaan Jaringan
Persamaan yang menggambarkan kerja jaringan sistem daya yang menggunakan
kerangka bus referensi, dalam bentuk impedansi adalah :
V Bus = Z Bus I Bus
atau dalam bentuk admitansi adalah :
I Bus = Y Bus V Bus
Apabila bus pentanahan termasuk dalam jaringan, elemen – elemen matriks
Impedansi bus dan admitansi bus akan memasukkan efek elemen – elemen yang
terpasang pararel ke tanah seperti kapasitor dan reaktor statis, line charging, dan elemen
pararel pada persamaan transformator, dimana bus pentanahan dipilih sebagai titik
referensi. Tegangan bus pada jaringan menghasilkan persamaan yang diukur terhadap
tanah.
Dan jika bus pentanahan tidak termasuk dalam jaringan, elemen – elemen matriks
tidak menyertakan efek elemen yang terpasang pararel dan salah satu bus yang ada dalam
jaringan harus dipilih sebagai titik referensi. Dalam hal ini, efek elemen – elemen yang
pararel dianggap sebagai sumber arus dalam bus – bus dalam jaringan, dan tegangan bus
dalam persamaan diukur terhadap bus referensi yang dipilih.
2. Persamaan pembebanan pada bus
Daya aktif dan reakif pada suatu bus i adalah :
Pi – JQi = ViI*i 1
Dan arus adalah :
subtitusi dari persamaan diatas :
karena penyelesaian matematika studi aliran daya merupakan persamaan aljabar nonlinier
maka penyelesaiannya menggunakan metode iterasi
3. Studi aliran daya Metode Gauss Seidel
Dalam kajian tentang aliran daya, penting untuk memecahkan seperangkat
persamaan non linear yang direpresentasikan dengan persamaan (3) untuk dua variabel
yang tidak diketahui pada masing-masing node/simpul. Dalam metode Gaus Seidel (3)
diselesaikan untuk Vi dan rangkaian iterasinya menjadi.
(4)
Dimana yij yang diperlihatkan dalam huruf lowercase (bagian bawah) merupakan
sebuah admitansi per unit. Pisch dan Qi
sch merupakan daya aktif dan daya reaktif yang
dijelaskan per unit. Dalam menulis garis KCL, arus memasuki bus i diasumsikan
positif. Demikian pula, untuk bus dimana daya ril dan daya reaktif diinjeksikan ke
dalam bus, seperti bus generator, Pisch dan Qi
sch mempunyai nilai-nilai positif. Untuk
memuat bus dimana daya reaktif dan daya ril mengalir jauh dari bus, P isch dan Qi
sch
mempunyai nilai negatif. Jika (2.3) dipecahkan untuk Pisch dan Qi
sch, kita mempunyai.
(5)
(6)
Persamaan aliran daya biasanya dijelaskan dalam istilah unsur-unsur matriks
admittance/entri bus. Karena unsur-unsur off-diagonal admitansi matriks bus Ybus,
1
3
diperlihatkan dengan huruf-huruf uppercase, yakni Yij = - Yij, dan unsur-unsur diagonal
adalah Yij = Yij, (2.4) menjadi
(7)
dan
(8)
(9)
Yij meliputi admitansi ke tanah charging susceptance dan admitansi yang lain.
Yang cocok terhadap tanah. Sebuah model yang dipresentasikan untuk
mentransformasikan kandungan rasio nominal-off, yang meliputi efek tap setting
transformator.
Karena kedua komponen tegangan ditetapkan untuk slack bus, ada persamaan
2(n-1) yang harus dipecahkan oleh metode iterasi. Di bawah kondisi operasi normal,
besarnya tegangan bus yang berada di sekitar 1.0 per unit atau dekat dengan besarnya
tegangan slack bus. Besarnya tegangan beban bus agaknya lebih rendah daripada nilai
slack bus, tergantung pada keperluan daya reaktif, dimana tegangan yang dijadwalkan
pada generator bus agak tinggi. serta, sudut fasa bus beban berada di bawah referensi
sudut sesuai dengan permintaan daya ril, sedangkan sudut fasa generator bus mungkin
berada diatas nilai referensi tergantung pada jumlah daya ril yang mengalir ke dalam
bus. Demikianlah untuk metode Gaus-Seidel, estimasi awal tegangan dari 1,0 + j0,0
untuk tegangan yang tidak diketahui memuaskan, dan solusi yang konvergensikan
berkorelasi dengan catatan operasi aktual.
Untuk bus P-Q, daya real dan reaktif Pisch dan Qi
sch diketahui. Diawali dengan
sebuah estimasi awal, (7) dipecahkan untuk komponen tegangan yang ril dan imajiner.
Untuk tegangan-berkontrol bus (P-V buses) dimana Pisch dan [VI] ditetapkan, pertama (9)
dipecahkan untuk Q(k+1), dan kemudian digunakan dalam (7) untuk memecahkan Vi(k+1),
2
namun demikian karena [VI] ditetapkan, hanya bagian imajiner dari Vi(k+1) ditahan, dan
bagian ril dipilih agar memuaskan.
(10)
atau
(11)
di mana dan merupakan komponen ril dan imajiner tegangan VI(k+1) dalam
rangkaian iteratif.
Tingkat konvergensi ditingkatkan dengan menerapkan faktor kecepatan
terhadap solusi yang kurang lebih dihasilkan dari masing-masing iterasi.
(12)
Dimana adalah faktor kecepatan. Nilainya tergantung pada sistem. Tingkat 1,3
hingga 1,7 ditemukan memuaskan untuk sistem-sistem khusus.
Tegangan yang diperbaharui langsung menggantikan nilai sebelumnya dalam solusi
persamaan berikutnya. Proses dilanjutkan sampai perubahan-perubahan dalam
komponen ril dan imajiner tegangan bus itearsi berturut-turut berada dalam akurasi
yang ditetapkan, misalnya.,
(13)
Untuk daya yang tidak sebanding yang selayaknya kecil dan dapat diterima,
sangat sedikit toleransi yang harus ditetapkan pada kedua komponen tegangan. Sebuah
tegangan yang secara akurat berada pada tingkat 0,00001 hingga 0,00005 pu
memuaskan. Praktisnya, metode untuk menentukan penyelesaian sebuah solusi
berdasarkan indeks akurasi yang dipasang pada daya yang tak sebanding. Iterasi
3
berlanjut sampai besarnya elemen yang paling luas dalam kolom P dan Q kurang
dari nilai yang ditetapkan. Sebuah akurasi daya yang tidak sebanding adalah 0,001 pu.
Sekali solusi dikonvergensikan, jaringan daya ril dan reaktif pada slack bus
dihitung dari (8) dan (9).
4. Aliran Daya dan Rugi-Rugi Jaringan
Setelah selesai menyelesaiakan iterasi untuk tegangan tiap-tiap bus, maka langkah
selanjutnya adalah menghitung aliran daya dan rugi-rugi pada jaringan. Jika kita anggap
sebuah jaringan yang menghubungkan dua bus i dan j. Maka arus yang mengalir Iij, arus
yang terukur pada bus i bernilai positif jika ia mengalir ke arah bus j.
i j diperoleh dari
Iij = Il + Ii0 = yij(Vi-Vj)+yi0VI (14)
Begitu pula jika sebaliknya j i diperoleh dari
Iji = -Il + Ij0 = yji(Vj-Vi)+yj0Vj (15)
Daya compleks Sij dari bus I ke bus j dan Sji dari bus j ke bus I adalah :
Sij = ViI*ij (16)
Sji = VjI*ij (17)
Dari persamaan diatas diperoleh
SLij = Sij + Sji (18)
4
5. Flowchart
5
START
Basemva = 100Accuracy = 0,001Accel = 1,8Maxiter = 100
Baca busdataBaca linedata
Membentuk Branch Admitansi
Membuat matrix ber elemen nol
Membentuk off diagonal elemen matrix Ybus
Membentuk diagonal elemen matrix Ybus
Mulai CounterUntuk iterasi
Menghitung tegangan Bus i
B A
6
Menghitung daya aktif pada bus i
Menghitung daya reaktif pada bus i
Menghitung aliran daya dan rugi daya (losses) pada jaringan
SL ij = Sij + Sji
Mengujikonvergensi
STOP
B A
Ya
Tidak
Cetak Voltage magnitude dan sudutnya, daya aktif dan daya
reaktif dari generator dan beban, shunt capasitor, total daya
generator dan total beban dan total shunt capasitor
Cetak daya yang mengalir masuk pada tiap-tiap terminal
dan rugi daya (losses) dari jaringan pada tiap-tiap bus
Contoh Aplikasi 1
Pada gambar menunjukkan diagram segaris dalam sistim tenaga 3 (tiga) bus dengan
pembangkitan pada bus 1. Harga tegangan pada bus 1 diatur sampai 1,05 pu. Beban pada
bus 2 dan 3. Impedansi-impedansi saluran dalam per unit pada dasar 100 MVA, dan
untuk suseptansi muatan pada saluran diabaikan. Tentukan aliran daya dan rugi-rugi
dengan meoda gauss-seidel
Data admitansi pada saluran adalah y12 = 1/z12 = 10-j20, y13 = 1/z13 = 10-j30, dan
y23=1/z23 = 16-j32
Data beban dalam per unit adalah :
Bus 1 adalah slack bus dengan tegangan V1 = 1,05 + j0,0. Estimasi tegangan awal untuk,
V2(0) = 1,0+j0,0 dan V3(0) = 1,0 + j0,0. V2 dan V3 selanjutnya secara iterasi dihitung
dengan persamaan 7, untuk aliran arus dihitung dengan persamaan 14 dan 15, untuk daya
kompleks anatara bus dihitung dengan persamaan 16 dan 17, dan untuk rugi-rugi daya
7
1 2
3
0.02 + j0.04
0.01 + j0.030.0125 + j0.025
256.6 MW110.2 Mvar
138.6 MW45.2 Mvar
G
Slack BusV1 = 1.05<0o
dalam saluran dihitung dengan persamaan 6-18. Iterasi dari kondisi ini berhenti bila |
Vn+1 – Vn|<ε, dengan ε adalah tetapan yang harganya ditentukan, sehingga susunan
pogramnya dalam bahasa MATLAB sebagai berikut :
disp(' ');disp('__________________________');disp(' ')disp(' Studi Aliran Daya pada sistem 3 bus ');disp(' dengan penyelesaian metode Gauss-Seidel ');disp('___________________________');disp(' ');% DAsar 100 MVAepsilon = 0.00001;x = 1;% Data impedansi pada saluran :z12 = 0.02 + j*0.04;z13 = 0.01 + j*0.03;z23 = 0.0125 + j*0.025;% Admitansi pada saluran :y12 = 1/z12;y13 = 1/z13;y23 = 1/z23;% Beban dalam per unit :s2 = -(256.6 + j*110.2)/100;s3 = -(138.6 + j*45.2)/100;% Bus 1 sebagai slack bus dengan :v1 = 1.05 + j*0.0;vk1 = conj(v1);%estimasi tegangan awal untuk :v2 = 1.0 + j*0.0;e3 = 1.0 + j*0.0;iter = 0;disp('_________________________');disp('! ! ! ');disp('! ! daya pada ! aliran daya pada saluran !');disp('! iterasi ! slack bus ! !');disp('! ke : ! (bus 1) ! !');disp('! !-----------------------------------------!');disp('! ! S1 ! s12 ! 21 !');disp('_____________________________________________________');disp(' ');format short gwhile x>= epsilon iter = iter + 1; vk2 = conj(v2); ek3 = conj(e3); v2 = 1/(y12+y23)*((conj(s2)/vk2)+(y12*v1+y23*e3)); %=V=(1/y)* v3 = 1/(y13+y23)*((conj(s3)/ek3)+(y13*v1+y23*v2)); % arus pada saluran i12 = y12*(v1-v2); i21 = -i12; % konjugat dari arus pada aluran : ik12 = conj(i12);
8
ik21 = conj(i21); % Daya dalam bentuk bilangan kompleks pada bus 1 : s1 = (vk1*(v1*(y12+y13)-(y12*v2+y13*v3)))*100; % aliran daya dalam bentuk bilangan kompleks pada saluran : s12 = v1*ik12*100; s21 = v2*ik21*100; x = abs(v3-e3); e3 = v3; fprintf('%i', iter), disp([s1, s12, s21]);end disp('___________________________________');disp(' ');disp('===============');disp('! lanjutan 1 !');disp('===============');% DAsar 100 MVAepsilon = 0.00001;x = 1;% Data impedansi pada saluran :z12 = 0.02 + j*0.04;z13 = 0.01 + j*0.03;z23 = 0.0125 + j*0.025;% Admitansi pada saluran :y12 = 1/z12;y13 = 1/z13;y23 = 1/z23;% Beban dalam per unit :s2 = -(256.6 + j*110.2)/100;s3 = -(138.6 + j*45.2)/100;% Bus 1 sebagai slack bus dengan :v1 = 1.05 + j*0.0;vk1 = conj(v1);%estimasi tegangan awal untuk :v2 = 1.0 + j*0.0;e3 = 1.0 + j*0.0;iter = 0;disp('_________________________');disp('! ! ! ');disp('! ! daya pada ! aliran daya pada saluran !');disp('! iterasi ! slack bus ! !');disp('! ke : ! (bus 1) ! !');disp('! !-----------------------------------------!');disp('! ! S13 ! s31 ! s23 !');disp('_____________________________________________________');disp(' ');format short gwhile x>= epsilon iter = iter + 1; vk2 = conj(v2); ek3 = conj(e3); v2 = 1/(y12+y23)*((conj(s2)/vk2)+(y12*v1+y23*e3)); v3 = 1/(y13+y23)*((conj(s3)/ek3)+(y13*v1+y23*v2)); % arus pada saluran i13 = y13*(v1-v3); i31 = -i13; i23 = y23*(v2-v3);
9
% konjugat dari arus pada aluran : ik13 = conj(i13); ik31 = conj(i31); ik23 = conj(i23); % aliran daya dalam bentuk bilangan kompleks pada saluran : s13 = v1*ik13*100; s31 = v3*ik31*100; s23 = v2*ik23*100; x = abs(v3-e3); e3 = v3; fprintf('%i', iter), disp([s13, s31, s23]);end disp('___________________________________');disp(' ');disp('===============');disp('! lanjutan 2 !');disp('===============');% DAsar 100 MVAepsilon = 0.00001;x = 1;% Data impedansi pada saluran :z12 = 0.02 + j*0.04;z13 = 0.01 + j*0.03;z23 = 0.0125 + j*0.025;% Admitansi pada saluran :y12 = 1/z12;y13 = 1/z13;y23 = 1/z23;% Beban dalam per unit :s2 = -(256.6 + j*110.2)/100;s3 = -(138.6 + j*45.2)/100;% Bus 1 sebagai slack bus dengan :v1 = 1.05 + j*0.0;vk1 = conj(v1);%estimasi tegangan awal untuk :v2 = 1.0 + j*0.0;e3 = 1.0 + j*0.0;iter = 0;disp('_________________________');disp('! ! ! ');disp('! ! aliran day daya pada ! aliran daya pada saluran !');disp('! iterasi ! slack bus ! !');disp('! ke : ! (bus 1) ! !');disp('! !-----------------------------------------!');disp('! ! S32 ! sL12 ! sl13 !');disp('_____________________________________________________');disp(' ');format short gwhile x>= epsilon iter = iter + 1; vk2 = conj(v2); ek3 = conj(e3); v2 = 1/(y12+y23)*((conj(s2)/vk2)+(y12*v1+y23*e3)); v3 = 1/(y13+y23)*((conj(s3)/ek3)+(y13*v1+y23*v2)); % arus pada saluran i12 = y12*(v1-v2);
10
I21 = -i12; i13 = y13*(v1-v3); i31 = -i13; i23 = y23*(v2-v3); i32 = -i23; % konjugat dari arus pada aluran : ik12 = conj(i12); ik21 = conj(i21); ik13 = conj(i13); ik31 = conj(i31); ik32 = conj(i32); % aliran daya dalam bentuk bilangan kompleks pada saluran : s12 = v1*ik12*100; s21 = v2*ik21*100; s13 = v1*ik13*100; s31 = v3*ik31*100; s32 = v3*ik32*100; % rugi-rugi daya dalam bentuk bilangan kompleks pada saluran : sl12 = s12+s21; sl13 = s13+s31; x = abs(v3-e3); e3 = v3; fprintf('%i', iter), disp([s32, sl12, sl13]);end disp('___________________________________');disp(' ');disp('===============');disp('! lanjutan 3 !');disp('===============');% DAsar 100 MVAepsilon = 0.00001;x = 1;% Data impedansi pada saluran :z12 = 0.02 + j*0.04;z13 = 0.01 + j*0.03;z23 = 0.0125 + j*0.025;% Admitansi pada saluran :y12 = 1/z12;y13 = 1/z13;y23 = 1/z23;% Beban dalam per unit :s2 = -(256.6 + j*110.2)/100;s3 = -(138.6 + j*45.2)/100;% Bus 1 sebagai slack bus dengan :v1 = 1.05 + j*0.0;vk1 = conj(v1);%estimasi tegangan awal untuk :v2 = 1.0 + j*0.0;e3 = 1.0 + j*0.0;iter = 0;disp('_________________________');disp('! ! ! ');disp('! ! !');disp('! iterasi ! !');disp('! ke : ! !');disp('! !-------------------!');
11
disp('! ! sl23 !');disp('_____________________________________________________');disp(' ');format short gwhile x>= epsilon iter = iter + 1; vk2 = conj(v2); ek3 = conj(e3); v2 = 1/(y12+y23)*((conj(s2)/vk2)+(y12*v1+y23*e3)); v3 = 1/(y13+y23)*((conj(s3)/ek3)+(y13*v1+y23*v2)); % arus pada saluran i23 = y23*(v2-v3); i32 = -i23; % konjugat dari arus pada aluran : ik23 = conj(i23); ik32 = conj(i32); % aliran daya dalam bentuk bilangan kompleks pada saluran : s23 = v2*ik23*100; s32 = v3*ik32*100; % rugi-rugi daya dalam bentuk bilangan kompleks pada saluran : sl12 = s12+s21; sl13 = s13+s31; x = abs(v3-e3); e3 = v3; fprintf('%i', iter), disp([s32, sl12, sl13]);end
Contoh Aplikasi 2
12
Single Line diagram dari sistem yang akan di hitung adalah sebagai berikut :
13
Data yang diperlukan untuk melakukan perhitungan dalam makalah ini adalah
berupa data : beban untuk tiap-tiap bus, data dari generator, data kapasitor shunt, data
tapping transformator, dan data resistansi, reaktansi serta kapasitansi dari line transmisi
dan transformator.
Untuk input yang dibutuhkan oleh program untuk melakukan perhitungan data
yang digunakan dibagi dalam dua bagian yaitu :
a. Busdata
Bus Bus Voltage Angle --Load-- ---Generator--- injected
No Code Mag. Degre MW Mvar MW Mvar Qmin Qmax Mvar 1 1 1.025 0.0 0.0 0.0 0.0 0.0 0 0 0 2 2 1.02 0.0 22.0 15.0 79.0 0.0 40 250 0 3 2 1.025 0.0 64.0 50.0 20.0 0.0 40 180 0 4 2 1.05 0.0 25.0 10.0 100 0.0 40 80 2 5 2 1.045 0.0 50.0 30.0 300 0.0 40 160 5 6 0 1.0 0.0 76.0 29.0 0.0 0.0 0 0 2 7 0 1.0 0.0 0.0 0.0 0.0 0.0 0 0 0 8 0 1.0 0.0 0.0 0.0 0.0 0.0 0 0 0 9 0 1.0 0.0 89.0 50.0 0.0 0.0 0 0 0 10 0 1.0 0.0 0.0 0.0 0.0 0.0 0 0 0 11 0 1.0 0.0 25.0 15.0 0.0 0.0 0 0 1.5 12 0 1 0 89.0 48.0 0 0 0 0 2 13 0 1 0 31.0 15.0 0 0 0 0 0 14 0 1 0 24.0 12.0 0 0 0 0 0 15 0 1 0 70.0 31.0 0 0 0 0 0.5 16 0 1 0 55.0 27.0 0 0 0 0 0 17 0 1 0 78.0 38.0 0 0 0 0 0 18 0 1 0 153.0 67.0 0 0 0 0 0 19 0 1 0 75.0 15.0 0 0 0 0 1 20 0 1 0 48.0 27.0 0 0 0 0 0 21 0 1.0 0 46.0 23.0 0 0 0 0 0 22 0 1.0 0 45.0 22.0 0 0 0 0 0 23 0 1.0 0 25.0 12.0 0 0 0 0 0 24 0 1.0 0 54.0 27.0 0 0 0 0 0 25 0 1.0 0 28.0 13.0 0 0 0 0 0 26 2 1.015 0 40.0 20.0 60.0 0 15 50 0
14
b. Linedata
Dari Ke R X C tap setting bus bus pu pu pu Transformator
1 2 0.0005 0.0048 0.0300 1 1 18 0.0013 0.0110 0.0600 1 2 3 0.0014 0.0513 0.050 0.960 2 7 0.0103 0.0586 0.0180 1 2 8 0.0074 0.0321 0.0390 1 2 13 0.0035 0.0967 0.025 0.960 2 26 0.0323 0.1967 0.0 1 3 13 0.0007 0.0054 0.0005 1.017 4 8 0.0008 0.0240 0.0001 1.050 4 12 0.0016 0.0207 0.0150 1.050 5 6 0.0069 0.0300 0.0990 1 6 7 0.0053 0.0306 0.0010 1 6 11 0.0097 0.0570 0.0001 1 6 18 0.0037 0.0222 0.0012 1 6 19 0.0035 0.0660 0.045 0.950 6 21 0.0050 0.0900 0.0226 1 7 8 0.0012 0.0069 0.0001 1 7 9 0.0009 0.0429 0.025 0.950 8 12 0.0020 0.0180 0.0200 1 9 10 0.0010 0.0493 0.0010 1 10 12 0.0024 0.0132 0.0100 1 10 19 0.0547 0.2360 0 1 10 20 0.0066 0.0160 0.0010 1 10 22 0.0069 0.0298 0.0050 1 11 25 0.0960 0.2700 0.0100 1 11 26 0.0165 0.0970 0.0040 1 12 14 0.0327 0.0802 0 1 12 15 0.0180 0.0598 0 1 13 14 0.0046 0.0271 0.0010 1 13 15 0.0116 0.0610 0 1 13 16 0.0179 0.0888 0.0010 1 14 16 0.0179 0.0888 0.0010 1 14 15 0.0069 0.0382 0 1 15 16 0.0209 0.0512 0 1 16 17 0.0990 0.0600 0 1 16 20 0.0239 0.0585 0 1 17 18 0.0032 0.0600 0.0380 1 17 21 0.2290 0.4450 0 1 19 23 0.0300 0.1310 0 1 19 24 0.0300 0.1250 0.0020 1 19 25 0.1190 0.2249 0.0040 1 20 21 0.0657 0.1570 0 1 20 22 0.0150 0.0366 0 1 21 24 0.0476 0.1510 0 1 22 23 0.0290 0.0990 0 1 22 24 0.0310 0.0880 0 1 23 25 0.0987 0.1168 0 1
15
7. Program Matlab
Program matlab yang digunakan untuk studi aliran daya metode gauss seidel ini dibagi
dalam lima file program yaitu :
a. program dengan nama data
program ini adalah input data bagi program yang lainnya, data dalam program ini
terbagi atas dua bagian yaitu :
busdata yang berisi data beban, data generator, data voltage magnitude dan data
capasitor shunt untuk tiap-tiap bus.
Linedata yang berisi data resistansi, reaktansi dan capasitansi untuk line transmisi
dan transformator serta tapping setting dari transformator.
b. Program dengan nama lfybus
program dalam file berguna untuk merubah impedansi menjadi admitansi dan
membentuk matrix admitansi bus. Program ini membutuhkan input data yang berada
dalam file linedata. Adapun listing dari program ini sebagai berikut :
j=sqrt(-1); i = sqrt(-1);nl = linedata(:,1); nr = linedata(:,2); R = linedata(:,3);X = linedata(:,4); Bc = j*linedata(:,5); a = linedata(:, 6);nbr=length(linedata(:,1)); nbus = max(max(nl), max(nr));Z = R + j*X; y= ones(nbr,1)./Z; %branch admittancefor n = 1:nbrif a(n) <= 0 a(n) = 1; else endYbus=zeros(nbus,nbus); % initialize Ybus to zero % formation of the off diagonal elementsfor k=1:nbr; Ybus(nl(k),nr(k))=Ybus(nl(k),nr(k))-y(k)/a(k) Ybus(nr(k),nl(k))=Ybus(nl(k),nr(k)) endend % formation of the diagonal elementsfor n=1:nbus for k=1:nbr if nl(k)==n
16
Ybus(n,n) = Ybus(n,n)+y(k)/(a(k)^2) + Bc(k) elseif nr(k)==n Ybus(n,n) = Ybus(n,n)+y(k) +Bc(k) else, end endendclear Pgg
c. Program dengan nama lfgauss
Program ini untuk perhitungan studi aliran daya metode gauss seidel dan
membutuhkan input data dari file busdata dan linedata. Program ini di desain untuk
digunakan langsung dengan data beban dan generator dalam MW dan Mvar
sedangkan tegangan ditiap bus dalam satuan per unit. Data beban dan data generator
yang dalam MW dan Mvar dirubah oleh program ini dalam satuan per unit
berdasarkan dasar (MVA) daya yang dipilih. Adapun listing dari program ini adalah
sebagai berikut :
Vm=0; delta=0; yload=0; deltad =0;nbus = length(busdata(:,1));for k=1:nbus
n=busdata(k,1);kb(n)=busdata(k,2); Vm(n)=busdata(k,3); delta(n)=busdata(k, 4);Pd(n)=busdata(k,5); Qd(n)=busdata(k,6); Pg(n)=busdata(k,7); Qg(n) = busdata(k,8);Qmin(n)=busdata(k, 9); Qmax(n)=busdata(k, 10);Qsh(n)=busdata(k, 11);
if Vm(n) <= 0 Vm(n) = 1.0; V(n) = 1 + j*0; else delta(n) = pi/180*delta(n); V(n) = Vm(n)*(cos(delta(n)) + j*sin(delta(n))); P(n)=(Pg(n)-Pd(n))/basemva; Q(n)=(Qg(n)-Qd(n)+ Qsh(n))/basemva;
17
S(n) = P(n) + j*Q(n); end
DV(n)=0;endnum = 0; AcurBus = 0; converge = 1;Vc = zeros(nbus,1)+j*zeros(nbus,1); Sc = zeros(nbus,1)+j*zeros(nbus,1);while exist('accel')~=1 accel = 1.3;endwhile exist('accuracy')~=1 accuracy = 0.001;endwhile exist('basemva')~=1 basemva= 100;endwhile exist('maxiter')~=1 maxiter = 100;enditer=0;maxerror=10;while maxerror >= accuracy & iter <= maxiteriter=iter+1;for n = 1:nbus;
YV = 0+j*0;for L = 1:nbr;
if nl(L) == n, k=nr(L); YV = YV + Ybus(n,k)*V(k); elseif nr(L) == n, k=nl(L); YV = YV + Ybus(n,k)*V(k); end end Sc = conj(V(n))*(Ybus(n,n)*V(n) + YV) ; Sc = conj(Sc); DP(n) = P(n) - real(Sc); DQ(n) = Q(n) - imag(Sc); if kb(n) == 1 S(n) =Sc;
P(n) = real(Sc); Q(n) = imag(Sc); DP(n) =0; DQ(n)=0;
Vc(n) = V(n); elseif kb(n) == 2 Q(n) = imag(Sc);
S(n) = P(n) + j*Q(n);
if Qmax(n) ~= 0 Qgc = Q(n)*basemva + Qd(n) - Qsh(n); if abs(DQ(n)) <= .005 & iter >= 10 % After 10 iterations if DV(n) <= 0.045 % the Mvar of generator buses are if Qgc < Qmin(n), % tested. If not within limits Vm(n) Vm(n) = Vm(n) + 0.005; % is changed in steps of 0.005 pu DV(n) = DV(n)+.005; % up to .05 pu in order to bring elseif Qgc > Qmax(n), % the generator Mvar within the Vm(n) = Vm(n) - 0.005; % specified limits. DV(n)=DV(n)+.005; end else, end else,end else,end end
18
if kb(n) ~= 1 Vc(n) = (conj(S(n))/conj(V(n)) - YV )/ Ybus(n,n); else, end if kb(n) == 0 V(n) = V(n) + accel*(Vc(n)-V(n)); elseif kb(n) == 2 VcI = imag(Vc(n)); VcR = sqrt(Vm(n)^2 - VcI^2); Vc(n) = VcR + j*VcI; V(n) = V(n) + accel*(Vc(n) -V(n)); end end maxerror=max( max(abs(real(DP))), max(abs(imag(DQ))) ); if iter == maxiter & maxerror > accuracy fprintf('\nWARNING: Iterative solution did not converged after ') fprintf('%g', iter), fprintf(' iterations.\n\n') fprintf('Press Enter to terminate the iterations and print the results \n') converge = 0; pause, else, end endif converge ~= 1 tech= (' ITERATIVE SOLUTION DID NOT CONVERGE'); else, tech=(' Power Flow Solution by Gauss-Seidel Method');end k=0;for n = 1:nbus Vm(n) = abs(V(n)); deltad(n) = angle(V(n))*180/pi; if kb(n) == 1 S(n)=P(n)+j*Q(n); Pg(n) = P(n)*basemva + Pd(n); Qg(n) = Q(n)*basemva + Qd(n) - Qsh(n); k=k+1; Pgg(k)=Pg(n); elseif kb(n) ==2 k=k+1; Pgg(k)=Pg(n); S(n)=P(n)+j*Q(n); Qg(n) = Q(n)*basemva + Qd(n) - Qsh(n); endyload(n) = (Pd(n)- j*Qd(n)+j*Qsh(n))/(basemva*Vm(n)^2);endPgt = sum(Pg); Qgt = sum(Qg); Pdt = sum(Pd); Qdt = sum(Qd); Qsht = sum(Qsh);busdata(:,3)=Vm'; busdata(:,4)=deltad';clear AcurBus DP DQ DV L Sc Vc VcI VcR YV converge delta
d. Program dengan nama busout
Program ini menghasilkan output dalam bentuk tabel. Output yang dihasilkan
adalah besar tegangan dan sudutnya, daya aktif dan daya reaktif untuk beban dan
generator, dan capasitor shunt yang terpasang. Program ini juga menampilkan total
daya dari generator dan total beban. Adapun listing dari program ini adalah :
19
%clcdisp(tech)fprintf(' Maximum Power Mismatch = %g \n', maxerror)fprintf(' No. of Iterations = %g \n\n', iter)head =[' Bus Voltage Angle ------Load------ ---Generation--- Injected' ' No. Mag. Degree MW Mvar MW Mvar Mvar ' ' '];disp(head)for n=1:nbus fprintf(' %5g', n), fprintf(' %7.3f', Vm(n)), fprintf(' %8.3f', deltad(n)), fprintf(' %9.3f', Pd(n)), fprintf(' %9.3f', Qd(n)), fprintf(' %9.3f', Pg(n)), fprintf(' %9.3f ', Qg(n)), fprintf(' %8.3f\n', Qsh(n))end fprintf(' \n'), fprintf(' Total ') fprintf(' %9.3f', Pdt), fprintf(' %9.3f', Qdt), fprintf(' %9.3f', Pgt), fprintf(' %9.3f', Qgt), fprintf(' %9.3f\n\n', Qsht)
e. Program dengan nama lineflow
Program ini mempersiapkan line output data. Program ini di desain untuk
menampilkan daya aktif dan daya reaktif yang mengalir masuk pada tiap-tiap bus,
juga menampilkan rugi daya pada jaringan transmisi antar bus. Program ini juga
menampilkan total daya aktif dan daya reaktif serta total rugi daya dari sistem.
Adapun listing dari program ini adalah :
SLT = 0;fprintf('\n')fprintf(' Line Flow and Losses \n\n')fprintf(' --Line-- Power at bus & line flow --Line loss-- Transformer\n')fprintf(' from to MW Mvar MVA MW Mvar tap\n')
for n = 1:nbusbusprt = 0; for L = 1:nbr; if busprt == 0 fprintf(' \n'), fprintf('%6g', n), fprintf(' %9.3f', P(n)*basemva) fprintf('%9.3f', Q(n)*basemva), fprintf('%9.3f\n', abs(S(n)*basemva))
busprt = 1; else, end if nl(L)==n k = nr(L); In = (V(n) - a(L)*V(k))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(n); Ik = (V(k) - V(n)/a(L))*y(L) + Bc(L)*V(k); Snk = V(n)*conj(In)*basemva; Skn = V(k)*conj(Ik)*basemva; SL = Snk + Skn; SLT = SLT + SL;
20
elseif nr(L)==n k = nl(L); In = (V(n) - V(k)/a(L))*y(L) + Bc(L)*V(n); Ik = (V(k) - a(L)*V(n))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(k); Snk = V(n)*conj(In)*basemva; Skn = V(k)*conj(Ik)*basemva; SL = Snk + Skn; SLT = SLT + SL; else, end if nl(L)==n | nr(L)==n fprintf('%12g', k), fprintf('%9.3f', real(Snk)), fprintf('%9.3f', imag(Snk)) fprintf('%9.3f', abs(Snk)), fprintf('%9.3f', real(SL)), if nl(L) ==n & a(L) ~= 1 fprintf('%9.3f', imag(SL)), fprintf('%9.3f\n', a(L)) else, fprintf('%9.3f\n', imag(SL)) end else, end endendSLT = SLT/2;fprintf(' \n'), fprintf(' Total loss ')fprintf('%9.3f', real(SLT)), fprintf('%9.3f\n', imag(SLT))clear Ik In SL SLT Skn Snk
21
8. Hasil Program
Dari data yang diinput pada program menghasilkan keluaran sebagai berikut :
Power Flow Solution by Gauss-Seidel Method
Maximum Power Mismatch = 0.000641833
No. of Iterations = 70
Bus Voltage Angle ------Load------ ---Generation--- Injected
No. Mag. Degree MW Mvar MW Mvar Mvar
1 1.025 0.000 0.000 0.000 668.364 193.229 0.000
2 1.020 -0.928 22.000 15.000 79.000 139.223 0.000
3 1.030 -4.213 64.000 50.000 20.000 42.719 0.000
4 1.050 -3.569 25.000 10.000 100.000 55.733 2.000
5 1.045 1.184 50.000 30.000 300.000 125.403 5.000
6 0.999 -2.516 76.000 29.000 0.000 0.000 2.000
7 0.993 -3.179 0.000 0.000 0.000 0.000 0.000
8 0.996 -3.280 0.000 0.000 0.000 0.000 0.000
9 1.007 -5.366 89.000 50.000 0.000 0.000 0.000
10 0.988 -5.527 0.000 0.000 0.000 0.000 0.000
11 0.997 -3.172 25.000 15.000 0.000 0.000 1.500
12 0.992 -4.680 89.000 48.000 0.000 0.000 2.000
13 1.009 -4.433 31.000 15.000 0.000 0.000 0.000
14 0.995 -5.121 24.000 12.000 0.000 0.000 0.000
15 0.989 -5.521 70.000 31.000 0.000 0.000 0.500
16 0.983 -5.737 55.000 27.000 0.000 0.000 0.000
17 0.987 -4.884 78.000 38.000 0.000 0.000 0.000
18 1.008 -1.787 153.000 67.000 0.000 0.000 0.000
19 1.002 -6.339 75.000 15.000 0.000 0.000 1.000
20 0.980 -5.971 48.000 27.000 0.000 0.000 0.000
22
Bus Voltage Angle ------Load------ ---Generation--- Injected
No. Mag. Degree MW Mvar MW Mvar Mvar
21 0.977 -5.722 46.000 23.000 0.000 0.000 0.000
22 0.977 -6.393 45.000 22.000 0.000 0.000 0.000
23 0.975 -7.039 25.000 12.000 0.000 0.000 0.000
24 0.967 -7.297 54.000 27.000 0.000 0.000 0.000
25 0.973 -6.726 28.000 13.000 0.000 0.000 0.000
26 1.015 -1.773 40.000 20.000 60.000 32.987 0.000
Total 1212.000 596.000 1227.364 589.293 14.000
Line Flow and Losses
--Line-- Power at bus & line flow --Line loss-- Transformer
from to MW Mvar MVA MW Mvar tap
1 668.364 193.229 695.736
2 360.097 68.963 366.641 0.642 -0.111
18 308.263 124.270 332.369 1.387 -0.661
2 57.000 124.223 136.676
1 -359.455 -69.074 366.031 0.642 -0.111
3 124.100 61.785 138.629 0.247 -1.884 0.960
7 74.037 32.957 81.041 0.663 0.122
8 140.408 41.291 146.354 1.548 -1.212
13 69.898 55.248 89.096 0.256 1.705 0.960
26 7.985 1.339 8.097 0.020 0.124
3 -44.000 -7.281 44.598
2 -123.852 -63.669 139.259 0.247 -1.884
13 79.880 56.304 97.729 0.065 0.401 1.017
23
--Line-- Power at bus & line flow --Line loss-- Transformer
from to MW Mvar MVA MW Mvar tap
4 75.000 47.733 88.901
8 -20.445 15.801 25.839 0.005 0.140 1.050
12 95.434 32.137 100.699 0.164 -0.856 1.050
5 250.000 100.403 269.408
6 250.032 100.388 269.432 4.731 -0.113
6 -76.000 -27.000 80.654
5 -245.300 -100.501 265.090 4.731 -0.113
7 39.411 10.810 40.867 0.089 0.315
11 19.997 -0.029 19.997 0.039 0.209
18 -62.496 -29.460 69.091 0.177 0.820
19 110.462 71.378 131.517 0.571 1.280 0.950
21 61.875 20.338 65.132 0.218 -0.494
7 0.000 0.000 0.000
2 -73.374 -32.835 80.386 0.663 0.122
6 -39.323 -10.496 40.699 0.089 0.315
8 17.049 -47.594 50.556 0.031 0.159
9 95.633 90.585 131.724 0.147 1.737 0.950
8 0.000 0.000 0.000
2 -138.860 -42.504 145.219 1.548 -1.212
4 20.450 -15.661 25.758 0.005 0.140
7 -17.017 47.753 50.695 0.031 0.159
12 135.487 10.533 135.896 0.373 -0.596
9 -89.000 -50.000 102.083
7 -95.486 -88.848 130.428 0.147 1.737
10 6.469 38.836 39.371 0.015 0.558
24
--Line-- Power at bus & line flow --Line loss-- Transformer
from to MW Mvar MVA MW Mvar tap
10 0.000 0.000 0.000
9 -6.454 -38.277 38.818 0.015 0.558
12 -110.908 -7.217 111.143 0.303 -0.291
19 4.386 -6.737 8.039 0.036 0.156
20 58.222 27.399 64.346 0.280 0.486
22 54.784 24.845 60.154 0.257 0.147
11 -25.000 -13.500 28.412
6 -19.958 0.238 19.960 0.039 0.209
25 22.756 0.376 22.759 0.502 -0.528
26 -27.790 -14.080 31.154 0.159 0.127
12 -89.000 -46.000 100.185
4 -95.270 -32.993 100.821 0.164 -0.856
8 -135.114 -11.129 135.571 0.373 -0.596
10 111.211 6.926 111.427 0.303 -0.291
14 6.623 -6.987 9.627 0.031 0.076
15 23.494 -1.957 23.576 0.102 0.338
13 -31.000 -15.000 34.438
2 -69.642 -53.543 87.846 0.256 1.705
3 -79.815 -55.903 97.445 0.065 0.401
14 51.930 43.645 67.835 0.208 1.026
15 36.278 27.339 45.426 0.235 1.236
16 30.202 23.470 38.249 0.258 1.081
14 -24.000 -12.000 26.833
12 -6.592 7.062 9.661 0.031 0.076
13 -51.722 -42.619 67.019 0.208 1.026
16 13.974 10.372 17.403 0.055 0.078
15 20.401 13.243 24.323 0.041 0.228
25
--Line-- Power at bus & line flow --Line loss-- Transformer
from to MW Mvar MVA MW Mvar tap
15 -70.000 -30.500 76.356
12 -23.392 2.295 23.505 0.102 0.338
13 -36.043 -26.104 44.503 0.235 1.236
14 -20.360 -13.015 24.164 0.041 0.228
16 9.745 6.321 11.615 0.029 0.071
16 -55.000 -27.000 61.270
13 -29.944 -22.389 37.388 0.258 1.081
14 -13.919 -10.294 17.312 0.055 0.078
15 -9.716 -6.250 11.553 0.029 0.071
17 -9.275 8.992 12.918 0.171 0.104
20 7.902 2.912 8.421 0.018 0.043
17 -78.000 -38.000 86.764
16 9.445 -8.888 12.970 0.171 0.104
18 -90.947 -29.699 95.673 0.294 -2.056
21 3.476 0.594 3.526 0.029 0.057
18 -153.000 -67.000 167.027
1 -306.877 -124.930 331.332 1.387 -0.661
6 62.673 30.279 69.604 0.177 0.820
17 91.241 27.643 95.337 0.294 -2.056
19 -75.000 -14.000 76.295
6 -109.891 -70.098 130.344 0.571 1.280
10 -4.349 6.893 8.151 0.036 0.156
23 13.091 17.430 21.798 0.142 0.620
24 18.591 23.284 29.796 0.268 0.730
25 7.591 8.420 11.337 0.161 -0.477
26
--Line-- Power at bus & line flow --Line loss-- Transformer
from to MW Mvar MVA MW Mvar tap
20 -48.000 -27.000 55.073
10 -57.942 -26.913 63.887 0.280 0.486
16 -7.884 -2.869 8.390 0.018 0.043
21 -1.579 2.556 3.004 0.006 0.015
22 19.354 0.284 19.356 0.059 0.143
21 -46.000 -23.000 51.430
6 -61.657 -20.832 65.082 0.218 -0.494
17 -3.447 -0.537 3.488 0.029 0.057
20 1.585 -2.541 2.995 0.006 0.015
24 17.494 0.950 17.520 0.153 0.486
22 -45.000 -22.000 50.090
10 -54.526 -24.699 59.859 0.257 0.147
20 -19.295 -0.141 19.296 0.059 0.143
23 10.411 -1.489 10.517 0.034 0.115
24 18.461 4.302 18.956 0.117 0.331
23 -25.000 -12.000 27.731
19 -12.949 -16.810 21.219 0.142 0.620
22 -10.377 1.604 10.501 0.034 0.115
25 -1.691 3.244 3.658 0.014 0.016
24 -54.000 -27.000 60.374
19 -18.323 -22.555 29.059 0.268 0.730
21 -17.341 -0.464 17.347 0.153 0.486
22 -18.344 -3.971 18.769 0.117 0.331
25 -28.000 -13.000 30.871
11 -22.254 -0.904 22.272 0.502 -0.528
19 -7.431 -8.896 11.592 0.161 -0.477
23 1.705 -3.227 3.650 0.014 0.016
27
--Line-- Power at bus & line flow --Line loss-- Transformer
from to MW Mvar MVA MW Mvar tap
26 20.000 12.987 23.846
2 -7.965 -1.215 8.057 0.020 0.124
11 27.950 14.207 31.353 0.159 0.127
Total loss 15.351 5.999
9. Analisa Hasil Program
Dari hasil program memperlihatkan bahwa konvergensi tercapai setelah iterasi
yang ke tujuh puluh. Sedangkan total beban dari sistem yang berupa daya aktif adalah
1212 MW dan total beban yang berupa daya reaktif adalah 596 Mvar. Total daya aktif
yang di suplay generator adalah 1227,364 MW dan total daya reaktif yang di suplay
generator adalah 589,293 Mvar, sedangkan total injeksi dari kapasitor shunt adalah 14
Mvar.
Output dari program ini juga memperlihatkan daya yang mengalir ditiap-tiap
bus, serta rugi-rugi jaringan antar bus. Rugi-rugi karena jaringan yang terbesar terjadi
antara bus 5 dan bus 6 sebesar 4,371 MW dan 0,113 Mvar. Sedangkan total rugi-rugi dari
jaringan adalah 15,351 MW dan 5,999 Mvar.
28