СОДЕРЖАНИЕ
1. Техническое задание на разработку микропроцессорной системы управления
2. Структурная схема микропроцессорной системы управления
3. Разработка принципиальной схемы блока чтения информации с датчиков
4. Разработка принципиальных схем блоков вывода управляющих сигналов
5. Разработка принципиальной схемы блока последовательного канала связи
6. Разработка принципиальной схемы пульта управления
7. Разработка общего алгоритма управления микропроцессорной системы
8. Алгоритм работы блока чтения информации с цифровых датчиков
9. Алгоритм работы блока чтения информации с аналоговых датчиков
10. Алгоритм работы блока обмена данными по последовательному каналу связи
11. Алгоритм работы блока взаимодействия с оператором
12. Алгоритм обработки аварийных ситуаций
13. Расчет электрических параметров микропроцессорной системы управления
появление высокого уровня на выходе устройства сопряжения с датчиком аварийной ситуации;
нажатие кнопки SB2 «Прерывание оператора».
Если хотя бы один из уровней в активном состоянии, то сигнал запроса
прерывания поступает на вход INT контроллера.
Рисунок
19- Логика формирования запросов на прерывание
В качестве аварийной сигнализации используется зуммер. Аварийная
сигнализация подключена к линии 4 порта D МК. Схема аварийной сигнализации
представлена на рисунке 20.
Рисунок
20 - Схема аварийной сигнализации
Блок организации запроса прерывания предназначен для увеличения количества источников внешнего прерывания. В качестве модуля расширения применяется строенная двухконтактная микросхема DD2 КР1533ЛЕ1. Так как используется базис ИЛИ-НЕ, то прерывания будем определять по заднему фронту сигнала на входе внешнего прерывания INT.
Выходной сигнал
схемы блока организации запроса прерывания в базисе И-ИЛИ-НЕ
имеет вид:
, (10)
где
- сигнал от кнопки «Прерывание оператора»;
- сигнал от аварийного датчика .
Переведем выходной сигнал
схемы блока организации запроса прерывания в базис ИЛИ-НЕ:
(11)
Схема блока организации запроса прерывания приведена на рисунке 21.
Рисунок
21- Схема блока организации запроса прерывания
Блок-схема общего алгоритма работы системы приведена на рисунке 20. После сброса начинается процесс инициализации контроллера, в которой выполняется первоначальная установка системы: настройку периферийных модулей, посылку в выходные каналы начальных значений управляющих воздействий и т. д. В следующем блоке осуществляется введение информации с пульта управления. В блоках «Ввод информации с цифровых датчиков» и «Ввод информации с аналоговых датчиков» обеспечивается прием информации от цифровых и аналоговых датчиков, затем цифровая информация обрабатывается в блоке «Обработка цифровой информации», где вычисляется значении булевой функции Y1, значение которой формируется в блоке «Формирование выходного сигнала Y1». После обработки аналоговой информации в соответствующем блоке формируются управляющие сигналы Y2 или Y3 в блоке «Формирование выходных сигналов Y2 или Y3». Все обработанные и вычисленные значения поступают в блок «Вывод информации на индикацию». При этом проверяется запросы на прерывание. В конце цикла программа опрашивает тумблер «Останов» и, если он включен, формирует сигнал остановки системы.
В алгоритме обработки прерывание в первую очередь осуществляется сохранение контекста, т.е. содержимого аккумулятора и регистра STATUS.
Далее производится опрос источников прерывания: прерывание от источника питания, прерывание от аварийного датчика, прерывание от последовательного порта, прерывание от таймера, прерывание оператором. прерывание от других источников. В случае прерывания от одного из источников осуществляется переход на подпрограмму, где производится обработка прерывания. После обработки прерывания восстанавливается контекст и осуществляется выход из подпрограммы обработки прерывания.
Рисунок 22 - Блок-схема общего алгоритма работы микропроцессорной системы
управления
Работа блока чтения информации с цифровых датчиков осуществляется по
следующему алгоритму, приведенному на рисунке 23.
Рисунок
23 - Алгоритм работы блока чтения информации с аналоговых датчиков
После считывания информации с цифровых датчиков, происходит вычисления булевой функции f(X1…X5). Далее система оценивает полученную в предыдущем блоке информацию f(x). Если функция не равна 1, то происходит переход к считыванию и обработке аналоговой информации. В случае равенства 1 происходит выработка сигнала Y = 1, длительностью T1=120 мкс. Затем следует конец обработки цифровой информации.
Для формирования сигналов Y1 используем таймер TMR1. Предделитель выбираем 1:1. На таймер приходит частота 20МГц.
Произведем расчет числа машинных циклов, которые потребуются для формирования импульса длительностью T1=120 мкс.
мц = 4·T,
где Т = 1/Fosc, тогда Тмц = 4/Fosc= 4/(20·106)=0,2 мкc.
Необходимое число машинных циклов:
= tимп/Tмц ;
=600.
Данное число в шестнадцатеричной системе счисления N = 258 h. Так как
таймер 16-ти разрядный, то FFFF-285=FD7A, полученное значение записываем в регистр TMR1.
Работа блока чтения информации с аналоговых датчиков осуществляется по
следующему алгоритму, приведенному на рисунке 24.
Рисунок
24 - Алгоритм работы блока чтения информации с аналоговых датчиков
Вначале
осуществляется первичная инициализация АЦП. После чего происходит считывание
информации с АЦП, которая была получена от аналоговых датчиков, и дальнейшая ее
запись по портам ввода-вывода в регистры микроконтроллера. Происходит
считывание 8-и разрядного кода установки (величина К), который приходит с
пульта управления. Затем происходит вычисление
,
по заданию. Далее происходит сравнение функции N с константой Q, которая
храниться в регистре микроконтроллера. Если N < Q, то осуществляется
выработка двоичного управляющего воздействие Y2. Если же функция N1 > K, то
осуществляется переход к выработке двоичного управляющего воздействие Y3. После
этого идет завершение данного алгоритма.
Для формирования сигналов Y2 и Y3 будем использовать таймер TMR1. Предделитель выбираем 1:1. На таймер приходит частота 20 МГц.
Произведем расчет числа машинных циклов, которые потребуются для
формирования импульса длительностью T2=318 мкс.
Tмц = 4·T,
где Т = 1/Fosc, тогда Тмц = 4/Fosc= 4/(20·106)=0,2 мкc.
Необходимое число машинных циклов:
N = tимп/Tмц ;
N=1590.
Данное число в шестнадцатеричной системе счисления N = 636 h. Так как таймер 16-ти разрядный, то FFFF-636=F9C9, полученное значение записываем в регистр TMR1.
Аналогично рассчитаем константу для Т3:
T3=395 мкс;=1975=7B7 h;B7=F848.
Работа блока обмена данными по последовательному каналу связи
осуществляется по следующему алгоритму, приведенному на рисунке 25.
Рисунок
25 - Алгоритм обмена данными по последовательному каналу связи
Вначале
происходит начальная инициализация последовательного порта USART:
устанавливается скорость передачи порта (115200 бит/с), разрешение прерывания
от USART и т.д. Осуществляется обработка принятой информации. Затем происходит
анализ полученной информации и если был принят символ «D», то передается в
канал значение Y1. Если символ не был принят, то осуществляется выход из
подпрограммы прерывания.
Рисунок
26 - Алгоритм обмена информацией по последовательному каналу связи
В блоке 1 опрашивается тумблерный регистр пульта управления и формируется
код установки К. В блоке 2 сформированный код записывается по заранее заданному
в программе адресу. В блоке 3 проверяется наличие прерывания от аварийного
датчика. В блоке 4 на пульте управления включается аварийная сигнализация. В
блоке 5 обеспечивается выдача на индикацию сигналов двоичных датчиков X1-X5. В
блоке 6 обеспечивается выдача на индикацию цифрового кода N1, поступающего с
АЦП. В блоке 7 микроконтроллер переводится в режим пониженного
энергопотребления. В блоке 8 проверяется наличие прерывания от ПУ. В блоке 9
обеспечивается выдача на индикацию значения Y1.В блоке 10 обеспечивается выдача
на индикацию результат сравнения N>K.В блоке 11 обеспечивается выдача на
индикацию сигналов двоичных датчиков X1-X5. В блоке 12 обеспечивается выдача на
индикацию константы K. В блоке 13 выход из прерывания на начало программы
обработки.
В блоке 1 вырабатывается сигнал Y1 установки внешних устройств в исходное состояние.
В блоке 2 вырабатывается сигнал для отображения аварийной световой индикации на ПУ.
В блоке 3 в последовательный канал связи передается код символа «!»
В блоке 4 микроконтроллер переводится в режим пониженного
энергопотребления.
Рисунок
27 - Алгоритм обработки прерывания от блока питания
Вначале вырабатывается сигнал Y5 установки внешних устройств в исходное
состояние. Сигнал Y5 представляет собой два прямоугольных импульса
длительностью 30 мкс, следующие с интервалом в 30 мкс. Затем в последовательный
канал связи передается код символа «!». После выполнения указанных действий
микроконтроллер переводится в режим пониженного энергопотребления.=30 мкс;
(Прерывание при отказе источника питания)=150=96h;=FF69.
Для расчета электрических параметров микропроцессорной системы управления
составим сводную таблицу основных электрических параметров таких как мощность
напряжения и ток.
Таблица 3 - Токи, потребляемые микросхемами
Потребитель
Количество
Iпотр, мА
∑Iпотр, мА
+ 15 В
AD202
2
50
100
Итого
100
+ 5 В
КР1533ЛН1
1
3,8
3,8
PIC16F877A
1
43,0
43,0
MCP2551
1
75
75
PCA9535
1
160
160
PCF8574
1
100
100
КИПД05А
16
5,0
80,0
КР1533ЛА4
3
2,2
6,6
Итого
189,6
+7.5 В
AD202
2
50
100
Итого
100
Таким образом необходимо построить схему блока питания, который выдает
напряжение + 15 В, +5В и напряжение +7.5 В. Потребляемая от источника + 15 В
мощность составляет 1.5 Вт, от источника + 5 В - 2.34 Вт, а от источника +7.5В
- 0.75 Вт. Таким образом, мощность, потребляемая всем устройством составляет
4.59 Вт.
Блок питания должен обеспечивать электроэнергией микропроцессорную систему управления по двум каналам - каналу +5В, каналу +15В и каналу +7.5В.
Для питания проектируемой микропроцессорной системы управления используем
схему блока питания представленной на рисунке 26. Блок питания обеспечивает
электроэнергией микропроцессорную систему управления по трем каналам - каналу +
5 В, каналу + 15 В и каналу +7.5В. В цепи питания +5 В предусмотрен резервный
источник питания в виде батарейки GB1 типа 6F22.
Рисунок
28 - Схема блока питания
В качестве трансформатора Т1 в данной схеме использован трансформатор
ТПП-224-127/220-50 . Этот трансформатор имеет номинальную мощность 5,5 Вт.
Напряжения между обмотками 11-12, 13-14 составляет 5В, а между обмотками 15-16
- 10 В. Для получения напряжения 15В соединим обмотки 13-14 и 15-16
последовательно. Для выпрямления напряжения в схеме применены диодные мосты VD1 и VD2 типа КЦ407А. Для стабилизации напряжений используются
интегральные стабилизаторы. В качестве стабилизатора напряжения +15В и +7.5В
используется микросхема DA2 типа КР142ЕН6А, а для получения напряжения + 5 В в
данной схеме используется интегральный стабилизатор DA1 типа КР142ЕН5А.
Заключение
В данной курсовой работе разработана микропроцессорная система управления
объектом, включающая микроконтроллер (PIC16F877), аналого-цифровой
преобразователь, схемы сопряжения и логические микросхемы. В систему входит
пульт управления, с помощью которого оператор может управлять работой системы.
Также была составлена программа, обеспечивающая выполнение алгоритма
управления. Были получены навыки в проектировании микропроцессорных управляющих
систем.
Список литературы