Симуляция с алгоритмами непрерывного интегрирования

Уравнения в пространстве состояний

Принимая схему, содержащую nx состояния, ns переключатели и ny напряжения или выходных выходов тока, программное обеспечение определяет:

  • nx производные состояний, которые будут вычисляться из матриц A и B

    x˙=A·x+B·u

  • ns переменные switch (либо напряжения через открытые переключатели, либо токи через закрытые переключатели)

  • ny выходные переменные, которые будут вычисляться из матриц C и D

    y=C·x+D·u

Получено nx + ns + ny уравнений.

Неизвестные переменные являются производными по состоянию dx/dt, выходами y и переменными switch (переменные switch или токи switch). Известными переменными являются переменные состояния x и входы u (источники напряжения или источники тока).

Поскольку состояние переключателя (открытый или закрытый) не определено, уравнения схемы выражаются с помощью как напряжений переключателя (vD1, vD2), так и токов переключателя (iD1, iD2).

Эти уравнения выражают законы тока Кирхгофа (KCL) в узлах схемы и законы напряжения Кирхгофа (KVL) для независимых циклов. Эти уравнения завершаются выходными уравнениями.

Расчет модели пространства состояний включён в S-функцию и выполняется каждый раз, когда состояние переключателя меняется.

Чтобы получить список уравнений цепи в Diagnostic Viewer, установите флажок Display circuit differential equations на вкладке Solver диалогового окна параметров блоков Powergui.

Выбор алгоритма интегрирования

Simulink® программное обеспечение предоставляет множество решателей. Большинство решателей с переменным шагом хорошо работают с линейными схемами. Однако схемы, содержащие нелинейные модели, особенно схемы с выключателями и силовой электроникой, требуют жестких решателей.

Лучшая точность и самая быстрая скорость симуляции обычно достигается с ode23tb.

Решатель

ode23tb

Относительная погрешность

1e-4

Абсолютная погрешность

auto

Максимальный размер шага

auto

Начальный размер шага

auto

Метод сброса решателя

fast

Обычно можно выбрать auto для абсолютной погрешности и максимального размера шага. В некоторых случаях может потребоваться ограничить максимальный размер шага и абсолютную погрешность. Выбор слишком малого допуска может значительно замедлить симуляцию. Выбор абсолютной погрешности зависит от максимальных ожидаемых величин переменных состояния (токи индуктивности, напряжения конденсатора и переменные управления).

Например, если вы работаете с цепью высокой мощности, где ожидаемое напряжение и токи составляют тысячи вольт и ампер, для электрических состояний достаточно абсолютной погрешности 0,1 или даже 1,0. Однако, если ваша электрическая цепь связана с системой управления, использующей нормализованные сигналы управления (изменяющиеся около 1), абсолютная погрешность налагается состояниями управления. В этом случае выбор абсолютной погрешности 1e-3 (1% управляющего сигнала) был бы подходящим. Если вы работаете с цепью очень низкой степени с ожидаемыми токами миллиампер, задайте абсолютную погрешность 1e-6.

Примечание

Обычно, сохраняя параметр Solver reset method решателя ode23tb до его значения по умолчанию (Fast) обеспечивает лучшую эффективность симуляции. Однако для некоторых сильно нелинейных схем может потребоваться задать этот параметр равным Robust. Когда вы создаете новую модель, мы рекомендуем вам попробовать обе Robust и Fast методы сброса. Если вы не замечаете различие в результатах симуляции, сохраните Fast способ, который обеспечивает самую быструю скорость симуляции.

Симуляция ключей и степеней

На вкладке Preferences блока powergui можно выбрать Disable snubbers in switching devices, который отключает snubbers всех коммутаторов в вашей модели. В противном случае можно индивидуально отключить snubbers выбранных коммутаторов, задав Rs = inf в их блочных меню. Можно также моделировать идеально идеальные переключатели, отключая сопротивления (Ron) и прямые напряжения (Vf ).

Исключение snubbers уменьшает жесткость схемы и позволяет использовать нежесткий решатель, например ode45 вместо ode23tb, для достижения правильных результатов и хорошей скорости симуляции.

Если вы задаете слишком большие значения пульсации сопротивления, модель схемы может стать плохо обусловленной и привести к остановке симуляции. В таком случае уменьшите сопротивление пульсации так, чтобы результирующий ток утечки оставался приемлемым (для примера 0,01% до 0,1% номинального тока переключателя).

В некоторых схемах использование переключателей с прямым напряжением Vf, большим нуля и Ron = 0, может привести к остановке симуляции и отображению сообщения об ошибке из-за зависимости Источник состояния. Чтобы избежать этой проблемы, задайте небольшое значение Ron.