Рабочая точка RLC Переходного процесса

Этот пример показывает ответ источника степени постоянного тока, подключенного к последовательной нагрузке RLC. Цель состоит в том, чтобы построить график выхода характеристики напряжения, когда нагрузка внезапно присоединена к полномасштабному источнику питания. Это делается с помощью рабочей точки Simscape.

Во-первых, источник степени соединяется с разомкнутой схемой и моделируется, пока не достигает устойчивого состояния. Объект рабочей точки извлекается из результирующего журнала Simscape. Эта рабочая точка используется, чтобы инициализировать модель и проверить, что она находится в устойчивом состоянии. Затем нагрузка изменяется на последовательную схему RLC, и отклики сравниваются с рабочей точкой и без нее. Наконец, протягивание параметра выполняется, чтобы сравнить результаты с различными значениями индуктивности нагрузки.

Модель

Источник степени состоит из постоянного напряжения, соединенного с индуктором, резистором и конденсатором. Значения выбираются, чтобы продемонстрировать недостаточно демпфированный ответ разомкнутой цепи при включении питания. Нагрузка является вариантной подсистемой с разомкнутой схемой и последовательной схемой RLC.

model = 'ssc_op_rlc_transient_response';
open_system(model);

Переходная реакция разомкнутой схемы

Сначала моделируйте, чтобы получить ответ разомкнутой цепи источника степени. Симуляция выполняется достаточно долго, чтобы источник степени достиг устойчивого состояния. Это состояние, в котором мы хотим начать, когда экспериментируем с различными нагрузками.

set_param('ssc_op_rlc_transient_response/Load', 'LabelModeActiveChoice', 'OpenCircuit');
sim(model);

Создайте рабочую точку из журнала Simscape

Извлеките установившуюся рабочую точку Simscape для модели с помощью функции simscape.op.create и журнала Simscape, которые стали результатом предыдущей симуляции. Используйте '10' как время, потому что симуляция достигла приблизительного устойчивого состояния к тому времени.

op_steadystate = simscape.op.create(simlog_ssc_op_rlc_transient_response, 10);

Удалите рабочую точку для блока Load, поскольку она будет нерелевантной в последующих экспериментах.

op_steadystate = remove(op_steadystate, 'Load')
op_steadystate = 

  OperatingPoint with children:

  OperatingPoints:

   ChildId                 Size
   ______________________  ____

   'Capacitor'              1x1
   'DC Voltage'             1x1
   'Electrical Reference'   1x1
   'Inductor'               1x1
   'Series Resistance'      1x1
   'Step Input'             1x1
   'Switch'                 1x1
   'Vout'                   1x1

Отклик разомкнутой схемы с рабочей точкой

Проверьте рабочую точку путем инициализации модели разомкнутой схемы с рабочей точкой. Результатом является плоская линия, представляющая источник степени с полным питанием.

set_param(model, 'SimscapeUseOperatingPoints', 'on', 'SimscapeOperatingPoint', 'op_steadystate');
sim(model);

Переходный ответ RLC без рабочей точки

Измените нагрузку на схему серии RLC и проанализируйте результаты. Во-первых, моделируйте без рабочей точки, чтобы показать комбинированную реакцию включения питания и нагрузки, приложенной через 1 секунду. Результаты показывают, что было бы, если бы нагрузка была приложена, пока источник питания все еще включался.

L_load = 1e-1;
set_param('ssc_op_rlc_transient_response/Load', 'LabelModeActiveChoice', 'RLC');
set_param(model, 'SimscapeUseOperatingPoints', 'off');
sim(model);

Переходный ответ RLC с рабочей точкой

Затем включите инициализацию рабочей точки, чтобы увидеть требуемый ответ. Схема находится в установившемся состоянии, пока мы не приложим нагрузку в 1 секунду.

set_param(model, 'SimscapeUseOperatingPoints','on');
sim(model);

Выполните протягивание параметра по области значений значений индуктивности нагрузки

Повторно используйте рабочую точку в серии симуляций, чтобы сравнить результаты по области значений значений индуктивности нагрузки. Поскольку индуктивная нагрузка является настраиваемой, моделируйте модель в режиме быстрого перезапуска, чтобы избежать перекомпиляции.

set_param(model,'FastRestart', 'on');
lValues = linspace(1e-2, 2e-1, 5);
hold on;
for idx = 1:numel(lValues)
    L_load = lValues(idx);
    out = sim(model);
    t = out.simlog_ssc_op_rlc_transient_response.Vout.Vs.V.series.time;
    Vout = out.simlog_ssc_op_rlc_transient_response.Vout.Vs.V.series.values('V');
    plot(t, Vout, 'LineWidth', 1);
end
hold off;