В этом примере показано, как можно получить аппроксимацию линейного изменения параметров (LPV) модели Simscape™ Electrical™ повышающего преобразователя. Представление LPV позволяет быстро анализировать среднее поведение при различных рабочих условиях.
Схема повышающего преобразователя преобразует напряжение постоянного тока в другое напряжение постоянного тока путем управляемого измельчения или переключения напряжения источника. Запрос определенного напряжения нагрузки преобразуется в соответствующее требование для рабочего цикла транзистора. Модуляция рабочего цикла обычно на несколько порядков медленнее частоты переключения. Суммарным эффектом является достижение среднего напряжения при относительно небольших пульсациях. Эту динамику можно увидеть на рис. 1.

Рис. 1: Генерация выходного напряжения преобразователя (нагрузки)
На практике существуют также нарушения напряжения источника
и резистивной нагрузки
, влияющие на действительное напряжение нагрузки.
Откройте модель Simulink.
mdl = 'BoostConverterExampleModel';
open_system(mdl);

Рис. 2: Модель повышающего преобразователя на основе Simscape Electrical
Схема в модели характеризуется высокочастотным переключением. Модель использует время выборки 25 нс. Используемый в модели блок «Boost Converter» является вариационной подсистемой, реализующей 3 различных варианта динамики конвертера. Дважды щелкните по блоку для просмотра этих вариантов и их реализаций. Модель принимает значение рабочего цикла как свой единственный вход и выдает три выхода - ток индуктора, ток нагрузки и напряжение нагрузки.
Модель моделируется медленно (при поиске изменений, скажем 0-10 мс) благодаря высокочастотным переключающим элементам и малому времени выборки.
Во многих применениях представляет интерес среднее напряжение, подаваемое в ответ на определенный профиль рабочего цикла. Такое поведение изучается во временных шкалах на несколько десятилетий больше, чем основное время выборки схемы. Эти «средние модели» для схемы выводятся аналитическими соображениями, основанными на усреднении динамики мощности за определенные периоды времени. Модель BoostConverterExampleModel реализует такую среднюю модель схемы, как её первый вариант, называемый «AVG Voltage Model». Этот вариант обычно выполняется быстрее, чем вариант «Модель низкого уровня».
Средняя модель не является линейной системой. Он показывает нелинейную зависимость от рабочего цикла и изменений нагрузки. Для ускорения моделирования и стабилизации напряжения мы можем линеаризовать модель при различных рабочих циклах и значениях нагрузки. Входы и выходы линейной системы будут такими же, как у исходной модели.
Мы используем подход обрезки и линеаризации на основе времени снимка. Параметрами планирования являются значение (d) рабочего цикла и значение (R) резистивной нагрузки. Модель обрезается при различных значениях параметров планирования, что приводит к сетке линейных моделей. Для этого примера мы выбрали диапазон 10% -60% для изменения рабочего цикла и 4-15 Ом для изменения нагрузки. 5 значений в этих диапазонах выбираются для каждой переменной планирования и линеаризации, полученной при всех возможных комбинациях их значений.
Параметры планирования: d: рабочий цикл R: резистивная нагрузка
nD = 5; nR = 5; dspace = linspace(0.1,0.6,nD); % nD values of "d" in 10%-60% range Rspace = linspace(4,15,nR); % nR values of "R" in 4-15 Ohms range [dgrid,Rgrid] = ndgrid(dspace,Rspace); % all possible combinations of "d" and "R" values
Создайте массив структуры параметров.
params(1).Name = 'd'; params(1).Value = dgrid; params(2).Name = 'R'; params(2).Value = Rgrid;
Моделирование модели при различных условиях показывает, что выходные данные модели сводятся к их установившимся значениям до 0,01. Следовательно, мы используем t = 0,01 с в качестве времени снимка.
Объявление количества входов, выходов и состояний модели.
ny = 3; nu = 1; nx = 2; ArraySize = size(dgrid);
Вычислить рабочие точки равновесия с помощью findop. Для завершения кода требуется несколько минут.
op = findop(mdl, 0.01, params);
Получить входные-выходные данные линеаризации, указанные в модели.
io = getlinio(mdl);
Линеаризация модели в массиве рабочих точек op и сохраните смещения.
[linsys, ~, info] = linearize(mdl, op, io, params, ... linearizeOptions('StoreOffsets', true));
Извлеките смещения из результатов линеаризации.
offsets = getOffsetsForLPV(info); yoff = offsets.y; xoff = offsets.x; uoff = offsets.u;
Постройте график массива линейной системы.
bodemag(linsys)
grid on

Рисунок 3: График Bode массива линейной системы, полученный по сетке параметров планирования.
linsys представляет собой массив из 25 линейных моделей состояния-пространства, каждая из которых содержит 1 вход, 3 выхода и 2 состояния. Модели являются дискретно-временными с временем выборки 25 нс. График мода показывает значительное изменение динамики по сетке параметров планирования. Массив линейной системы и сопутствующие данные смещения (uoff, yoff и xoff) может использоваться для конфигурирования системного блока LPV. Полученная таким образом «модель LPV» служит линейным системным приближением средней динамики. Конфигурация блока LPV доступна в BoostConverterLPVModel модель.
lpvmdl = 'BoostConverterLPVModel';
open_system(lpvmdl);


Рис. 4: Модель LPV, сконфигурированная с использованием linsys.
Для моделирования модели мы используем профиль ввода для рабочего цикла, который примерно охватывает диапазон планирования. Мы также изменяем резистивную нагрузку, чтобы смоделировать случай возмущений нагрузки.
Создание данных моделирования.
t = linspace(0,.05,1e3)'; din = 0.25*sin(2*pi*t*100)+0.25; din(500:end) = din(500:end)+.1; % the duty cycle profile rin = linspace(4,12,length(t))'; rin(500:end) = rin(500:end)+3; rin(100:200) = 6.6; % the load profile yyaxis left plot(t,din) xlabel('Time (s)') ylabel('Duty Cycle') yyaxis right plot(t,rin) ylabel('Resistive Load (Ohm)') title('Scheduling Parameter Profiles for Simulation')

Рис. 5: Планирование профилей параметров, выбранных для моделирования.
Примечание.Код для генерации вышеупомянутых сигналов был добавлен в обратный вызов PreLoadFcn модели для независимой загрузки и выполнения. Если вы хотите переопределить эти параметры и попробовать свои собственные, перезаписайте эти данные в базовой рабочей области.
Моделирование модели LPV.
sim(lpvmdl, 'StopTime', '0.004');

Рис. 6: Результаты моделирования LPV.
Модель LPV моделируется значительно быстрее, чем исходная модель BoostConverterExampleModel. Но как результаты сравниваются с результатами, полученными от исходной модели повышающего преобразователя? Чтобы проверить это, откройте модель BoostConverterResponseComparison. Эта модель имеет блок Boost Converter, настроенный для использования варианта «Low Level Model» высокой точности. Он также содержит блок LPV, выходы которого наложены на выходы повышающего преобразователя в трех областях.
linsysd = c2d(linsys,Ts*1e4); mdl = 'BoostConverterResponseComparison'; open_system(mdl); %sim(mdl); % uncomment to run

Рис. 7: Модель, используемая для сравнения отклика модели высокой точности с аппроксимацией LPV ее среднего поведения.
Команда моделирования была прокомментирована; раскомментируйте его, чтобы запустить. Результаты показаны в снимках области, вставленных ниже.

Рис. 8: Сигналы тока индуктора. Синий: оригинал, пурпурный: отклик системы LPV

Рис. 9: Сигналы тока нагрузки. Синий: оригинал, пурпурный: отклик системы LPV

Рис. 10: Сигнал напряжения нагрузки. Синий: оригинал, пурпурный: отклик системы LPV
Моделирование выполняется довольно медленно из-за быстрой динамики переключения в исходной схеме повышающего преобразователя. Результаты показывают, что модель LPV способна хорошо фиксировать среднее поведение.
Используя входной рабочий цикл и резистивную нагрузку в качестве параметров планирования, мы смогли получить линейные аппроксимации среднего поведения модели в виде массива модели состояния-пространства.
Результирующий массив модели вместе с данными смещения, связанными с операционной точкой, использовался для создания аппроксимации LPV нелинейного среднего поведения. Исследования моделирования показывают, что модель LPV способна с хорошей точностью эмулировать среднее поведение модели Simscape Electrical высокой точности. Модель LPV также потребляет меньше памяти и моделируется значительно быстрее, чем исходная система.