Этот пример показывает вычисление и подтверждение нелинейной характеристики намагничивания ядра преобразователя. Начиная с основных значений параметров выведена базовая характеристика. Это затем используется в модели Simscape™ схемы тестирования в качестве примера, которая может использоваться, чтобы построить базовую характеристику намагничивания на осциллографе. Выходные параметры модели затем по сравнению с известными значениями.
modelName = 'ee_custom_transformer';
open_system( modelName );
Основные значения параметров, используемые в качестве основания для последующих вычислений:
Проницаемость свободного пространства,
Относительная проницаемость ядра,
Количество первичных поворотов,
Количество вторичных поворотов,
Эффективная длина магнитного сердечника,
Эффективная площадь поперечного сечения магнитного сердечника,
Базовое насыщение начинается,
Ядро, полностью насыщаемое,
mu_0 = pi*4e-7; mu_r = 3000; N1 = 100; N2 = 200; le = 0.1; Ae = 1e-4; B_sat_begin = 0.6; B_sat = 1.2;
Где:
Плотность магнитного потока,
Сила магнитного поля,
Линейное представление:
Нелинейное представление (включая коэффициент, 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; % Nonlinear representation H_nonlinear = -750:25:750; B_nonlinear = B_sat*tanh(a*H_nonlinear);
Вычисленные параметры могут теперь использоваться в модели Simscape. После того, как симулированный, модель собирается вывести переменную логгирования Simscape, simlog_ee_custom_transformer, и некоторые сигналы с помощью выходных портов, вашего. Параметры схемы:
Исходная величина напряжения,
Исходная частота напряжения,
Исходное сопротивление напряжения,
Операционный усилитель ввел сопротивление,
Сопротивление обратной связи операционного усилителя,
Емкость обратной связи операционного усилителя,
% Circuit parameters Vs = 10; Freq_Hz = 60; R_Vs = 10; R_1 = 1e3; R_2 = 1e6; C_2 = 1e-6; % Simulate model simOut = sim( modelName ); yout = get(simOut, 'yout'); simlog = get(simOut, 'simlog_ee_custom_transformer'); % Collect internal Simscape logging data for comparison I_simscape = simlog.Transformer_B_H_curve.L_m.i.series.values; phi_simscape = simlog.Transformer_B_H_curve.L_m.phi.series.values; % Collect model output data for comparison (as used for oscilloscope) I_primary = yout(:,1); int_V_secondary = yout(:,2);
Данные должны быть обработаны, чтобы обеспечить силу Магнитного поля и данные о плотности Магнитного потока для сравнения. Где:
Магнитодвижущая сила,
Магнитный поток,
Входное напряжение операционного усилителя,
Выходное напряжение операционного усилителя,
Уравнения, которые будут использоваться, следующие:
% Internal logging data H_simscape = I_simscape.*N1./le; B_simscape = phi_simscape./Ae; % Oscilloscope scaling and model output data H_measured = I_primary.*N1./le; phi_measured = (int_V_secondary.*R_1.*C_2)./N2; B_measured = phi_measured./Ae;
Эти три характеристики могут теперь быть наложены:
Заданная характеристика: вычисленный от основных параметров
Характеристика от логгирования: вычисленный из внутренних данных о регистрации Simscape
Характеристика от измерения: полученный измерением и вычислением с помощью электронной схемы тестирования
Из-за утечки и паразитных параметров, характеристика, полученная из электронной схемы тестирования, отличается к заданной характеристике. Однако схема тестирования и ее параметризация, как показывают, находят характеристику для данного преобразователя в подходящих допусках.
if ~exist('h1_ee_custom_transformer', 'var') || ... ~isgraphics(h1_ee_custom_transformer, 'figure') h1_ee_custom_transformer = figure('Name', 'ee_custom_transformer'); end figure(h1_ee_custom_transformer) clf(h1_ee_custom_transformer) plot( ... H_nonlinear,... B_nonlinear,... 'o',... H_simscape,... B_simscape,... H_measured,... B_measured,... '-',... 'LineWidth',2); grid( 'on' ); title( 'Transformer B-H Curve' ); xlabel( 'Magnetic Field Strength, H (A/m)' ); ylabel( 'Magnetic Flux Density, B (T)' ); legend( 'Calculated', 'Simulated',... 'From Sensor', 'Location', 'NorthWest' );