Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tau_practicum_part2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.6 Mб
Скачать

В отчете работы следует привести:

  • структурные схемы системы по первой и второй частям работы;

  • результаты измерений в виде заполненной таблицы 2.2;

  • результаты расчетов по программе файла-сценария (распечатку диалоговых окон работы программы включать не нужно!);

  • графики частотной, амплитудной зависимости коэффициента ГЛ (каждый должен сопровождаться комментариями);

  • график процесса самовозбуждения автоколебаний, полученный при разных значениях ширины зоны неоднозначности e (23 кривые на одном графике).

  • письменный ответ на вопросы, указанные преподавателем.

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

2.4. Контрольные вопросы

  1. В чем заключается метод ГЛ исследования нелинейных систем? При соблюдении каких условий допустимо его применение?

  2. В чем суть теоретического расчета и экспериментального измерения коэффициента гармонической линеаризации?

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

  4. Для какого из типов нелинейных звеньев метод ГЛ допускает замену нелинейного звена одним безынерционным, а для какого из типов необходимо производить замену несколькими параллельно соединенными звеньями, т.е. использовать несколько коэффициентов линеаризации?

  5. Как теоретически рассчитать параметры автоколебательного процесса (в чем идея метода Гольдфарба)?

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

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

Табл. 2.3. Параметры звеньев нелинейной системы

п/п

Линейный фильтр

Нелинейный элемент

k

T1

T2

T3

α

Вид статической

характеристики

B

b

1

10

1

3

5

1

Двухпозиционное реле

1,0

2

15

0,2

0,5

0,8

1

Трехпозиционное реле

1,2

0,3

3

8

0,9

3

4

1

Насыщение

1,2

0,2

4

6

1

0,8

0,2

0

Двухпозиционное реле

1,2

5

25

1

3,5

5

1

Трехпозиционное реле

1,3

0,2

6

13

0,25

0,75

0,8

1

Насыщение

1,4

0,15

7

10

0,9

3,5

4

1

Двухпозиционное реле

1,9

8

7

1

0,8

0,25

0

Трехпозиционное реле

1,8

0,5

9

14

1

3,5

5

0

Насыщение

1,6

0,25

10

11

0,25

0,75

0,8

1

Двухпозиционное реле

0,9

11

14

0,85

3,5

4,5

1

Трехпозиционное реле

2,2

0,27

12

15

1

3

5

0

Насыщение

1,4

0,15

13

10

8

0,9

3

1

Двухпозиционное реле

1,3

14

15

6

1

0,8

1

Трехпозиционное реле

1,95

0,3

15

8

25

1

3,5

1

Насыщение

1,25

0,25

16

6

14

0,25

0,75

0

Двухпозиционное реле

2,0

17

25

10

0,9

3,5

1

Трехпозиционное реле

1,4

0,12

18

13

7

1

0,8

1

Насыщение

1,9

0,2

19

10

14

1

3,5

1

Двухпозиционное реле

1,1

20

17

11

0,35

0,75

0

Трехпозиционное реле

1,2

0,08

21

21

14

0,85

3,5

1

Насыщение

1,75

0,25

22

11

15

1

3

1

Двухпозиционное реле

2,2

23

14

8

0,9

3

1

Трехпозиционное реле

2,7

0,23

24

15

6

1

0,8

0

Насыщение

1,6

0,16

25

10

25

1

3,5

0

Двухпозиционное реле

1,5

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

% Начальный этап - ВВОД ДАННЫХ

syms s a % указание символьных переменных

disp('Введите вектор параметров линейного фильтра S1=[k T1 T2 T3 alpha]')

S1 = input('S1=');k=S1(1);T1=S1(2);T2=S1(3);T3=S1(4);alpha=S1(5);

W=k/((T1*s+alpha)*(T2*s+1)*(T3*s+1));

disp('Введите вектор S2 параметров статической характеристики нелинейности S2=[B1 b q]')

disp ('B1 - уровень релейного выхода (или уровень насыщения)');

disp('b - ширина зоны нечувствительности(или зоны пропорциональности)');

disp('Для идеального реле b - любое число');

disp('Значение q равно: 1(2-х позиционное реле), 2(3-х позиционное реле), 3(звено насыщения)');

S2= input('S2='); B1=S2(1); b=S2(2); Q=S2(3);

if Q==1

Kgt=(4*B1)/(pi*a);

elseif Q==2

Kgt=((4*B1)/(pi*a))*sqrt(1-b^2/a^2);

else

Kgt=((2*B1)/(pi*b))*(asin(b/a)+(b/a)*sqrt(1-b^2/a^2));

end

% ЧАСТЬ 1. ЭКСПЕРИМЕНТАЛЬНОЕ ОПРЕДЕЛЕНИЕ КОЭФФИЦИЕНТА ГЛ

%ЭТАП 1 – “Частотная” зависимость коэффициента ГЛ.

disp('Введите матрицу испытаний R1 (1 строка - частоты вх. колебаний, 2 строка - амплитуды вых. колебаний');

R1=input('R1=');Om=R1(1,:);A=R1(2,:);%создание векторов частот вх. колебаний и измеренных вых. амплитуд

N1=length(Om); n=1:N1;Kge1=A(n)./abs(subs(W,s,Om(n).*i)); % расчет вектора экспериментальных значений к-та ГЛ (1)

for m=1:120

x1(m)=0.9*Om(1)+0.01*m*(Om(N1)-Om(1));y1(m)=subs(Kgt,a,1); % расчет теоретического значения к-та ГЛ (1)

end

figure(1); plot(x1,y1,'--',Om,Kge1,'o');grid ;

xlabel('Частота входного сигнала, f'); ylabel('Эксп. и теор. значения Kg');

title('”Частотная” зависимость коэффициента ГЛ');

%ЭТАП 2. Амплитудная зависимость коэффициента ГЛ

disp('Введите значение максимальной частоты f в окно свойств блоке Sine wave и в текст программы');

f=input('f=');

disp('Введите матрицу испытаний R2 (1 строка - амплитуды вх. колебаний, 2 строка - амплитуды вых. колебаний');

R2=input('R2='); A1=R2(1,:); A2=R2(2,:); % Создание векторов вх. и вых. амплитуд

N2=length(A1);n=1:N2;Kge2=A2(n)./(A1(n).*abs(subs(W,s,f*i)));% Расчет вектора эксп.значений к-та ГЛ (2)

for m=1:120

x2(m)=0.9*A1(1)+0.01*m*(A1(N2)-A1(1)); % Расчет вектора теоретических значений к-та ГЛ (2)

if x2(m)<=b&Q==2

y2(m)=0;

elseif x2(m)<=b&Q==3

y2(m)=B1/b;

else

y2(m)=subs(Kgt,a,x2(m));

end

end

figure(2); plot(x2,y2,'--',A1,Kge2,'o');grid;

xlabel('Амплитуда вх. сигнала, а'); ylabel('Эксп. и теор. значения Kg');

title('Амплитудная зависимость коэффициента ГЛ');

% ЧАСТЬ 2. ИССЛЕДОВАНИЕ РЕЖИМА АВТОКОЛЕБАНИЙ

disp('Введите вектор экспериментальных значений S3 (1 элем. - период автокол., 2 элем. - амплитуда автокол.');

S3=input('S3=');Tae=S3(1);Aae=S3(2);

% Расчет периода автоколебаний

x3=0:0.1:20; y3=imag(subs(W,s,i*x3)); p1=spline(x3,y3); r1=fnzeros(p1);

R3=r1(r1>0.5*(2*pi/Tae)); wa=R3(1); Tat=2*pi/wa; eps1=abs((Tat-Tae)*100/Tat);

% Расчет амплитуды автоколебаний

if Q==1

x4=eps:0.01:2*Aae;

else

x4=b:0.01:2*Aae;

end

y4=subs(Kgt,a,x4)*real(subs(W,s,i*wa))+1;p2=spline(x4,y4);r2=fnzeros(p2);

R4=r2(r2>=Aae/2); Aat=R4(1);eps2=abs((Aat-Aae)*100/Aat);

disp(['Теоретическое значение периода автоколебаний Таt=',num2str(Tat),'c']);

disp(['Экспериментальное значение периода автоколебаний Тае=',num2str(Tae),'c']);

disp(['Погрешность расчета Tat eps1=',num2str(eps1),'%']);

disp(['Теоретическое значение амплитуды автоколебаний Ааt=',num2str(Aat)]);

disp(['Экспериментальное значение амплитуды автоколебаний Aае=',num2str(Aae)]);

disp(['Погрешность расчета Aat eps2=',num2str(eps2),'%']);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]