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
E' una curva esponenziale del tipo
dove si è assunto
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
'Note
- Il valore massimo di lavoro è fissato leggermente inferiore a quello massimo possibile, che è il valore di saturazione, del modello esponenziale adottato.
- 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 per la tensione, con ω = 2πf, pulsazione.
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.
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
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
Ecco il grafico ottenuto con Scilab, invertendo la funzione:
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.
//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 è