Altair PSIM (подробнее) — это программное решение для моделирования силовой электроники, электроприводов и систем преобразования энергии. Altair Compose (подробнее) — это программная среда для выполнения математических вычислений, обработки данных, автоматизации рабочих процессов и многого другого.
Начиная с версии 2022.3 в программном решении Altair Compose добавлена новые инструменты по интеграции с Altair PSIM. Данные инструменты позволяют легко создавать комплексный процесс моделирования, интегрируя оба инструмента для запуска моделирования в пакетном режиме, извлечения, обработки и сохранения результатов для дальнейшего использования. Совместное использование Altair PSIM и Altair Compose позволяет значительно сэкономить время при проектировании и моделировании задач в PSIM.
В этой серии постов мы расскажем о новых возможностях и удобстве совместной работы в Altair PSIM и Altair Compose. Для начала необходимо установить Altair PSIM и Altair Compose на компьютер. Мы будем использовать актуальную версию на данный момент 2023.
Файл схемы PSIM (.psimsch), который мы будем использовать, представляет собой DC-DC понижающий преобразователь постоянного напряжения, который часто используется в силовой электронике. Данный конвертор позволят снизить напряжение, подаваемое в нагрузку по отношению к ее входу, при одновременном увеличении тока.
Моделирование выполняется в течение 2 миллисекунд. Полученные результаты моделирования: I(L):ток, проходящий через катушку индуктивности, I(R): ток, проходящий через резистор, и Vout: напряжение на датчике напряжения. Параметры схемы, которые мы можем регулировать: Vin: входное напряжение, C: емкость, L: индуктивность, R: сопротивление нагрузки и Fsw: частота переключения МОП-транзистора. Мы будем работать с этой моделью на протяжении всего данного руководства. Скачать модель можно по ссылке: скачать
Рассмотрим инструменты моделирования PsimSimulate. Данный инструмент позволяет запустить одиночное моделирование с любыми заданными параметрами и получить результаты в графическом виде. Рассмотрим пошаговый процесс моделирования:
На первом шаге укажем путь к файлу схемы PSIM. Далее настроим процесс моделирования, укажем структуру используя команду input_var. Данная команда содержит три поля: FilePath: используемый файл схемы, GraphFilePath: имя и расположение выходных результатов и Parameters: параметры, которые будут использоваться при выполнении моделирования. На первом шаге мы указываем расположение нашего проекта Buck.psimsch.
На втором шаге указываем набор значений (с помощью команды linspace), которые будут изменяться в течение нескольких запусков. Также обратите внимание на команду tic, которая устанавливает внутренние часы для измерения времени, прошедшего до тех пор, пока выполнение не достигнет другой команды: toc (мы будем использовать ее позже). Поскольку мы хотим увидеть результаты нескольких интераций моделирования, нам необходимо указать значения hold, grid, legend для обозначения условных обозначения и наименования осей.
close all, clear, clc
% Start measuring time elapsed running script
tic;
% Define input .psimsch file
input_var.FilePath = '..\buck.psimsch';
% Fixed parameters
C = 50e-6;
Fsw = 200e3;
R = 2.5;
Vin = 120;
% Design parameter
Lspace = linspace(50e-6, 200e-6, 10);
% Create figure & format
figure; hold on, grid on, legend on
xlabel('Time [ms]');
ylabel('Output Voltage [V]');
Один их простых способов запустить несколько симуляций этой модели - использовать цикл for, в котором система будет перебирать все значения индуктивности L, сохраняя при этом остальное значения неизменными. На этом этапе мы можем указать выходной файл GraphFilePath и используемые параметры, которые указаны в команде sprintf.
% Run simulation with each value of L
for i = 1:numel(Lspace)
L = Lspace(i);
% Define output .smv graph file
input_var.GraphFilePath = sprintf('.\\Results\\buck_L_%1.2g.smv', L);
% Create parameters text for simulation
parametersTxt = sprintf('L = %e\nC = %e\nFsw = %e\nR = %e\nVin = %e', L, C, Fsw, R, Vin);
input_var.Parameters = parametersTxt;
Теперь мы можем запустить моделирование с помощью PsimSimulate, единственным входным значениями указаны в команде input_var, которую мы настроили на первом шаге, выходные значения определяются командой (simResults) - это структура со всеми сигналами, записанными в файл результатов (.smv). Эти результаты содержатся в графе полей и значений подполей, который представляет собой массив ячеек, в котором доступ к каждому элементу должен осуществляться с помощью фигурных скобок { }.
% Run PSIM simulation
simResults = PsimSimulate(input_var);
% Extract graph results
t = simResults.Graph.Values{1};
IL = simResults.Graph.Values{2};
IR = simResults.Graph.Values{3};
Vout = simResults.Graph.Values{4};
Теперь добавим отображения результатов моделирования на одном графике чтобы определить как параметр индуктивности влияет на отклик. Использование команды toc возвращает время, затраченное на настройку и запуск всех этих симуляций. Затраченное время на моделирование составляет 0,966 секунды.
% Plot &set legend with L value
lineHandle = plot(t,Vout);
leg = sprintf('L = %1.2e', L);
set(lineHandle, 'displayname', leg);
end
toc
Рассмотрим результаты моделирования. Из графика мы можем сделать вывод, что индуктивность с более высоким номиналом приводит к меньшему выбросу выходного напряжения за счет более длительного времени установления. Попробуйте применить полученные навыки к собственным проектам. В следующем посте мы рассмотрим одновременное моделирование и сравним его с одиночным.
По вопросам предоставления временных лицензий на программные решения Altair PSIM и Altair Compose, тестирования и приобретения, пожалуйста, обращайтесь к специалистам компании ООО "ЭЛМ" по телефонам +7(495) 005-51-45, или по электронной почте info@elm-c.ru.
Компания ООО “ЭЛМ” официальный дистрибьютор ALTAIR на территории России и СНГ.