A7TZrRHEJI
.pdfНа рис. 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