Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

カスタム インダクター (B-H 曲線)

この例では、線形および非線形インダクターの挙動を比較します。基本パラメーター値から開始して、線形および非線形表現のパラメーターが導出されます。次に、これらのパラメーターが Simscape™ モデルで使用され、シミュレーション出力が比較されます。

モデルを開く

modelName = 'ee_custom_inductor';
open_system( modelName );

パラメーターの指定

以下の計算の基礎として使用される基本パラメーター値は次のとおりです。

  • 自由空間の透磁率: $\mu_0, \rm{H/m}$

  • コアの相対透磁率: $\mu_r$

  • 巻線の巻数: $N_w$

  • 磁心の有効長: $l_e, \rm{m}$

  • 磁心の有効断面積: $A_e, \rm{m^2}$

  • コアの飽和開始: $B_{sat_{begin}}, \rm{T}$

  • コアの完全飽和: $B_{sat}, \rm{T}$

mu_0 = pi*4e-7;
mu_r = 3000;
Nw = 100;
le = 0.02;
Ae = 1e-05;
B_sat_begin = 0.75;
B_sat = 1.5;

磁束密度と磁場の強さのデータを計算

パラメーターは次のとおりです。

  • 磁束密度: $B, \rm{T}$

  • 磁場の強さ: $H, \rm{A/m}$

線形表現は次のとおりです。

  • $B = \mu_0 \mu_r H$

非線形表現 (係数 a を含む) は次のとおりです。

  • $B = B_{sat} \tanh(a.H)$

% Use linear representation to find value of H corresponding to B_sat_begin
H_sat_begin = B_sat_begin/(mu_0*mu_r);
% Rearrange nonlinear representation to calculate coefficient, a
a = atanh( B_sat_begin/B_sat )/H_sat_begin;

% Linear representation
H_linear = [-500 500];
B_linear = mu_0*mu_r*H_linear;

% Nonlinear representation
H_nonlinear = -5*H_sat_begin:H_sat_begin:5*H_sat_begin;
B_nonlinear = B_sat*tanh(a*H_nonlinear);

磁束密度と磁場の強さの表示

線形表現と非線形表現は重ねることができます。

if ~exist('h1_ee_custom_inductor', 'var') || ...
        ~isgraphics(h1_ee_custom_inductor, 'figure')
    h1_ee_custom_inductor = figure('Name', 'ee_custom_inductor');
end
figure(h1_ee_custom_inductor)
clf(h1_ee_custom_inductor)

plot( H_linear, B_linear, H_nonlinear, B_nonlinear );
grid( 'on' );
title( 'Magnetic flux density, B, versus Magnetic field strength, H' );
xlabel( 'Magnetic field strength, H (A/m)' );
ylabel( 'Magnetic flux density, B (T)' );
legend( 'B=\mu_0 \mu_r H', 'B-H curve', 'Location', 'NorthWest' )

磁束と電流データの計算

パラメーターは次のとおりです。

  • 磁束: $\phi, \rm{Wb}$

  • 電流: $I, \rm{A}$

線形表現は次のとおりです。

  • $L = \mu_0 \mu_r A_e N_w^2/l_e$

  • $\phi = I L/N_w$

非線形表現は次のとおりです。

  • $I = H l_e/N_w$

  • $\phi = B A_e$

% Linear inductance
L_linear = mu_0*mu_r*Ae*Nw^2/le;

% Linear representation
I_linear = [-1.5 1.5];
phi_linear = I_linear.*L_linear/Nw;

% Nonlinear representation
I_nonlinear = le.*H_nonlinear./Nw;
phi_nonlinear = B_nonlinear.*Ae;

磁束と電流の表示

線形表現と非線形表現は重ねることができます。

if ~exist('h2_ee_custom_inductor', 'var') || ...
        ~isgraphics(h2_ee_custom_inductor, 'figure')
    h2_ee_custom_inductor = figure('Name', 'ee_custom_inductor');
end
figure(h2_ee_custom_inductor)
clf(h2_ee_custom_inductor)

plot( I_linear, phi_linear, I_nonlinear, phi_nonlinear );
grid( 'on' );
title( 'Magnetic flux, \phi, versus current, I' );
xlabel( 'Current, I (A)' );
ylabel( 'Magnetic flux, \phi (Wb)' );
xlim([-0.2 0.2]);
ylim([-2e-5 2e-5]);
legend( '\phi=I L/N_w', '\phi-I curve', 'Location', 'NorthWest' );

Simscape モデルでのパラメーターの使用

これで、計算したパラメーターを Simscape モデルで使用できます。シミュレーションを実行すると、Simscape のログ変数 simlog_ee_custom_inductor を作成するようにモデルが設定されます。

sim( modelName );

まとめ

いずれの表現でも、状態変数は磁束 $\phi$ です。各表現について、電流 I と磁束 $\phi$ を、Simscape ログ変数 simlog_ee_custom_inductor から取得できます。表現のシミュレーション結果を重ね合わせることで、直接比較できます。

if ~exist('h3_ee_custom_inductor', 'var') || ...
        ~isgraphics(h3_ee_custom_inductor, 'figure')
    h3_ee_custom_inductor = figure('Name', 'ee_custom_inductor');
end
figure(h3_ee_custom_inductor)
clf(h3_ee_custom_inductor)

plot( ...
    simlog_ee_custom_inductor.Inductor_linear_magnetic_flux.i.series.values,...
    simlog_ee_custom_inductor.Inductor_linear_magnetic_flux.phi.series.values,...
    simlog_ee_custom_inductor.Inductor_B_H_curve.i.series.values,...
    simlog_ee_custom_inductor.Inductor_B_H_curve.phi.series.values);
grid( 'on' );
title( 'Magnetic flux, \phi, versus current, I' );
xlabel( 'Current, I (A)' );
ylabel( 'Magnetic flux, \phi (Wb)' );
xlim([-0.2 0.2]);
ylim([-2e-5 2e-5]);
legend( 'Linear (single inductance)', 'B-H characteristic', 'Location', 'NorthWest' );