Школа MATLAB. Урок 8. Моделирование устройств силовой электроники. Создание виртуальных лабораторий в среде Matlab – Simulink
Цель этого урока — рассмотрение возможностей среды Matlab – Simulink в создании маскированных (виртуальных) блоков и имитационных лабораторных стендов, представляющих собой удобный и наглядный интерфейс для исследования разнообразных технических устройств.
Введение
Модель отражает те или иные свойства реального физического объекта. Модели бывают физическими, аналоговыми и математическими.
Математическая модель является математическим описанием реального физического объекта. Это описание базируется на физических законах, определяющих поведение объекта, и служит для исследования свойств объекта, необходимых инженеру. При наличии математического описания (математической модели) исследование свойств объекта может быть реализовано аналитически методами, либо с использованием компьютерного моделирования.
Аналитические методы имеют существенные ограничения. Они позволяют в полной мере исследовать системы, которые описываются дифференциальными уравнениями первого и второго порядка. Системы, описываемые уравнениями третьего и четвертого порядка, поддаются аналитическому решению, но влияние параметров системы приходится исследовать уже численными методами. Системы более высоких порядков исследуются только численными методами.
Численные методы базируются на использовании компьютерного моделирования.
Компьютерная модель — это программная реализация математической модели, дополненная различными служебными программами (например, рисующими и изменяющими графические образы во времени).
На заре компьютерного моделирования программы создавались на языке машинных кодов (1100101….). Следующим шагом стал язык Ассемблера. В дальнейшем появились языки программирования высокого уровня (Алгол, Бейсик, Фортран, Паскаль, С++ и др.). Применявшаяся в те годы технология программирования требовала очень много времени на создание моделей. Трудозатраты на создание простой, с современной точки зрения, компьютерной модели оценивались в несколько человеко-месяцев.
В настоящее время положение кардинально изменилось. С 1970-х годов было разработано множество прикладных пакетов моделирования, автоматизирующих, прежде всего, этап представления математической модели для компьютера. Среди них лидирующее положение для технических систем занимают пакеты Matlab и Simulink фирмы Math Work.
Matlab имеет собственный язык программирования более высокого уровня, чем перечисленные ранее. Однако разработчики пакета пошли дальше. Был создан пакет Simulink для исследования и проектирования динамических систем, который, по сути, является очень удобным интерфейсом для пользователей — специалистов в области теории управления. Продемонстрируем сказанное примером.
Пример 1. Динамическая система описывается дифференциальным уравнением четвертого порядка
где x — выходной сигнал, u — входной сигнал.
Для решения уравнения (1) в пакете Matlab его необходимо представить в нормальной форме Коши
Рассмотрим расчет переходного процесса в системе со следующими данными:
Процедура интегрирования системы дифференциальных уравнений (2) включает создание специальной функции, в которой задаются начальные условия и выводятся результаты и создание подфункции, в которой вычисляются правые части уравнения (2). Программа решения представлена листингом 1.
Результат выполнения программы показан на рис. 1, где построены зависимости выходной координаты системы и ее производной от времени (четвертая строчка программы).
Дифференциальному уравнению (1) в пакете Simulink соответствует операторная передаточная функция (блок Transfer Fn), пиктограмма и окно настройки параметров которой представлены на рис. 2.
Если на вход этого блока подключить входной порт Input из библиотеки Source, а на выход подключить выходной порт Output из библиотеки Sink, то можно исследовать динамические характеристики в системе, используя пакет расширения Control System Toolbox [8]. В качестве таких характеристик на рис. 3 представлены переходная и амплитудно-частотная характеристики рассматриваемого динамического объекта.
Специалисту в области теории управления гораздо удобней иметь дело с передаточной функцией, при этом ему совершенно не требуется глубоко изучать язык Matlab. Блок Transfer Fn пакета Simulink связан с основным ядром пакета Matlab, где написаны и встроены соответствующие программы.
Дальнейшее совершенствование возможностей среды Matlab – Simulink связано с разработкой так называемых программ расширения (Toolboxes – Blocksets).
Библиотеки Blocksets пакета Simulink в большинстве случаев представляют собой маскированные блоки этого пакета. Маскированные блоки пакетов расширения, интегрируя в себе несколько блоков пакета Simulink, еще в большей степени упрощают работу специалиста.
Создание маскированных (виртуальных) блоков
Маскированные (виртуальные) блоки особенно полезны при реализации виртуальных лабораторий для дистанционного обучения. Эти лаборатории создаются путем маскирования моделей пакета Simulink, из них легко формируются отдельные (специализированные) библиотеки.
Пример 2. Рассмотрим способ создания виртуального ПИД-регулятора с реальным дифференцирующим звеном, реализованного методом прямого программирования.
Представим передаточную функцию ПИД-регулятора с реальным дифференцирующим звеном в виде
kP, kI, kD — коэффициенты передачи пропорционального, интегрального и дифференциального звеньев соответственно, TD — постоянная времени апериодической части дифференцирующего звена. Из уравнения (3) получим:
По уравнениям (4) на рис. 4 построена модель ПИД-регулятора с реальным дифференцирующим звеном в пакете Simulink.
Коэффициенты передачи блоков в модели вычисляются по выражениям (3) при задании четырех основных параметров регулятора kP, kI, kD и TD.
Маскирование модели осуществляется в определенной последовательности:
- Заключаем всю модель в рамку, удерживая левую кнопку мыши.
- В поле Edit основного меню выбираем опцию Create Subsystem, при этом схема модели примет вид одного блока Subsystem.
- Отметим этот блок и в поле Edit основного меню выберем опцию Mask Subsystem — при этом открывается редактор маски.
Редактор маски содержит четыре основные вкладки (Icon, Parameter, Initialization, Documentation), позволяющие задать все свойства маскированной системы. В нижней части окна редактора расположены четыре кнопки OK, Cancel, Help, Apply, которые являются общепринятыми для всех блоков пакета Simulink, а также кнопка Unmask, позволяющая демаскировать модель.
Окно редактора при нажатой кнопке Icon показано на рис. 5. В этом случае создается внешний вид маскируемой подсистемы. На панели Icon option имеются четыре разворачивающихся списка — Frame, Transparency, Rotation, Units, которые позволяют установить способ представления иконки маскируемого блока. В таблице 1 представлены способы представления иконки блока.
На панели Drawing commands вводятся команды графического представления текста, графика или рисунка, отображаемого на иконке. В примере на рис. 5 введена команда на языке Matlab, помещающая текст PID-control в центр иконки.
Вид окна редактора при активной вкладке Parameters показан на рис. 6. В этом окне задаются параметры маскируемого блока. В левой части окна помещены кнопки, позволяющие добавлять, убирать и перемещать параметр. На панели Dialog parameters имеются четыре поля: Prompt, Variable, Type, Evaluate, Tunable. Поле Prompt (пояснение) служит для ввода названия параметра. В это поле введены названия основных параметров ПИД-регулятора (уравнение 3). В поле Variable (переменная) задаются обозначения параметров, под которыми они записываются в рабочую область (Mask Workspace) маскированной системы.
В поле Type в выпадающем списке устанавливается способ задания для каждого параметра:
- Edit — с помощью строки редактирования;
- Checkbox — c помощью переключателя;
- Popup — с помощью разворачивающегося меню.
При выборе разворачивающегося меню становится доступным поле Popups (one per line), куда вводятся значения соответствующего параметра. Для того чтобы видеть и редактировать параметры маскированного блока, в окнах Show parameter, Enable parameter необходимо проставить галочки.
В поле Dialog callback помещаются команды MATLAB, которые выполняются при открытии блока.
Вид окна редактора с активной вкладкой Initialization показан на рис. 7. При открытии этого окна в поле Dialog variables высвечиваются обозначения параметров, заданных на предыдущей вкладке Variable.
Область ввода Initialization commands (Команды инициализации) является аналогом командного окна MATLAB, область действия которого ограничена рабочей областью маскированной системы. В эту область помещаются операторы и M-функции, которые загружаются в рабочую область маскированной системы при закрытии окна редактора маски.
Вид окна редактора с активной вкладкой Documentation показан на рис. 8. В полях этого окна вводятся комментарии, которые помогают пользователю работать с маскированным блоком. В поле Mask type вводится название блока. В поле Mask description вводится краткий поясняющий текст. В поле Mask help вводится текст, который появляется при переходе на вкладку Help в окне параметров блока.
После задания всех параметров маскированной системы ее пиктограмма и окно настройки параметров принимают вид, показанный на рис. 9.
Создание имитационных лабораторных стендов (GUI)
Пакет Matlab предоставляет разработчику чрезвычайно удобные графические средства для создания графических интерфейсов пользователя — GUI (Graphical User Interface). Назначение разрабатываемых GUI может быть самым различным. В частности, эти GUI могут выполнять функции имитационных лабораторных стендов, предназначенных для изучения различных технических устройств и, в частности, устройств силовой электроники. Подробное описание вопросов проектирования GUI читатель найдет в руководстве [1].
Далее представлен результат проектирования имитационного лабораторного стенда, предназначенного для изучения и исследования широтно-импульсного преобразователя (ШИП).
Предварительно коротко рассмотрим принципы построения и физические основы работы широтно-импульсного преобразователя.
Одноплечевой ШИП с симметричным законом управления
Широтно-импульсные преобразователи (ШИП) используются, как правило, в системах постоянного тока. По построению ШИП можно разделить на одноплечевые и мостовые (двухплечевые). Питание первых осуществляется от источника со средней точкой.
Для управления ШИП используются в основном три способа (алгоритма) переключения полупроводниковых ключей:
- cимметричный;
- несимметричный;
- поочередный.
Два последних способа используются в мостовых ШИП.
Схема одноплечевого транзисторного ШИП представлена на рис. 10а.
При симметричном способе управления транзисторы плеча переключаются в противофазе (рис. 10г).
Рассмотрим последовательность образования коммутационных интервалов и электромагнитные процессы в ШИП при симметричном управлении для общего случая R, L нагрузки с противо-ЭДС. При включении верхнего по схеме транзистора VT1 и выключении нижнего VT2 образуется цепь +Un, VT1, R, L, E, –Un (рис. 10б) для протекания тока нагрузки. К нагрузке в этом интервале прикладывается напряжение питания Ud/2, а ток увеличивается от минимального значения Imin до максимального Imax (рис. 10г). Напряжение на транзисторе VT1 на этом интервале равно нулю, а ток равен току нагрузки.
На транзисторе VT2 напряжение равно Ud, это напряжение является отрицательным для диода D2, и ток через него равен нулю. При включении нижнего по схеме транзистора VT2 и выключении верхнего VT1 ток, поддерживаемый индуктивностью нагрузки, продолжает протекать в том же направлении. При этом образуется цепь, показанная на рис. 10в, в которой ток нагрузки протекает навстречу ЭДС. Е и источнику питания. На этом интервале напряжение на нагрузке изменяет знак, а ток уменьшается (рис. 10г).
К транзистору VT1 прикладывается напряжение Ud, D2 открыт, напряжение на нем равно нулю, а ток равен току нагрузки (рис. 10в).
Если к началу рассматриваемого интервала в индуктивности нагрузки накоплена достаточная энергия, то такое состояние цепи сохраняется до очередного переключения транзисторов плеча. Если эта энергия недостаточна, то ток может упасть до нуля, а затем изменить направление под действием напряжения Ud/2 и ЭДС. В этом случае он переходит с диода D2 на транзистор VT2.
Поскольку диод и транзистор во включенном состоянии считаются идеально замкнутыми ключами, то на анализе электромагнитных процессов переход тока с диода на транзистор не сказывается. При этом реализуется два состояния силовой части ШИП: одно — когда VT1 включен, а VT2 выключен; второе — когда VT1 выключен, а VT2 включен. Длительности этих состояний соответственно равны γT и (1 – γ) T, где γ — относительная длительность первого состояния, изменяющаяся от 0 до 1 в зависимости от величины сигнала управления.
Поэтому можно считать, что в схеме на периоде образуются два коммутационных интервала, схемы замещения на которых показаны на рис. 10б, в. При симметричном законе формируется знакопеременное напряжение на нагрузке, а среднее значение этого напряжения определяется из выражения:
Оно равно нулю при γ0 = 0,5, при γ > 0,5 среднее напряжение на нагрузке положительное, при γ < 0,5 — отрицательное.
Мостовой широтно-импульсный преобразователь
Принципиальная схема мостового ШИП представлена на рис. 11а. Она содержит четыре транзисторных ключа VT1–VT4 с обратными диодами D1–D4. В диагональ моста, образованного транзисторными ключами, включена нагрузка.
Питание ШИП осуществляется от источника постоянного тока.
При симметричном способе управления в состоянии переключения находятся все четыре транзисторных ключа моста, а напряжение на выходе ШИП представляет собой знакопеременные импульсы, длительность которых регулируется входным сигналом.
Временные диаграммы ШИП при симметричном способе управления приведены на рис. 11б. По сравнению с рассмотренной выше одноплечевой схемой здесь нет никаких особенностей.
Симметричный способ управления обычно используется в маломощных приводах постоянного тока. Его преимуществом является простота реализации и отсутствие зоны нечувствительности в регулировочной характеристике. Недостатком ШИП с симметричным управлением является двуполярное напряжение на нагрузке и, в связи с этим, повышенные пульсации тока в нагрузке.
Стремление исключить этот недостаток привело к разработке способов, обеспечивающих однополярное напряжение на выходе ШИП. Простейшим из них является несимметричный.
Электромагнитные процессы в ШИП при несимметричном управлении представлены на рис. 12а. В этом случае переключаются транзисторные ключи фазной группы VT3 и VT4 (ключи VT1 и VT2 при противоположной полярности входного сигнала), транзисторный ключ VT1 постоянно открыт и насыщен, а ключ VT2 постоянно закрыт.
Транзисторные ключи VT3 и VT4 переключаются в противофазе.
При этом на выходе ШИП формируются однополярные импульсы и среднее напряжение на выходе равно нулю, когда относительная продолжительность включения одного из нижних по схеме транзисторов γ0 = 0.
Недостатком рассмотренного способа управления является то, что верхние по схеме транзисторные ключи (VT1, VT3) по току загружены больше, чем нижние. Этот недостаток устраняется при поочередном управлении, временные диаграммы которого изображены на рис. 12б.
Здесь при любом знаке входного сигнала в состоянии переключения находятся все четыре транзисторных ключа моста, при этом частота переключения каждого из них в два раза меньше частоты напряжения на выходе. Управляющие напряжения транзисторных ключей одной фазы моста VT1, VT2 и VT3, VT4 постоянно находятся в противофазе; при этом ключи переключаются через период выходного напряжения Т. Этим достигаются одинаковые условия работы полупроводниковых приборов в мостовой схеме.
При некотором знаке входного сигнала управляющие импульсы u1, u4 длительностью t1 = (1 + γ) T подаются на диагонально расположенные транзисторные ключи (рис. 12б) со сдвигом на полпериода, а управляющие импульсы u2, u3 длительностью t2 = (1 – γ) T, также со сдвигом на полпериода, подаются на транзисторы противоположной диагонали (VT2, VT3). В этом случае на интервале γT нагрузка подключена к источнику питания с помощью диагонально расположенных ключей, а на интервале (1 – γ) Т нагрузка закорочена с помощью верхних или нижних транзисторных ключей. При изменении знака входного сигнала порядок управления диагональными ключами изменяется на противоположный. При несимметричном и поочередном управлении на нагрузке формируются однополярные импульсы длительностью γТ, пропорциональной сигналу на входе, среднее значение напряжения на нагрузке определяется из выражения:
Процесс создания имитационного стенда разделяется на два этапа — проектирование и реализация.
На этапе проектирования разработчик стенда должен четко представить себе конечную задачу, которую должен выполнять разработанный лабораторный стенд.
На втором этапе, по сути, осуществляется программная реализация проекта. Вся разработка является процессом итерационным, поскольку общая концепция проекта влияет на программную реализацию, а практическое программирование часто может подсказать новые, интересные решения в самом проекте.
Базой для расчета и построения характеристик исследуемого устройства являются Simulink-модели, данные для которых задает пользователь в главном окне GUI. Программы, реализующие GUI, собирают эти данные, передают их соответствующим Simulink-моделям, запускают эти модели и представляют результаты моделирования.
Проект главного окна GUI для исследования транзисторного ШИП представлен на рис. 13.
Все исходные данные исследуемого устройства и все полученные при исследовании характеристики доступны для пользователя в главном окне GUI, создавая впечатление реальной лабораторной установки.
Главное окно содержит несколько блоков, каждый из которых выполняет определенную функцию по собиранию данных, вводимых пользователем, или по представлению результатов моделирования.
Первый блок (верхний слева) позволяет задать параметры генератора пилообразного напряжения несущей частоты. Здесь в раскрывающемся списке задается и отражается форма пилообразного напряжения.
В поле «Частота ГПН» задается частота генератора в Герцах.
Три последующие блока содержат поля, в которые вводятся:
- напряжение на входе;
- противо-ЭДС нагрузки;
- параметры (R, L, T) нагрузки.
В шестом блоке (верхний справа) из разворачивающегося списка выбирается схема ШИП мостовая или полумостовая (одноплечевая). Эта схема отражается в графическом поле блока. Далее задается напряжение питания ШИП.
Последний блок содержит кнопки, открывающие соответствующие графические окна, в которых учащийся может наблюдать электромагнитные процессы и характеристики.
На рис. 14 показаны основные файлы директории, содержащей весь проект.
Как следует из рис. 14, GUI содержит mdl-файлы (Simulink-модели), графические bmp-файлы и m-файлы. Simulink-модели предназначены для получения квазиустановившихся процессов и статических характеристик. Подробное описание получения этих характеристик было представлено ранее [3]. В графических файлах содержатся рисунки, которые выводятся в два верхних блока GUI (рис. 13). Внешний вид GUI и взаимодействие между всеми файлами проекта описаны в m-файлах.
Главный блок проекта, представленный листингом 1, определяет тип переменных, размер главного графического окна и размещение основных панелей в этом окне.
М-файлы `pr1ґ – `pr6ґ инициализируют отдельные панели. В результате в программу вводятся задаваемые пользователем данные и запускаются функции обратного вызова (callback-функции).
Далее, в листинге 2, представлен код m-функции `pr1ґ, отвечающей за панель ввода параметров нагрузки.
В строках 23 и 40 записана функция обратного вызова `pr1_callbackґ. Код этой функции приведен в листинге 3.
Инициализация остальных панелей и их функции обратного вызова программируются аналогично.
Программа m-файла `prBґ (листинг 4) обеспечивает запуск Simulink-моделей и построение соответствующих характеристик с использованием функций обратных вызовов.
Программа позволяет построить следующие квазиустановившиеся процессы и характеристики:
- Сигналы управления (функция `prB1_callbackґ).
- Электромагнитные процессы (функция `prB2_callbackґ).
- Регулировочная характеристика (функция `prB3_callbackґ).
- Нагрузочная (внешняя) характеристика (функция `prB4_callbackґ).
- Энергетические характеристики (функция `prB5_callbackґ).
- Спектральная характеристика выходного напряжения, функция `prB6_callbackґ.
Способ построения перечисленных процессов и характеристик рассмотрим на примере построения квазиустановившихся процессов управления ШИП, который демонстрирует m-файл, представленный в листинге 5.
Обратим внимание, что в строке 12 записано построение трех характеристик:
- напряжение генератора пилообразного напряжения (ГПН) (цвет красный);
- напряжение управления транзистором (цвет голубой);
- сигнал управления (цвет зеленый).
Сигналы управления на входе и электромагнитные процессы на выходе ШИП, а также основные электромагнитные и энергетические характеристики ШИП, полученные на имитационном лабораторном стенде, представлены на рис. 15, 16.
Реализация GUI в среде Matlab–Simulink может осуществляться с использованием инструментального средства GUIDE, значительно облегчающего разработку проекта [1].
Заключение
Маскированные (виртуальные) блоки и имитационные лабораторные стенды (графические интерфейсы пользователя) разрабатываются для того, чтобы пользователь, не искушенный в вопросах программирования, мог в конкретной технической области провести модельный эксперимент, задав понятные ему параметры технического устройства. Такие модели выполняют роль лабораторного стенда, который позволяет задавать и исследовать любые режимы и характеристики. Эти стенды, разработанные в среде Matlab–Simulink, позволяют реализовать сетевые версии и, тем самым, обеспечить дистанционное исследование различных технических устройств, в том числе, устройств силовой электроники.
- Ануфриев И., Смирнов А., Смирнова Е. MATLAB 7. Наиболее полное руководство. СПб: БХВ-Петербург, 2005.
- Герман-Галкин С. Г. Школа MATLAB. Урок 6. Программные и инструментальные средства представления результатов моделирования // Силовая электроника. 2007. № 4.
- Герман-Галкин С. Г. Школа MATLAB. Урок 7. Модельное исследование основных характеристик силовых полупроводниковых преобразователей // Силовая электроника. 2008. № 1.
- Худяков В. Школа MATLAB. Урок 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.