Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом до приложения Б.docx
Скачиваний:
27
Добавлен:
09.04.2015
Размер:
17.73 Mб
Скачать

4.3 Сравнение работы сэу при различных математических моделях объекта

Анализ точности переходных процессов в системах экстремального регулирования показывает, что расчетная точность δрасч не хуже 3%.

Оценка точности при стационарной нелинейной характеристике для объекта с выделяемой нелинейной характеристикой приведена в таблице 4, а при горизонтальном дрейфе в таблице 5.

Таблица 4 - Точностные показатели качества для стационарной СЭР с объектом с выделяемой нелинейной характеристикой

Таблица 5 - Точностные показатели качества для СЭР с объектом с выделяемой нелинейной характеристикой при горизонтальном дрейфе

Для системы экстремального регулирования с объектом с невыделяемой нелинейной характеристикой при стационарной нелинейной характеристике приведена оценка точности в таблице 6, а при горизонтальном дрейфе в таблице 7.

Таблица 6 - Точностные показатели качества для стационарной СЭР с объектом с невыделяемой нелинейной характеристикой

Таблица 7 - Точностные показатели качества для СЭР с объектом с невыделяемой нелинейной характеристикой при горизонтальном дрейфе

Из приведенных таблиц видно, что динамические процессы как в системе с объектом с выделяемой нелинейной характеристикой, так и в СЭР с невыделяемой нелинейной характеристикой практически одинаковы. Точность поддержания экстремума как в первом, так и во втором случае не превышает 3%.

Из этого можно сделать вывод, что способ представления объекта с выделяемой и невыделяемой нелинейными характеристиками практически не влияет на точность поддержания экстремума.

Заключение

При разработке дипломного проекта исследовались свойства экстремальных систем регулирования.

Были получены следующие результаты:

 разработана структурная схема СЭР;

 дано математическое описание объектов СЭР с выделяемой и невыделяемой линейной характеристикой;

 описан и разработан алгоритм поиска экстремума с запоминанием экстремума;

 разработана и написана программа поиска экстремума с запоминанием экстремума;

 проверена работоспособность разработанной СЭУ с использованием метода поиска экстремума с запоминанием экстремума;

 исследованы процессы в СЭУ с математической моделью объекта с невыделяемой нелинейной характеристикой;

 исследованы процессы в СЭУ с математической моделью объекта с выделяемой нелинейной характеристикой;

 исследована точность функционирования стационарной системы экстремального регулирования;

 исследованы и определены оптимальные параметры управляющего устройства, обеспечивающие максимальную точность функционирования системы экстремального регулирования при «деформации» нелинейной характеристики и ее горизонтального дрейфа;

 сравнительный анализ работы СЭУ при различных математических моделях объекта показал, что точность поддержания экстремума у них практически одинакова.

Список использованных источников

1. Кунцевич В.М., Импульсные самонастраивающиеся и экстремальные системы автоматического управления. «Техника», Киев, 1966.

2. Хайлов Е.Н., О нахождении моментов переключения экстремального управления в нелинейной задаче быстродействия. Дифференциальные уравнения, 1922.

3. Уайлд Д. Дж.., Методы поиска экстремума. Перев. с англ. «Наука», 1967.

4. Олейников В.А., Зотов Н. С., Пришвин А.М., Основы оптимального и экстремального управления. «Высшая школа», 1969.

5. Воронов А.А., Основы теории автоматического управления, «Энергия», 1965.

6. Бесекерский В.А., Попов Е.П., Теория систем автоматического управления. «Наука», 1966.

7. Казакевич В.В., Об экстремальном регулировании. Сб. «Автоматическое управление и вычислительная техника», вып. 6. «Машиностроение», 1964

8. Юркевич А.П., О процессах экстремального регулирования с динамическим преобразованием и запоминанием входного сигнала при наличии возмущений. ДАН СССР, т.133, №6, 1960.

9. Юркевич А.П., Экстремальные поисковые системы управления. Москва, 1964г.

Ю.Фиокко А., Мак-Кормик Г., Нелинейное программирование. Методы последовательной безусловной минимизации. «Мир», 1972.

11. Казакевич В.В., Системы экстремального регулирования и некоторые способы улучшения их качества и устойчивости. В кн. «Автоматическое управление и вычислительная техника», Машгиз, 1958.

12. Кунцевич В.М., Системы экстремального управления, «Техника», Киев, 1961.

13. Мандровский-Соколов Б.Ю., Туник А.А., Система экстремального управления при случайных возмущениях. «Наукова думка», киев, 1970

14. Либерзон Л.М., Родов А.Б., Системы экстремального регулирования. «Энергия», 19656.

15. Красовский А.А., Универсальные непрерывные системы экстремального управления. Сб СНС, 1965.

16. Растригин JI.A., Об оптимальном наблюдении при экстремальном регулировании в обстановке больших помех. Изв. АН Латв. СССР, сер. Физ. И тех. Наук, №1, 1964.

17. Неймарк Ю.И., Стронгин Р.Г., Информационный подход к задаче поиска экстремума функций. Изв. АН СССР, Техническая кибернетика, №1, 1966.

18. Ермолов Ю.М., Методы решения нелинейных экстремальных задач. Кибернетика №4, 1966.

19. Поляк Б.Т., Метод сопряженных градиентов в задачах на экстремум. Журн. вычисл. матем. и матем. физики, т. 9, вып. 4, 1969

20. Васильев Д.В., Чуич В.Г., Системы автоматического управления. «Высшая школа», 1967.

21. Воронов А.А., Основы теории автоматического управления. Часть И.

Специальные линейные и нелинейные системы автоматического

регулирования одной величины. «Энергия», 1966.

22. Зубов В.И., Колебания в нелинейных и управляемых системах.

«Судостроение», 1962.

23. Летов А.М., Устойчивость нелинейных регулируемых систем. «Физматгиз», 1962.

24. Лурье А.И., Некоторые нелинейные задачи автоматического регулирования, Гостехиздат, 1951.

25. Хлыпало Е.Н., Нелинейные системы автоматического регулирования. «Энергия», 1967.

26. Александровский А.А., Зотов В.В., Экстремальное управление

нестационарными динамическим объектом. Труды МЭИ, вып. №68, 1969.

27. Ивахненко А.Г., Проблема беспоискового экстремального регулирования, Автоматика и ВТ №13, 1966.

28.Казакевич В.В., Щербина Ю.В., Исследование систем экстремального

регулирования с непрерывно-дискретным синхронным детектированием.

68

Приборостроение и автоматический контроль, Вып. №3. «Машиностроение», 1986.

29. Французова Г.А., Синтез систем экстремального регулирования для нелинейных нестационарных объектов на основе принципа локализации. Новосибирск, 2004.

30. Парсункин Б.Н., Бушманова М.В., Расчет переходных процессов в системах экстремального регулирования с запоминанием экстремума. Магнитогорск, 2001.

31 .Ван - Трис Г., Синтез оптимальных нелинейных систем управления. «Мир», 1969.

32. Красовский А.А., Динамика непрерывных самонастраивающихся систем. Физматгиз, 1963

ПРИЛОЖЕНИЕ А ЛИСТИНГ ПРОГРАММЫ

program Extreme; uses Forms,

uExtreme in 'uExtreme.pas' {fExtreme};

{$R *.res} begin Application.Initialize;

Application.Title := 'Система экстремального регулирования с объектом'; Application.CreateForm(TfExtreme, fExtreme);

Application.Run;

end.

unit uExtreme;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids, TeEngine, Series, TeeProcs, Chart; type

TfExtreme = class(TForm) edExtractable: TRadioGroup; lPower: TLabel; edPower: TComboBox; edTau: TComboBox;

ITau: TLabel; edKsi: TComboBox;

IKsi: TLabel; sgValues: TStringGrid;

chbDrift: TCheckBox; btnCalculate: TButton; chQ: TChart;

Series 1: TLineSeries; chV: TChart;

LineSeriesl: TLineSeries; chP: TChart;

LineSeries2: TLineSeries;

Series2: TLineSeries; edTaul: TComboBox;

ITaul: TLabel; edMaxQ: TEdit;

IMaxQ: TLabel; edMinQ: TEdit;

IMinQ: TLabel; edDeltar: TEdit;

IDeltar: TLabel; edDeltaguar: TEdit;

IDeltaguar: TLabel;

procedure btnCalculateClick(Sender: TObject); procedure FormCreate(Sender: TObject); private

A0,A1 ,sigmal ,sigmal wave,Taul ,Tau,Ksi,X,Z,Zl ,Z2,dZ,dZl, DZ2,T,Q,V, Y,Ro,Xstar,Y star,

Zmax,MaxQ,MinQ,DeltaY :Extended;

Power,Index: Integer; procedure Calcualte; procedure Setsigmal; procedure SetAl; procedure NextZ;

procedure AddPoints; procedure Clear; public { Public declarations } end;

var

ffixtreme: TfExtreme; implementation uses Math; const C2=-l;

С 1=2;

X0=-0.5;

W0=1;

W1=0;

dT=0.005;

Vl=0.055;

fl=1.5;

sigma2=l;

sigma2wave=l;

bO=l;

bl=0.01;

TMax=50;

0mega=0.01;

Alfal=l;

r0=-0.5;

gyyplus=-1.5;

gyyminus=-2.5;

gtt=0;

gt=0; gty—0;

gy=i;

Ysmall=l.l;

Х1Ю.055;

{$R *.dfm}

{ Tffixtreme }

procedure TfExtreme.FormCreate(Sender: TObject); begin

sgValues.RowCount:=Ceil(TMax/dT)+1; sgValues.Cells[0,0]:-i'A''; sgValues.Cells[l,0]:='t'; sgValues.Cells[2,0]q'; sgValues.Celk[3,0]:-V'; sgValues.Cells[4,0]:='p'; end;

procedure Tffixtreme.AddPoints; begin

chQ. Series [0].AddXY(T,Q);

chV. Series [0]. AddXY (T, V);

chP.Series[0].AddXY(T,Ro);

chP. Series [ 1 ] .AddXY (Т,-AO);

sgValues .Cells [0,lndex] :=IntToStr(Index);

sgV alues. Cells [ 1,Index]: =FloatToStr(SimpleRoundT o(T,-3));

sgValues.Cells[2,Index]:=FloatToStr(SimpleRoundTo(Q,-3));

sgValues.Cells[3,Index]:=FloatToStr(SimpleRoundTo(V,-3));

sgValues.Cells[4,Index]:=FloatToStr(SimpleRoundTo(Ro,-3));

73

Inc(Index);

end;

procedure TfExtreme.Calcualte; var

dQ,Ro 1 :Extended;

F irstMaxQF ound:Boolean; begin SetAl;

T:=0;

X:=X0;

Y:=C2*X*X+C1;

Z:=Y;

dZ:=0;

Q:=Z;

F irstMaxQF ound: =F alse;

MaxQ:=Q;

MinQ:=Q;

Rol:=0;

V :=V 1;

Index:=l;

Zmax:=0; while T<TMax do begin dQ:=(Z-bO * Q)/b 1;

Q:=Q+dQ*dT;

Ro:=Q-MaxQ;

if (Rol>-A0) and (Ro<-A0) then begin V:=-V;

end;

Rol:=Ro;

AddPoints;

if chbDrift.Checked then case edExtractable.Itemlndex of 0: Y:=C2*Math.Power(X-Alfal*Sin(Omega*T),2)+C 1; 1: Y:=C2*Math.Power(X-Alfal *Sin(Omega*T),2)+C 1; end

else

Y:=C2*X*X+C1;

NextZ;

T:=T+dT;

X:=X+V*dT; if MaxQ<Q then MaxQ:=Q

else if not FirstMaxQFound and (MaxQ>Q) then begin

FirstMaxQFound:=True;

MinQ:=Q;

end;

if FirstMaxQFound then if MinQ>Q then MinQ:=Q; end; end;

procedure TfExtreme.NextZ; var

ddZ:Extended;

begin

dZl:=0;

dZ2:=0;

case edExtractable.Itemlndex of 0:

case Power of 1:

begin

dZ:=(Y-Z)/Taul;

end;

2:

begin

dZ:=Zl;

dZl:=(Y-2*Ksi*Tau*Zl-Z)/(Tau*Tau);

end;

3:

begin

dZ:=Zl;

dZl:=Z2;

dZ2:=(Y-(Tau*Tau+Taul*2*Ksi*Taii)*Z2-(Taiil+2*Ksi*Tau)*Zl- Z)/(Tau 1 * Tau* T au); end; end;

1:

case Power of 1:

begin

dZ:=Sin(Y-Z)-Z/Taul; end;

2:

begin

dZ:=Zl;

dZl:=(Sin(Y-Z)-2*Ksi*Tau*Zl-Z)/(Tau*Tau);

end;

3:

begin

dZ:=Zl;

dZl:=Z2;

dZ2:=(Sin(Y-Z)-(Tau*Tau+Taul*2*Ksi*Tau)*Z2-(Taul+2*Ksi*Tau)*Zl- Z)/(T au 1 * T au* T au); end; end; end;

Z:=Z+dZ*dT;

Zl:=Zl+dZl*dT;

Z2: =Z2+dZ2 * dT; end;

procedure Tffixtreme.SetA 1; var

Xstrokem,Xstroke2m,DeltaGz,DeltaGy ,DeltaOmegaG, AO 1, A02 ,k,h,T auO, BiExtended;

function Mu:Extended; begin

Result:=Sqrt( 1 -Ksi*Ksi)/Ksi; end;

function DeltaGy 1 :Extended; var

AlfaiExtended;

begin

Alfa:=l/Taul;

Result:=l/Alfa;

end;

function DeltaGy2:Extended; var

Alfa:Extended; begin Alfa:=Ksi/Tau; if Ksi=l then Result:=l/Alfa else

Result :=2/Alfa*(

1 /(Mu*Mu+1 )+Exp(ArcTan(Mu)/Mu)/(Sqrt(Mu*Mu+1 )* (Exp (Pi/Mu)-1))); end;

function DeltaOmegaGl :Extended; begin Result:=l; end;

function DeltaOmegaG2:Extended; begin ifKsi=l then Result:=l else

Result:=(Exp(Pi/Mu)+l )/(Exp(Pi/Mu)-1); end;

begin

DeltaGz:=0;

DeltaGy:=0;

DeltaOmegaG:=();

Setsigmal;

if chbDrifi. Checked then begin

Xstrokem:=Alfal * Omega;

Xstroke2m:=Alfal * Omega* Omega; case Power of 1:

begin

DeltaGz:=0.001;

DeltaGy:=DeltaGy 1; DeltaOmegaG:=DeltaOmegaG 1; end;

2:

begin

DeltaGz:=0.001;

DeltaGy: =DeltaGy2; DeltaOmegaG:=DeltaOmegaG2 end;

3:

begin

DeltaGz:=0.001;

DeltaGy:=DeltaGy 1 +DeltaOmegaG 1 * DeltaGy 2; DeltaOmegaG:=DeltaOmegaGl*DeltaOmegaG2; end;

end;

АО 1 :=DeltaGy*(gt+gy*(Xl +Xstrokem));

A02 :=DeltaGz*DeltaOmegaG* (gt+gy *(X 1 +Xstrokem)); A0:=2*(A01+A02);

k:=-(Math.Power(Xl-Xstrokem,2)*gyyplus+gtt+2*gty*(Xl+Xstrokem)

+gy*Xstroke2m);

h:=gt*gt/(2*k);

TauO :=Sqrt(2 * (AO * (Ysmall+1 )+h)/k);

В :=gt/((X 1 -Xstrokem) * Abs(gyyplus))+(X 1 +Xstrokem)* T auO; DeltaY:=A01+0.5*B*B*Abs(gyyminus); end else

AO :=2 * (V1 * fl * sigma 1+V1 * f 1 * sigma2 * sigma 1 wave);

A1 :=2*A0+fl *V 1 * sigma 1; end;

procedure TfExtreme.Setsigmal; function sigmal lwave:Extended; begin Result:=-Tau; end;

function sigmal2wave:Extended; var

Alfal ,Alfa2,Dlcorr:Extended; begin

D1 corr:=Sqrt(Ksi*Ksi-1);

Alfal :=(-Ksi-Dlcorr)/Tau;

Alfa2 :=(-Ksi+D 1 corr)/T au;

Result:=l/Alfal+1/Alfa2;

end;

function sigmal l:Extended; begin Result:=Taul; end;

function sigmal2:Extended; var

Mu,Alfa:Extended; begin if Ksi=l then Result:=sigmal 1 else begin

Mu:=Sqrt( 1 -Ksi*Ksi)/Ksi;

Alfa:=Ksi/Tau;

Result:=2/Alfa *

( l/(Mu*Mu+l) + Exp(ArcTan(Mu)/Mu)/(Sqrt(Mu*Mu+l)*(Exp(Pi/Mu)-l))); end; end;

begin case Power of 1:

begin sigmal :=sigmall; end;

2:

begin sigmal :=sigmal2; end;

3:

begin

sigma l:=sigmal l+sigmal2; end; end;

sigmalwavei^bl/bO;

end;

procedure TfExtreme.btnCalculateClick(Sender: TObject); begin

Screen.Cursor:=crHourGlass;

chQ.UndoZoom;

chV.UndoZoom;

chP.UndoZoom;

try

Clear;

Power:=StrToInt(edPower.Text);

Taul :=StrToFloat(edTaul .Text);

Tau:=StrToFloat(edTau.Text);

Ksi:=StrToFloat(edKsi.Text);

Calcualte;

edMaxQ.Text:=FloatToStr(MaxQ); edMinQ.Text:=FloatToStr(MinQ); edDeltar.Text :=FloatToStr((MaxQ-MinQ) { * 100/2}); if chbDrift. Checked then edDeltaguar.Text:=FloatToStr(DeltaY {*100/2}) else

edDeltaguar.Text:=FloatToStr(Al {*100/2}); finally

chQ.ZoomPercent(90);

chV.ZoomPercent(90);

chP.ZoomPercent(97);

Screen.Cursor:=crDefault;

end;

end;

procedure TfExtreme.Clear; begin chQ.Series[0].Clear; chV. Series [0]. Clear; chP. Series [0]. Clear; chP.Series[l].Clear; end;

end.