Разработка микроконтроллерной системы управления

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 27.12.2014
Размер файла 968,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Федеральное агентство по образованию Российской Федерации

Государственное образовательное учреждение высшего профессионального образования

Санкт-Петербургский Государственный Технологический Университет Растительных Полимеров

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

по дисциплине “Программирование и наладка контроллеров”

Тема работы: Разработка микроконтроллерной системы управления

Выполнил: Егоров. Е.А.

Проверил: Петров Г.А.

Санкт-Петербург 2014 г.

Содержание

Введение

1. Обобщенный алгоритм функционирования МКС

1.1 Обработка информации поступающей с дискретных датчиков

1.2 Управление пуском/остановом электродвигателя

1.3 Управление технологическим параметром в заданных пределах

1.4 Обработка информации поступающей с аналоговых датчиков

1.5 Обработка запроса прерывания

Заключение

Введение

Целью курсовой работы является разработка и отладка алгоритмов и программ для реализации заданного набора функций микроконтроллерной системы управления некоторым объектом управления (ОУ) , представленной на. рис.1.

Микроконтроллерная система (МКС) принимает множество информационных сигналов {X} об объекте управления от аналоговых и цифровых датчиков (Д), вырабатывает множество управляющих сигналов {Y} в соответствии с законом управления и подает их на исполнительные механизмы (ИМ). Закон управления реализуется в МКС, состоящей из микроконтроллера (МК) - управляющей микроЭВМ и пульта управления (ПУ). МК содержит основные модули, обеспечивающие выполнение и хранение данных и программ управления объектом, а также периферийные модули для подключения датчиков и исполнительных механизмов.

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

В работе разрабатывается структурная схема МКС, включая устройства ввода с дискретных датчиков (ДД), аналоговых датчиков (АД) , исполнительные механизмы (ИМ), алгоритмы и программы, обеспечивающие выполнение заданных функций, осуществляется отладка разработанных программ на модели контроллера и выполняется оценка характеристик МКС: время выполнения программ и емкость памяти программ в байтах.

1. Обобщенный алгоритм функционирования МКС

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

Блок 2 реализует задачу логического управления: принимает информацию от дискретных датчиков Х1, …, Хn, вычисляет значение булевой функцииY1= f(Х1, …, Хn) в соответствии с заданным выражением и выдает это значение в качестве управляющего сигнала (УС) Y1 по соответствующему выходному каналу контроллера на ИМ.

Блок 3 обеспечивает прием информации от аналоговых датчиков V1, …, Vm, ее преобразование в цифровую форму, вычисление значений управляющих воздействий Y2 и Y3 и выдает их на ИМ, .При этом сигналы Y2 и Y3 являются двоичными сигналами, поступающими по выбранным каналам контроллера. При выполнении этой функции оператор задает значения уставок регулируемого параметра с пульта управления (ПУ) контроллера.

Блок 4 обеспечивает циклический режим управления или останов МКС в соответствии с командой, поступающей от оператора. с ПУ.

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

1.1 Обработка информации, поступающей с дискретных датчиков

МКС опрашивает двоичные датчики Х1, Х2, Х3 и Х4 и вычисляет логическую (булеву ) функцию Y1= f(Х1, Х2, Х3, Х4) в соответствии с заданием. При единичном значении функции МКС вырабатывает в ИМ выходной сигнал Y1 = 1.

Задание (Вариант № 1 ):

Разработка структурной схемы подключения входных и выходных сигналов к контроллеру для заданной функции:

Рис.3. Структурная схема входных и выходных сигналов к контролеру

· Построение таблицы истинности:

Х1

Х2

Х3

Х4

Y1

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

1

1

1

0

1

0

0

0

0

1

0

1

0

0

1

1

0

0

0

1

1

1

1

1

0

0

0

0

1

0

0

1

0

1

0

1

0

0

1

0

1

1

1

1

1

0

0

1

1

1

0

1

1

1

1

1

0

1

1

1

1

1

1

Разработка алгоритма реализации:

Рис.4. Алгоритм реализации логической функции

Разработка программы:

Программа функции

$Mod812

M3:CLR P2.5 ;у=0

JB P1.0,M1;проверка х1

JB P1.1,M1;проверка х2

M2:SETB P2.5; y =1

JMP M3; вернуться в начало

M1:JB P1.2, M3 ;проверка х3

JB P1.3, M3 ; проверка х4

JMP M2

END

· Модель симулятора

Рис.5. Модель симулятора

Максимальное время реализации одного цикла: 12мкс

Занимаемая память: байт

1.2 Управление пуском-остановом электродвигателя

На рис 6. показана упрощенная схема подключения кнопок к МКС для управления, контроля напряжения силовой сети и выдачи сигнала для включения или выключения двигателя.

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

Для проверки и отладки программы на модели будем предполагать, что кнопка «Пуск» имитируется разрядом D1 выбранного порта контроллера , кнопка останова - «Ост» имитируется разрядом D0 , датчик наличия напряжения сети имитируется разрядом D2, а сигнал управления на включение электродвигателя отображается светодиодом разряда D3. Алгоритм работы пускателя электродвигателя представим в описательной форме и в виде блок-схемы, а программу на ассемблере требуется разработать и отладить.

Если напряжение в силовой сети отсутствует (Дн=0), то двигатель останавливается. Если напряжение есть(Дн=1), то проверяется состояние управляющих кнопок «Ост» и «Пуск». Кнопка «Ост» имеет более высокий приоритет и поэтому проверяется раньше.

микроконтроллерный дискретный сигнал датчик

Если кнопка «Ост» нажата («Ост»=1) , то двигатель останавливается, иначе переходим к проверке кнопки «Пуск».

Если кнопка «Пуск» нажата («Пуск=1» , то двигатель включается. Иначе состояние двигателя не изменяется. Пуск двигателя имитируется установкой разряда D3. Блок -схема алгоритма приведена на рис.7.

· Разработка структурной схемы подключения входных и выходных сигналов к контроллеру для заданной функции:

Рис.8. Структурная схема входных и выходных сигналов к контролеру

· Построение таблицы истинности:

Дн (Р1.1)

Ост (Р1.2)

Пуск (Р1.3)

Дв (Р2.1)

0

-

-

0

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

0

· Разработка алгоритма реализации:

Рис.9. Алгоритм реализации логической функции

Разработка программы.

$mod812

M1:CLR P2.1

M2:JNB P1.1 , M1; проверка датчика напряжения

JB P1.2 , M1 ; проверка кнопки останов

JNB P1.3 , M1; проверка кнопки пуск

SETB P2.1 ; пуск двигателя

JMP M2

END

Модель симулятора.

Рис.10. Модель симулятора (пуск/останов двигателя)

Максимальное время реализации одного цикла: 7 мкс

Занимаемая память: байт

1.3 Управление технологическим параметром в заданных пределах

Необходимо обеспечить поддержание значения параметра, например, температуры окружающей среды в заданных пределах Тmin - Тmax. Значения Tmin и Tmax при моделировании хранятся в ячейках памяти данных контроллера или в регистрах ЦПУ и их значения определяются студентом при моделировании самостоятельно, как и значения текущих значений температуры с датчиков (загружаются параметры температур при моделировании в симулятор контроллера с клавиатуры персонального компьютера).

Вариант 1

Номер варианта

Количество датчиков температур «m»

Поиск мин. или макс. значения температуры

Место хранения исходных температур

1

2

мин

Регистры

Обработка данных заключается в следующем. Введенные с датчиков m значений параметров (m выбирается по таблице) запоминаются в ячейках области ввода памяти данных и регистрах контроллера ( область памяти и регистры выбираются самостоятельно).

Далее требуется вычислить среднее значение температуры:

Tср.=?Ti/m ,

где m - количество температур Ti. После определения Tср необходимо ее сравнить с Tmin и Tmax и сформировать на линиях выбранного выходного порта контроллера соответствующие УС, например Y4 или Y5, поступающие в ИМ «Охладитель среды» или «Нагреватель среды» соответственно, подключенные к данным линиям выходного порта. Также требуется в индикатор, подключенный к выходному порту, вывести среднее значение Тср текущей температуры, минимальное или максимальное в соответствии с вариантом .

Алгоритм сравнения температур приведен на рис.11

Рис.11. Алгоритм сравнения температур.

· Разработка структурной схемы подключения входных и выходных сигналов к контроллеру для заданной функции

Рис. 12. Структурная схема подключения входных и выходных сигналов к контролеру

Карта памяти:

40H - 41H - значения Ti

R4 - значение максимума (Тмакс=8)

R3 - значение минимума ( Тмин=2)

R5 - среднее значение

R6 - минимальная температура

Разработка программы:$Mod812

MOV R0,#40H ;Начальный адрес в ПД значений Тi(i=1-2)

MOV R1,#02H ; Счетчик числа Ti

MOV R3,#8H ; Значение Tmax

MOV R4,#02H ; Значение Tmin

MOV B,#02H ; Количество Ti

CLR A

CLR P2.3

CLR P2.4

; Вычисление суммы Ti и Тср

M1:ADD A,@R0 ; складываем аккумулятор с косвенной адресом R0

INC R0 ; инкремент адреса

DJNZ R1,M1; декремент если не 0 то переход в м1 иначе след шаг.

DIV AB ; Нахождение значения Тср

; Сравнение температур

MOV R5, A ; Сохраняем результат Тср в регистре R5

SUBB A, R4 ; Сравнение значения Тср со значением Тmin

JC M2 ; анализ значения Тср, если Тср<Tmin, то осуществляется ;переход к метке М2, иначе выполняется следующая команда

MOV A,R5 ; записываем в аккумулятор значение Тср

SUBB A,R3 ; Сравнение значения Тср со значением Тmax

JNC M4 ; анализ значения Тср, если Тср >Tmax, то осуществляется

;переход к метке М4, иначе выполняется следующая команда

JMP M3 ;переход к м3

M2:SETB P2.3 ; у=1; включить нагреватель

JMP M3 ; переход к м3

M4:SETB P2.4 ; у=1; включить охладитель

; Поиск минимума температуры

M3:MOV R0, #40H ;Начальный адрес в ПД значений Тi(i=1-2)

MOV R1, #02H; Счетчик числа Ti

MOV A, @R0 ; записываем в аккумулятор первую T1.

M9:INC R0 ; инкремент адреса

MOV R6, A ; сохраняем результат T1 в R6

SUBB A, @R0 ; сравниваем T1с T2

JNC M7 ; анализ значения , если T1<T2, то осуществляется переход ;к метке М7, иначе выполняется следующая команда

MOV A,R6 ; записываем в аккумулятор

JMP M10

M7:MOV A,@ R0 ; записываем в аккумулятор T2.

M10:DJNZ R1,M9

MOV P3 , R6; вывод минимума на P3

M11:JMP M11

END

· Модель симулятора

Рис.13.модель симулятора (пределы T)

Максимальное время реализации одного цикла: 54 мкс

Занимаемая память: байт

1.4 Обработка информации, поступающей с аналоговых датчиков (V1, …,Vm)

Сигналы с аналоговых датчиков V1 и V2 преобразуются в АЦП в 8-разрядные коды.

Рис.14. Алгоритм обработки аналоговых сигналов

Данные коды представляют целые числа без знака и поступают на обработку в МП контроллера. Величина K - 8-разрядный код, поступающий в контроллер с клавиатуры пульта управления (уставка).

Полученное значение функции Nv = f(Nv1, Nv2, K) сравнивается с константой Q, хранящейся в РПД и в зависимости от результатов сравнения (рис. 14) МКС вырабатывает двоичные управляющие воздействия y2 или y3 длительностью t2 или t3 соответственно(см . рис 15).

Рис. 15.обработка аналоговых сигналов.

Задание (Вариант № 1)

Функция Nu = f(Nu1+Nu2+, K):

Время t2: 20 мкс

Время t3: 20 мкс

Разработка алгоритма реализации:

Рис16. Алгоритм обработки аналоговых сигналов

Текст программы:

$MOD812

MOV R0,10H; ввод сигнала Nu1 из памяти

MOV R1,11H; ввод сигнала Nu2 из памяти

MOV R2, P3; ввод К

MOV R3, 13H; ввод константы Q

CLR P1.0 ; обнулить выход Р1.0

CLR P1.1; обнулить выход Р1.1

MOV A,R0; записать в аккумулятор значение Nu1

ADD A,R1; прибавить Nu1+Nu2

MOV R4, A; сохранение результата (Nu1+Nu2) из аккумулятора в R4

MOV R2, A; записать в аккумулятор значение К

ADD A, R4 ; Nu1+Nu2+К

MOV R5, A; сохранить результат( Nu1+Nu2+К) из аккумулятора в R5

SUBB A, R3 ;сравнить полученное значение с константой.

JC M1 ; если А>=R3 переход к следующей команде, иначе к М1

SETB P1.1;формирование длительности сигнала У2

MOV R6,20H; длительность сигнала 20 мкс

DJNZ R6,$; вернуться на один и проверить на 0. Если нет то след шаг

CLR P1.1; обнулить выход Р1.1

JMP M2

M1:SETB P1.0;формирование длительности сигнала У3

MOV R6,20H; длительность сигнала 20 мкс

DJNZ R6,$ ; вернуться на один и проверить на 0. Если нет то след шаг.

CLR P1.0 ; обнулить выход Р1.0

M2:JMP M2

END

Рис.16.Модель симулятора ( функция)

Время выполнения: 89 мкс.

Размер: Байт

1.5 Обработка запроса прерывания

Данное задание предусматривает обработку внешнего запроса прерывания, поступающего в контроллер. Контроллер выполняет логическую функцию в соответствии с первым заданием.

В курсовой работе требуется организовать обработку одного внешнего запроса от некоторого аварийного датчика, подключенного ко входу обработки прерывания контроллера INT0 (одна из линий порта P3).

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

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

При поступлении запроса прерываний контроллер прерывания формирует в ЦПУ сигнал прерывания INT. После получения сигнала прерывания INT ЦПУ завершает выполнение текущей команды прерываемой программы и формирует сигнал подтверждения INTA. После получения INTA КП формирует команду вызова подпрограммы Call ADRi. Подпрограммы обработки прерывания обязательно завершаются командой RETI, в соответствии с которой в программный счетчик из стека загружается адрес ранее сохраненный командой CALL, сохраненной в стеке, для возврата в прерванную программу. Команда RET также возвращает управление прерванной программе, но не снимает при этом блокировку прерываний.

Далее приведём текст программы с использованием обработки прерываний.

Рис. Структура обработки прерывания

· Разработка программы:

$Mod812

ORG 00H

JMP 09H

ORG 03H

JMP 40H

ORG 09H

MOV IE, #8fh

MOV IP, #03H

MOV tcon, #01h

M3:CLR P2.5 ;у=0

JB P1.0,M1;проверка х1

JB P1.1,M1;проверка х2

M2:SETB P2.5; y =1

JMP M3; вернуться в начало

M1:JB P1.2, M3 ;проверка х3

JB P1.3, M3 ; проверка х4

JMP M2

ORG 40h

SETB P3.1

MOV A, P1

MOV P2, A

RETI

END

Рис.17.Модель симулятора ( функция)

Время выполнения: 23 мкс.

Размер: Байт

Заключение

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

При выполнении работы выполнены:

· структурная схема МКС;

· блок-схемы алгоритмов и программы реализации заданных функций на языке Ассемблер;

· для каждой программы представить модель симулятора со всеми окнами;

· карта распределения адресных пространств памяти программ и данных контроллера

· дана оценка основных характеристик МКС:

а) максимального времени реализации одного цикла управления (от пуска системы до окончания однократной реализации заданного алгоритма ) Время реализации определяется симулятором микроконтроллера автоматически при выполнении программы.

б) емкости памяти данных и памяти программ (в байтах), необходимые для реализации разработанных программ.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.