Помощь в написании студенческих работ
Антистрессовый сервис

Круговой интерполятор по методу оценочной функции

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Исходная программная информация определяет траекторию движения ИО только конечным числом опорных точек. Для осуществления формообразования в установках с контурными системами числового управления, необходимо, чтобы в каждый момент времени было обеспечено согласованное движение ИО установки по двум или большему числу координат. Для этого информация должна поступать в АСУ ЭП непрерывно… Читать ещё >

Круговой интерполятор по методу оценочной функции (реферат, курсовая, диплом, контрольная)

Министерство образования Республики Беларусь

Белорусский Национальный технический университет

Кафедра: «Электропривод и автоматизация промышленных установок и технологических комплексов «

Курсовая работа

по дисциплине «Микропроцессорные средства «

на тему: «Круговой интерполятор по методу оценочной функции»"

Исполнитель: студент Коваленко М.В.

Руководитель: доцент Петренко Ю. Н.

Минск 2009

1. Архитектура микроконтроллера и его интерфейсные устройства

2. Выбор устройств ввода и вывода для входных и выходных сигналов

3. Разработка алгоритма управления

3.1 Вывод выражений для расчета сигнала управления

3.2 Алгоритм управления

4. Разработка программы управления

4.1 Инициализация устройств ввода и вывода

4.2 Расположение переменных и констант в регистрах процессора

4.3 Текст программы (таблица с указанием адресов, мнемокодов, числа тактов и комментариев, в тексте раздела дать описание программы)

5. Схема принципиальная электрическая. Соединение контроллера с объектом управления

На основании задания на курсовую работу необходимо спроектировать круговой интерполятор по методу оценочной функции на базе микроконтроллера MCS 251. Программа должна обеспечить запуск кругового интерполятора при подаче сигнала «пуск». Воспроизвести заданный участок прямой и повторить цикл заданное число раз. Требуемые значения перемещений вдоль координат задаются оператором. Система должна обеспечивать точность интерполяции .

Исходная программная информация определяет траекторию движения ИО только конечным числом опорных точек. Для осуществления формообразования в установках с контурными системами числового управления, необходимо, чтобы в каждый момент времени было обеспечено согласованное движение ИО установки по двум или большему числу координат. Для этого информация должна поступать в АСУ ЭП непрерывно и в соответствии с требуемым законом движения ИО по каждой координате. Эту задачу в системах ЧПУ выполняют интерполяторы.

Функциональная схема кругового интерполятора по методу оценочной функции представлена на рисунке 1.1 из учебного пособия [1]:

микроконтроллер процессор регистр сигнал

Рисунок 1 — Функциональная схема кругового интерполятора для 1-го квадранта.

Схема состоит из следующих блоков:

РгX и РгY — регистры по координатам X и Y.

СчX и CчY — счетчики по координатам X и Y.

С — сумматор.

Их и Иy — схемы ввода в сумматор (коньюнкторы).

БОЗ — блок определения знака оценочной функции.

БЗС — блок задания скорости.

ГТИ — генератор тактовых импульсов.

П — блок задания программы.

Принцип действия системы из учебного пособия [1]:

Круговой интерполятор с оценочной функцией распределяет импульсы по координатам X и Y в зависимости от знака некоторой функции, формируемой в процессе работы интерполятора и называемой оценочной.

При воспроизведении дуги окружности радиуса R с центром в начале координат оценочная функция определяется равенством:

.

Если текущая точка фактической траектории находится на окружности, то, вне окружности —, внутри окружности —. При воспроизведении траектории, находящейся в первом квадранте, положительное значение оценочной функции вызывает команду на выдачу импульса по координате по координате Y, отрицательное или нулевое — по оси X. После одного шага по оси X новое значение оценочной функции:

получается из предыдущего путем добавления к нему единицы и удвоенного значения текущей координаты. После одного шага по убывающей координате Y получается

и ,

т.е. к предыдущему значению оценочной функции нужно прибавить единицу и вычесть удвоенное значение текущей координаты.

От программного устройства П в регистры РгX и РгY заносятся значения чисел с координатами начальной точки дуги. В счетчики СчX и СчY вводятся числа, соответствующие приращениям по координатам участка дуги. В соответствии с установленным правилом приоритета первый импульс будет послан по оси X. Поступая на схему управления электроприводом координаты, он получает команду на удвоение и ввода в сумматор удвоенного числа из регистра РгX, по цепи обратной связи увеличивает показания сумматора на единицу, прибавляет единицу в регистр РгX и списывает единицу со счетчика СчX. В результате новое значение оценочной функции в соответствии с рассматриваемым алгоритмом будет равно:

.

Согласно рисунку 2, это число будет положительным, следовательно, следующий, второй импульс будет послан по оси Y. При его прохождении вычтется удвоенное значение числа регистра РгY из содержимого сумматора, уменьшится на единицу содержимое регистра РгY, прибавится единица в сумматор и спишется единица со счетчика СчY. Оценочная функция при этом примет значение:

.

Дальнейшее распределение импульсов по координатам будет зависеть от знака текущего значения оценочной функции. Такой режим работы интерполятора будет продолжаться до полной отработки чисел, внесенных в начале цикла в счетчики СчX и СчY.

1. Архитектура микроконтроллера и его интерфейсные устройства Всем МК семейства MCS 251 присущи такие общие особенности:* 24-битовая линейная адресация до 16 Мбайт памяти;* ЦПУ регистровой архитектуры с регистрами, адресуемыми как байты, слова и двойные слова;* страничный режим, ускоряющий выборку команд из внешней памяти;* конвейер команд;* расширенная система команд, включающая 16-битовые арифметические и логические команды;* 64-Кбайтовый внешний стек;* минимальное время выполнения команд за два такта (по сравнению с 12 тактами у МК MCS 51);* двоичная совместимость с МК MCS 51; Некоторые достоинства, связанные с этими особенностями:* сохранение программ, написанных для МК MCS 51;* значительно более высокая скорость обработки, чем у МК MCS 51 при той же тактовой частоте;* поддержка программ и данных большего размера;* повышенная производительность программ на языке С; На рис. 1.1 представлена функциональная блок-схема 8XC251SB. Ядро процессора, общее для всех микроконтроллеров MCS 251, содержит блок синхронизации и сброса, схему обработки прерываний, шинный интерфейс, периферийный интерфейс и ЦПУ. ЦПУ состоит из дешифратора команд, АЛУ, файла регистров и интерфейса памяти данных. 8XC251SB выбирает команды из внутренней памяти программ по два байта за одно обращение, а из внешней памяти по одному байту. Команды по 16-битовой шине команд передаются в исполнительный блок. Можно сконфигурировать 8XC251SB для работы в страничном режиме (page mode), позволяющем ускорить выборку команд из внешней памяти. Каждая команда в страничном режиме, попавшая в ту же 256-байтовую «страницу», что и предыдущая, выбирается за одно состояние (state), т. е. за два такта (clock), а не за два состояния (четыре такта). Файл регистров 8XC251SB содержит 40 регистров, к которым можно обращаться как к байтам, словам и двойным словам. Регистры 0—7 разбиты на четыре банка по восемь регистров в каждом, причем активный банк выбирается через слово состояния программы (PSW) для быстрого контекстного переключения.

Рисунок 1.1 — Функциональная блок-схема 8ХС251SB.

Источником синхронизации для 8XC251SB может быть внешний или внутренний генератор с внешним кварцевым резонатором. Базовой единицей времени в микроконтроллерах MCS 251 является время состояния (или состояние), равное двум периодам генератора (рис. 1.2). Периферийные устройства 8XC251SB работают в периферийном цикле, состоящем из шести состояний. Устройство сброса служит для перевода 8XC251SB в исходное состояние. Сброс всего кристалла инициируется путем подачи сигнала RST или по обнулению сторожевого таймера.

Рисунок 1.2 — Состояния на выходе генератора.

В микроконтроллерах 83C251SB и 87C251SB ячейки памяти с адресами FF:0000Н — FF: ЗFFFН реализованы в виде 16 Кбайт внутрикристалльной памяти программ.

МК 8XC251SB содержит на кристалле 1 Кбайт ОЗУ данных (ячейки 20H — 41FH), к которому можно обращаться с использованием прямой, косвенной и смещенной адресации. Тактовая частота микроконтроллера fт=16 МГц.

Внутрикристалльные периферийные блоки, размещенные вне процессорного ядра, служат для выполнения специальных функций. Программы имеют доступ к этим блокам через соответствующие регистры специальных функций (special function registers — SFR). В МК 8XC251SB имеется четыре периферийных блока: сторожевой таймер, таймеры-счетчики, матрица программируемых счетчиков (programmable counter array — РСА) и последовательный порт. Блок состоит из трех таймеров-счетчиков, которые могут синхронизироваться от кварцевого генератора (для таймеров) или от внешнего источника (для счетчиков). Можно установить 8-, 13- или 16-битовый таймер-счетчик, а также запрограммировать их для специального применения. Сторожевой таймер — это схема, которая автоматически сбрасывает 8XC251SB в случае аппаратного или программного зависания. Если он разрешен в программе, то сторожевой таймер начинает счет, и при условии отсутствия вмешательства программы, достигает своего максимального значения и инициализирует сброс кристалла. Матрица программируемых счетчиков (РСА) имеет собственный таймер и пять модулей фиксации-сравнения (capture/compare), выполняющих несколько функций: фиксацию (запоминание) значения таймера в момент смены состояния на входном контакте; выработка запроса прерывания, когда таймер достигает значения, хранимого в регистре, переключение состояния на выходном контакте, когда таймер достигает значения, хранимого в регистре; генерация программируемого сигнала с широтно-импульсной модуляцией (PWMpulse width modulator) по выходному контакту; а также работу в режиме программного сторожевого таймера (software watchdog timer). Последовательный порт ввода-вывода обеспечивает работу в одном синхронном и трех асинхронных режимах. Синхронный режим (mode 0) является полудуплексным: последовательный порт выводит синхросигнал по одному контакту, а передает или принимает данные по другому контакту.

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

Рисунок 2.1 — Структурная схема сопряжения контроллера с объектом управления.

ЗУ — задающее устройство;

ОУ — объект управления;

На два входных порта подаётся 16-битный цифровой код задания радиуса интерполяции с задающего устройства. С двух выходных портов снимается унитарный код в виде импульсов для задания перемещений по осям X и Y. Имеется также выходной порт, с которого снимается сигнал «цикл отработан» после окончания отработки перемещения по обеим осям. Итого необходимо задействовать два порта (по 8 бит) для ввода сигнала, и три порта (по одному биту) для вывода.

3. Разработка алгоритма управления

3.1 Вывод выражений для расчета сигнала управления.

Уравнение окружности запишем в следующем виде:

.

Оценочная функция для окружности:

.

Определяем количество разрядов необходимых для обеспечения заданной точности. Максимальное допустимое отклонение точки от дуги окружности .

Определяем максимальное число, которое должно быть записано в регистр, Nмакс при отработке максимального радиуса:

.

Необходимое число разрядов регистра, находим из выражения:

.

Необходимо 18 разрядов, а микроконтроллер в задании 16-разрядный. Таким образом, для решения поставленной задачи можно использовать 32-разрядные микроконтроллеры типа:

· PIC32 — семейство PIC32 построено на ядре MIPS32®, с лидирующей в отрасли комбинацией быстродействия, низкого потребления энергии, быстрой реакции на прерывание и средств разработки. В 32-разрядных микроконтроллерах PIC32 используется ядро MIPS32 M4K®, обеспечивающее лучшее в своем классе быстродействие.

· ARM7TDMI — разработчиком микроконтроллерного ядра ARM является английская фирма Aadvanced Risc Machines, одной из особенностей ядра ARM7TDMI является возможность функционирования в двух режимах, 32-разрядном и 16-разрядном режиме THUMB, причем переход из одного режима в другой осуществляется программно в процессе работы микроконтроллера.

· MC68300 — микроконтроллер фирмы Motorola, особенностью которого является широчайшая номенклатура периферийных модулей, в том числе специализированных для определенных приложений, исключительная гибкость и простота построения и отладки системы.

Другой вариант решения задачи является применение мультипроцессорных систем. Мультипроцессор — это компьютерная система, которая содержит несколько процессоров и одно адресное пространство, видимое для всех процессоров. Он запускает одну копию ОС с одним набором таблиц, в том числе тех, которые следят какие страницы памяти свободны.

Требования, предъявляемые современными процессорами к полосе пропускания памяти можно существенно сократить путем применения больших многоуровневых кэшей. Тогда, если эти требования снижаются, то несколько процессоров смогут разделять доступ к одной и той же памяти. Эта идея, подкрепленная широким распространением микропроцессоров, стимулировала многих разработчиков на создание небольших мультипроцессоров, в которых несколько процессоров разделяют одну физическую память, соединенную с ними с помощью разделяемой шины. Современные конструкции позволяют разместить до четырех процессоров на одной плате.

По согласованию с руководителем курсовой работы, уменьшаем требуемую точность системы до. Тогда:

.

.

.

Необходимо 14 разрядов, следовательно требуемая точность будет достигнута.

.

3.2 Алгоритм управления В соответствии с выражениями для расчёта координат x, y, выражениями для вычисления оценочной функции на каждом шаге, составляем алгоритм программы (рисунок 3.1). Для определения квадранта и направления вращения составим таблицу оценочных функций (учебное пособие [2]).

Таблица 3.1 — Оценочные функции.

Систематизируем полученные данные:

Таблица 3.2

На основе таблицы 3.2 составим условие определения квадранта и направления вращения:

Рисунок 3.1 — Алгоритм программы.

4. Разработка программы управления

4.1 Инициализация устройств ввода и вывода Для организации ввода и вывода используются 3 параллельных восьмиразрядных порта. По умолчанию любой порт настроен на вывод информации. Для настройки порта на ввод информации, нужно записать в разряд порта 1. Инициализируем порт на ввод информации — запись в разряд порта число. При инициализации порта на вывод необходимо записать в разряд порта. Инициализация портов представлена в таблице 4.1.

Таблица 4.1 — Инициализация портов.

Мнемокод

Комментарий

MOV P0,#FFh

Инициализация порта P0 на ввод R

MOV P2,#FFh

Инициализация порта P2 на ввод R

MOV P1,#00h

Инициализация порта P1 на вывод

MOV P3,#00h

Инициализация порта P3 на вывод

4.2 Расположение переменных и констант в регистрах процессора Таблица 4.2 — Расположение переменных и констант в регистрах процессора.

Название регистра

Переменная или константа содержащаяся в регистре

A, B, WR

содержат значения результатов промежуточных расчетов

WR0

xi — текущее значение координаты х на i-том шаге

WR2

— конечное значение координаты х

WR4

— текущее значение координаты y на i-том шаге

WR6

— конечное значение координаты y

WR10

i — номер текущего шага

WR12

Rmax — максимальный радиус

WR14

R — задаваемый радиус

WR20

Fi — текущее значение оценочной функции на i-том шаге

WR24

Xi+1 — приращение по x

WR30

Yi+1 — приращение по y

4.3 Текст программы (таблица с указанием адресов, мнемокодов, числа тактов и комментариев, в тексте раздела дать описание программы) По согласованию с руководителем курсовой работы, задаемся квадрантом, и направлением вращения:

Квадрант 2, направление против часовой стрелки.

Метка

Мнемокод

Комментарий

Такты

MOV WR10,#00

i=0

MOV WR20,#00

Fi=0

m1:

MOV A, P2

старшая часть

MOV WR14, А

старшая часть

MOV A, #08

m4:

SLL WR14

сдвигает единицы старшей части R на один бит влево и заменяет младший бит на 0

SUB A, #01

JNE m4

Если, то переход к метке m4

MOV A, P0

младшая часть

MOV WR8, A

младшая часть

ADD WR14, WR8

младшая часть R+старшая часть RWR14

MOV A, WR14

MOV B, WR12

SUB A, B

A

JG m1

Если, то переход к метке m1

m3:

INC WR10, #01

i=i+1 — инкрементирование числа шагов

MOV A, WR20

JGE m2

Если, то переход к метке m2

MOV B, WR4

RL B

SUB A, B

INC A

MOV WR20, A

DEC WR4, 01

MOV P3.7, #1b

Вывод порта Y (1 P3.7)

m2:

MOV B, WR0

RL B

ADD A, B

INC A

MOV WR20, A

INC WR0, 01

MOV P3.6, #1b

Вывод порта X (1 P3.6)

MOV A, WR2

MOV B, WR0

SUB A, B

JNE m3

Если, то переход к метке m3

MOV A, WR6

MOV B, WR4

SUB A, B

JNE m3

Если, то переход к метке m3

MOV P1.7, #1b

Вывод сигнала окончания цикла

RET

Окончание

5. Схема принципиальная электрическая. Соединение контроллера с объектом управления Рисунок 5.1 — Схема принципиальная электрическая.

Заключение

В данной курсовой работе рассмотрена функциональная схема кругового интерполятора по методу оценочной функции, для отработки перемещений рабочего органа по дуге окружности в первом квадранте; представлены выражения для определения оценочной функции и координат по осям X и Y; подробно рассмотрены архитектура, интерфейсные устройства и система команд микроконтроллера MCS 251. В соответствии с заданием на проектирование, было рассчитано необходимое число регистров микроконтроллера, использование которых обеспечит заданную точность при отработки перемещений по дуге окружности радиусом в до максимального, указанного в задании. Показана инициализация портов котроллера, составлен алгоритм, обеспечивающий выполнение поставленной задачи и написана в соответствии с ним программа. Составлена принципиальная электрическая схема соединения контроллера с объектом управления.

1. Башарин А. В., Новиков В. А., Соколовский Г. Г. Управление электроприводами. — Санкт-Петербург: 1982.

2. Готшальк О. А. Системы автоматизации и управления. — Санкт-Петербург: 1998 г.

3. Петренко Ю. Н. Системы программного управления технологическими комплексами. Пион — Мн.: 2002.

Показать весь текст
Заполнить форму текущей работой