Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_МПСиС.doc
Скачиваний:
28
Добавлен:
16.05.2015
Размер:
2.55 Mб
Скачать

32

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Брянский государственный технический университет

(чистовой вариант сделан 28.08.12)

УТВЕРЖДАЮ

Ректор университета ________________а.В. Лагерев

«_____» _______________2012 г.

МИКРОПРОЦЕССОРНЫЕ СРЕДСТВА И СИСТЕМЫ

ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРА МОДЕЛИ АТ89С51 НА ЯЗЫКЕ ASSEMBLER ДЛЯ УПРАВЛЕНИЯ ДИСКРЕТНЫМ ТЕХНОЛОГИЧЕСКИМ ОБЪЕКТОМ

Методические указания

к выполнению лабораторной работы

для студентов очной формы обучения специальности

220201 – «Управление и информатика в технических системах»

Брянск 2012

УДК 681.5

Микропроцессорные средства и системы. Программирование микроконтроллера модели АТ89С51 на языке Assembler для управления дискретным технологическим объектом [Текст]+[Электронный ресурс]: методические указания к выполнению лабораторной работы для студентов очной формы обучения специальности 220201 – «Управление и информатика в технических системах». – Брянск: БГТУ, 2012 – 28 с.

Разработал: д.И. Петрешин

докт. техн. наук, проф.

Рекомендовано кафедрой «Автоматизированные технологические системы» бгту (протокол № 1 от 24.01.12)

Научный редактор В.А. Хандожко

Редактор издательства Л.И. Афонина

Компьютерный набор Д.И. Петрешин

Темплан 2012 г., п. 135

Подписано в печать Формат 60х84 1/16. Бумага офсетная.

Офсетная печать. Усл. печ. л. 1,63 Уч. – изд. л. 1,63. Тираж 20 экз.

Заказ . Бесплатно.

Брянский государственный технический университет.

241035, Брянск, бульвар им. 50-лет Октября, 7, БГТУ. 58 – 82 – 49

Лаборатория оперативной полиграфии БГТУ, ул. Институтская, 16.

ВВЕДЕНИЕ

Несмотря на наличие современных и более мощных микроконтроллеров (МК), МК семейства х51 из-за своей доступности, удачной внутренней архитектуры и простоты еще довольно часто используются в системах автоматики в качестве локальной системы управления или системы сбора данных от различных датчиков.

Каждое семейство МК имеет свой собственный язык программирования (язык машинных команд или машинный язык) и непосредственно может управляться программой, записанной только на этом языке. По степени близости к машинному языку принято делить языки программирования на две группы: низкого и высокого уровней. Программа, написанная на одном из них, называется исходной программой, или исходным модулем.

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

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

Ассемблер – это транслятор с языка низкого уровня. В соответствии с таким названием транслятора мнемокод или макроязык чаще именуют языком ассемблера.

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

ЦЕЛЬ И ЗАДАЧИ РАБОТЫ

Цель работы – познакомиться с программированием МК семейства х51 на языке ассемблера, отладкой и запуском программы на МК.

Задачи работы:

- выполнить программирование МК в соответствии с заданием;

- отладить и запустить программу на лабораторном стенде.

Продолжительность работы – 4 часа.

В лабораторной работе используются:

  • МК семейства х51 модель АТ89С51;

  • программатор ChipProg-2;

  • стенд лабораторный;

  • ПЭВМ со специальным программным обеспечением M-IDE Studio for MCS-51 и Phyton Universal Programmer 3.91.00–ChipProg–2.

ОБЩИЕ СВЕДЕНИЯ О ЛАБОРАТОРНОМ СТЕНДЕ

Лабораторный стенд (рис. 1) позволяет испытывать управляющие программы для МК семейства х51 модель АТ89С51.

Лабораторный стенд имеет:

- 8 дискретных входов (4 входа с фиксацией и 4 входа без фиксации);

- 8 дискретных выходов со световой индикацией для наблюдения результата работы МК;

- один аналоговый вход (0 – 2,5 В) и последовательный 8-разрядный АЦП;

- питание: Uвх: ~240B, 50 Гц.

При написании программы для МК, работающего в составе лабораторного стенда, следует помнить:

1. Для индикации активным сигналом является уровень логического «0». Поэтому для включения нужного светодиода необходимо на соответствующем выходе порта Р0 МК установить уровень логического «0».

2. Активным сигналом для дискретных входов является уровень логического «0». Для формирования активного сигнала в младшей тетраде порта Р1 МК необходимо нажать кнопку или поднять ручку тумблера вверх - для старшей тетрады порта Р1.

Рис. 1. Общий вид лабораторного стенда: 1 – панель для установки МК; 2 – потенциометр для задания аналогового напряжения; 3 – кнопка включения и выключения стенда

При установке МК в панель стенда необходимо выключить стенд кнопкой 3, совместить первый вывод МК с позицией первого вывода панели (рис. 1), установить МК в панель и зажать МК, опустив рычаг панели.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Лабораторная работа выполняется индивидуально или подгруппами по 2 человека (определяется преподавателем) в следующей последовательности:

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

2. Задание на лабораторную работу и исходные данные выдаются преподавателем.

3. Ознакомиться с порядком действий при выполнении задания.

4. Выполнить задание и проверить работоспособность программы на ПЭВМ в режиме моделирования.

5. Запрограммировать МК и проверить работоспособность программы на лабораторном стенде.

6. Составить отчет о проделанной работе.

ПОРЯДОК ДЕЙСТВИЙ

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

2. Составление программы для МК. Запустить программу M-IDE Studio for MCS-51. Иконка программы располагается на рабочем столе. После этого откроется стартовое окно программы M-IDE Studio for MCS-51. В меню «File» выбрать «New», откроется окно «Untitled1» (рис. 2), в котором набирается программа для МК.

Рис. 2. Окно для набора программы для МК

При написании программы следует помнить, что строка, начинающаяся с «;», воспринимается транслятором как комментарий. В среде программирования M-IDE Studio for MCS-51 комментарии возможны только на латинице.

Используя алгоритм работы МК, составить управляющую программу для него.

Фрагмент программы на языке ассемблера для МК семейства х51 представлен ниже.

;Programma realizuet rabotu RS-trigera

set_b EQU P1.0

reset_b EQU P1.1

ORG 0

LJMP INIT

ORG 100H

INIT:

S: JNB set_b, SETUP

R: JB set_b, RST

LJMP S

SETUP:

SETB P0.7

LJMP R

RST:

SETB P0.0

LJMP S

END

После набора программы ее необходимо сохранить с расширением *.asm. Для этого в меню «File» выбрать «Save As». После этого программу необходимо скомпилировать. Для этого в меню «Build» выбрать «Build» или нажать клавишу «F9» или быструю клавишу (см. рис. 2.). Информация об ошибках отображается в нижнем правом окне. В результате компиляции создаются три файла с именем исходной программы, но с разными расширениями, например «mps.devt» «mps.hex» «mps.lst». Для дальнейшей работы потребуется только файл с расширением «*.hex».

3. Отладка управляющей программы в режиме моделирования. В программе M-IDE Studio for MCS-51 используется эмулятор TS Controls Emulator 8051 v1.0, позволяющий выполнить отладку (моделирование) только что откомпилированной программы, не содержащей ошибок. Эмулятор запускается из меню «Build», выбрав «Build and Sim» или нажав быструю клавишу (см. рис. 2.). После этого откроется окно эмулятора рис. 3.

Отладка написанной программы заключается во внимательном отслеживании и анализе информации, появляющейся в окнах «Registers», «SF Registers» и др. (рис. 3).

Окно «Registers» - отображает состояние регистров МК.

Окно «SF Registers» - отображает состояние портов и регистров управления МК.

Окно «Disassembled Code» - отображает программу в исходном и машинном кодах.

Рис. 3. Окно эмулятора TS Controls Emulator 8051 v1.0

Информация о состоянии портов и регистров представляется в шестнадцатеричном коде (00 - FF).

Рекомендуется выполнять отладку программы в пошаговом режиме по нажатию клавиш F10 или F11. F10 - исполнение программы без входа в подпрограммы, если они имеются. F11 - исполнение программы со входом в подпрограммы, если они имеются. При отладке строка программы, которая должна быть выполнена, выделена курсором в окне «Disassembled Code» (рис 3). При очередном нажатии клавиши F10 или F11 курсор перемещается на следующую строку программы.

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

4. Запись управляющей программы в МК и исполнение. Для записи программы в МК используется программатор ChipProg-2 и специализированная программа Phyton Universal Programmer 3.91.00 – ChipProg – 2 (рис. 4), входящая в состав программатора.

Окно 2

Окно 1

Окно 3

Группа быстрых клавиш

Рис. 4. Окна программы Phyton Universal Programmer 3.91.00 – ChipProg – 2

Окно 1 – Буфер. Отображается загруженная программа «*.hex»

Окно 2 – Окно управления. Выбирается необходимая операция «Программирование», «Чтение», «Сравнение», «Стирание» и др. Выбранная операция подтверждается кнопкой «Выполнить».

Окно 3 – Информация о микросхеме.

Программатор ChipProg-2 подключается к ПЭВМ через стандартный параллельный порт LPT. Для корректного подключения необходимо выключить ПЭВМ и программатор. Подключить ПЭВМ и программатор специальным кабелем для LPT порта. Включить ПЭВМ и программатор. Запустить программу Phyton Universal Programmer 3.91.00 – ChipProg – 2, используя меню «Пуск». После этого программируемый МК вставить в панель программатора и с помощью рычага зажать его. Перед программированием МК необходимо стереть его память программ, используя «Окно управления» или быстрые клавиши - «Erase» (рис. 4). Результат операции контролировать в окне 2 в области «Информация об операциях».

Используя меню «Файл», загрузить файл с расширением «*.hex», где «*» - имя программы. Запрограммировать МК, используя «Окно управления» или быстрые клавиши - «Progr» (рис. 4). Результат операции контролировать в окне 2 в области «Информация об операциях». После программирования МК проверить правильность программирования, используя «Окно управления» или быстрые клавиши - «Verify» (рис. 4). Результат операции контролировать в окне 2 в области «Информация об операциях».

После завершения программирования изъять МК из программатора. Вставить МК в лабораторный стенд, включить стенд и проверить работоспособность программы.

ЗАДАНИЯ

Задание №1. Разработать алгоритм и управляющую программу для системы управления (СУ) конвейером с устройством разделения потока движения заготовок (рис. 5). В СУ используется микроконтроллер (МК) модели АТ89С51.

Заготовки перемещаются по конвейеру в основном потоке. В конце конвейера располагается переключатель направлений основного потока. Количество направлений m. В каждое направление направляется по N заготовок.

Датчик Д1, расположенный в конце конвейера, подсчитывает количество прошедших заготовок. После прохождения N заготовок срабатывает переключатель и направляет основной поток заготовок в другое направление. Исходное положение переключателя после включения питания системы управления определяется датчиками конечного положения Д2 – Д4.

Рис. 5. Конвейер с устройством разделения потока движения заготовок (положение 2 переключателя условно не показано): Д1 – датчик, подсчитывающий количество прошедших заготовок; Д2 – датчик конечного положения переключателя потока для потока № 1; Д3 – датчик конечного положения переключателя потока для потока № 2 (условно не показан); Д4 - датчик конечного положения переключателя потока для потока № 3

При переключении направления потока заготовок работа конвейера приостанавливается до тех пор, пока не сработает один из датчиков конечного положения Д2 – Д4 переключателя. Направление потока переключается в такой последовательности: Поток 1 – Поток 2 – Поток 3 – Поток 1 (см. рис. 5) и т.д. Как только нужный датчик сработает, работа конвейера возобновляется.

В СУ предусмотрены кнопки «Пуск» и «Стоп», при нажатии на которые происходит пуск конвейера и его останов. При нажатии кнопки «Пуск» обнуляется счетчик пройденных заготовок. В СУ также имеется индикация, отображающая текущее значение N пройденных в данном направлении заготовок.

Задание №2. Разработать алгоритм и управляющую программу для СУ движением рабочего органа технологического оборудования.

Рис. 6. Кинематическая схема технологического оборудования: Д1 – конечный выключатель «Крайнее левое положение»; Д2 – конечный выключатель «Левый замедляющий»; Д3 – конечный выключатель «Правый замедляющий»; Д4 - конечный выключатель «Крайнее правое положение».

Технологическим оборудованием управляет СУ, построенная на МК модели АТ89С51. СУ должна обеспечить следующий цикл работы оборудования. Работа устройства начинается после нажатия кнопки «Пуск». Рабочий орган начинает перемещаться влево или вправо на рабочей подаче. Первоначальное направление движения определяется самостоятельно. В крайних положениях расположены по два конечных выключателя: «Левый замедляющий» затем «Крайнее левое положение» соответственно Д2 и Д1 (рис. 6) или «Правый замедляющий» затем «Крайнее правое положение» соответственно Д3 и Д4 (рис. 6).

При наезде рабочего органа на Д2 или Д3 включается медленная скорость перемещения в том же направлении. Далее при наезде на Д1 или Д4 изменяется направление движения рабочего органа, т.е. реверс, скорость перемещения медленная. При съезде с Д2 или Д3 включается рабочая скорость перемещения.

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

При нажатии на кнопку «Стоп» движение рабочего органа прекращается. На индикации должно отображаться направление перемещения и скорость движения - медленная или рабочая.

Задание №3. Разработать алгоритм и управляющую программу для СУ технологической линией покраски деталей (рис. 7). Технологическим оборудованием управляет СУ, построенная на МК модели АТ89С51.

Рис. 7. Технологическая линия покраски деталей: Д1 – датчик наличия детали; Д2 – конечный выключатель «Покраска»; Д3 – конечный выключатель «Выгрузка»

Покраска деталей выполняется в следующей последовательности. Система начинает работать при нажатии на кнопку «Пуск». До тех пор пока деталь не установлена в зону загрузки, конвейер не работает, т.е. линия находится в режиме ожидания. При загрузке детали на конвейере срабатывает Д1, включается конвейер, и деталь перемещается в зону покраски. Движение конвейера происходит до тех пор, пока деталь не окажется в зоне покраски, т.е. пока не сработает датчик Д2. В зоне покраски может находиться только одна деталь. Как только деталь попадает в зону покраски, конвейер останавливается, и начинается покраска. Для этого СУ формирует выходной дискретный сигнал для системы покраски. Покраска длится определенное время (задается самостоятельно, но не менее 2 с). После окончания покраски включается конвейер, деталь транспортируется в зону выгрузки. При попадании детали в зону выгрузки срабатывает датчик Д3, конвейер останавливается, вызывается манипулятор для удаления детали. Манипулятор вызывается выходным дискретным сигналом, формируемым СУ технологической линией покраски деталей. Система управления подсчитывает количество окрашенных деталей и выводит информацию на индикацию.

Срабатывание датчика или конечного выключателя означает то, что он размыкается, и на вход СУ поступает сигнал логической «1». В исходном состоянии датчик замкнут, и на вход СУ поступает сигнал логического «0». Расстояние между Д1, Д2 и Д3 одинаково и равно L (рис. 7).

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

Задание №4. Разработать алгоритм и управляющую программу для СУ агрегатным станком, выполняющим сверление отверстий (рис. 8). Технологическим оборудованием управляет СУ, построенная на МК модели АТ89С51.

Рис. 8. Схема агрегатного сверлильного станка: Д1 – конечный выключатель «Крайнее верхнее положение»; Д2 – конечный выключатель «Глубина сверления»; Д3 – датчик наличия детали в тисках; НГ – неподвижная губка тисков; ПГ – подвижная губка тисков

Цикл работы агрегатного станка. В СУ имеется кнопка «Пуск», запускающая цикл работы агрегатного станка, и кнопка «Стоп» для остановки цикла работа. При нажатии кнопки «Пуск» и отсутствии детали в автоматических пневмотисках шпиндель не вращается, и привод подач не работает. При этом сверлильная головка находится вверху в исходном положении, в котором конечный выключатель Д1 сработал (контакты разомкнуты), и на вход СУ поступает сигнал логической «1». Вся система находится в режиме ожидания детали.

Деталь устанавливается манипулятором (на рис. 8 не показан) в автоматические пневмотиски, у которых одна губка неподвижная (НГ), а вторая подвижная (ПГ), перемещаемая от пневмоцилиндра. Наличие детали в пневмотисках определяется датчиком Д3 (рис. 8), установленном на них. Если деталь установлена в пневмотиски, то через задержку времени, равную 1 с, она автоматически зажимается ПГ. Как только сработает датчик «Деталь зажата» Д4 (на рис. 8 не показан), начинается сверление на рабочей подаче с использованием СОТС, т.е. включаются вращение шпинделя (электродвигатель М2) и привод подач (электродвигатель М1). Подача СОТС включается после включения шпинделя с заданной задержкой времени (не менее 1 с).

Глубина сверления определяется расположением конечного выключателя Д2. При наезде сверлильной головки на конечный выключатель Д2 происходит ее отвод в исходное положение. Для этого необходимо включить реверс электродвигателя М1. Исходное положение определяется расположением конечного выключателя Д1. При наезде на Д1 одновременно выключаются СОТС и электродвигатели М1 и М2. После окончания сверления деталь разжимается и удаляется из зоны обработки манипулятором. Для вызова манипулятора СУ агрегатного станка формирует выходной дискретный сигнал.

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

В СУ имеется кнопка «Пуск», запускающая цикл работы агрегатного станка, и кнопка «Стоп» для остановки цикла.

Задание № 5. Разработать алгоритм и управляющую программу для СУ самотечным лотком (рис. 9). Технологическим оборудованием управляет СУ, построенная на МК модели АТ89С51.

Лоток имеет следующие механизмы (рис. 9). Отсекатель - отсекает основной поток заготовок. Ограничитель (улавливатель) - предохраняет детали от падения с лотка при опущенном отсекателе. Толкатель – перемещает одну заготовку в зону загрузки промышленного робота.

Рис. 9. Схема самотечного лотка: Д1 и Д2 – датчики наличия деталей на лотке; Отс. – отсекатель; Огр. – ограничитель; Тол. – толкатель

Цикл работы лотка. В исходном положении ограничитель поднят, отсекатель опущен. Происходит загрузка лотка заготовками, которые смещаются вниз к ограничителю. После нажатия кнопки «Пуск» отсекатель поднимается, через задержку времени (не менее 1 с) ограничитель опускается, и одна деталь падает в толкатель. Через задержку времени (не менее 1 с) толкатель поднимается, и СУ вызывает промышленный робот путем формирования выходного дискретного сигнала. После того как манипулятор заберет деталь, он формирует ответ, т.е. дискретный сигнал «Деталь забрал», который является входным для СУ. По этому сигналу СУ выдает сигналы на опускание толкателя и подъем ограничителя, после этого через 1 с формируется сигнал на опускание отсекателя. Детали скатываются до ограничителя и через задержку времени (не менее 2 с) поднимается отсекатель, тем самым одна деталь вновь подготовлена для загрузки в манипулятор.

Если заготовки на лотке закончились, то подается сигнал оператору. Признаком того, что детали на лотке закончились, являются два сигнала от датчиков Д1 и Д2 в виде логической «1». Датчики Д1 и Д2 установлены под заготовками 1 и 2 (рис. 9).

Задание № 6. Разработать алгоритм и управляющую программу для СУ частотой вращения выходного вала автоматической коробки скоростей (АКС).

Вращение выходного вала АКС возможно только в том случае, если нажата кнопка «Пуск», есть сигналы от датчика «Наличие смазки в баке» и от проточного датчика «Смазка есть в системе», скорость задана. Для подачи смазки в систему используется насос, который запускается также от кнопки «Пуск». Реверс выходного вала осуществляется от тумблера. Если с тумблера на вход МК приходит сигнал логическая «1», то вал АКС должен вращаться против часовой стрелки, если с тумблера приходит сигнал логический «0», то вал АКС должен вращаться по часовой стрелке. Задание на частоту вращения выходного вала АКС поступает на входы МК в виде двоичного кода, 3 разряда. Соотношение номера скорости, двоичного кода на входах МК и включенных выходных линий приведено в табл. 1.

Таблица 1

Скорость

Код

Выход

1

111

Y1

Y2

-

2

110

-

Y2

Y3

3

101

Y1

-

Y3

4

100

Y1

-

-

5

011

-

Y2

-

6

010

-

-

Y3

7

001

Y1

Y2

Y3

8

000

Y1

-

Y4

Задание № 7. Разработать алгоритм и управляющую программу для управления системой пневмокомпрессор-ресивер (рис. 10), которым управляет МК модели АТ89С51.

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

После нажатия кнопки «Пуск» СУ определяет наличие воды в контуре охлаждения путем опроса датчика Д1 и текущее значение давления в ресивере, для этого опрашиваются датчики Д2, Д3, Д4. Компрессор включится, если давление в ресивере меньше максимального (max), но больше минимального (min), или давление меньше минимального (min). Компрессор будет работать до тех пор, пока не сработает датчик Д3 «Максимальное давление», по сигналу которого компрессор должен отключиться. Если давление в ресивере больше максимального, то компрессор не должен включиться.

Рис. 10. Схема системы пневмокомпрессор-ресивер: Д1 – датчик наличия воды в контуре охлаждения; Д2, Д3, Д4 – датчики минимального (min), максимального (max) и предельного (alarm) давления соответственно

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

Рабочий режим. В процессе расходования воздуха давление в ресивере будет падать. В этом случае компрессор должен включиться только тогда, когда давление станет меньше минимального (min).

В системе используется аварийный датчик Д4 «Предельное давление» (alarm), который должен сработать в случае отказа датчика Д3 «Максимальное давление».

Если вода в контуре есть, то с датчика Д1 в СУ поступает логический «0», иначе логическая «1».

Если давление больше минимального, то с датчика Д2 в СУ поступает логический «0», иначе логическая «1».

Если давление больше максимального, то с датчика Д3 в СУ поступает логический «0», иначе логическая «1».

Если давление больше предельного, то с датчика Д4 в СУ поступает логический «0», иначе логическая «1».

Для выключения всей системы используется кнопка «Стоп». В системе должна быть предусмотрена индикация текущего состояния системы: давление в ресивере (минимальное, максимальное, предельное); включена система или нет.

Задание № 8. Разработать алгоритм и управляющую программу для СУ тактовым поворотным столом. Технологическим оборудованием управляет СУ, построенная на МК модели АТ89С51.

СУ включает в себя пульт оператора, на котором располагаются кнопка «Пуск» и «Стоп», а также переключатели, которыми задается номер нужной позиции тактового стола. Количество позиций тактового стола 8. Нумерация позиций начинается с 0. Номер нужной позиции задается в двоичном коде с помощью трех переключателей. В табл. 2 приводится соответствие между двоичным кодом и номером позиции.

Таблица 2

Связь между кодом на переключателях и номером позиции

Номер позиции

Код, задаваемый переключателями позиции

X1

X2

X3

0

0

0

0

1

0

0

1

2

0

1

0

3

0

1

1

4

1

0

0

5

1

0

1

6

1

1

0

7

1

1

1

При нажатии кнопки «Пуск» система с помощью датчиков, установленных на тактовом столе, и механических упоров определяет, в какой позиции находится тактовый стол. Количество датчиков на тактовом столе три. Поэтому информация о текущей позиции тактового стола в СУ поступает также в двоичном коде. Соответствие между двоичным кодом и номером позиции такое же, как для переключателей (табл. 2).

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

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

Задание № 9. Разработать алгоритм и управляющую программу для СУ сверлильным станком (рис. 11). Технологическим оборудованием управляет СУ, построенная на МК модели АТ89С51.

Рис. 11. Схема сверлильного станка: У1, У2, У3 и У4 – механические упоры; Д1 и Д2 – конечные выключатели по координате X; Д3 и Д4 – конечные выключатели по координате Z; W – нулевая точка детали

Координаты отверстий 1, 2, 3 по оси Х задаются расположением механических упоров У2, У3, У4 (рис. 11). Структура привода по оси Y (продольное перемещение) аналогична структуре привода по оси Х. Поэтому координаты отверстий 3, 6, 9 по оси Y задаются так же механическими упорами У6, У7, У8 (на рис. 11 не показаны). Начало осей координат W определяется механическими упорами У1 и У5 (на рис. 11 не показан) соответственно.

Перемещение от отверстия к отверстию выполняется на максимальной подаче до тех пор пока не сработает конечный выключатель, например Д1. После срабатывания Д1 включается медленная подача для точного позиционирования над центром отверстия. Привод остановится при срабатывании конечного выключателя Д2. Конечные выключатели срабатывают от воздействия соответствующих механических упоров. Для точного позиционирования по координате Y используются конечные выключатели Д5 (переключение на медленную подачу) и Д6 (останов привода оси Y) (на рис 11 не показаны).

Сверление отверстий выполняется последовательно по рядам, т.е. перемещение выполняется только по одной координатой оси X. Затем выполняется позиционирование по координатной оси Y на следующий ряд отверстий. После того как все отверстия просверлены, сверлильная головка возвращается в нулевую точку W, положение которой определяется механическими упорами У1 и У5.

Для запуска СУ используется кнопка «Пуск», для аварийного останова кнопка «Стоп». При нажатии на кнопку «Пуск» происходит выход рабочих органов станка в нулевую точку W, если они изначально не находятся в ней. После этого начинается основной цикл сверления отверстий, описанный выше.

Задание № 10. Разработать алгоритм и управляющую программу для СУ инструментальным магазином (ИМ) (рис. 12). СУ построена на МК модели АТ89С51.

Рис. 12. Схема инструментального магазина: Д1 – датчик первой позиции ИМ; Д2 – Д4 датчики, определяющие положение гнезд ИМ; Д3 – датчик, подсчитывающий позиции ИМ

Управление ИМ осуществляется с пульта оператора, на котором расположены кнопки «Пуск», «Стоп», «Исходное положение» и 5 тумблеров для задания номера позиции ИМ.

При нажатии кнопки «Пуск» система приводится в рабочее состояние. Перед началом работы ИМ необходимо вывести в первую позицию (исходное положение), нажав кнопку «Исходное положение». При этом начинается вращение ИМ по часовой стрелке. Вращение ИМ происходит от электродвигателя. Первая позиция ИМ определяется датчиками Д1, Д2 и Д4, при одновременном срабатывании которых происходит отключение электродвигателя и через 1 с включается электрический тормоз, фиксирующий ИМ в позиции. Условие остановки ИМ: сигнал с Д1 равен уровню логического «0», сигналы с Д2 и Д4 равны уровню логической «1». После выхода ИМ в первую позицию должен быть обнулен регистр МК, подсчитывающий позиции.

Нужный номер позиции ИМ задается с помощью 5 тумблеров в двоичном коде. После нажатия кнопки «Пуск» начинается вращение ИМ для поиска заданной позиции ИМ. На пульт оператора выводится информация в двоичном коде о текущей позиции ИМ.

Поиск нужной позиции ИМ выполняется до тех пор, пока количество подсчитанных позиций датчиком Д3 не совпадет с номером, заданным с помощью 5 тумблеров. После нахождения нужной позиции ИМ должен быть остановлен и зафиксирован в данной позиции. Условие остановки ИМ: сигнал с Д3 равен уровню логического «0», сигналы с Д2 и Д4 равны уровню логической «1».

Д1, Д2, Д3 и Д4 представляют собой бесконтактные индуктивные датчики, реагирующие на металл. Д1 и Д3 располагаются над отверстиями, сделанными в диске ИМ. Д2 и Д4 располагаются над торцом диска ИМ.

Задание № 11. Разработать алгоритм и управляющую программу для СУ шлифовальным станком (рис. 13). СУ построена на МК модели АТ89С51.

Рис. 13. Схема шлифовального станка: Д1 и Д2 – конечные выключатели продольного перемещения; Д3, Д4 и Д5 - конечные выключатели поперечного перемещения

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

В режиме автомат выполняется ускоренный подвод шпиндельной бабки из положения датчика Д5 до положения датчика Д4, при срабатывании которого происходит переход на рабочую (медленную) подачу. Движение шпиндельной бабки в поперечном направлении осуществляется от электродвигателя М4. После врезания шлифовального круга в заготовку (срабатывание датчика Д3) происходит выключение электродвигателя М4, и включается электродвигатель продольного перемещения М1. Перемещение в продольном направлении выполняется по циклу от Д2 до Д1 и обратно на постоянной подаче. Количество циклов 4. Исходное положение шпиндельной бабки определяется расположением Д2.

После завершения цикла выполняется ускоренный отвод шпиндельной бабки от детали до срабатывания Д5. После этого отключаются М2, М3 и М4.

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

На пульте оператора имеется индикация, отражающая текущее положение рабочих органов станка и количество выполненных циклов (в двоичном коде).

Задание № 12. Разработать алгоритм и управляющую программу для СУ промышленным роботом (ПР), выполняющим сортировку деталей (рис. 14). СУ построена на МК модели АТ89С51.

Управление ПР осуществляется с пульта оператора, на котором расположены кнопка «Пуск» и индикация, отображающая:

- индикатор № 1 - положение ПР возле тары больших или маленьких деталей. Если ПР возле тары маленьких деталей, то индикатор горит, иначе не горит;

- индикатор № 2 - перемещение ПР. Если ПР забирает маленькую деталь, то индикатор горит, иначе не горит;

- индикатор № 3 - перемещение ПР в горизонтальной или вертикальной плоскости. Если ПР движется в горизонтальной плоскости, то индикатор горит, иначе не горит.

Рис. 14. Схема сортировочного участка: Д1 – датчик определения размера детали; Д2 – датчик наличия детали; Д3 – крайнее нижнее положение для маленьких деталей; Д4 - крайнее нижнее положение для больших деталей; Д5 - конечный выключатель крайнего левого положения ПР; Д6 – конечный выключатель «Тара для больших деталей»; Д7 - конечный выключатель «Тара для маленьких деталей»

При первом нажатии кнопки «Пуск» ПР начинает работать в автоматическом режиме. При повторном нажатии на кнопку «Пуск» ПР останавливается.

Движение ПР начинается из положения, определяемого Д7, при условии, что есть деталь в зоне разгрузки, т.е. сработал Д2. При этом он движется в горизонтальной плоскости до тех пор, пока не сработает Д5. Движение ПР в горизонтальной плоскости осуществляется от электродвигателя М2. При срабатывании на Д5 М2 выключается и включается М1, движение в вертикальной плоскости. ПР будет двигаться вниз до тех пор, пока не сработает Д3 или Д4, при этом М1 должен выключиться. Если в зоне разгрузки большая деталь, то в СУ от Д1 поступает сигнал логической «1», и ПР должен двигаться вниз, пока не сработает Д4. Если в зоне разгрузки маленькая деталь, то в СУ от Д1 поступает сигнал логического «0», и ПР должен двигаться вниз пока не сработает Д3.

После опускания ПР и выключения Д1 делается задержка на 1 с и выдается команда на зажим детали. После этого включается вращение вала М1 в обратном направлении - ПР движется вверх до тех пор, пока не сработает Д5. После чего М1 выключается и включается вращение вала М2 в обратном направлении, ПР движется до Д6 или Д7 в зависимости от транспортируемой детали. При срабатывании Д6 или Д7 М2 выключается, и деталь разжимается (снимается сигнал зажим детали). После этого цикл повторяется заново, так как в системе используется шаговый конвейер, т.е. после того как ПР забрал деталь, конвейер перемещается на одну позицию.

Задание № 13. Разработать алгоритм и управляющую программу для СУ контрольно-сортировочным автоматом, выполняющим сортировку деталей на годные, брак неисправимый и брак исправимый (рис. 15). СУ построена на МК модели АТ89С51.

Рис. 15. Схема контрольно-сортировочного автомата: Д1 – датчик, настроенный на размер «брак неисправимый»; Д2 – датчик, настроенный на размер годной детали; Д3 - – датчик, настроенный на размер «брак исправимый»; Отс – отсекатель; Огр1, Огр2, Огр3 и Огр4 – ограничители; Т1, Т2, Т3 – толкатели

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

Детали на позицию контроля попадают с самотечного лотка. В исходном положении отсекатель Отс опущен, ограничитель Огр1 поднят, детали скатываются до Огр1. Деталь оказывается на позиции измерения под контактным датчиком. Остальные ограничители Огр2 – Огр4 опущены.

Для запуска автомата необходимо нажать кнопку «Пуск». В зависимости от размера детали на вход СУ поступает сигнал от одного из датчиков Д1, Д2 или Д3.

Если размер контролируемой детали соответствует «брак неисправимый», то сработает датчик Д1. СУ формирует одновременно три выходных дискретных сигнала для опускания Огр1, подъема Отс и подъема Огр4, деталь скатывается до Огр4. Через 2 с СУ формирует еще один дискретный выходной сигнал для толкателя Т3, деталь сталкивается в тару для бракованных деталей. После этого через 1 с подаются сигналы для отвода Т3, подъема Огр1 и опускания Отс и Огр4, следующая деталь попадает на позицию контроля.

Если размер контролируемой детали соответствует «брак исправимый», то сработает датчик Д3. СУ формирует одновременно три выходных дискретных сигнала для опускания Огр1, подъема Отс и подъема Огр3, деталь скатывается до Огр3. Через 2 с СУ формирует еще один дискретный выходной сигнал для толкателя Т2, деталь сталкивается в тару для исправимого брака. После этого через 1 с подаются сигналы для отвода Т2, подъема Огр1 и опускания Отс и Огр3, следующая деталь попадает на позицию контроля.

Если размер контролируемой детали соответствует «деталь годная», то сработает датчик Д2. СУ формирует одновременно три выходных дискретных сигнала для опускания Огр1, подъема Отс и подъема Огр2, деталь скатывается до Огр2. Через 2 с СУ формирует еще один дискретный выходной сигнал для толкателя Т1, деталь сталкивается в тару для годных деталей. После этого через 1 с подаются сигналы для отвода Т1, подъема Огр1 и опускания Отс и Огр1, следующая деталь попадает на позицию контроля.

Для подъема ограничителей и отсекателя СУ формирует сигнал логической «1», для опускания – логического «0».

Для удаления детали в тару на толкатели подается сигнал логической «1», для отвода – логического «0».

Задание № 14. Разработать алгоритм и управляющую программу для СУ шаговым двигателем (ШД). СУ построена на МК модели АТ89С51.

На пульте СУ имеются кнопки «Пуск», «Стоп» и тумблеры, которыми задаются частота вращения и угол поворота вала двигателя. Тумблерами SB1 и SB2 задается частота вращения, а SB3 и SB4 угол поворота табл. 3.

Таблица 3

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

Код частоты

Частота вращения

Код угла поворота

Угол поворота

SB1

SB2

n, об/мин

SB3

SB4

φ, град.

0

0

15

0

0

90

0

1

30

0

1

180

1

0

60

1

0

360

1

1

90

1

1

720

Принцип работы ШД заключается в том, что частота входных импульсов определяет частоту вращения вала двигателя, а количество импульсов определяет угол поворота (рис. 16).

Рис. 16. Осциллограмма импульсов, подаваемых на ЩД

В качестве ШД используется двигатель с двумя фазами: А и В, поэтому за один импульс вал двигателя поворачивается на 90 . Так как двигатель двухфазный, то в СУ будут задействованы два дискретных выхода.

Частота вращения вала двигателя задается в об/мин, а частота импульсов, поступающих от СУ, измеряется в Гц. Поэтому необходимо частоту вращения вала двигателя выразить через частоту импульсов от СУ.

Задание № 15. Разработать алгоритм и управляющую программу для измерительной системы (ИС), работающей с фотоимпульсным датчиком (ФИД) ЛИР 158А. ИС построена на МК модели АТ89С51.

ФИД при работе формирует на выходе три сигнала, обозначаемые А, В и Z. Сигнал Z формируется на выходе ФИД один раз за оборот вала датчика. Сигналы А и В сдвинуты друг относительно друга на 90 эл. градусов (рис. 17).

Рис. 17. Форма выходных сигналов с ФИД

ИС должна определять направление вращения вала датчика (направление перемещения рабочего органа) и определять величину перемещения. Величина одного импульса сигнала А или В пропорциональна 1 мм перемещения. В ИС предусмотрена индикация, отображающая направление и величину перемещения (прямой и обратный счет).

ТЕХНИКА БЕЗОПАСНОСТИ

К выполнению лабораторной работы допускаются студенты, прошедшие вводный инструктаж.

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

СОДЕРЖАНИЕ ОТЧЕТА

Отчет о проделанной работе должен содержать фамилию и группу студента, наименование работы, цель работы, алгоритм работы МК и управляющую программу с комментариями.

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

  1. Эрни, К. Программирование на языке Ассемблера для микроконтроллеров семейства I-8051 / К. Энри. -М.: Горячая Линия - Телеком, 2004. - 191 с.

  2. Фрунзе, А.В. Микроконтроллеры? Это же просто: 2 т./ А.В. Фрунзе. – М.: ИД СКИМЕН. - 2002, - Т.1.- 336 с.

Микропроцессорные средства и системы. Программирование микроконтроллера модели АТ89С51 на языке Assembler для управления дискретным технологическим объектом: методические указания к выполнению лабораторной работы для студентов очной формы обучения специальности 220201 – «Управление и информатика в технических системах».

ПЕТРЕШИН ДМИТРИЙ ИВАНОВИЧ

Научный редактор В.А. Хандожко

Редактор издательства Л.И. Афонина

Компьютерный набор Д.И. Петрешин

Темплан 2012 г., п. ____

Подписано в печать Формат 60х84 1/16. Бумага офсетная.

Офсетная печать. Усл. печ. л. 1,63 Уч. – изд. л. 1,63 Тираж 30 экз.

Заказ .Бесплатно.