Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

A7TZrRHEJI

.pdf
Скачиваний:
1
Добавлен:
13.02.2021
Размер:
704.16 Кб
Скачать

На рис. 4.2 показаны результаты работы программы анализа (сигналы управляемого выпрямителя и их обозначения для исходных данных):

U, B; I, A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ток нагрузки, А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ток фазы А

Ток фазы В

Ток фазы С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Интервал перекрытия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

γ

 

 

 

 

 

 

 

ЭДС фазы А

 

ЭДС фазы В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЭДС фазы С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

№ шага

50

 

 

100

 

 

 

150

 

 

200

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L = 0.01;

% Индуктивность фазы, Гн

 

 

 

 

 

 

 

 

 

Ld = 0.05;

% Индуктивность нагрузки, Гн

 

 

 

 

 

 

 

 

 

R = 2;

% Сопротивление нагрузки (активное), Ом

f = 50;

% Частота питающей сети, Гц

 

 

 

 

 

 

 

 

 

w = 2*pi*f;

% Частота питающей сети, 1/с

 

 

 

 

 

 

 

 

 

Um = 220*sqrt(2)/sqrt(3);

% Амплитуда вторичного напряжения при х.х., В

alpha = 10;

% Угол регулирования (градусы)

 

 

 

 

 

 

 

Текст программы с комментариями в Приложении.

11

5.ОПТИМИЗАЦИЯ ПАРАМЕТРОВ ДИНАМИЧЕСКИХ ЗВЕНЬЕВ

СПРИМЕНЕНИЕМ ПАКЕТА NCD (THE NONLINEAR CONTROL DESIGN BLOCKSET), ВХОДЯЩЕГО В ПАКЕТ SIMULINK

СИСТЕМЫ MATLAB

5.1. Описание пакета NCD

Пакет NCD представляет графический интерфейс пользователя (Graphical User Interface – GUI) проектирования динамических систем во временной области.

С помощью NCD пакета можно найти оптимальные параметры настройки для нелинейной модели системы в SIMULINK, которые обеспечат требуемый переходной процесс по заданным графически ограничениям в окне временной области. Любое число переменных SIMULINK, включая скалярные, векторные и матричные величины, могут быть объявлены настраиваемыми или оптимизируемыми.

Для этого надо ввести имена переменных в соответствующем диалоговом боксе. Границы неопределенности можно задать для любых переменных.

Пакет NCD делает процесс достижения требуемого переходного процесса и оптимизации настраиваемых параметров интуитивным и легким.

Для использования пакета NCD необходимо лишь включить в схему модели SIMULINK специальный NCD блок.

В зависимости от версии MATLAB, он называется Output Constraint, Signal Constraint, NCD Constraint.

Для этого блок соединяют с требуемым сигналом модели, чтобы определить параметры сигнала и ограничения во временной области.

Пакет NCD автоматически преобразует ограничения во временной области в ограничения задачи оптимизации параметров системы, а затем решит задачу, используя алгоритмы и процедуры, заложенные в пакете Optimization.

Задача оптимизации переменных с учетом наложенных ограничений, сформулированная в NCD-пакете, последовательно вызывает симуляцию работы модели системы в SIMULINK, сравнивает полученные результаты с заданными ограничениями переходного процесса и, используя градиентный метод, изменяет настраиваемые параметры для достижения заданной формы процесса.

Пакет NCD позволяет вводить неопределенность в задание динамических параметров объекта управления, проводить симуляцию методом Монте

12

Карло, задавать верхние и нижние границы настраиваемых переменных и изменять критерий достижения цели.

Ход процесса оптимизации можно видеть в графическом окне задания ограничений прямо при выполнении симуляции. По окончанию процесса результаты можно просмотреть в рабочем окне MATLAB. Промежуточные результаты выводятся там после каждого шага симуляции. Оптимизацию параметров можно прервать до ее окончания с целью вывода промежуточных результатов или изменения модели.

Примечание. При использовании блока NCD, например, Output Constraint, применяются последовательные приближения, т. е., если реакция не полностью соответствует заданной, но близка к ней, следует повторить процесс оптимизации.

Параметры предшествующего процесса сохраняются, исходя из них алгоритм может найти более точное решение с минимальными затратами времени и ресурса памяти.

5.2. Настройки блока оптимизации

Настройки осуществляются посредством графического интерфейса оптимизации реакции. Пример: блок Output Constraint (рис. 5.1).

Опция Tuned Parameters позволяет создать список параметров, выбранных пользователем в качестве плана оптимизации модели и задать допустимый диапазон их изменения.

Переменные с соответствующими именами должны присутствовать в модели, а их начальные значения – в рабочем поле workspaсe системы Matlab.

Пункт меню Uncertain Parameters («сомнительные параметры») вызывает список параметров настройки и определяет метод оптимизации при введении в модель неопределенности. Обычно не требуют редактирования и используются по умолчанию.

Goals – формулирование задачи.

Прочие опции можно найти в справочной системе help.

13

Рис. 5.1

ЗАКЛЮЧЕНИЕ

В учебном пособии представлены математические методы и программные средства анализа и проектирования нелинейных и нестационапных динамических систем.

Учебное пособие может быть использовано при обучении магистрантов, а также в работе специалистов по разработке ЭТК.

На кафедре эдектротехнологической и преобазовательной техники (ЭТПТ) СПбГЭТУ «ЛЭТИ» разработан и включен в учебный процесс лабораторный практикум по данной дисциплине в объеме 108 часов.

В практикум включены примеры, тексты программ, задания для самостоятельной работы магистрантов.

14

Список литературы

1. Васильев А. С. Передаточные функции вентильных преобразователей в системах электропитания при малых возмущениях / А. С. Васильев, П. А. Кошелев // Электричество. – 1985. – № 1.

2.Худяков В. Ф., Хабузов В. А. Моделирование источников вторичного электропитания в среде MATLAB.X: учеб. пособие / Ред.-изд. центр ГУАП.

СПб., 2008.

3.Кошелев П. А., Парамонов С. В., Пшенкин С. Н. Автоматизированное оптимальное проектирование системы управления источником питания для плазменной резки в программах на языке MATLAB // Официальное электронное издание Трудов II Всерос. науч. конф. «Проектирование научных и инженерных приложений в среде MATLAB», (ISBN 5-201-14971- 5). М., 25–26 мая 2004. М.: Изд-во Ин-та проблем управления им. В. А. Трапезникова РАН. С. 988–999.

4.Nelder J. A., Miad R. A Simplex Method for Function Minimisation // The Comp Journal. – № 7. – 1985.– P. 308–313.

5.Герман-Галкин С. Г. Компьютерное моделирование полупроводниковых систем в MATLAB 6.0: учеб. пособие. – СПб.: КОРОНА принт., 2001.

6.Электронные ресурсы.

http://eelib.narod.ru/toe/Novg_2.01/29/Ct29

http://pers.narod.ru/study/methods/05.html

15

ПРИЛОЖЕНИЕ

%3-фазный выпрямитель с учетом коммутации (мостовая схема)

%Вычисление токов последовательное, в зависимости от интервала

%коммутации

%Используется операторное исчисление и метод припасовывания

%Произвольное число периодов N (в т. ч. дробное)

%Основные переменные снабжены комментариями

%-------------------Исходные данные-----------------------

clear,hold off,grid off

 

 

L=0.01;

% Индуктивность фазы, Гн

Ld=0.05;

% Индуктивность нагрузки, Гн

R=2;

% Сопротивлениенагрузки(активное), Ом

f=50;

% Частота питающей сети, Гц

w=2*pi*f;

% Частота питающей сети, 1/с

Um=220*sqrt(2)/sqrt(3);

% Амплитуда вторичного напряжения

alpha=10;

% Угол регулирования (градусы)

%

Начальные условия

i10=0; i20=0; i30=0; i40=0; i50=0; i60=0; rl=0; rm=10000;

r1a=rm; r1b=rm; r1c=rm; r2a=rm; r2c=rm; r2b=rm;

N=2;

% Общее число исследуемых периодов

n=1;

 

 

T=N/f; S=250; dt=T/S;

% Интервал, кол-во шагов и размер шага

ds=S;

 

 

s=1;

 

 

tal=alpha*pi/180/w;

 

 

i1=[]; i2=[]; i3=[]; i4=[]; i5=[]; i6=[];

% Заготовка «пустых» матриц

a=-2*Um/rm;

% Максимальный обратный ток вентиля, А

z11=ceil(pi/6/w/dt);

 

 

per=floor(2*pi/w/dt);

 

 

pf=per;

 

 

ta=ceil(alpha*pi/180/w/dt);

% Время задержки включения вентиля, с

z11=floor(pi/6/w/dt);

 

 

zz=floor(pi/3/w/dt);

ss1=1;

ss2=floor(pi/3/w/dt);

16

ss3=floor(2*pi/3/w/dt);

ss4=floor(3*pi/3/w/dt);

ss5=floor(4*pi/3/w/dt); ss6=floor(5*pi/3/w/dt); ss66=ss6; ss7=floor(6*pi/3/w/dt); ss77=ss7;

NN=0;MM=0;N=0;

 

while s<=S;

% Начало цикла по номеру периода

%Блок имитации воздействий

%Взависимостиотномерашагаможноизменятьсопротивлениена

%грузки,

%любой параметр схемы, имитировать аварийные режимы, перекос

%фаз и пр.

%____________________________________________________________

%if ((s>100)&(s<150))|((s>300)&(s<400)); R=1; else R=10; end

%if s>125; R=1; end

%if s>=250; R=1; end

if (s>100); r1a=rl; end if (s>120); r1a=rm; end

%_____________________________________________________________

if s==per; ss1=ss1+pf-1; ss2=ss2+pf-1; ss3=ss3+pf-1; ss4=ss4+pf-1; ss5=ss5+pf-1; ss6=ss6+pf-1; ss7=ss7+pf-1; end

if s==per+zz; ss66=ss66+pf; ss77=ss77+pf; per=per+pf; ds=S;

end RR(1,s)=R;

% Напряжения фаз

17

ea=Um*sin(w*(s-1+z11+ta)*dt); eb=Um*sin(w*(s-1+z11+ta)*dt-2*pi/3); ec=Um*sin(w*(s-1+z11+ta)*dt-4*pi/3); Ea(s,1)=ea; Eb(s,1)=eb; Ec(s,1)=ec; t=linspace((s-1)*dt,s*dt,2); % Вектор времени %-----------------------------------------------------

%Операторные изображения токов вентилей на интервалах коммута %ции

%с учетом начальных условий. numi -числитель, deni -знаменатель. if (s <= ss2)|(s>=ss1);N=2; % 1-й интервал

%numi1 i1 – i6 ni12=L*(L*(5*i10-3*(i30-i40+i50))+Ld*(4*i10+2*i20-i30+3*i40)); ni11=(L*(R*(3*i10+i20-2*i30+2*i40-i50-i60)+2*ea-eb- ec+i10*(2*r1c+3*r2b)+...

i20*(r2b-r1c)-i30*(r1c+2*r2b)+i40*(r1c+2*r2b)-i50*(2*r1c+r2b)+i60*(r1c- r2b))+Ld*(ea-ec+r1c*(i10+i20+i30+i40+i50+i60))); ni10=R*(ea-ec)+ea*(r1c+r2b)-eb*r1c-ec*r2b;

%"deni1"

di13=L*(3*L+2*Ld);

di12=(2*L*(R+r1a+r1c+r2b)+Ld*(r1a+r1c));

di11=(R*(r1a+r1c)+r1a*(r1c+r2b)+r1c*r2b); end

if (s<ss7)&(s>=per); NN=2; %"numi6"

ni62=-L*(L*(4*i10+3*(i20-i30+i40-i60))+Ld*(2*i10-3*i30+i40-2*i50- 2*i60));

ni61=-(L*(R*(3*i10+i20-2*i30+2*i40-i50-i60)+ea+eb- 2*ec+i10*(r1a+3*r2b)+...

i20*(2*r1a+r2b)-i30*(r1a+2*r2b)+i40*(r1a+2*r2b)+i50*(r1a-r2b)- i60*(2*r1a+...

r2b))+Ld*(ea-ec-i10*r1a-i20*r1a-i30*r1a-i40*r1a-i50*r1a-i60*r1a)); ni60=R*(ec-ea)-ea*r2b-eb*r1a+ec*(r1a+r2b);

%"deni6"

di62=(2*L*(R+r1a+r1c+r2b)+Ld*(r1a+r1c));

di61=(R*(r1a+r1c)+r1a*(r1c+r2b)+r1c*r2b); end

18

%------------------------------------------------

if s > ss2; N=1; % 1-й интервал %numi1 i1 – i4

ni12=L*(3*L*(i10-i20-i50+i60)+Ld*(2*i10-i20+2*i30+3*i60)); ni11=(L*(R*(i10-2*i20+i30-i40-i50+2*i60)+ea-2*eb+ec+i10*(r1a+2*r2c)- i20*(2*r1a+r2c)+i30*(r1a-r2c)+i40*(r2c-r1a)- i50*(r1a+2*r2c)+i60*(2*r1a+...

r2c))-Ld*(eb-ec-r2c*(i10+i20+i30+i40+i50+i60))); ni10=R*(ec-eb)+ea*r2c-eb*(r1a+r2c)+ec*r1a; di12=(2*L*(R+r1a+r2b+r2c)+Ld*(r2b+r2c)); di11=(R*(r2b+r2c)+r1a*(r2b+r2c)+r2b*r2c);

end

if s<=ss3; %numi4 i1-i4

ni42=L*(3*L*(i20-i30+i40-i60)+Ld*(3*i20+2*i40+2*i50-i60)); ni41=(Ld*(eb-ec+i10*r2b+i20*r2b+i30*r2b+i40*r2b+i50*r2b+i60*r2b)- L*(R*(i10-...

2*i20+i30-i40-i50+2*i60)-ea-eb+2*ec+i10*(r1a-r2b)- i20*(2*r1a+r2b)+i30*(r1a+...

2*r2b)-i40*(r1a+2*r2b)+i50*(r2b-r1a)+i60*(2*r1a+r2b))); ni40=R*(eb-ec)+ea*r2b+eb*r1a-ec*(r1a+r2b); %"deni4"i1-i4

di43=L*(3*L+2*Ld);

di42=(2*L*(R+r1a+r2b+r2c)+Ld*(r2b+r2c));

di41=(R*(r2b+r2c)+r1a*(r2b+r2c)+r2b*r2c); end %------------------------------------------------------

%Второй интервал

%i4 -i2

if s <= ss4; %"numi2"

ni22=-L*(3*L*(i10-i20-i50+i60)+Ld*(i10-2*i20-2*i30-3*i50)); ni21=-(L*(R*(2*i10-i20-i30+i40-2*i50+i60)+ea-2*eb+ec+i10*(r1a+2*r2c)- i20*(2*r1a+r2c)+i30*(r1a-r2c)+i40*(r2c-r1a)- i50*(r1a+2*r2c)+i60*(2*r1a+...

r2c))+Ld*(ea-eb-r1a*(i10+i20+i30+i40+i50+i60)));

19

ni20=R*(eb-ea)-ea*r2c+eb*(r1a+r2c)-ec*r1a; %"deni2" di22=(2*L*(R+r1a+r1b+r2c)+Ld*(r1a+r1b)); di21=(R*(r1a+r1b)+r1a*(r1b+r2c)+r1b*r2c); end

if s >ss3; %"numi4"

ni42=L*(3*L*(i10-i30+i40-i50)+Ld*(3*i10+2*i40-i50+2*i60)); ni41=(L*(R*(2*i10-i20-i30+i40-2*i50+i60)+2*ea-eb- ec+i10*(r1b+2*r2c)+i20*...

(r1b-r2c)-i30*(2*r1b+r2c)+i40*(2*r1b+r2c)-i50*(r1b+2*r2c)+i60*(r2c- r1b))+...

Ld*(ea-eb+i10*r1b+i20*r1b+i30*r1b+i40*r1b+i50*r1b+i60*r1b)); ni40=R*(ea-eb)+ea*(r1b+r2c)-eb*r2c-ec*r1b;

%"deni4"

di42=(2*L*(R+r1a+r1b+r2c)+Ld*(r1a+r1b));

di41=(R*(r1a+r1b)+r1a*(r1b+r2c)+r1b*r2c); end

%i2 – i5 if s <= ss5; %"numi5"

ni52=L*(Ld*(3*i30-i40+2*(i50+i60))-3*L*(i10-i30+i40-i50)); ni51=-(L*(R*(i10+i20-2*i30+2*i40-i50-i60)+2*ea-eb- ec+i10*(r1b+2*r2c)+...

i20*(r1b-r2c)-i30*(2*r1b+r2c)+i40*(2*r1b+r2c)-i50*(r1b+2*r2c)+i60*(r2c- r1b))+Ld*(ea-ec-i10*r2c-i20*r2c-i30*r2c-i40*r2c-i50*r2c-i60*r2c)); ni50=R*(ec-ea)-ea*(r1b+r2c)+eb*r2c+ec*r1b;

%"deni5"

di52=(2*L*(R+r1b+r2a+r2c)+Ld*(r2a+r2c));

di51=(R*(r2a+r2c)+r1b*(r2a+r2c)+r2a*r2c); end

if s>ss4; % i2 – i5 %"numi2"

ni22=L*(3*L*(i20-i30+i40-i60)+Ld*(2*i10+2*i20-i30+3*i40)); ni21=(L*(R*(i10+i20-2*i30+2*i40-i50-i60)+ea+eb-2*ec+i10*(r1b-

20