exponenta event banner

Переходная реакция 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);

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

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;