7.4. Контрольные вопросы
Как связаны коэффициенты цифрового ПИД-регулятора с настройками аналогичного аналогового регулятора.
Напишите разностное уравнение цифрового ПИД-регулятора.
Докажите устойчивость смоделированной системы с цифровым регулятором.
Какие существуют ограничения на величины коэффициентов цифрового ПИД-регулятора?
7.5. Литература
Изерман Р. Цифровые системы управления: Пер. с англ.-М.: Мир, 1984.- 541с.
Остем К., Виттенмарк Б. Системы управления сЭВМ: Пер. с англ.- М.: Мир, 1987.- 480с.
Дьяконов В. Simulink 4. Специальный справочник. – СПб: Питер,2002.- 528 с.
8. Лабораторная работа 8
Цель работы: получение навыков разработки программ, реализующих обмен с внешними устройствами в реальном масштабе времени.
Оборудование: INTEL-286 c платой L-154, генератор сигналов, осциллограф.
8.1. Плата ввода-вывода L-154
В лабораторной работе используется универсальная плата ввода-вывода L-154 и ее программное обеспечение. Плата имеет в своем составе программируемый таймер для отсчета интервалов времени, 8-разрядные параллельные интерфейсы ввода и вывода, 16/32 аналоговых входа, аналоговый выход и устройство запросов прерывания. Программно установлен запрос прерывания по линии IRQ5. Необходимое программное обеспечение для выполнения работы размещено в модуле lpas.
Плата содержит в своем составе одноканальный ЦАП, аналоговый выход которого выведен на осциллограф. Обращение к регистру вывода ЦАП происходит по адресу 300H. Для вывода в этот регистр можно использовать библиотечную процедуру OUTDA объектной библиотеки размещенной в модуле lpas. Для включения этой процедуры необходимо отметить этот модуль в числе вызываемых модулей в директиве USES.
Содержимое регистра данных ЦАП может изменятъся от 0 до 4096. Числу 0 типа WORD (целому числу без знака) соответствует выходное напряжение (–5.12в), числу 2048 соответствует 0в, а числу 4096 соответствует напряжение (+5.12в).
12 разрядный АЦП может быть включен в одном из двух режимах: 16 дифференциальных канала или 32 канала с общей землей. В плате перемычками установлен второй режим. АЦП на своем входе имеет предварительный усилитель, обеспечивающий коэффициент усиления 1, 2, 5.
При усилении равном
1 диапазон входного напряжения равен
–(5.12в)
(+5.12в). Напряжение на выходе АЦП представлено
в дополнительном 12-разрядном коде, так
что напряжению 0в соответствует код 0,
а напряжению 5.12в – код 2048. Отрицательному
напряжению (–5.12в) соответствует
дополнительный код числа –2048. Например,
для вывода напряжения Nв
необходимо заслать в ЦАП код равный
целому числу от величины
. Ввод этого сигнала через АЦП даст
дополнительный код целого числа от
величины
.
Таким образом, можно считать, что
напряжения представлены целыми числами
со знаком (integer)
в диапазоне (-2048)- (2048), но при выводе в
ЦАП необходимо добавлять число 2048.
При вводе данных через АЦП номер канала ввода и усиление задаются в виде кода присвоенного целочисленной переменной “Номер канала”. Для нулевого канала и единичного усиления значение этой переменной равно $c0.
В таймерах временные интервалы в микросекундах задаются целочисленной переменной Rate.
В работе предлагается использовать язык программирования Паскаль.
В программное обеспечение платы для выполнения работы включены следующие процедуры:
procedure OUTDA(dat:integer);- вывод данных в ЦАП;
procedure INITINTR(rate1,rate2:word, name:pointer);- инициализация режима прерывания.
Процедура выполняет следующие действия:
Запоминает регистры в стеке.
Запрещает прерывания на плате.
Запоминает адрес старой программы обработки прерывания (старый вектор) в переменной OldHand.
Устанавливает новую программу name обработки вектора прерывания от внутреннего таймера.
Инициализирует контроллер прерывания.
Устанавливает период между прерываниями равный rate1*rate2 мксек.
Разрешает прерывания.
Восстанавливает регистры.
Ввести в ЭВМ аналоговый сигнал генератора и вывести его через ЦАП в реальном масштабе времени при различных частотах дискретизации.
Подключить генератор сигналов к аналоговому входу платы и к одному из каналов осциллографа. Подключить выход ЦАП к другому входу осциллографа.
Составить блок-схему программы ввода-вывода аналоговых сигналов, используя прерывания платы L-154.
Написать на Паскале разделы программы с описанием модулей, меток, констант и переменных. При написании программы необходимо указать на использование библиотечных процедур Паскаля модулей Crt, Dos и процедур модуля lpas, написанных для обслуживания платы L-154.
Написать основное тело программы. Основная программа должна содержать:
Указание драйверу на номер используемого IRQ.
Определение адреса программы обработки прерывания.
Запоминание старого вектора.
Запрет прерывания.
Установку нового вектора и периода прерываний от таймера.
установку номера канала ввода.
Разрешение прерываний.
Зацикленный участок программы.
Условия выхода из зацикленной программы.
Запрет прерывания и восстановление старого вектора при выходе из программы.
Сброс контроллера прерываний.
5. Написать программу обработки прерывания. Программа обработки прерывания должна содержать:
Однократное чтение аналогового входа.
Вывод прочитанного кода АЦП в ЦАП.
Сброс контроллера прерывания.
Ввести и запустить программу.
Сравнить осциллограммы входного и выходного сигналов.
Провести сравнение сигналов при различных частотах дискретизации.
Отчет должен содержать название и цель работы, обоснование выбранного периода между прерываниями, блок-схему программы, программу с комментариями, осциллограмму.
8.5. Контрольные вопросы
Какие процедуры и функции платы используются в программе?
Каков порядок операций при смене процедуры обработки прерывания?
Где размещается вектор прерывания в памяти ЭВМ?
Сколько каналов ввода аналогового сигнала имеет плата?
Как указать номер канала ввода?
Какой диапазон входных сигналов при усилении равном 5?
Как выбрать и установить период прерываний?
8.6. Литература
Техническое описание платы L-154.
9. Лабораторная работа № 9
Цель работы: реализация цифровой системы управления аналоговым объектом на базе ЭВМ.
Оборудование: INTEL-286 c платой L-154, аналоговые объекты управления, генератор импульсов, осциллограф.
9.1. Объекты управления
В лабораторной
работе одним из простейших объектов
управления является RC-цепь
с большой постоянной времени (объект
первого порядка). Выход ЦАП платы L-154
подключен ко входу управляющего
воздействия объекта (зарядному
сопротивлению) R.
Регулир
уемая
величина подается на нулевой вход АЦП.
Внешнее возмущающее воздействие вносится
включением цепи разряда конденсатора.
Цепь разряда содержит разрядное
сопротивление, включенное последовательно
с n-p-n
транзистором, на базу которого подается
возмущающий сигнал от внешнего генератора
импульсов.
procedure STOP_INTR;- выключение прерывания
Процедура выполняет следующие действия:
Запоминает регистры в стеке.
Запрещает прерывания.
Восстанавливает старый, ранее запомненный в переменной
OldHand, вектор.
Восстанавливает контроллер прерываний.
Восстанавливает регистры.
procedure RESET_IRQ; - Процедура сбрасывает контроллер прерываний. Она должна быть последней в программе обработки прерывания.
procedure INTR_SETUP(n:word); Данная процедура сообщает драйверу о номере прерывания IRQ, установленному на плате с помощью перемычек.
Для IRQ5 значение n должно быть равно 2, для IRQ3 n равно 0.
function ADCHAN(channel:word):integer ;- однократный ввод с установкой номера канала.
Процедура выполняет следующие действия:
Устанавливает номер канала channel. Нулевой канал, к которому подключен аналоговый вход, при единичном усилении имеет значение channel=C0h (в Паскале $c0).
Дожидается установления номера канала.
.Дает старт преобразования в АЦП.
Дожидается бита готовности.
Считывает данные с АЦП.
procedure SETCHANNEL(Nch:word); - установка номера канала.
Процедура устанавливает номер канала.
Другим объектом управления является сушильный шкаф с датчиком температуры, подключаемый к выходу ЦАП через регулятор мощности на тиристорах с фазовым управлением. В работе также может быть преложен двигатель постоянного тока с датчиком скорости вращения.