Скачиваний:
15
Добавлен:
08.09.2024
Размер:
233.53 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В. И. Ульянова (Ленина)

Кафедра АПУ

отчет

по лабораторной работе №2

по дисциплине ТАУ

Тема: Логические алгоритмы управления

Студенты гр. 0392

Иванов С. К.

Стаськова А. Р.

Частухин А. Р.

Преподаватель

Жеронкин К. М.

Санкт-Петербург

2023

Цель работы.

Изучение логических систем управления на примере модели реле с гистерезисом.

Выполнение работы.

Описание системы

Рассмотрим систему, представленную на Рис. 1

Рис. 1 Принципиальная схема релейной системы стабилизации температуры

Датчик температуры θ доставляет информацию о достижении пороговых значений , и, тем самым, выделяет три ситуации (события):

1 — («Прохладно»);

2 — («Комфортно»);

3 — («Тепло»).

Управляющее воздействие — напряжение, приложенное к нагревательному элементу, может принимать два значения 0 В (выключен) и 220 В (включен).

Состояние температуры в доме может быть описано в виде системы ДУ в форме Коши:

Где температура, – мощность нагревателя (в нашем случае принимает значения из множества ), не интерпретируемая переменная. Тем не менее, заметим, что при то есть в силу инертности системы. Параметры системы установим мин, мин, .

Исследуем систему на устойчивость.

Коэффициенты разного знака, система неустойчива.

Регулятор может быть описан в виде конечного автомата, реализующего реле с гистерезисом (Рис. 2). В этом случае система становится гибридной (Рис. 3)

Рис. 2 СХ релейного регулятора

Рис. 3 Гибридная модель системы управления

Для реализации автомата введем вектор событий , введя следующие состояния: – «прохладно», - «комфортно», - «тепло».

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

Функции перехода автомата будут выглядеть следующим образом:

Функции перехода автомата

0

0

0

1

1

0

0

1

1

1

1

0

0

0

0

1

0

1

1

1

1

1

0

0

0

1

1

1

0

0

Компьютерная модель.

В результате моделирования системы средствами Python был получен график (Рис. 4). Начальные условия приняты нулевыми.

Рис. 4 Зависимость температуры от времени

Обращаем внимание на колебания в зоне . Проведем более глубокий анализ графика.

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

Для того, чтобы найти параметры период и амплитуду будем применять преобразование Фурье, поэтому сначала опустим синусоиду, посредством вычитания из сигнала его математического ожидания (Рис. 5)

Рис. 5 Частично нормированные данные

Теперь применяем преобразование Фурье:

spec = np.abs(np.fft.fft(period_try))

spec = 2/len(time_try)*spec

freqs = np.fft.fftfreq(period_try.shape[0], dt)

plt.grid()

plt.xlabel('Частота, Гц')

#plt.xlim(-10, 10)

plt.plot(freqs, spec)

plt.grid()

plt.xlim(-0.5, 0.5)

Спектр представлен на Рис. 6

Рис. 6 Спектр сигнала

По спектру определяем частоту и амплитуду. Поскольку мы заранее «опустили» синусоиду, пик соответствует частоте сигнала.

f = freqs[np.argmax(spec)]

A = np.max(spec)

Получаем ,

Идеальное реле.

Заменим реле с гистерезисом на идеальное реле.

Это можно сделать двумя способами:

  1. «Схлопнуть» гистерезис у уже существующей модели

  2. Написать новый, но более простой автомат

Пойдем вторым путем.

def ode_sys_2_control(theta):

    return int(theta < 22)

def ode_sys_2(x, t):

    v, theta = x

    u = 220 * ode_sys_2_control(theta)

    dv_dt = (u - v)/T_1

    dtheta_dt = (k*v - theta) / T_2

    return (dv_dt, dtheta_dt)

Теперь, запустив модели, получаем принципиально другую картину:

Рис. 7 График при использовании идеального реле

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

Этот факт может быть продемонстрирован следующим кодом:

x = sol_ode_sys_2[:,1]

peaks, _ = find_peaks(x, height=0)

plt.plot(x)

plt.plot(peaks, x[peaks], "x")

plt.grid()

plt.show()

Рис. 8 Пики затухающей синусоиды

diff = [peaks[i + 1] - peaks[i] for i in range(len(peaks) - 2)]

plt.plot(diff)

plt.grid()

Рис. 9 Демонстрация убывания периода

Из Рис. 8 и Рис. 9 очевидно, что скорость переключения нагревателя растет со временем. В реальных системах это недопустимо.

Выводы

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

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

Соседние файлы в папке Лаб2