Замена переменных резисторов

Этот пример показывает, как преобразовать модель, которая является нелинейной из-за переменного резистора в коммутируемую линейную модель, делая ее совместимой с Simscape в HDL Workflow.

Введение

Simscape в HDL Workflow поддерживает преобразование линейных моделей с коммутацией Simscape в функционально эквивалентные модели Simulink, которые совместимы для генерации HDL-кода. Из-за особенностей уравнений, которые являются результатом переменных резисторов, такие блоки, как Piecewise-Constant Resistor, могут привести к нелинейному поведению и должны быть заменены эквивалентными коммутируемыми линейными компонентами. В частности, Piecewise-Constant Resistor содержит события, которые не поддерживаются Simscape HDL Workflow Advisor.

Откройте модель Simscape™. В командной строке MATLAB ® введите:

nonlinearModel = 'sschdlexVariableResistorExample';
load_system(nonlinearModel)
open_system([nonlinearModel,'/Simscape Subsystem'])

Эта модель является RLC-схемой с кусочно-постоянным резистором, действующим в качестве резистора или 'load'. Для кусочно-постоянного резистора отношение между напряжением V и током I является V = I * R, где R является числовым значением, представленным в порте физического сигнала R.

Чтобы гарантировать положительное значение сопротивления, любое значение ниже 1e-6 заменяется на 1e-6. Этот резистор является кусочно-постоянным, потому что сопротивление изменяется только тогда, когда входное значение отличается от сопротивления тока больше, чем заданный допуск. Таким образом, постоянно изменяющийся вход будет преобразован в дискретный набор сопротивлений.

В этой модели сигнал, поступающий в Кусочно-Постоянный Резистор, является шаговой функцией, которая изменяется с 2 до 3 при t = 0,1, таким образом изменяя сопротивление нагрузки с$\Omega$ 2 до 3$\Omega$.

Чтобы открыть Simscape HDL Workflow Advisor в командной строке, введите: sschdladvisor (нелинейная модель)

Запустите рабочий процесс к задаче Get state-space parameters. Эта задача терпит неудачу из-за наличия кусочно-постоянного резистора.

Замените Переменный Резистор на переключатели и постоянные резисторы.

Чтобы преобразовать эту модель в эквивалентную коммутируемую линейную модель, замените Piecewise-Constant Resistor набором переключателей и резисторов для каждого желаемого значения. Чтобы открыть переключенную линейную версию в командной строке MATLAB ®, введите:

switchedLinearModel = 'sschdlexVariableResistorSwitchedLinearExample';
load_system(switchedLinearModel)
open_system(switchedLinearModel)

Переменный резистор был заменен на резистор и переключатель для каждого желаемого сопротивления. Для воссоздания поведения сопротивления нагрузки, которое изменяется от 2$\Omega$ до 3$\Omega$ при t = 0,1 используются два резистора, один с сопротивлением 2$\Omega$, а другой с сопротивлением 3. $\Omega$При закрытии и открытии переключателей сопротивление нагрузки переключается с 2 на$\Omega$ 3.$\Omega$

Управление коммутаторами

Выключатели должны быть включены и отключены, чтобы обеспечить правильное сопротивление нагрузки. Чтобы просмотреть сигналы управления для переключателей в командной строке MATLAB ®, введите:

open_system([switchedLinearModel,'/Input'])

Чтобы достичь правильного сопротивления, создайте две шаговые функции. Один, чтобы открыть переключатель последовательно с 2$\Omega$ резистором при t = 0,1, а другой, чтобы закрыть переключатель последовательно с 3$\Omega$ резистором одновременно.

Теперь, когда резистор переменной был заменен на коммутируемые линейные компоненты, запустите Simscape HDL Workflow Advisor и увидите, что все задачи выполняются до своего завершения.

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