- •Введение
- •1. Библиотека блоков SimPowerSystems
- •1.1 Состав библиотеки и основные особенности
- •2. Powergui - графический интерфейс пользователя пакета моделирования энергетических систем.
- •3. Повышение скорости и точности расчетов
- •4. Создание электротехнических блоков пользователя
- •4.1 Принцип создания электротехнических блоков пользователя
- •4.1 Модель нелинейного резистора
- •4.2 Модель насыщающегося реактора
- •4.3 Модель двигателя постоянного тока с независимым возбуждением
- •5. Библиотека Simulink-прототипов электротехнических блоков.
- •6. Основные команды Matlab для управления sps-моделью.
- •7. Как SimPowerSystems работает.
- •7.1 Алгоритм расчета SimPowerSystem-модели
- •7.2 Выбор метода интегрирования
- •7.3 Особенности моделирования схем силовой электроники
- •Советы пользователям SimPowerSystems от ведущего раздела
- •3. Модернизация блока Fourier
7.3 Особенности моделирования схем силовой электроники
Для моделирования устройств силовой электроники используются два метода:
Если внутренне сопротивление ключа имеет только активный характер (Ron > 0), а внутренняя индуктивность отсутствует (Lon = 0), то модель ключа рассматривается как часть линейной схемы. В процессе расчета, при изменении состояния ключей производится пересмотр топологии схемы и переопределение ее модели пространства-состояния. Этот метод всегда используется при наличии в схеме блоков Breaker и Ideal Switch, поскольку они не имеют внутренней индуктивности. Этот метод применяется также для блоков Diode и Thyristor, если для них задано Ron > 0 и Lon = 0, а также для блока Universal Bridge в том случае, если в качестве приборов моста выбраны GTO, MOSFET, IGBT или Ideal Switches (для этих устройств в составе моста - Lon = 0).
Если ключ содержит индуктивность (Diode и Thyristor с Lon > 0, IGBT, MOSFET или GTO), то он моделируется как нелинейный элемент на базе источника тока в цепи обратной связи линейной схемы, как показано на рис. 7.2.
Пример:
Для многих задач внутреннюю индуктивность ключей можно задать равной нулю. Однако, для ряда задач необходимо задавать ненулевое значение индуктивности. На рис. 7.3 показана схема трехфазного тиристорного преобразователя работающего на активно-индуктивную нагрузку. Если индуктивность Lon = 0, то в процессе коммутации, который происходит квазимгновенно, два тиристора моста шунтируют источник питания. Ток в таком контуре ограничивается только активными сопротивлениями самих тиристоров и сопротивлением источника. Поскольку эти сопротивления весьма малы (Ron = 0.01 Ом), ток в короткозамкнутом контуре достигает очень больших значений (более 7 кА).
Рис. 7.3
Для исключения этого явления следует задавать конечное значение Lon. На рис. 7.4 показаны осциллограммы для той же самой схемы, но при Lon = 1 мкГн. Как видно из осциллограмм броски тока отсутствуют.
Рис. 7.4
Советы пользователям SimPowerSystems от ведущего раздела
1. RLC "по-русски"
Условные графические обозначения элементов на пиктограммах блоков в библиотеке SimPowerSystems не полностью соответствуют принятым в России. Это существенно затрудняет восприятие и анализ моделей. Особенно сильно отличается от принятого в России изображение резистора. Также имеются отличия в изображениях индуктивности, конденсатора и других элементов. Однако пользователь может сам достаточно легко изменить пиктограмму блока. Это возможно, поскольку графическая часть пиктограммы создается с помощью обычной команды plot пакета MATLAB, а векторы, использующиеся в качестве аргументов этой функции, хранятся в файле blocicon.m (папка …MATLAB6p5\toolbox\powersys\powersys\private). Для того, чтобы изменить график необходимо просто заменить значения соответствующих векторов новыми. Ниже приводится фрагмент файла blocicon.m с новыми значениями векторов, обеспечивающих построение условного изображения последовательной RLC-цепи (строки 31-38 и 144-151 для версии MATLAB 6.5):
rx=[0 30 30 120 120 150 120 120 30 30]; ;
ry=[0 0 -14 -14 0 0 0 14 14 0 ];
lx = [0 25 25 25.15 25.45 26.1 26.8 28 29 30.5 32 33.5 35.5 37.5 39.5
41.5 43 44.5 46 47.1 48.2 49 49.45 49.85 50 50 50.15 50.45 51.1 51.8
53 54 55.5 57 58.5 60.5 62.5 64.5 66.5 68 69.5 71 72.1 73.2 74 74.45
74.85 75 75 75.15 75.45 76.1 76.8 78 79 80.5 82 83.5 85.5 87.5 89.5
91.5 93 94.5 96 97.1 98.2 99 99.45 99.85 100 100 100.2 100.5 101.1
101.8 103 104 105.5 107 108.5 110.5 112.5 114.5 116.5 118 119.5 121
122.1 123.2 124 124.5 124.8 125 125 150];
ly = [0 0 0 1.93 3.32 5.13 6.46 8.12 9.17 10.4 11.2 11.8 12.3 12.5 12.3 11.8
11.2 10.4 9.17 8.01 6.46 4.9 3.67 1.93 0 0 1.93 3.32 5.13 6.46 8.12
9.17 10.4 11.2 11.8 12.3 12.5 12.3 11.8 11.2 10.4 9.17 8.01 6.46 4.9
3.67 1.93 0 0 1.93 3.32 5.13 6.46 8.12 9.17 10.4 11.2 11.8 12.3 12.5
12.3 11.8 11.2 10.4 9.17 8.01 6.46 4.9 3.67 1.93 0 0 1.93 3.32 5.13
6.46 8.12 9.17 10.4 11.2 11.8 12.3 12.5 12.3 11.8 11.2 10.4 9.17 8.01
6.46 4.9 3.67 1.93 0 0 0];
cx1 = [0 60 60 60];
cy1 = [0 0 -25 25];
cx2 = [90 90 90 150];
cy2 = [25 -25 0 0];
На рис. 1 показаны старое и новое изображение пиктограммы блока Series RLC Branch.
Для того, чтобы изменить изображение резистора и индуктивности на пиктограммах трехфазных источников напряжения необходимо изменить строки 595 - 599 этого же файла:
resistor_x =[0 30 30 120 120 150 120 120 30 30];
resistor_y =[0 0 -14 -14 0 0 0 14 14 0 ];
inductor_x =[0 25 25 25.15 25.45 26.1 26.8 28 29 30.5 32 33.5 35.5 37.5 39.5
41.5 43 44.5 46 47.1 48.2 49 49.45 49.85 50 50 50.15 50.45 51.1
51.8 53 54 55.5 57 58.5 60.5 62.5 64.5 66.5 68 69.5 71 72.1 73.2
74 74.45 74.85 75 75 75.15 75.45 76.1 76.8 78 79 80.5 82 83.5 85.5
87.5 89.5 91.5 93 94.5 96 97.1 98.2 99 99.45 99.85 100 100 100.2
100.5 101.1 101.8 103 104 105.5 107 108.5 110.5 112.5 114.5 116.5
118 119.5 121
122.1 123.2 124 124.5 124.8 125 125 150];
inductor_y =[0 0 0 1.93 3.32 5.13 6.46 8.12 9.17 10.4 11.2 11.8 12.3 12.5 12.3
11.8 11.2 10.4 9.17 8.01 6.46 4.9 3.67 1.93 0 0 1.93 3.32 5.13 6.46
8.12 9.17 10.4 11.2 11.8 12.3 12.5 12.3 11.8 11.2 10.4 9.17 8.01
6.46 4.9 3.67 1.93 0 0 1.93 3.32 5.13 6.46 8.12 9.17 10.4 11.2 11.8
12.3 12.5 12.3 11.8 11.2 10.4 9.17 8.01 6.46 4.9 3.67 1.93 0 0 1.93
3.32 5.13 6.46 8.12 9.17 10.4 11.2 11.8 12.3 12.5 12.3 11.8 11.2
10.4 9.17 8.01 6.46 4.9 3.67 1.93 0 0 0];
Скачать пример (Rlc_icon.zip)
2. Задание начальных условий расчета
При выполнении расчета электрической схемы начинающий пользователь может получить довольно неожиданный результат, обусловленный не заданными специально начальными условиями. Дело в том, что перед началом расчета Simulink выполняет расчет установившегося режима и результаты этого расчета принимает в качестве начальных условий для расчета на заданном интервале времени. На рис. 2 показана схема в которой источник постоянного напряжения подключен к активно индуктивной нагрузке. Как видно из графика, величина тока равна 100 А и не меняется на всем протяжении расчета, что не соответствует представлениям о переходных процессах в цепях содержащих реактивные элементы.
Рис. 2
Скачать пример (init_conditions_1.zip)
Для того, чтобы принудительно задать нулевые начальные условия требуется установить на схему блок Powergui, открыть его (рис. 3), а также нажать кнопку Initial State Setting (Установка начальных состояний).
Рис. 3
В результате на экран компьютера будет выведено окно установки начальных состояний модели, в котором требуется нажать кнопку to zero для установки нулевых начальных условий (рис. 4).
Рис. 4
Таким образом начальные значения переменных модели будут установлены равными равны нулю. Схема модели с блоком Powergui и график тока при нулевых начальных условиях показан на рис. 5.
Рис. 5
Скачать пример (init_conditions_1.zip)
Для установки нулевых начальных условий можно также воспользоваться функцией powerinit:
powerinit('My_model','reset'),
где
My_model - имя файла модели.