Школа MATLAB. Урок 6. Моделирование устройств силовой электроники. Программные и инструментальные средства представления результатов
Для моделирования используются блоки библиотек Simulink и SimPowerSystems. Представление результатов моделирования реализуется программными и инструментальными средствами MATLAB.
Программные средства представления электромагнитных процессов транзисторного инвертора
Рассмотрим способы представления электромагнитных процессов в однофазном мостовом инверторе, модель которого в старой версии MATLAB подробно описана в уроке 5. На рис. 1 представлена схема модели в новой версии, а блоки, входящие в модель, и их основные параметры приведены в табл. 1.
Время моделирования устанавливается в окне модели, в меню Simulation / Simulation parameters, конечное время Stop time задано равным 0,06 (три периода модулирующего сигнала, табл. 1), а максимальный шаг дискретизации Max step size — 1e-5. Решатель дифференциальных уравнений целесообразно установить ode23tb.
В рассматриваемой модели блок Multimeter последовательно измеряет:
- напряжение на нагрузке (u2);
- ток нагрузки (i2);
- ток транзисторного ключа (i_Tr);
- ток в цепи питания (i1).
Измерение тока в цепи питания осуществляется за счет введения сопротивления r, величину которого следует выбрать меньше сопротивления открытого транзистора для исключения влияния этого сопротивления на процессы в схеме.
Представление результатов моделирования реализуется графическими средствами MATLAB после записи этих результатов в рабочее пространство (Workspace). При этом есть три возможности такой записи:
- Использование блока Scope.
- Использование блока To Workspace.
- Использование выходного порта Out с соответствующей настройкой параметров моделирования.
Пример 1.
Первый способ реализуется в модели, представленной на рис. 1. Обязательным условием является наличие только одного входа осциллографа, на который в модели подается векторный сигнал, измеренный блоком Multimeter. В окне настройки параметров блока Scope на вкладке Data history (рис. 2) необходимо отметить поле Save data to workspace (сохранить данные в рабочем пространстве), в поле Variable name (имя переменной) задать имя, под которым будут записаны результаты моделирования в рабочее пространство, и выбрать формат Array (таблица, массив). При этом в первой строке таблицы запишутся значения времени, а в последующие четыре строки – значения измеренных переменных в эти моменты времени. Интервал времени определен максимальным шагом дискретизации Max step size (1e-5 с) в меню Simulation/Simulation parameters модели.
При выставленном флажке в поле Limit data points to last (максимальное количество записанных измерений) в рабочее пространство записывается число проставленных в поле конечных измерений (начальные измерения обрезаются). При этом время записи равно произведению числа измерений на максимальный шаг дискретизации. В данном случае t = 2000×10–5 = 0,02 c, что соответствует одному (последнему) периоду модулирующего сигнала. Такой прием позволяет исключить данные переходного процесса в схеме.
После проведения симуляции в рабочем пространстве MATLAB (рис. 3) появится переменная Out, состоящая из пяти строк, в каждую из которых записано 2000 значений.
Графическое представление переменной Out можно увидеть, нажав кнопку Plot all columns на панели инструментов окна. Однако такая визуализация неудобна по двум причинам. Во-первых, на оси абсцисс откладываются точки измерения, а чтобы получить время, их нужно умножать на шаг дискретизации. Во-вторых, измеренные величины могут сильно разниться (как в нашем случае), а масштаб по оси ординат здесь один и тот же.
Поэтому для последующего использования результатов моделирования необходимо прибегнуть к программным средствам MATLAB. Программа с пояснениями для построения электромагнитных процессов в инверторе приведена в листинге 1, а сами процессы – на рис. 4.
Описание электромагнитных процессов напряжения и тока нагрузки приведено в уроке 5 [7] – «…получены временные диаграммы для напряжения на RL-нагрузке и тока нагрузки. Видно, что ток нагрузки изменяется по синусоидальному закону с периодом 0,02 с и определяется модулирующей функцией. Однако он также содержит высокочастотную составляющую, обусловленную импульсным режимом работы транзисторов с несущей частотой, равной 1 кГц, и относительно малой величиной индуктивности нагрузки L. Напряжение на нагрузке представляет собой последовательность высокочастотных прямоугольных импульсов. У огибающей этих импульсов частота следования равна 50 Гц. Сами высокочастотные импульсы имеют переменную ширину, изменяющуюся по закону модулирующей функции, что позволило получить ШИМ».
Электромагнитные процессы в транзисторе и источнике питания обусловлены алгоритмом управления транзисторами инвертора. В библиотечном блоке управления Control System реализован поочередной алгоритм управления транзисторами инвертора [2]. При таком алгоритме управления транзисторы загружены несимметрично в течение одного периода модулирующего напряжения. Для одной полуволны модулирующего напряжения транзистор включен на трех коммутационных интервалах, а для другой полуволны модулирующего напряжения транзистор включен только на одном коммутационном интервале.
Пример 2. Второй способ реализуется в модели, представленной на рис. 1, в которой блок Scope заменяется блоком To Workspace. В окне настройки параметров блока (рис. 5) в добавление к описанным параметрам блока Scope в поле Decimation (разряжение) необходимо ввести 1, а в поле Sample time – максимальный шаг дискретизации.
Блок To Workspace в отличие от блока Scope в таблицу выходных параметров не записывает время. Поэтому программа для построения электромагнитных процессов в инверторе отличается от приведенной ранее. Эта программа представлена в листинге 2.
В результате выполнения этой программы получим графики, представленные на рис. 4.
Пример 3. Третий способ реализуется в модели, представленной на рис. 1, в которой блок Scope заменяется блоком Out (выходной порт) из основной библиотеки Simulink. В этом случае в окне Configuration Parameters (настройки параметров симуляции модели) на вкладке Data Import/Export в поле Save to workspace (рис. 6) необходимо проставить галочки и дать названия переменным. В приведенном примере в рабочее пространство MATLAB записывается время (t) и переменные из порта Out.
Программа для построения электромагнитных процессов в инверторе представлена в листинге 3, а сами процессы – на рис. 4.
Результаты моделирования, полученные программными средствами MATLAB, могут быть сохранены в различных форматах, из которых отметим форматы для публикации (TIFF, GIF, JPEG).
Инструментальные средства визуализации электромагнитных процессов транзисторного инвертора
Инструментальным средством представления результатов моделирования и редактирования полученных графиков в MATLAB является редактор графических объектов [1]. Редактор графических объектов строит и редактирует графики переменных, записанных в рабочем пространстве MATLAB.
Пример 4. Рассмотрим работу с редактором на примере модели, представленной на рис. 7, которая отличается от модели примера 3 наличием четырех выходных портов. Эти порты подключены к блоку Multimeter через блок Demux (демультиплексер), который находится в библиотеке Simulink/Signal Routing.
Для этой модели в окне Configuration Parameters в поле Output нужно указать все выходные порты. Тогда после проведения симуляции в рабочем пространстве MATLAB каждая измеренная переменная запишется как отдельная таблица, содержащая только одну строку.
Вызов графического редактора осуществляется командой plottools.
Среда редактора представлена на рис. 8.
Графический редактор содержит графическое окно Figure 1 с меню и панелью инструментов и три вспомогательных окна Figure Palette (шаблоны графиков), Plot Browser (браузер объектов) и Property Editor – Figure (редактор свойств графических объектов).
В окне New subplots справа от двумерной системы осей (2D Axes) нажимаем кнопку Create tiled subsystem (Создать области). В этом примере будем строить каждую переменную на отдельном графике, поэтому из таблицы выбираем четыре области. Раздел Variables (переменные) содержит переменные рабочей среды, в том числе и созданные после симуляции массивы Out, Out 1, Out 2, Out 3, t.
Для получения зависимости выходного напряжения (Out) от времени (t) сделаем текущим первое окно, щелкнув мышью по свободному месту в пределах осей окна. Затем в окне Plot Browser нужно нажать на кнопку Add Data (добавить данные) при этом открывается окно Add Data to Axes (рис. 9). В этом окне выбирается тип графика и переменные для осей из выпадающих меню. Графики остальных переменных строятся аналогично. Для обозначения осей в окне Property Editor – Axes X Label (Y Label) нужно вписать соответствующие обозначения. Конечный вид графического редактора представлен на рис. 10.
Пример 5. Во всех предыдущих уроках широко использовался блок Scope (осциллограф) для визуализации процессов в моделируемом устройстве. Этот блок может быть использован и как графический редактор [8]. Рассмотрим эту возможность на примере модели, представленной на рис. 11. Здесь с блока Demux снимаются сигналы тока в транзисторе и в источнике питания. Перед моделированием следует снять все флажки на вкладке Data Histore осциллографа и Data Import/Export окна Configuration Parametres меню Simulation модели.
После проведения симуляции в окне осциллографа можно увидеть электромагнитные процессы тока в транзисторе и источнике питания. Возможности использования результатов моделирования в этом случае сильно ограничены. Пользуясь панелью инструментов блока, можно лишь изменять масштабы по осям x, y. Для придания блоку свойств графического редактора необходимо выполнить команды, представленные в листинге 4.
После выполнения программы в окне блока Scope появится панель меню и панель инструментов. При этом блок приобретает свойства графического редактора. При нажатой кнопке Edit Plot блока делаем текущим соответствующее окно графика (щелчок левой кнопкой мыши), при этом появляется окно Property Editor – Axes. При редактировании графиков в окне Property Editor – Axes задаем последовательно цвет фона графиков, цвет сетки, цвет переменных, временной интервал, подписи к осям и т. д. Конечный результат редактирования показан на рис. 12. Полученные графики можно сохранить в форматах, необходимых для публикации.
- Ануфриев И., Смирнов А., Смирнова Е. MATLAB 7. Наиболее полное руководство. Санкт-Петербург: БХВ-Петербург, 2005.
- Герман-Галкин С. Г. Силовая электроника. Лабораторные работы на ПК. «Корона-Принт». Санкт-Петербург, 2002. С. 320/
- Худяков В. Моделирование устройств силовой электроники. Урок 1. Основные инструменты Simulink // Силовая электроника. 2005. № 1.
- Худяков В. Школа MATLAB. Урок 2. Библиотека SimPower System // Силовая электроника. 2005. № 2.
- Худяков В. Школа MATLAB. Урок 3. Построение SPS моделей с полупроводниковыми элементами // Силовая электроника. 2005. № 3.
- Худяков В. Школа MATLAB. Урок 4. Анализ динамических свойств устройств силовой электроники во временной области // Силовая электроника. 2005. № 4.
- Худяков В. Школа MATLAB. Моделирование устройств силовой электроники. Урок 5. Анализ устройств силовой электроники в частотной области // Силовая электроника. 2006. № 1.
- Черных В. Simulink — среда создания инженерных приложений. М.: Диалог-МИФИ, 2004.