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

Цель практики: Получить основные навыки работы с MatLab. Сделать расчет для электрической схемы принципиальной построить АЧХи ФЧХ, построить графики откликов на импульс и на ступеньку, построить спектр управляющего сигнала. Построить электрическую схему и схемы замещения в Microsoft Visio. Получить навыки работы с Simulink MаtLab.

Работа в Microsoft Visio:

Рабочая область

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

На элемент нажимаем мышкой и вытягиваем на рабочую область

Рисунок 1 - Рабочая область

Элементы соединяются линией, для рисования линия необходимо нажать на кнопку на верхней панели.

Рисунок 2 – Изменение свойств объекта

Чтобы изменить свойства объекта надо нажать правой кнопкой мыши на объекте и выбрать FORMAT:

Text изменение надписи объекта

Line изменение параметров линии

Fill изменение фона

Рисунок 3 – Изменение положения и размеров объекта

Для удобства работы можно использовать окно Size&Position

X,Y координаты относительно рабочего листа

Width ширина элемента

Height высота элемента

Angle угол объекта

Pin Pos расположение объекта на листе.

Рисунок 4 – Демонстрация возможности действия над объектом: группирование, поворот, рисование прямоугольника либо эллипса, изменение формы линий

Ниже приведен типовой вариант решения задачи. Представленные три схемы согласно которым строятся все характеристики (амплитудно-частотная, фазово- частотная, управляющий сигнал, модуляция сигнала, амплитудный спектр и фазовый спектр, отклик схемы на два типа сигнала: сигнал типа «импульс» и сигал типа «ступенька»»).

Пример решения задачи. Схемы построенные в Microsoft Visio представлены на рисунке 5.

Работа с MatLab M-file

1. Задание начальных параметров схемы

r1=180e+3; % запись начальных данных

c1=820e-12;

l1=1e-3;

c3=6.8e-9;

fp=0.25e+3;

cn=50e-12;

rn=20e+3;

czi=10e-12;

czs=5e-12;

rtr=40e+3;

str=8e-3;

2. Построение схемы замещения

а

б

в

Рисунок 5- Схемы

а)электрическая схема б) схема замещения на Y параметры в) схема замещения на Z параметры

3. Просчет резонансной и угловой частот

w=1/sqrt(l1*c1); запись sqrt = извлечение квадратного корня

f=w/(2*pi);

%+-10% от резонансной частоты

frdp=f-(0.1*f);

frdv=f+(0.1*f);

4. Задание длительности импульса

x=0 : 2.85e-7 : 1.14e-3; запись 0(начало):2,85е-7(шаг):1,14е-3(конец)

x1=0 : 2.85e-7 : 5.7e-4;

x2=5.7e-4+2.85e-7 : 2.85e-7 : 1.14e-3;

  1. Расчет Y и Z параметров схемы

y11=i*w*(czi+czs);

y12=-i*w*czs;

y21=str-i*w*czs;

y22=(1/rtr)+i*w*czs;

y=[y11,y12;y21,y22];

запись [ 11, 12 (первая строка);(отделение на вторую строку)21, 22(вторая строка)]

d=det(y); запись det(у) детерминант матрицы (определитель)

z11=y22/d;

z12=-y12/d;

z21=-y21/d;

z22=y11/d;

e(L)=0; запись (L) обращение к L –ному элементу матрицы e

L=2;

5а. Построение схемы замещения для сопротивления

5б. Расчет реактивного сопротивления схемы

zn=(rn-1/(i*2*pi*fp*cn));

xc1=-1/(i*2*pi*fp*c1);

xc3=-1/(i*2*pi*fp*c3);

xl1=i*2*pi*fp*l1;

5в. Построение схемы замещения для проводимости

5г. Расчет матрицы проводимости

ew=[1;0;0;0];

while(fp<=1.3e+5);

запись while (fp<=1.3 e+5)цикл считает до тех пор, пока переменная fp меньше числа 1,3е+5

zw=[r1+xc1,-xc1,0,0;

-xc1,xc1+xl1,-xl1,0;

0,-xl1,xl1+xc3+z11,-z12;

0,0,-z21,z22+zn];

ziw=inv(zw); запись inv(zw) строит матрицу инвариантную матрице zw

iw=ziw*ew;

uv=zn*iw(4);

e(L)=uv;

fp=fp+32.44;

L=L+1;

end;

  1. Построение графика АЧХ и ФЧХ

fk=1e+3:100:4.01e+5;

subplot(2,1,1);

запись subplot(2,1,1) означает построение нескольких графиков в одном окне, где число 2 обозначает количество строк окон с графиками; число 1, что будет только один столбец окон с графиками, число1 построение в первом окне (нумерация идет слева на право сверху вниз)

plot (fk(1000:2980),abs(e(1000:2980))),grid,title('achh'),xlabel('chastota'),ylabel('uvih');

запись plot (x,y) означает построение графика y(x)

запись grid означает нанесение сетки на окно с графиками

запись title (‘ ‘) подпись названия графика

запись xlabel (‘ ‘) подпись оси Х

запись ylabel(‘ ‘) подпись оси У

subplot(2,1,2);

plot (fk(1000:2980),angle(e(1250:3230))),grid,title('fchh'),xlabel('chastota'),ylabel('faza');

figure; запись figure построение графика в отдельном не обновляющемся окне

subplot(2,1,1);

plot (fk(1580:2000),abs(e(1580:2000))),grid,title('achhvre2'),xlabel('chastota'),ylabel('uvich');

запись abs модуль числа е

subplot(2,1,2);

plot (fk(1580:2000),angle(e(1831:2251))),grid,title('fchhvre2'),xlabel('chastota'),ylabel('faza');

запись angle построение арктангенса числа е

7. Построение графика управляющего сигнала

y1=4*(x1/1.14e-3).^2;

z1=-4*((x2/1.14e-3)-1).^2;

y=[y1,z1]; запись [y1,z1] объединение в один вектор двух векторов y1 и z1

figure;

plot(x,y),grid,title('signal'),xlabel('vremya'),ylabel('uvh');

8. Амплитудно-фазовый спектр

ys=fft(y); запись fft построение спектра сигнала у

sp=fftshift(ys); запись fftshift построение зеркального спектра

sn=2*sp/4001;

fo=0:0.242437:0.9699e+3;

figure;

subplot(2,1,1); plot(fo(3590:3650),abs(sn(1971:2031))),grid,title('amplitpektr'),xlabel('chastota'),ylabel('amplityda');

subplot(2,1,2); plot(fo(3590:3650),angle(sn(1971:2031))),grid,title('fazovospektr'),xlabel('chastota'),ylabel('faza');

p=e.*sn; запись .* означает поэлементное умножение

figure;

subplot(2,1,1);

plot(fo(3590:3650),abs(p(1971:2031))),grid,title('amplit spektr'),xlabel('chastota'),ylabel('amplityda');

subplot(2,1,2);

plot(fo(3590:3650),angle(p(1971:2031))),grid,title('fazovo spektr'),xlabel('chastota'),ylabel('faza');

9. Балансовая модуляция

q=0.2*cos(w*x);

yb=y.*q;

figure;

plot(x,yb),grid,title('am sugnal'),xlabel('vremya'),ylabel('uvh');

y21=fft(yb);

y22=fftshift(y21);

sp2=2*y22/4001;

figure;

subplot(2,1,1);

plot(fk(1460:2000),abs(sp2(1730:2270))),grid,title('amplit spektr'),xlabel('chastota'),ylabel('amplityda');

subplot(2,1,2);

plot(fk(1460:2000),angle(sp2(1730:2270))*57),

grid,title('fazovo spektr'),xlabel('chastota'),ylabel('faza');

10. Импульсная характеристика

q1=0.1*sin(w*x1);

q2=sin(w*x2);

q=[q1,q2]

q1=fft(q);

v=q1.*e;

sp1=fft(v);

figure;

subplot(2,1,1);

plot(x,q),grid,title('stypenka'),xlabel('chastota'),ylabel('amplityda');

subplot(2,1,2);

plot(x,sp1),grid,title('stypenka'),xlabel('chastota'),ylabel('faza');

figure;

subplot(2,1,1);

plot(x(1950:2100),q(1950:2100)),grid,title('stypenka'),xlabel('chastota'),ylabel('amplityda');

subplot(2,1,2);

plot(x(1950:2100),sp1(1950:2100)),grid,title('stypenka'),xlabel('chastota'),ylabel('faza');

11. Отклик схемы

q1=sin(w*x);

q2=sin(0.01*w*x);

q=q1.*q2;

q1=fft(q);

v=e.*q1;

sp1=ifft(v);

figure;

subplot(2,1,1);

plot(x,q),grid,title('stypenka'),xlabel('chastota'),ylabel('amplityda');

subplot(2,1,2);

plot(x,sp1),grid,title('stypenka'),xlabel('chastota'),ylabel('faza');

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

Работа с Simulink

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

- математические вычисления;

- создание алгоритмов;

- моделирование;

- анализ данных, исследования и визуализация;

- научная и инженерная графика;

- разработка приложений, включая создание графического интерфейса;

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

Simulink является достаточно самостоятельным инструментом MATLAB и при работе с ним совсем не требуется знать сам MATLAB и остальные его приложения. С другой стороны доступ к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink. Часть входящих в состав пакетов имеет инструменты, встраиваемые в Simulink (например, LTI-Viewer приложения Control System Toolbox – пакета для разработки систем управления). Имеются также дополнительные библиотеки блоков для разных областей применения (например, Power System Blockset – моделирование электротехнических устройств, Digital Signal Processing Blockset – набор блоков для разработки цифровых устройств и т.д).

Для запуска программы необходимо предварительно запустить пакет MATLAB. Основное окно пакета MATLAB показано на рисунке. Там же показана подсказка, появляющаяся в окне при наведении указателя мыши на ярлык Simulink в панели инструментов. Нажатие на ярлык Simulink в панели инструментов приводит к открытию окна обозревателя разделов библиотеки Simulink. Чтобы создать свою программу необходимо создать новый файл модели, расположить блоки в окне модели. Для этого необходимо открыть соответствующий раздел библиотеки. Далее, указав курсором на требуемый блок и нажав на левую клавишу “мыши” - “перетащить” блок в созданное окно.

Далее, если это требуется, нужно изменить параметры блока, установленные программой “по умолчанию”. Для этого необходимо дважды щелкнуть левой клавишей “мыши”, указав курсором на изображение блока. Откроется окно редактирования параметров данного блока. При задании численных параметров следует иметь в виду, что в качестве десятичного разделителя должна использоваться точка, а не запятая. После внесения изменений нужно закрыть окно кнопкой OK.

После установки на схеме всех блоков из требуемых библиотек нужно выполнить соединение элементов схемы. Для соединения блоков необходимо указать курсором на “выход” блока, а затем, нажать и, не отпуская левую клавишу “мыши”, провести линию к входу другого блока. После чего отпустить клавишу. В случае правильного соединения изображение стрелки на входе блока изменяет цвет. Для создания точки разветвления в соединительной линии нужно подвести курсор к предполагаемому узлу и, нажав правую клавишу “мыши”, протянуть линию. Для удаления линии требуется выбрать линию (так же, как это выполняется для блока), а затем нажать клавишу Delete на клавиатуре.

Рисунок 6 - Окно обозревателя

Окно обозревателя библиотеки блоков содержит следующие элементы (рисунок 6):

  1. Заголовок, с названием окна – Simulink Library Browser.

  2. Меню, с командами File, Edit, View, Help.

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

  4. Окно комментария для вывода поясняющего сообщения о выбранном блоке.

  5. Список разделов библиотеки, реализованный в виде дерева.

  6. Окно содержимого раздела библиотеки (список вложенных разделов библиотеки или блоков)

  7. Строка состояния, содержащая подсказку по выполняемому действию.

Библиотека Simulink содержит следующие основные разделы:

  1. Continuous – библиотека непрерывных элементов (интегратор, дифференциатор, линейная система ОДУ и т.д.);

  2. Discrete – библиотека дискретных элементов (интегратор с дискретным временем, дискретный фильтр и т.д.);

  3. Functions & Tables – функции и таблицы (вызов функций Matlab, S-функции, блок, отображающий входной вектор в выходной (с использованием линейной интерполяции значений, определенных в параметрах блока) и т.д.);

  4. Math – математические функции (абсолютное значение, комбинаторная логика, выделение вещественной и мнимой составляющей комплексного числа и т.д.);

  5. Nonlinear – нелинейные элементы (релейное звено, переключатель и т.д. );

  6. Signals & Systems – сигналы и системы (составной блок, входной сигнал, выходной сигнал, мультиплексер, демультиплексер и т.д.);

  7. Sinks – средства отображения (временная диаграмма, вывод результатов в файл, остановка выполнения модели и т.д.);

  8. Sources – источники сигналов (генератор импульсных/синусоидальных сигналов, генератор случайных чисел, генератор пилообразных сигналов, часы и т.д.).

  9. Subsystems – блоки подсистем.

Графопостроитель ХУ Graph

Назначение: Строит график одного сигнала в функции другого (график вида Y(X)).

Параметры: x-min – Минимальное значение сигнала по оси X.

x-max – Максимальное значение сигнала по оси X

y-min – Минимальное значение сигнала по оси Y.

y-max – Максимальное значение сигнала по оси Y

Sample time – шаг модельного времени.

Блок имеет два входа. Верхний вход предназначен для подачи сигнала, который является аргументом (X), нижний – для подачи значений функции (Y).

На рисунке 7, в качестве примера использования графопостроителя, показано построение фазовой траектории колебательного звена.

Рисунок 7 - Графопостроитель

Constant – из Commonly Used Blocks. Чтобы установить необходимые параметры блока необходимо дважды щелкнуть на блоке, в параметрах задать значение константы =1.

Transfer Fcn – Continuous. Представляет собой отношение степенных полиномов.

В параметрах для нашего случая необходимо задать числитель: Numerator – [1], и знаменатель: Denominator – [1 0.5 1].

Derivative - Continuous. Блок вычисляет значение производной.

XY Graph – Sinks. Вывод результата на график в виде зависимости X от Y.

Блок алгебраического контура Algebraic Constraint

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

Параметры:

Initial guess – Начальное значение выходного сигнала.

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

На рисунке 8 показан пример решения системы нелинейных уравнений вида:

Поскольку данная система уравнений имеет два решения, то начальные значения блоков Algebraic Constraint заданы в виде векторов. Для первого (верхнего) блока начальное значение задано вектором [1 -1], а для второго (нижнего) блока – вектором [-1 1].

Рисунок 8 - Решения системы нелинейных уравнений

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

Subtract – Math Operations. В параметрах в окошке List of Signs надо поставить те операции, которые необходимы( - +).

Math Function - Math Operations. В параметрах в окошке Function надо выбрать square( чтобы был квадрат значения).

Algebraic Constant - Math Operations. В параметрах в окошке Initial guess задать начальное значение вектором [1 -1] или [-1 1].

Display – Sinks. Выводит результат.

Дифференциальные уравнения и системы уравнений

Необходимо решить уравнение:

Попробуем решить его с помощью программы Simulink пакета MATLAB.

Метод решения дифференциальных уравнений отличается от традиционного. Нам необходимо создать схему уравнения. Необходимо будет создать обратную связь между выходными значениями интегратора и новым значением переменной. У нашего уравнения линейно изменяется x от 0 до 20. Поэтому для решения уравнения необходимо использовать блок Ramp. В конце обязательно должен быть интегрирующий блок, а из него результат выходит на осциллограф.

Решение уравнения выглядит так:

Результатом будет график x от y:

Рассмотрим из каких библиотек взяты использованные блоки.

Ramp – из Sources. Формирует линейный сигнал. В параметрах необходимо задать 1.

Add – Math Operations. В параметрах выбираем необходимые нам операции.

Gain – Math Operations. Коэффициент усиления сигнала. В параметрах ставим значение 3/2.

Sine Wave Function – Sources. Т.к. нам необходим косинус, то в параметрах Phase ставим pi/2.

Integrator – Continuous. Выполняет интегрирование входного сигнала.

Scope – Sinks. Выводим результат – график сигнала в функции времени.

Дифференциальные уравнения 2-го порядка.

Дана система уравнений:

Решим ее с помощью программы Simulink пакета MATLAB.

Решаем аналогично предыдущему случаю.

В данной системе уравнений линейно изменяется x от 1 до 10. Также необходимо сделать обратную связь между выходными значениями интеграторов и новым значение переменной x. Обязательно надо в интеграторах задать начальные значения y1(0) = 0.1; y2(0) = 0.5.

Результатом будут два графика:

Рассмотрим из каких библиотек взяты использованные блоки.

Ramp – из Sources. Формирует линейный сигнал. В параметрах необходимо задать все значения 1.

Integrator – Continuous. Выполняет интегрирование входного сигнала. Необходимо задать начальные значения Initial condition для y1 0.1, для y2 0.5.

Add – Math Operations. В параметрах выбираем необходимые нам операции.

Divide - Math Operations. Деление первой входной величины на вторую.

Dot Product - Math Operations. Перемножение.

Scope – Sinks. Выводим результат – график сигнала в функции времени.

Задание

Назв.

Пере-менной

1

2

3

4

5

6

7

8

9

C1

800п

900п

850п

856п

752п

450п

860п

700п

730п

C3

6,5н

6,6н

7,1н

7,2н

7,5н

6,9н

7,3н

Fp

0,25к

0,15к

0,2к

0,23к

0,25к

0,36к

0,27к

0,24к

0,27к

Cn

40п

45п

46п

47п

56п

55п

60п

45п

70п

Rn

20к

25к

26к

32к

30к

40к

45к

36к

47к

Czi

10п

12п

13п

4п

15п

16п

12п

14п

10п

Rtr

40к

45к

46к

43к

42к

35к

37к

38к

46к

Str

5,6м

7,8м

10м

Форма

сигнала

.

Задание:

Методом контурных токов рассчитать токи на всех элементах цепи, составить баланс мощностей.

1

2

3

4

5

6

7

8

9

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