Понижающий конвертер - увеличенная точность и скорость симуляции Используя интерполяцию

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

Описание

Этот пример показывает понижающий конвертер DC-DC, питающий загрузку RC из 200-вольтового источника. Частота PWM установлена на уровне 5 кГц, и рабочий цикл варьируется между 0,1 и 0.8. С этим частота PWM на 5 кГц шаг расчета, необходимый для разрешения на 0,5%, циклом на дежурстве с помощью стандартного метода дискретизации (Тастин или Обратного Эйлера) является Ts = 1e-6 секунда (частота дискретизации на 1 МГц = 200 x PWM_freq-> разрешение = 1/200 = 0,5%). Пример показывает, что использование интерполяции позволяет вам запускать модель с намного большим временным шагом (Ts = 20e-6 секунда) при сохранении точности модели. Пример также демонстрирует концепцию сигналов логического элемента с меткой времени в Специализированных Энергосистемах, переключающих устройства.

Симуляция

По умолчанию шаг расчета инициализируется к 20e-6 секунде (в Свойствах Модели-> Коллбэк PreloadFcn). Откройте блок powergui и на вкладке Preferences, убедитесь, что "Дискретный решатель" параметр установлен в Тастин, и что "Интерполируют переключающиеся события" опция, включен. Также убедитесь, что "Использование опция" сигналов логического элемента с меткой времени отключено. Инспектору Данных моделирования включают, и сигнал Vload регистрируется.

1) Выполните первую симуляцию с интерполяцией в обслуживании. Обратите внимание на то, что подсистема под названием Устанавливающая метку времени Система прокомментирована через так, чтобы импульсный сигнал блока PWM Generator был передан непосредственно блоку IGBT.

2) Теперь в блоке powergui, включите "Использованию опцию" сигналов логического элемента, к которой добавляют метку времени, и не прокомментируйте Устанавливающую метку времени Систему. Эта подсистема теперь вычисляет задержки на и задерживается прочь для импульсного сигнала. Три сигнала (импульс, задержка на и задержка от сигналов) теперь передаются блоку IGBT. Запустите симуляцию и проверьте, что результаты симуляции являются тем же самым.

3) Теперь отключите интерполяцию и задайте Ts = 1e-6 в командном окне. Прокомментируйте через Устанавливающую метку времени Систему и отключите "Использование опция" сигналов логического элемента, к которой добавляют метку времени. Выполните третью запущенную симуляцию.

4) В powergui вкладке Solver, набор "Тип симуляции" к Непрерывному. Выполните четвертую симуляцию, запущенную с непрерывной моделью.

5) Используя Data Inspector, сравните четыре запуска симуляции. Напряжение Vload, полученное во время вторых и третьих запусков (интерполяция с Ts = 20e-6 секунда и никакая интерполяция с Ts = 1e-6 секунда), очень близко к непрерывным результатам симуляции.

6) Заметьте, что решатель интерполяции совпадает с непрерывным решателем и еще более точен, чем стандартный дискретный решатель.

7) Сравните скорости симуляции дискретных моделей (интерполяция с Ts = 20e-6 секунда и никакая интерполяция с Ts = 1e-6 секунда). Чтобы достигнуть значительных времен симуляции, увеличьте время остановки симуляции до 0,5 секунд. Диагностическое Средство просмотра отображает время симуляции в конце каждой запущенной симуляции. Увеличение скорости, полученное с методом интерполяции, приблизительно 4X.