Этот пример показывает сравнение в поведении линейного и нелинейного индуктора. Начиная с основных значений параметров выведены параметры для линейных и нелинейных представлений. Эти параметры затем используются в модели Simscape™ и симуляции сравненные выходные параметры.
modelName = 'ee_custom_inductor';
open_system( modelName );
Основные значения параметров, используемые в качестве базиса для последующих вычислений:
Проницаемость свободного пространства,
Относительная проницаемость ядра,
Количество обмотки поворотов,
Эффективная длина магнитного сердечника,
Эффективная площадь поперечного сечения магнитного сердечника,
Базовое насыщение начинается,
Ядро, полностью насыщаемое,
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;
Где:
Плотность магнитного потока,
Сила магнитного поля,
Линейное представление:
Нелинейное представление (включая коэффициент, a):
% 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' )
Где:
Магнитный поток,
Текущий,
Линейное представление:
Нелинейное представление:
% 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, simlog_ee_custom_inductor.
sim( modelName );
Переменная состояния для обоих представлений является магнитным потоком. Текущий, я и магнитный поток, можем быть получены из переменной логгирования 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' );