- •3.1 Разработка схемы сопряжения для подключения цифровых датчиков мк 10
- •3.2 Разработка схемы сопряжения для подключения аналоговых датчиков мк 11
- •3.3 Разработка схемы сопряжения контроля наличия напряжения питания 13
- •Введение
- •1 Техническое задание на разработку микропроцессорной системы управления объектом
- •2 Структурная схема микропроцессорной системы
- •3 Принципиальные схемы чтения информации с датчиков микропроцессорной системы управления объектом
- •3.1 Разработка схемы сопряжения для подключения цифровых датчиков мк
- •3.2 Разработка схемы сопряжения для подключения аналоговых датчиков мк
- •3.3 Разработка схемы сопряжения контроля наличия напряжения питания
- •4 Разработка принципиальной схемы блока вывода управляющих сигналов
- •5 Разработка принципиальной схемы блока последовательного канала связи
- •6 Разработка принципиальной схемы пульта управления
- •7 Разработка структуры программного обеспечения и общего алгоритма управления
- •8 Разработка алгоритма работы блока чтения информации с цифровых датчиков
- •9 Разработка алгоритма работы блока чтения информации с аналоговых датчиков
- •10 Разработка алгоритма работы блока обмена данными по последовательному каналу связи
- •11 Разработка алгоритма работы блока взаимодействия с оператором
- •12 Разработка алгоритма работы блока обработки аварийных ситуаций
- •13 Расчет электрических параметров мпс
- •14 Разработка блока питания объекта
- •Заключение
- •Список использованных источников
- •Приложение а схема электрическая принципиальная микропроцессорной системы управления
- •Чтение информации с аналоговых датчиков
7 Разработка структуры программного обеспечения и общего алгоритма управления
Блок-схема общего алгоритма работы системы приведена на рисунке 9.
Рисунок 9 – Структурная схема управления объектом
Блок «инициализация» выполняет начальную установку системы: настройку периферийных модулей, посылку в выходные каналы начальных значений управляющих воздействий и т. д.
Блок «обработка полученной информации и формирование выходных сигналов» реализует задачу логического управления: принимает информацию от двоичных датчиков , вычисляет значение булевой функцииX1, X2, X3, X4, X5, X6 и выдает это значение в качестве управляющего сигнала Y1 по соответствующему выходному каналу на исполнительный механизм. А также обеспечивает прием информации с аналоговых датчиков V1, V2 ее преобразование в цифровую форму, вычисление значений управляющих воздействий Y2, YЗ, Y4 и выдачу их на исполнительные механизмы. При выполнении этого блока учитывается значение уставки, заданное оператором с пульта.
8 Разработка алгоритма работы блока чтения информации с цифровых датчиков
Алгоритм считывания информации с бинарных датчиков представлен на рисунке 10.
Рисунок 10 – Считывание информации с бинарных датчиков
В блоке 1 осуществляется считывание бинарной информации с двоичных датчиков и запись её в регистры микроконтроллера.
В блоке 2 осуществляется вычисление булевой функции:
.
В блоке 3 осуществляется оценка вычисленной функции, если f(x) = 1, тогда осуществляется переход на блок 5, где вырабатывается сигнал Y1=1, длительностью Т1(379 мкс), в соответствии с заданием на курсовую работу. В случае если f(x) ≠ 1, то осуществляется переход на блок обработки аналоговой информации.
9 Разработка алгоритма работы блока чтения информации с аналоговых датчиков
Алгоритм считывания информации с аналоговых датчиков представлен на рисунке 11.
Рисунок 11 – Считывание информации с аналоговых датчиков
Рисунок 12 – Алгоритм обработки полученной информации
В блоке 1 происходит вычисление значение функции N=max(N1; N2+K). В зависимости от результата сравнения значения функции N и константы Q вырабатывается сигнал длительностью Y2(96 мкс) или Y3 (712 мкс).
TMR1- 16 разрядный таймер/счетчик, состоящий из двух 8-разрядных регистром (TMR1H и TMR1L) доступных для чтения и записи. Счет выполняется в спаренных регистах (TMR1H:TMR1L), инкрементируя их значение от 0000h до FFFFh, далее считается с 0000h. При переполнении счетчика устанавливается в ‘1’, флаг прерывания TMR1IF в регистре PIR1<0>.
Для формирования сигналов Y1-Y3, Y5 будем использовать таймер TMR1. Предделитель выбираем 1:1. На таймер приходит частота 4МГц/4=1МГц.
;------------НАСТРОЙКА TMR1-------------------------
;(СЛУЖИТ ДЛЯ ФОРМИРОВАНИЯ ВЫХОДНЫХ СИГНАЛОВ Т1,Т2,Т3,Т5)
BANKSEL T1CON
MOVLW B'00001000' ;ПРЕДДЕЛИТЕЛЬ 1:1, ВНУТРЕННИЙ ТАКТОВЫЙ ГЕНЕРАТОР
MOVWF T1CON ;ТАЙМЕР ВЫКЛЮЧЕН
Значит имеем: Т1=379 мкс (379 импульсов по 1мкс). Переведем 379 в шестнадцатеричную систему (379d=17Bh). Так как таймер 16-ти разрядный, то FFFFh-17Bh =FE84h, полученное значение записываем в регистр TMR1.
MOVLW 0x84
MOVWF TMR1L
MOVLW 0xFE
MOVWF TMR1H
Для сигналов Y2, Y3 и Y5 поступаем аналогичным образом
T2 = 96 мкс (96 импульсов по 1мкс). Переведем 96 в шестнадцатеричную систему (96d = 60h). Так как таймер 16-ти разрядный, то FFFFh-60h =FF9Fh, полученное значение записываем в регистр TMR1.
MOVLW 0x9F
MOVWF TMR1L
MOVLW 0xFF
MOVWF TMR1H
T3 = 712мкс (712 импульсов по 1мкс). Переведем 712 в шестнадцатеричную систему (712d = 2C8h). Так как таймер 16-ти разрядный, то FFFFh-2C8h=FD37h, полученное значение записываем в регистр TMR1.
MOVLW 0x37
MOVWF TMR1L
MOVLW 0xFD
MOVWF TMR1H
T5 = 30 мкс (30 импульсов по 1мкс). Переведем 30 в шестнадцатеричную систему (30d= 1Eh). Так как таймер 16-ти разрядный, то FFFFh-1Eh=FFE1h, полученное значение записываем в регистр TMR1.
MOVLW 0xE1
MOVWF TMR1L
MOVLW 0xFF
MOVWF TMR1H
Рисунок 13 – Алгоритм обработки полученной информации
В блоке 1 осуществляется первичная инициализация АЦП.
В блоке 2 осуществляется считывание информации, полученной с аналоговых датчиков и последующая запись её в регистры микроконтроллера.
В блоке 3 осуществляется считывание величины К – это 8 разрядный код установки, поступающий с тумблерного регистра пульта управления.
В блоке 4 вычисляется значение функции N=max(N1; N2+K), в соответствии с заданием.
В блоке 5 осуществляется сравнение результатов вычисления функции N с константой Q хранящейся в регистре МК. Если N<Q, то осуществляется переход на блок 6, где вырабатывается двоичное управляющее воздействие Y2 длительностью T2 (96 мкс). Если функция N>Q, то осуществляется переход на блок 7, где вырабатывается двоичное управляющее воздействие Y3 длительностью T3(712 мкс).
В блоке 8 выдается значение Y4, которое представляет собой переменную N.