- •Оглавление
- •Цифровые системы управления
- •Введение
- •1. Лабораторная работа № 1 реализация релейного закона управления на эвм
- •1.1. Плата ввода-вывода l-154
- •1.2. Программное обеспечение платы
- •1.3. Подключение объектов управления
- •1.4. Задание
- •1.5. Порядок выполнения работы
- •1.6. Контрольные вопросы
- •1.7. Литература
- •2. Лабораторная работа № 2 реализация пропорционального закона управления на эвм
- •2.1. Подключение объектов управления
- •2.2. Задание
- •2.3. Порядок выполнения работы
- •2.4. Контрольные вопросы
- •2.5. Литература
- •3. Лабораторная работа № 3 пропорциональный регулятор с исполнительным механизмом постоянной скорости на базе эвм
- •3.1. Подключение объекта управления
- •3.2. Задание
- •3.3. Порядок выполнения работы
- •3.4. Контрольные вопросы
- •3.5. Литература
- •4. Лабораторная работа №4 цифровой осциллограф
- •4.1. Программа oscil.Exe
- •4.1.1. Общие сведения
- •4.1.2. Основной экран программы “oscil.Exe”
- •4.1.2.1. Всплывающие меню
- •4.1.2.2. Область для графических окон (2)
- •4.1.2.3. Управляющая панель.
- •4.1.3. Меню Файл.
- •4.1.4. Меню Установки
- •4.1.5. Меню «Графики»
- •4.1.6. Лупа
- •4.1.7. Спектральное окно
- •4.2. Задание
- •4.3. Порядок выполнения работы
- •4.4. Контрольные вопросы
- •4.5. Литература
- •5. Лабораторная работа №5 преобразование аналогового сигнала в цифровых системах
- •Преобразование аналогового сигнала в цифровых системах
- •5.2. Задание
- •5.3. Порядок выполнения работы
- •5.4. Контрольные вопросы
- •5.5. Литература
- •6. Лабораторная работа №6 дискретное преобразование фурье
- •6.1. Общие положения
- •6.2. Задание
- •6.3. Порядок выполнения работы
- •Моделирование системы цифрового управления аналоговым объектом
- •Операции ввода-вывода в реальном масштабе времени
- •8.2. Процедуры и функции для работы с платой
- •8.3. Задание
- •8.4. Порядок выполнения работы
- •Цифровая система управления аналоговым объектом
- •9.2. Задание
- •9.3. Порядок выполнения работы
- •Цифровой фильтр
- •10.2. Задание
- •10.3. Порядок выполнения работы
- •10.4. Контрольные вопросы
- •10.5. Литература
- •11. Лабораторная работа № 11 цифровой апериодический регулятор
- •11.1. Общие положения
- •11.2. Задание
- •11.3. Порядок выполнения работы
- •11.4. Контрольные вопросы
- •11.5. Литература
1. Лабораторная работа № 1 реализация релейного закона управления на эвм
Цель работы: приобретение практических навыков синтеза управляющих устройств на базе ЭВМ, реализующих релейный закон управления.
Оборудование – Компьютер Intel_*86 c платой L-154, лабораторный стенд, двигатель постоянного тока, тепловой объект, RC-цепь.
1.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. При вводе данных через АЦП номер канала ввода и усиление задаются в виде кода присвоенного целочисленной переменной “Номер канала”. Для нулевого канала и единичного усиления значение этой переменной равно $c0, для первого канала значение равно $c1.
В работе предлагается использовать язык программирования Паскаль.
1.2. Программное обеспечение платы
В программное обеспечение платы для выполнения работы включены следующие процедуры, размещенные в модуле lpas:
procedure OUTDA(dat:integer);- вывод данных в ЦАП;
procedure INITINTR(rate1,rate2:word, name:pointer);- инициализация режима прерывания
Процедура выполняет следующие действия:
Запоминает регистры в стеке.
Запрещает прерывания на плате.
Запоминает адрес старой программы обработки прерывания (старый вектор) в переменной OldHand.
Устанавливает новую программу name обработки вектора прерывания от внутреннего таймера.
Инициализирует контроллер прерывания.
Устанавливает период между прерываниями равный rate1*rate2 мксек.
Разрешает прерывания.
Восстанавливает регистры.
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); - установка номера канала.