• RU
  • icon На проверке: 32
Меню

Система управления электроприводами грузоподъёмного механизма на базе программируемого микроконтроллера MCS196

  • Добавлен: 24.01.2023
  • Размер: 356 KB
  • Закачек: 1
Узнать, как скачать этот материал

Описание

Система управления электроприводами грузоподъёмного механизма на базе программируемого микроконтроллера MCS196

Состав проекта

icon
icon Курсовая_МПС.docx
icon Функц_схема.dwg

Дополнительная информация

Контент чертежей

icon Курсовая_МПС.docx

Министерство образования Республики Беларусь
Белорусский национальный технический университет
Кафедра «Электропривод и автоматизация промышленных
установок и технологических комплексов»
по дисциплине: «Микропроцессорные средства в автоматизированном электроприводе»
Тема: Система управления электроприводом
Архитектура микроконтроллера и его интерфейсные устройства.2
Выбор устройств ввода и вывода для входных сигналов.2
Разработка алгоритма управления.2
1.Разработка алгоритма основной программы.2
2. Разработка алгоритмов подпрограмм автоматического режима.2
Разработка программы управления.2
1.Инициализация устройств ввода и вывода.2
2.Расположение переменных и констант в регистрах процессора.2
Схема принципиальная электрическая объекта управления. Соединение контроллера с объектом управления.2
Список использованных источников2
В курсовой работе необходимо разработать систему управления электроприводами грузоподъёмного механизма (рис.1) на базе программируемого микроконтроллера MCS196. Конструктивно грузоподъёмный механизм состоит из подвижной платформы 7 стойки 1 и стрелы 8. На стреле закреплён блок через который проходит трос с крюком 6. Трос намотан на барабан 4 приводимый в движение двигателем М1 через редуктор 5. Горизонтальные перемещения выполняются двигателем М2 соединённым через редуктор 5 с осью задних колес платформы 7.
В соответствии с заданием система управления должна работать в ручном и автоматическом режимах для чего необходимо предусмотреть соответствующий переключатель. Автоматический режим должен воспроизводить следующий цикл работы:
Рис.1. Функциональная схема грузоподъёмного механизма.
Управление осуществляется кнопками «Пуск» и «Стоп».
В ручном режиме управление осуществляется от кнопок «Вперёд» «Назад» «Вверх» «Вниз». Перемещение в выбранном направлении происходит при нажатии и удерживании соответствующей кнопки.
Отключение электроприводов производится кнопкой «Стоп» при наличии аварийной ситуации в автоматическом режиме либо сигналами от конечных выключателей (3) а также аварийными сигналами от тепловых реле КК в обоих режимах.
Функциональная электрическая схема устройства управления представлена на рис. 2.
Рис.2. Функциональная схема устройства управления
Входными величинами для контроллера являются сигналы с кнопок конечных выключателей и тепловых реле. Выходными величинами являются сигналы
Y1 – Y4 управления контакторами KM1 – KM4 которые усиливаются до необходимой величины усилителями А1 – А4.
Архитектура микроконтроллера и его интерфейсные устройства.
Для данного устройства управления наиболее подходящим является микроконтроллер 83С196NР т.к. он не содержит АЦП.
Микроконтроллер 83С196NР (рис.3) [1] содержит центральный процессор регистровый блок объемом 1024 байт блок управления памятью (БУП) который осуществляет выборку команд из внешней или внутренней памяти организуя 4-байтную очередь команд (ОК) а также обеспечивает обращение к внешней памяти данных. Внутренняя память команд реализованная в виде размещенного на кристалле постоянного запоминающего устройства (ПЗУ) объемом 4 Кбайт.
Рис. 3. Архитектура микроконтроллера 83С196NР
Микроконтроллер имеет 20 адресных выводов А0..19 и может адресовать память объемом до 1 Мбайта. При инициализации задается максимальный объем адресуемой памяти: 1 Мбайт (режим 1М) или 64 Кбайт (режим 64К). Предусмотрена возможность обмена как 16-ти таки 8-разрядными данными.
Для связи с внешними устройствами микроконтроллер имеет четыре 8-разрядных порта Р1 Р4. Однако порт Р4 имеет выводы только от четырех младших разрядов а старшие разряды зарезервированы для последующих моделей семейства. Поэтому порт Р4 может использоваться только как 4-разрядный порт. Если все или часть старших разрядов адреса А19..16 не требуются для адресации внешней памяти то эти выводы могут использоваться для двустороннего обмена информацией с внешними устройствами.
Таблица 1.1. Описание портов микроконтроллера[2]
Стандартный двунаправленный порт с индивидуально программируемыми специальными функциями
Стандартный 8-мибитный двунаправленный порт
Стандартный 4-битный двунаправленный порт с повышенной нагрузочной способностью
Выводы портов Р1 Р4 могут быть запрограммированы для выполнения специальных функций. Выводы порта Р1 могут использоваться для подачи тактовых (Т1CLK Т2CLK) и управляющих (T1DIR T2DIR) сигналов для тайме-
ров 1 2 и ввода-вывода сигналов ЕРАЗ 0 определяющих функционирование
процессора событий (ПРС).
Внешние запросы на прерывание могут поступать на два входа порта Р2 (EXTINT01) и на два входа порта РЗ (EXTINT 2 3).Эти запросы вместе с внутренними источниками прерываний обслуживаются контроллером прерываний (КПР) в соответствии с их приоритетом. Параллельно с КПР включен специализированный блок обслуживания прерываний — периферийный сервер (ПСР) который выполняет специальные виды обслуживания: пересылку отдельных слов или целых блоков формирование импульсных сигналов заданной частоты и длительности на выводах ЕРА0 3. Выводы порта Р2 могут также использоваться для последовательного ввода (RXD) и вывода данных (ТXD) через блок последовательного обмена а также для обмена сигналами обеспечивающими захват магистрали другими устройствами (НОLD НОLDА ВRЕQ) и выдачи синхроимпульсов (СLOСКOUТ) частота которых Fс = 1Тс определяет длительность тактов Тс при выполнении команд и обмене информацией с внешними устройствами и памятью.
Выводы порта РЗ служат также для вывода поступающих из БУП сигналов разрешения выборки СS 5..0 которые позволяют микроконтроллеру обращаться к нескольким типам внешней памяти отличающимся объемом быстродействием разрядностью режимом обращения. Три вывода порта Р4 используются также в качестве выходов широтно-импульсного модулятора (ШИМ) который обеспечивает формирование последовательностей импульсов заданной частоты и длительности.
Регистровый блок содержит 1024 8-разрядных регистра содержимое которых может выбираться в виде байта 16-разрядного слова или 32-разрядного длинного слова. Блок делится на младший регистровый файл содержащий 256 регистров и старший регистровый файл содержащий 768 регистров. Обращение к регистрам младшего файла производится прямой адресацией с помощью соответствующего адресного байта команды. При этом 232 регистра младшего файла используются как регистры общего назначения (РОН) а 24 регистра — как регистры специального назначения (РСН) которые служат для хранения масок прерывания констант и другой служебной информации.
Все регистры старшего файла используются в качестве РОН. Обращение к ним производится с помощью косвенной адресации или путем кадрирования — перенесения группы регистров (кадра) из старшего файла в адресное пространство («окно») младшего файла.
Процессорный блок микроконтроллера содержит регистровое арифметико-логическое устройство (АЛУ) и микропрограммное устройство управления. АЛУ выполняет операции над двумя операндами поступающими из 16-разрядных рабочих регистров. При выполнении ряда операций (сдвиги умножение деление) используются 32-разрядные операнды. АЛУ производит также формирование адресов операндов (при использовании индексной и автоинкрементной адресации) и команд (при условных и безусловных переходах вызовах подпрограмм).
Система команд микроконтроллера
MCS-196 содержит полный набор команд включающий операции с битами байтами словами двойными словами (беззнаковые 32 бит) длинные операции (32 бит со знаком) работу с флагами а также переходы и вызовы подпрограмм. Все стандартные логические и арифметические команды работают как с байтами так и со словами. Операции над байтами и словами составляют основу системы команд. Ассемблер ASM-96 использует суффикс "В" в мнемонике для операций над байтами иначе мнемоника относится к операциям над словами.
Архитектура MCS-96 поддерживает множество типов данных которые обычно используются в управляющих алгоритмах. Названия типов операндов сделаны для избежания путаницы заглавными английскими буквами. Например BYTE - это 8 битная переменная без знака тогда как byte - 8 битный блок данных любого типа. В 8xC196 имеются следующие типы данных:
SHORT-INTEGER(короткое целое);
DOUBLE-WORD(двойное слово);
LONG-INTEGER(длинное целое).
Для доступа к операндам внутри адресного пространства 8XC196 используется шесть режимов адресации:
Прямая регистровая адресация;
Косвенная с автоинкрементом;
Микроконтроллер выполняет набор из 118 команд которые реализуют 4 основных группы операций: пересылка арифметические и логические операции управление программой управление процессором.
При описании команд используются следующие обозначения:
baop waop – 8-ми или 16-разрядный операнд адресуемый указанным в команде способом (источник);
Команды по форматам разделяются на 3 вида:
Безадресные – содержат только код команды. Пример:
Одноадресные – содержат код команды и адрес операнда-приёмника. Пример: CLR (00000001 (wreg)).
Двухадресные – содержат код команды адрес операнда-источника и адрес операнда-приёмника. Пример: LD (101000aa(waop)(wreg)).
Выбор устройств ввода и вывода для входных сигналов.
Для ввода сигналов в микроконтроллер используем порты Р1 и Р2. Сигналы «Пуск» «Стоп» «Вперёд» «Назад» «Вверх» «Вниз» будем подавать от двухпозиционных кнопок с самовозвратом сигнал «Автоматручной» - от двухпозиционного переключателя. Сигнал «Авария» снимается с контактов тепловых реле.
Для упрощения алгоритма программы и ускорения обработки следующих событий сигналы «Стоп» и «Авария» нужно обрабатывать с использованием внешних прерываний. Следовательно эти сигналы необходимо подать на входы Р2.2 и Р2.4 порта Р2 (табл. 1.1). Эти входы нужно запрограммировать для выполнения специальных функций приёма внешних прерываний: EXTINT0 и EXTINT1.
Конечные выключатели SQ1 – SQ3 используются для ограничения перемещений груза и грузоподъемного механизма. SQ1 ограничивает высоту подъёма груза SQ2 – крайнее положение при перемещении назад SQ3 – при перемещении вперёд.
Соответствия входных сигналов и разрядов портов Р1 и Р2 приведены в таблице 2.1.
Таблица 2.1. Соответствия входных сигналов и разрядов портов Р1 и Р2.
Для вывода сигналов управления Y1 Y4 используем порт Р3. Сигналы подаются на соответствующие контакторы через усилители выполняющие также функцию гальванической развязки. Гальваническую развязку силовой цепи от цепи управления можно обеспечить при помощи оптосимисторов VU1 – VU4. Они подключаются к управляющему электроду симисторов VS1 – VS4 соответственно. Указанные приборы выполняют функцию усиления сигнала управления от микроконтроллера и таким образом управляют работой контакторов КМ1 – КМ4. Параллельно симисторам для защиты от перенапряжений при коммутации цепи с индуктивностью включены защитные RC-цепочки.
Соответствия сигналов контакторов и направления перемещения заданы в таблице 2.2.
Таблица 2.2. Соответствия сигналов и разрядов порта Р3.
Разработка алгоритма управления.
1.Разработка алгоритма основной программы.
Согласно заданию система управления должна работать в двух режимах: автоматическом с воспроизведением заданного алгоритма работы и ручном. Поэтому начальным этапом программы является выбор между автоматическим и ручным режимами.
Цикл автоматического режима начинается с нажатия кнопки «Пуск». Включается контактор КМ1 на 50 с происходит подъём груза. В процессе подъёма контролируется срабатывание конечного выключателя SQ1. Затем включается контактор КМ3 на 40 с происходит перемещение механизма вперёд. В процессе перемещения контролируется срабатывание конечного выключателя SQ3. После этого включается контактор КМ2 на 50 с происходит опускание груза. Выполняется пауза в течение 5 с для разгрузки затем снова включается контактор КМ1 на 50 с происходит подъём крюка. В процессе подъёма контролируется срабатывание конечного выключателя SQ1. Потом включается контактор КМ4 на 40 с происходит перемещение механизма назад. В процессе перемещения контролируется срабатывание конечного выключателя SQ2. После этого включается контактор КМ2 на 50 с происходит опускание крюка. Выполняется пауза в течение 5 с для загрузки затем программа снова опрашивает состояние переключателя «Автоматручной» и если выбран автоматический режим ожидает нажатия кнопки «Пуск».
В ручном режиме направление перемещения определяется нажатием соответствующей кнопки на пульте. Перемещение происходит до момента отпускания кнопки либо до достижения соответствующего конечного выключателя. Программа последовательно опрашивает состояния всех кнопок и если ни одна из них не нажата возвращается к выбору режима.
Для того чтобы остановить работу механизма при возникновении нештатных или аварийных ситуаций используется кнопка «Стоп». При возникновении аварийных режимов работы двигателей на входе контроллера устанавливается сигнал «Авария». Сигналы с кнопки «Стоп» и «Авария» запускают внешние прерывания в результате которых останавливаются все двигатели. Выполнение программы может быть продолжено только после устранения причин вызвавших остановку и нажатия кнопки «Пуск».
Учитывая вышеприведённые рассуждения составляем алгоритм основной программы (рис. 4.).
2. Разработка алгоритмов подпрограмм автоматического режима.
Т.к. подъём и опускание повторяются несколько раз их рациональнее описать с помощью подпрограмм. При этом выполняется включение соответствующего контактора выдержка времени и отключение контактора. Алгоритмы данных подпрограмм представлены на рис. 5 и рис. 6 соответственно.
Рис. 5. Алгоритм подъёма Рис. 6. Алгоритм опускания
Подпрограмма выдержки времени осуществляет задержку отключения соответствующего контактора а также контроль срабатывания соответствующего конечного выключателя. Принцип задержки заключается в том что участок программы повторяется N раз причём число N зависит от величины выдержки времени количества тактов затраченных на выполнение участка программы и тактовой частоты процессора.
Тактовая частота процессора данного типа микроконтроллеров равна 25 МГц. Следовательно на один такт затрачивается время равное
Для осуществления выдержки времени в 50 с необходимо затратить
тактов. Это число значительно больше максимального 16-тиразрядного числа 6553510 . Поэтому для записи значения счётчика нужно зарезервировать два регистра общего назначения. После выполнения участка программы нужно уменьшить на единицу содержимое младшего регистра. Этот участок будет повторяться до тех пор пока содержимое младшего регистра не станет равным нулю. После этого содержимое старшего регистра уменьшается на 1 а в младший записывается число FFFFh и вышеописанные действия повторяются. Когда содержимое старшего регистра станет равно нулю это будет признаком окончания выдержки времени. После этого можно осуществить выход из подпрограммы.
Подпрограмма выдержки интервала 50 с представлении на рис. 7.
Рис. 7. Подпрограмма выдержки времени.
Данный алгоритм составлен таким образом чтобы выполнение подпрограммы при декременте младшего регистра и декременте старшего регистра счётчика происходило за одинаковое количество тактов. Поэтому умножения двух чисел и инкремент записаны для выравнивания числа тактов. Команда деления выбрана как одна из самых продолжительных. Для подсчёта количества тактов подставим в блоки команды ассемблера с указанием числа тактов (рис. 8.) [Табл. П2.1-П2.6 1]
Рис. 8. Подпрограмма выдержки времени с командами ассемблера.
Из рис. 8 следует что на один разряд счётчика приходится 86 тактов. Т.о. получаем формулу для расчёта количества повторов N что и является содержимым счётчика:
Для 40-ка секунд (горизонтальное перемещение) необходимо выполнить ещё одно сравнение для определения срабатывания конечных выключателей. Следовательно число тактов увеличится на 10 и составит 96:
Подпрограмма обработки прерывания должна сохранить значения счётчика команд РС регистра состояния процессора и регистра выбора окна WSR в стек. После этого выполнить отключение двигателей и возврат к выбору режима. Если будет выбран автоматический режим произойдёт ожидание нажатия кнопки «Пуск» а при её нажатии – восстановление данных из стека и продолжение выполнения программы. При выборе ручного режима работы произойдёт сброс микроконтроллера. Алгоритм работы подпрограммы представлен на рис. 9.
Рис. 9. Алгоритм подпрограммы обработки прерывания.
Разработка программы управления.
1.Инициализация устройств ввода и вывода.
Для организации ввода информации в микроконтроллер используем порты Р1 и Р2. Для вывода сигналов управления контакторами используем порт Р3. Входы Р2.2 и Р2.4 порта Р2 необходимо запрограммировать на выполнение специальных функций: приём внешних запросов на прерывания.
Таблица 4.1. Адреса регистров портов микроконтроллера.
Обращение к регистрам производится с помощью косвенной адресации.
Если в регистре P1MODE записаны единицы то порт Р1 работает в режиме специальных функций если же нули то в режиме ввода либо вывода информации.
Если в регистре P1DIR записаны нули в соответствующих разрядах то по данным разрядам производится вывод информации а если единицы то соответственно ввод информации.
При вводе информации регистр P1REG маскирует информацию.
Все вышеперечисленные действия по инициализации порта Р1 выполняются аналогично по отношению к портам Р2 и Р3.
Порт Р1 настраиваем на ввод информации:
Р1 MODE = 00h; P1 DIR =
Порт Р2 настраиваем на ввод информации и выполнение специальных функций – приём внешних прерываний:
Р2 MODE = 14h; P2 DIR =
Порт Р3 настраиваем на вывод сигналов управления контакторами:
Р1 MODE = 00h; P1 DIR = 00h;
Для разрешения внешних прерываний нужно запрограммировать регистры маски INT_MASK и INT_MASK1 (рис. 4.1.)
Рис. 4.1. Формат регистров маски.
Следовательно в регистр INT_MASK нужно записать число 80h а в INT_MASK1 – 20h. При возникновении прерывания EXTINT произойдёт переход на адрес 203Аh а при возникновении EXTINT1 – на адрес 200Еh. По этим адресам нужно записать команду перехода к подпрограмме обработки прерываний.
2.Расположение переменных и констант в регистрах процессора.
Для систематизации вышеприведенной информации составим таблицу в которой отразим расположение констант в регистрах.
Таблица 4.2. Расположение данных в адресном пространстве контроллера.
Адрес регистра Р1MODE
Код автоматического режима; срабатывания перемещения вверх
Код «Пуск»; срабатывания перемещения вниз
Код «Вперёд»; перемещения вперёд
Код «Назад»; срабатывания перемещения назад
Для выполнения операций сравнения
Режим вводавывода порта Р1
Режим вводавывода и приём внешних прерываний порта Р2
Режим ввода порта Р1
Режим ввода порта Р2
Режим вводавывода порта Р3
Режим вывода порта Р3
Младшая часть счётчика выдержки времени 50 с
Старшая часть счётчика выдержки времени 50 с
Младшая часть счётчика выдержки времени 40 с
Старшая часть счётчика выдержки времени 40 с
Младшая часть счётчика выдержки времени 5 с
Старшая часть счётчика выдержки времени 5 с
Для выполнения операций деления и умножения (источник)
Для выполнения операций деления и умножения (приёмник)
Для выполнения операции инкремента в выдержке времени
Адрес вершины стека (DAh)
Программа записывается с использованием команд ассемблера согласно алгоритму приведённому на рис. 3.1.
Вначале выполняется настройка режимов прерываний т.е. производится запрет PTS прерываний и разрешение стандартных а также маскирование ненужных типов прерываний. Затем нужно произвести настройку портов на ввод и вывод информации: записать константы по соответствующим адресам согласно таблице 4.2. Далее необходимо выполнить запись входных и выходных кодов в регистры согласно таблице 4.2.
После выбора автоматического режима и определения нажатия кнопки «Пуск» нужно записать значения старших и младших частей счётчика выдержки времени. Это необходимо сделать в начале автоматического цикла а не в начале программы т.к. эти значения в процессе работы изменяются и с началом нового цикла должны быть восстановлены.
Таблица 4.3. Текст программы
Разрешение стандартных прерываний
FD0h (адрес Р1MODE) 80
FD6h (адрес Р1PIN) 84
Продолжение таблицы 4.3
FD7h (адрес Р2PIN) 94
FDEh (адрес Р3PIN) 96
Запись входных кодов в регистры
Если равно переход на AUTO
Определение нажатия «Вперёд»
Переход если не равно
Определение срабатывания SQ3
Определение нажатия «Назад»
Определение срабатывания SQ2
Определение нажатия «Вверх»
Определение срабатывания SQ1
Определение нажатия «Вниз»
Возврат к выбору режима
Определение нажатия «Пуск»
Запись расчётных констант в счётчики
Для выполнения операций деления и умножения
Для выполнения инкремента
Вызов подпрограммы подъёма
Выдержка времени 40 с
Вызов подпрограммы опускания
Вызов подпрограммы паузы 5 с
Вызов подпрограммы подъёма
Выдержка времени 50 с
Возврат из подпрограммы
Декремент младшей части
Сравнение младшей части с нулём
Безусловный переход
Сравнение старшей части с нулём
Декремент старшей части
Запись FFFFh в младшую часть
Запись данных в стек
Остановка двигателей
Сброс микроконтроллера
Восстановление данных из стека
Кроме всего вышеприведенного по адресам 203Аh и 200Eh нужно записать команды безусловного перехода на подпрограмму обработки прерывания:
Схема принципиальная электрическая объекта управления.
Соединение контроллера с объектом управления.
Электропривод грузоподъёмного механизма состоит из двух асинхронных двигателей для подъёмаопускания груза и перемещения механизма и является нерегулируемым. Двигатели реверсируются путём переключения двух фаз при помощи контакторов КМ1 КМ2 для М1 и КМ3 КМ4 для М2. Схема электрическая принципиальная представлена в приложении.
При соединении контроллера с объектом управления необходимо выполнить гальваническую развязку. Она реализуется путём использования слаботочных реле напряжения либо оптопар. В нашем случае для управления контактором работающим на переменном токе рациональнее использовать симисторную оптопару [3].
Для питания контроллера используется высокостабильный источник постоянного тока с двуполярным напряжением ±5 В.
В данной курсовой работе была разработана система управления электроприводом грузоподъёмного механизма и реализована на микроконтроллере
В курсовой работе применен программный метод формирования временных задержек на основе циклического алгоритма а не встроенный в микроконтроллер таймер так как не требуется в это время выполнять каких – либо других действий.
Система управления обладает малой массой и габаритами простотой схемотехнической реализации низкой стоимостью по сравнению с релейно-контакторными схемами и схемами на основе ИМС. Однако данная система предъявляет высокие требования к источнику питания и тактовому генератору а также требует дополнительных мер для защиты от помех.
Время выполнения автоматического цикла программы:
где N - суммарное число тактов основной программы
f - частота процессора
Список использованных источников
Бродин В.Б. Шагурин В.И. Микроконтроллеры. Архитектура программирование интерфейс -М.изд. Эком .1999 г.-400 с.
ТРМ 202. Измеритель-регулятор двухканальный. Руководство по эксплуатации.

icon Функц_схема.dwg

Функц_схема.dwg
Инициализация портов
установка внешних прерываний
Рис. 3.1. Алгоритм основной программы
и продолжение работы
Схема управления электроприводом грузоподъёмного механизма
Необозначенные выводы микроконтроллера допускается оставлять неподключёнными
Силовая схема и схема управления грузоподъёмного механизма
Принципиальная схема системы управления

Рекомендуемые чертежи

up Наверх