Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

11
voti

Corrente magnetizzante del trasformatore. Con Scilab.

Indice

La corrente a vuoto

La relazione tra tensione e corrente magnetizzante di un trasformatore, che coincide con la corrente a vuoto (se si trascura la componente che dà luogo alle perdite per effetto joule nel rame dell'avvolgimento, e per correnti parassite e per isteresi magnetica nel ferro del nucleo), è determinata dalla caratteristica di magnetizzazione, che non è lineare. All'aumentare dell'induzione magnetica B (T), la variazione di campo magnetico H (A/m) per produrre la stessa variazione di induzione, aumenta sensibilmente. La tensione è legata al flusso magnetico dalla legge di Faraday-Lenz, quindi all'induzione magnetica, mentre la corrente alla forza magnetomotrice, quindi al campo magnetico. Identiche variazioni di tensione richiedono perciò variazioni di corrente tanto maggiori, quanto maggiore è la tensione. La conseguenza è che se la tensione ha andamento sinusoidale, non può averlo la corrente. Viceversa se è la corrente ad essere sinusoidale, non lo può essere la tensione.

Modello esponenziale del materiale

In genere i valori B, H della curva di magnetizzazione sono tabulati e rappresentati graficamente. Si possono cercare funzioni interpolanti con l'aiuto di programmi come CurveExpert (come è fatto in aggiunte).

Una curva matematica che può rispecchiarne l'andamento può essere l'esponenziale. Si può ovviamente suddividere la curva in vari segmenti di retta. Assumiamo dunque come caratteristica di magnetizzazione B-H quella rappresentata dal seguente grafico

Caratteristica di magnetizzazione del materiale

Caratteristica di magnetizzazione del materiale

E' una curva esponenziale del tipo

B = B_{\max }  \cdot \left( {1 - e^{ - \frac{H}{b}} } \right)

dove si è assunto

B_{max}= 1,8 \, {\rm{T}}

b=1500 \, {\rm{A}}/{\rm{m}}

Ecco lo script Scilab usato per tracciarla

//CARATTERISTICA DI MAGNETIZZAZIONE 
//acciaio M36 approssimata con curva esponenziale

clear;
Bmax=1.8;
b=1500;
Hmax=8500;
dH=100;
x=[0:dH:Hmax];

N=size(x,'*');

B=Bmax*(1-%e^(-x/b))';

//caratteristica di magnetizzazione 
xset("window",1);
plot2d(x,B)
f1=gcf();
f1.figure_size = [500,400]
f1.axes_size = [500,400]
f1.figure_name = "Caratteristica di magnetizzazione" 
a1=gca();
a1.x_label.text="H: Campo magnetico [A/m]";
a1.y_label.text="B: Induzione magnetica [T]";
a1.x_label.font_size=3;
a1.y_label.font_size=3;
a1.grid=[0,0];
a1.font_size=3;
xgrid();
e1=gce();
e1.children.thickness=2;

Nota: Nello script in "Aggiunte" il parametro Bmax può essere modificato.

Corrente magnetizzante con tensione sinusoidale

Ora ammettiamo che l'induzione nel materiale vari con legge sinusoidale. Tale sarà anche il flusso, quindi la tensione, che, per la legge di Faraday-Lenz è proporzionale alla sua derivata.

Per ogni valore istantaneo di induzione, dalla caratteristica di magnetizzazione si ricava il campo magnetico corrispondente, proporzionale alla forza magnetomotrice, cioè alla corrente magnetizzante, di cui, in tal modo, ricaviamo l'andamento, invertendo la formula precedente

H =  - b \cdot \ln \left( {1 - \frac{B}{{B_{\max } }}} \right)

'Note

  • Il valore massimo di lavoro è fissato leggermente inferiore a quello massimo possibile, che è il valore di saturazione, del modello esponenziale adottato. B_{max,L}=B_{max}-0,01 = 1,79 \, {\rm{T}}
  • Nello script finale in "Aggiunte" è un parametro modificabile.


Nel grafico che segue sono tracciati gli andamenti di induzione, tensione e corrente magnetizzante. I valori sono normalizzati, riferendoli ai rispettivi valori massimi: Bmax,L per l'induzione; il valore corrispondente Hmax,L per il campo; il prodotto \omega \cdot B_{ma,xL} per la tensione, con ω = 2πf, pulsazione.

Corrente magnetizzante con tensione sinusoidale

Corrente magnetizzante con tensione sinusoidale

Tensione con corrente magnetizzante sinusoidale

Imponendo invece che sia la corrente magnetizzante sinusoidale, quindi la forza magnetomotrice ed il campo magnetico H, si ricavano dalla caratteristica i valori di induzione istantanei corrispondenti. La derivata dell'induzione è proporzionale alla tensione.

Nel grafico che segue sono tracciati gli andamenti, sempre normalizzati.

Si noti il picco di tensione dovuto al brusco cambiamento dell'induzione.

Tensione ed induzione con corrente magnetizzante sinusoidale

Tensione ed induzione con corrente magnetizzante sinusoidale

Lo scrip Scilab è il seguente:

//Grafici
//corrente magnetizzante con tensione sinusoidale
//induzione e tensione con corrente magnetizzante sinusoidali

clear();
f_fond=50;
w=2*%pi*f_fond;
rosso=color("red");
blu=color("blue");
verde=color("green");

// parametri modello esponenziale

Bmax=1.8;
b=1500;

//punto di lavoro massimo

dB=0.01;
BmaxL=Bmax-dB;
HmaxL=-b*(log(1-BmaxL/Bmax));


//frequenza di campionamento ed intervallo di misura uguale al periodo
// della frequenza fondamentale

k=1000;
F_camp=k*f_fond;
dt=1/F_camp;
t=[dt:dt:1/f_fond];

//tensione applicata sinusoidale -> induzione sinusoidale
//tensione=dFlusso/dt: ipotesi di perdite nulle
// (joule, isteresi e correnti parassite)


Vmax=w*BmaxL;
V=Vmax*cos(w*t);
B=BmaxL*sin(w*t);



//corrente magnetizzante con tensione sinusoidale (H)

N=size(t,'*');
for i=1:N/2,
H(i)=-b*(log(1-B(i)/Bmax));
end;

H=[H;-H];


//corrente magnetizzante sinusoidale


ims=HmaxL*sin(w*t);

//induzione con corrente magnetizzante sinusoidale
clear("B0");
for i=1:N/2,
  B0(i)=Bmax*(1-%e^(-ims(i)/b));
  end;

B1=[B0;-B0];

v0=diff(B1);
v1=[v0(N-1);v0]/(BmaxL*dt);

// grafici di induzione, tensione e corrente magnetizzante
//con corrente magnetizzante sinusoidale 
// e con tensione ed induzione sinusoidali

grafici=[V/Vmax;B/BmaxL;H'/HmaxL;ims/HmaxL;B1'/BmaxL;v1'/Vmax];

Nome_grafico=["Corrente magnetizzante con tensione sinusoidale",...
"Tensione con corrente magnetizzante sinusoidale"]; 
colore=[blu,verde,rosso,rosso,verde,blu];


for i=1:6
  xset("window",int((i-1)/3)+2);
  plot2d(t,grafici(i,1:N)',colore(i));
fi=gcf();
fi.figure_size = [500,400]
fi.axes_size = [500,400]
fi.figure_name = Nome_grafico(1+int(i-1)/3);
ax=gca();
ax.x_label.text="t:[s]";
ax.x_label.font_size=3;
ax.y_label.font_size=3;
ax.grid=[0,0];
ax.font_size=2;
xgrid();
legends(['im/Imax';'b/Bmax';'v/Vmax'],[rosso,verde,blu],'ll');
end 

Contenuti armonici

Le grandezze non sinusoidali, comunemente dette deformate, sono, come noto, scomponibili in serie di Fourier.

Le ampiezze delle sinusoidi componenti, fondamentale, armoniche (ed eventuale valore medio, nullo nel caso specifico), costituiscono lo spettro. Lo si può ricavare ricorrendo alla trasformata di Fourier.

Si è utilizzata la funzione FFT di Scilab.

I grafici ottenuti sono i seguenti

Spettro della corrente magnetizzante con tensione sinusoidale

Spettro della corrente magnetizzante con tensione sinusoidale

Spettro dell

Spettro dell'induzione con corrente magnetizzante sinusoidale

Spettro della tensione con corrente magnetizzante sinusoidale

Spettro della tensione con corrente magnetizzante sinusoidale

Lo script di Scilab è il seguente.

(Nota: presuppone l'esecuzione avvenuta del secondo script di questa pagina)



//spettro di 
//corrente magnetizzante (H) con tensione sinusoidale (V)
//tensione (B) con corrente magnetizzante sinusoidale (ims)
f=F_camp*(0:N/2)/N;
n=size(f,'*');

spettri=[fft(2*H/(N*HmaxL)),fft(2*B1/(N*BmaxL)),fft(2*ims/(N*HmaxL))'...
,fft(2*B/(N*BmaxL))',fft(2*v1/(N*Vmax))];

Nome_spettro=[" Spettro corrente magnetizzante con tensione ed induzione... 
sinusoidali",...
"Spettro induzione con corrente magnetizzante non sinusoidale",...
"spettro corrente magnetizzante sinusoidale",...
"spettro induzione con corrente magnetizzante non sinusoidale",...
"spettro tensione con corrente magnetizzante sinusoidale"];
colore_spettri=[rosso,verde,rosso,verde,blu];
ordinata_spettro=["im / Imax","b / Bmax","im_sin/Imax",...
"b / Bmax","v / Vmax"];

// spettri tensioni, induzioni, correnti

for i=1:5,
  xset("window",5+i);
  plot2d3(f,abs(spettri(1:n,i)),colore_spettri(i));
fi=gcf();
fi.figure_size = [500,400]
fi.axes_size = [500,400]
fi.figure_name =Nome_spettro(i);
ax=gca();
ax.x_label.text="f:[Hz]";
ax.y_label.text=ordinata_spettro(i);
ax.x_label.font_size=3;
ax.y_label.font_size=3;
ax.grid=[0,0];
ax.font_size=2;
ax.data_bounds(2,1)=10*f_fond;
xgrid();
ei=gce();
ei.children.polyline_style=3;
ei.children.thickness=3;  
end


for i=1:5,
  
  Aeff(i)=sqrt(abs(spettri(1,i))^2+sum(abs(spettri((2:n),i))^2)/2);
end;
Aeff;

Aggiunte

Modello M36 con CurveExpert

Per l'acciao M36 la curva di magnetizzazione può essere interpolata con la funzione mostrata in figura

M36 funzione interpolante

M36 funzione interpolante

y \to H \, x \to B
M36curva interpolante

M36curva interpolante

tabella valori M36

tabella valori M36

Ecco il grafico ottenuto con Scilab, invertendo la funzione:

B=-\frac1 c \cdot \ln \left ( \frac {a}{b \cdot H}-\frac 1 b \right )
caratteristica di magnetizzazione m36 con CE

caratteristica di magnetizzazione m36 con CE

La funzione però non fornisce valori corretti quando il campo è troppo piccolo (valori negativi di B per H < 18 A/m)

Script Scilab con modello esponenziale, lineare e M36_CE

Nello script seguente si possono effettuare varie prove, scegliendo il modello esponenziale descritto in precedenza, oppure un modello lineare, oppure il modello fornito da CurveExpert per M36. In quest'ultimo caso, per i problemi che presenta il modello con valori di campo troppo bassi, il tratto di curva tra l'origine ed il punto HLin, BLin è linearizzato. Questi due valori si possono modificare nell'apposita finestra di dialogo (scegliendoli tra i valori di tabella), insieme ad altri parametri. Portando più in basso il punto di linearizzazione, aumenta vertiginosamente il picco di tensione con corrente magnetizzante sinusoidale.

m36

m36

//CARATTERISTICA DI MAGNETIZZAZIONE 
//acciaio M36 approssimata con curva esponenziale
clear;

l1  = list('choice 1',1,['lineare','esponenziale','CurveExpert M36']);
rep = x_choices('Caratteristica di magnetizzazione',list(l1)); 

txt = ['B_saturazione [T]';'Campo corrispondente [A/m)]';...
'Decremento per B_max di lavoro [T]';'frequenza_fondamentale [Hz]';...
'multipo di campionamento';...
'H_linearizzazione Logistic model';...
'B_linearizzazione Logistic model'];
sig = x_mdialog('Introduzione parametri',txt,['1.8';'8500';'0.01';'50';...
'1000';'460';'1'])
Bmax=evstr(sig(1));
Hmax= evstr(sig(2));
dB= evstr(sig(3));
f_fond= evstr(sig(4));
k= evstr(sig(5));
//CurveExpert Logisti parametri
Blin=evstr(sig(7));
Hlin=evstr(sig(6));
a=-21680,
b=-1229,
c=3.25,

w=2*%pi*f_fond;// pulsazione fondamentale
F_camp=k*f_fond;// frequenza di campionamento
dt=1/F_camp;// intervallo di campionamento
BmaxL=Bmax-dB;// massimo valore dell'induzione di lavoro
Vmax=w*BmaxL;// massimo valore della tensione


// vettore istanti di campionamento nel periodo fondamentale
t=[dt:dt:1/f_fond];V=Vmax*cos(w*t);
//tensione sinusoidale imposta
B=BmaxL*sin(w*t);//induzione sinusoidale imposta

alpha=Bmax/Hmax;//coefficiente angolare retta di magnetizzazione

b1=1500;//parametro per curva esponenziale

dH=100;
x=[0:dH:Hmax];// vettore campo magnetico

Nx=size(x,'*');// dimensione vettore campo
N=size(t,'*');// dimensione vettore istanti 
//colori curve
rosso=color("red");//corrente
blu=color("blue");//tensione
verde=color("green");//induzione




select rep
case 1 then 
  HmaxL=BmaxL/alpha, //
  ims=HmaxL*sin(w*t);//corrente magnetizzante sinusoidale imposta

BH=alpha*x;
B=BmaxL*sin(w*t),
  for i=1:N/2,
   B0(i)=alpha*ims(i),
   H(i)=B(i)/alpha;
  end   
   
 case 2 then
   HmaxL=-b1*(log(1-BmaxL/Bmax)),
   ims=HmaxL*sin(w*t);//corrente magnetizzante sinusoidale imposta
 
 BH=Bmax*(1-%e^(-x/b1))';
 B=BmaxL*sin(w*t);
   for i=1:N/2,
     B0(i)=Bmax*(1-%e^(-ims(i)/b1));
     H(i)=-b1*(log(1-B(i)/Bmax));
   end;
   
 case 3 then 
   
   HmaxL=a/(1+b*%e^(-c*BmaxL));
   ims=HmaxL*sin(w*t);
   for i=2:Nx,
    
      BH(i)=-(1/c)*(log(a/(b*x(i))-1/b))';
     
    end 
    B=BmaxL*sin(w*t);
    for i=1:N/2
      B0(i)=(Blin/Hlin)*ims(i);
    end  
    for i=1:N/2,
    if ims(i)>Hlin then 
      B0(i)=-(1/c)*(log(a/(b*abs(ims(i)))-1/b));
    end 
     H(i)=a/(1+b*%e^(-c*B(i)));
  end;  
   
end;

H=[H;-H];
B1=[B0;-B0];

v0=diff(B1);
v1=[v0(N-1);v0]/dt;
    
//if lineare then B=alpha*x
//else B=Bmax*(1-%e^(-x/b))';
//end

//caratteristica di magnetizzazione 
clf(1);
xset("window",1);
plot2d(x,BH)
f1=gcf();
f1.figure_size = [500,400];
f1.axes_size = [500,400];
f1.figure_name = "Caratteristica di magnetizzazione" 
a1=gca();
a1.x_label.text="H: Campo magnetico [A/m]";
a1.y_label.text="B: Induzione magnetica [T]";
a1.x_label.font_size=3;
a1.y_label.font_size=3;
a1.grid=[0,0];
a1.font_size=3;
xgrid();
e1=gce();
e1.children.thickness=2;


// grafici di induzione, tensione e corrente magnetizzante
//con corrente magnetizzante sinusoidale 
// e con tensione ed induzione sinusoidali

grafici=[V/Vmax;B/BmaxL;H'/HmaxL;ims/HmaxL;B1'/BmaxL;...
v1'/Vmax];

Nome_grafico=["Corrente magnetizzante con tensione... 
sinusoidale",...
"Tensione con corrente magnetizzante sinusoidale"]; 
colore=[blu,verde,rosso,rosso,verde,blu];
assey="im / Imax [rosso] , b / Bmax [verde],...
v / Vmax [blu]";

for i=1:6
  clf(int((i-1)/3)+2);
end;
for i=1:6
 
  xset("window",int((i-1)/3)+2);
  plot2d(t,grafici(i,1:N)',colore(i));
fi=gcf();
fi.figure_size = [500,400];
fi.axes_size = [500,400];
fi.figure_name = Nome_grafico(1+int(i-1)/3);
ax=gca();
ax.x_label.text="t:[s]";
ax.y_label.text=assey;
ax.x_label.font_size=3;
ax.y_label.font_size=3;
ax.grid=[0,0];
ax.font_size=2;
xgrid();
end  


//spettro di 
//corrente magnetizzante (H) con tensione sinusoidale (V)
//tensione (B) con corrente magnetizzante sinusoidale (ims)
f=F_camp*(0:N/2)/N;
n=size(f,'*');

spettri=[fft(2*H/(N*HmaxL)),fft(2*B1/(N*BmaxL)),fft(2*ims/(N*HmaxL))'...
,fft(2*B/(N*BmaxL))',fft(2*v1/(N*Vmax))];

Nome_spettro=[ "Spettro corrente magnetizzante con tensione ed...
induzione sinusoidali",...
"Spettro induzione con corrente magnetizzante non sinusoidale",...
"spettro corrente magnetizzante sinusoidale",...
"spettro induzione con corrente magnetizzante non sinusoidale",...
"spettro tensione con corrente magnetizzante sinusoidale"];
colore_spettri=[rosso,verde,rosso,verde,blu];
ordinata_spettro=["im / Imax","b / Bmax","im_sin/Imax",...
"b / Bmax","v / Vmax"];

// spettri tensioni, induzioni, correnti

for i=1:5,
  clf(5+i);
  xset("window",5+i);
  plot2d3(f,abs(spettri(1:n,i)),colore_spettri(i));
fi=gcf();
fi.figure_size = [500,400];
fi.axes_size = [500,400];
fi.figure_name =Nome_spettro(i);
ax=gca();
ax.x_label.text="f:[Hz]";
ax.y_label.text=ordinata_spettro(i);
ax.x_label.font_size=3;
ax.y_label.font_size=3;
ax.grid=[0,0];
ax.font_size=2;
ax.data_bounds(2,1)=10*f_fond;
xgrid();
ei=gce();
ei.children.polyline_style=3;
ei.children.thickness=3;  
end


for i=1:5,
  
  Aeff(i)=sqrt(abs(spettri(1,i))^2+sum(abs(spettri((2:n),i))^2)/2);
end;
Aeff;

Lo script calcola i valori efficaci. In ordine i valori sepre relativi di

  • corrente magnetizzante deformata
  • induzione deformata
  • corrente magnetizzante sinusoidale
  • induzione sinusoidale
  • tensione deformata

Con modello esponenziale

-->Aeff

Aeff  =

   0.4226522  
   0.9021405  
   0.7071068  
   0.7071068  
   1.2865933

Con Modello CE per M36

-->Aeff

Aeff  =

   0.4575902  
   0.9091785  
   0.7071068  
   0.7071068  
   1.9418679  

Con materiale lineare ovviamente non c'è alcuna deformazione e tutte le grandezze restano sinusoidali. Il valore efficace risulta infatti, per tutte

Aeff  =

   0.7071068  
   0.7071068  
   0.7071068  
   0.7071068  
   0.7071056

che è \frac {1}{\sqrt{2}}

Bibliografia

Appunti di Macchine elettriche - Ciro Di Pieri -Ed. Cleup 1970

Appunti di Macchine elettriche - Ciro Di Pieri -Ed. Cleup 1970

Macchine Elettriche - Franco Cottignoli- Ed. Calderini 1989

Macchine Elettriche - Franco Cottignoli- Ed. Calderini 1989

2

Commenti e note

Inserisci un commento

di dcdlorenzo,

Egr Ing. Zeno, le saro' molto grato se vorra' approfondire l'argomento reletivo alla circolazione delle terze armoniche in relazione al collegamneto del primario e del secondario (Stella - stella;: stella con neuto- stella; stella- triangolo, zig-zag-triangolo ecc...) analizzando in quali casi si puossono considerare le correnti in gioco sinusoidali (perche' le terze armoniche trovano una via di passaggio senza interferire, o perche' comunque attenuano la deformazione del flusso cioe' della causa che le hanno generate ) . E' un problema che date le numerose possibilita' di collegamenti genera una molteplicita' di casi diversi.

Rispondi

di ,

Ing.Zeno,l'argomento trattato è una mia passione;e, come Vostro solito, avete fatto un gran bel lavoro. Se poi mi fate vedere la copertina del "Cottignoli", testo in uso nella Scuola dove lavoro, vuol dire che le vacanze sono proprio finite. Un saluto, orlando.

Rispondi

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.