• No results found

Spridning av övertoner uppåt i spänningsnivåerna

Figur 46: Övertonsnivå i Dalhem

I figur 46 syns det en kraftig ökning av övertonerna mellan klockan 8 och 9. Vad denna ökning beror på är inte känt, men någon form av olinjär last bör det vara. De högsta mätvärdena mäts upp i Dalhem och slutsatsen är att lasten befinner sig nedanför mätpunkten i Dalhem. Övertonerna ökar från 1% till 2,5% samma storleksordning på ökningen går att se i de andra mätningarna.

Figur 47: Övertonsnivå i Sköldinge

Under samma tid går ökningen av övertonerna att se på högre spänningsnivå-er ända uppe i Sköldinge där transformation av spänningen skspänningsnivå-er från 130/40 kV. Ökningen i Sköldinge syns i figur 47, där det framgår att övertonerna ökar från 0,38% till 0,8%. Dessutom har kurvorna samma form och sammanfaller som sagt i tidpunkt. Slutsatsen för just dessa mätningar är att en ökning av spänningsövertoner som sker långt ner i nätet, på låga spänningsnivåer, kan observeras på högre spänningsnivåer högre upp i nätet.

14 Sammanfattning

Elkraftsbranschen sägs vara en mycket konservativ bransch som inte gärna ändrar på inarbetade tankesätt. Med den bakgrunden förstår jag att den inarbetade praxisen med timmedeleffekter inte kommer att bytas mot en praxis med momentana effekter, inom en snar framtid. Dock är det min förhoppning att så blir fallet, inte enbart på grund av timmedeleffekternas oförmåga att påvisa elkvalitetsproblem, utan att en riktig effektmätning även ger andra fördelar så som kompensering av reaktiva effektuttag.

Den andra stora frågan som berörts är hur sammankopplingen mellan oli-ka nätägare soli-ka se ut elkvalitetsmässigt. Först och främst har jag tagit upp planeringsnivåerna mellan SvK och Vattenfall som enligt min rekommenda-tion tillsammans bör diskutera igenom vad som är rimliga nivåer. Om det är möjligt bör även andra nätägare vara med i diskussionerna.

Sedan bör det rutinmässigt utföras och tilldelas individuella störutrymmen till åtminstone nya kunder, precis så som sker i dagsläget när vindkraft an-sluts till nätet.

Avslutningsvis vill jag trycka på att Vattenfalls styrdokument för elkvalitet[1] är mycket omfattande och ger en bra täckning över tänkbara elkvalitetspro-blem. Mina förslag till ändringar av dokumentet är justeringar med avsikten att få dokumentet enklare och lättare att använda.

Referenser

[1] Vattenfall Eldistribution AB. Anläggningsdimensioneringskrav för att uppfylla rimlig elkvalitet inom vattenfall eldistribution ab, 2007.

[2] Peter Axelberg. On tracing flicker sources and classification of voltage disturbances. Technical Report ISBN 978-91-7291-936-5, Department of Signals and Systems, Chalmers University of Technology, 2007.

[3] Math Bollen. Elkvalitet med symmetriska komponenter. Technical re-port, Chalmers tekniska högskolan, Institutionen för elteknik, 2001. [4] IEC International Electrotechnical Commission. Electromagnetic

com-patibility (emc) - part 3-7 - assessment of emission limits for the con-nection of fluctating installations to mv, hv and ehv power systems. Technical Report IEC/TR 61000-3-7, IEC, 2008.

[5] ELFORSK. Utveckling elkvalitet - slutrapport. Technical Report 04:46, Elforsk, 2004.

[6] Reidar Gustavsson. Praktisk Elkvalitet. NORBO KraftTeknik AB, 2003. [7] Irene Gu Math Bollen. Signal Processing of Power Quality Disturbances.

John Wiley & Sons, Inc, 2006.

[8] STRI AB P. Hessling. Propagation and summation of flicker. Technical Report Fel måste ändrasSS-EN 61000-4-15, STRI, Fel måste ändras-1998-09-25.

[9] Gunnar Petersson. Teoretisk Elektoteknik Elektromagnetism. KTH, Av-delningen för Teoretisk Elektroteknik, 2002.

[10] Riksrevisionen. Kvalitén i elöverföringen - finns förutsättningar för en effektiv tillsyn, 2006.

[11] Sarah Rönnberg. Flimmer. Technical Report Examensarbete, Luleå tekniska universitet, Elektronik LTU Skellefteå, 2006.

[12] Glover Sarma. Power system analysis & design. PWS Publishing Com-pany, 1994.

[13] Frans J. Sollerkvist. En metod för tilldelning av tillåtna elkvalitetsgrän-ser. Technical Report Rapport S98-170, STRI, 1998.

[14] Håkan Stoltz. Kraftförsörjning av ljusbågsugnar. Technical Report GEE 005/97, Vattenfall, 1997.

[15] SEK Svensk Elstandard. Spänningens egenskaper i elnät för allmän distribution, SS-EN 50160, 2008.

[16] SEK Svenska Elektriska Kommissionen. Elektromagnetisk kompatibili-tet (emc) - del 4: Mät- och provningsmetoder - flickermeter - konstruk-tion och utförande, 1998-09-25.

[17] SEK Svenska Elektriska Kommissionen. Elektromagnetisk kompatibili-tet (emc) - del 2-2: Miljöförhållanden - kompatibilikompatibili-tetsnivåer för lågfre-kventa ledningsbundna störningar och signalnivåer på elnät, 2003. [18] SEK Svenska Elektriska Kommissionen. Anslutning av

lågspänningsin-stallationer till elnätet, 2006-05-29.

[19] SvK Svenska Kraftnät. Tr6-01 tekniska riktlinjer för elkvalitet, 2006. [20] SvK Svenska Kraftnät. Tr6-02 tekniska riktlinjer för elkvalitet, 2006. [21] J.A. Wolse W.T.J Hulshorst, E.L.M. Smeets. Benchmarking on pq desk

survey: What pq levels do different types of customers need? Technical Report 30620162 - Consulting 07-0682, KEMA Consulting, 2007.

A Matlabkod för flimmer och

transmissionsbe-räkning

function varargout = pqcalc(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @pqcalc_OpeningFcn, ...

'gui_OutputFcn', @pqcalc_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:}); end

function pqcalc_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject; guidata(hObject, handles);

function varargout = pqcalc_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function svarsruta_Callback(hObject, eventdata, handles)

function svarsruta_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function knapp1_Callback(hObject, eventdata, handles)

Zl = str2double(get(handles.Z_l,'String'));

Zl0 = str2double(get(handles.Z_l0,'String'));

%dU = str2double(get(handles.dU,'String'));

f_50 = str2double(get(handles.f_50,'String'));

f_flim = str2double(get(handles.f_flim,'String'));

t = eval(get(handles.tid,'String'));

% Beräkningar

Ua = U_eff*exp(0);

Ub = U_eff*exp(-i*2*pi/3);

Uc = U_eff*exp(i*2*pi/3);

S_1 = str2double(get(handles.S_1,'String'));

S_2 = str2double(get(handles.S_2,'String'));

S_3 = str2double(get(handles.S_3,'String'));

Za = Ua*Ua'/S_1'; Zb = Ub*Ub'/S_2'; Zc = Uc*Uc'/S_3';

AA = (1/Zl0 + 1/(Zl+Za) + 1/(Zl+Zb) + 1/(Zl+Zc)); BB = Ua/(Zl+Za) + Ub/(Zl+Zb) + Uc/(Zl+Zc);

U0_prim = BB/AA; %U0 = abs(U0_prim)*exp(i*angle(U0_prim)) Ia = (Ua-U0_prim)/(Zl+Za); Ib = (Ub-U0_prim)/(Zl+Zb); Ic = (Uc-U0_prim)/(Zl+Zc); I0 = Ia+Ib+Ic;

Ia_abs = num2str(abs(Ia));

Ib_abs = num2str(abs(Ib));

Ic_abs = num2str(abs(Ic));

I0_abs = num2str(abs(I0));

Ia_arg = num2str(angle(Ia)*180/pi);

Ib_arg = num2str(angle(Ib)*180/pi);

Ic_arg = num2str(angle(Ic)*180/pi);

I0_arg = num2str(angle(I0)*180/pi);

I = [Ia Ib Ic I0];

Ua_prim = Ia*Za - U0_prim; Ub_prim = Ib*Zb - U0_prim; Uc_prim = Ic*Zc - U0_prim;

U0_prim = Ua_prim+Ub_prim+Uc_prim; U = [Ua_prim Ub_prim Uc_prim U0_prim];

Uaprim_abs = num2str(abs(Ua_prim));

Ubprim_abs = num2str(abs(Ub_prim));

Ucprim_abs = num2str(abs(Uc_prim));

Uaprim_arg = num2str(angle(Ua_prim)*180/pi);

Ubprim_arg = num2str(angle(Ub_prim)*180/pi);

Ucprim_arg = num2str(angle(Uc_prim)*180/pi);

U0prim_arg = num2str(angle(U0_prim)*180/pi);

dU_a_prim = abs(1-(Ua_prim/Ua));

dU_b_prim = abs(1-(Ub_prim/Ub));

dU_c_prim = abs(1-(Uc_prim/Uc));

dU_tot = [dU_a_prim dU_b_prim dU_c_prim];

dU = max(dU_tot)

dU_1 = num2str(dU*100);

set(handles.dU_max,'string',dU_1);

% Plottar flimmer fs = 2000;

t_plot = 0:(1/fs):0.5;

x1 = U_eff*sqrt(2)* sin(2*pi*f_50*t).*(1+dU*1/2* sign(sin(2*pi*f_flim*t)));

x2 = U_eff*sqrt(2)* sin(2*pi*f_50*t_plot).*(1+dU*1/2*sin(2*pi*f_flim*t_plot));

P_st = flimmer(x1, fs, f_50);

set(handles.Pst,'string',P_st);

axes(handles.tidplott)

plot(t_plot,x2)

set(handles.tidplott,'XMinorTick','on')

grid on

celldata = [' Ia= ' Ia_abs 'A ' Ia_arg ' grader, '...

' Ib= ' Ib_abs 'A ' Ib_arg ' grader, '...

' Ic= ' Ic_abs 'A ' Ic_arg ' grader, '...

' I0= ' I0_abs 'A ' I0_arg ' grader '...

];

%StringData = char(celldata);

set(handles.svarsruta,'string',celldata);

celldata2 = [' Ua_prim= ' Uaprim_abs 'V ' Uaprim_arg ' grader,

'...

' Ub_prim= ' Ubprim_abs 'V ' Ubprim_arg ' grader, '...

' Uc_prim= ' Ucprim_abs 'V ' Ucprim_arg ' grader, '...

' U0_prim= ' U0prim_abs 'V ' U0prim_arg ' grader '...

];

%StringData = char(celldata);

set(handles.svarsruta2,'string',celldata2);

losses = Zl*(Ia*conj(Ia) + Ib*conj(Ib) + Ic*conj(Ic)) + Zl0*(abs(Ia+Ib+Ic))^2;

celldata3 = [' Transmissionsförlust, F = ' Forlust ' VA' ];

set(handles.svarsruta3,'string',celldata3);

% Visardiagram ström

axes(handles.visardiagram)

compass(I)

set(handles.visardiagram,'XMinorTick','on')

% Visardiagram spänning

axes(handles.visardiagram_volt)

compass(U)

set(handles.visardiagram,'XMinorTick','on')

function U_eff_Callback(hObject, eventdata, handles)

function U_eff_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function dU_Callback(hObject, eventdata, handles)

function dU_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function f_50_Callback(hObject, eventdata, handles)

function f_50_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function f_flim_Callback(hObject, eventdata, handles)

function f_flim_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function tid_Callback(hObject, eventdata, handles)

function tid_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function S_1_Callback(hObject, eventdata, handles)

function S_1_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

function S_2_Callback(hObject, eventdata, handles)

function S_2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function S_3_Callback(hObject, eventdata, handles)

function S_3_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function Z_l_Callback(hObject, eventdata, handles)

function Z_l_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function Z_l0_Callback(hObject, eventdata, handles)

function Z_l0_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function Pst_Callback(hObject, eventdata, handles)

function Pst_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function svarsruta2_Callback(hObject, eventdata, handles)

function svarsruta2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function dU_max_Callback(hObject, eventdata, handles)

function dU_max_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

end

function svarsruta3_Callback(hObject, eventdata, handles)

function svarsruta3_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,''))

set(hObject,'BackgroundColor','white');

Related documents