- •Курсовая работа по дисциплине
- •Введение
- •Обобщенный алгоритм функционирования мкс
- •1.2.Обработка информации с дискретных датчиков
- •1.3. Обработка информации с аналоговых датчиков
- •1.4. Управление пуском – остановом электродвигателя
- •1.5. Управление технологическим параметром в заданных пределах
- •1.6. Обработка запроса прерывания
1.3. Обработка информации с аналоговых датчиков
Сигналы с аналоговых датчиков V1 и V2 преобразуются в цифровую форму в АЦП в 8-разрядные коды, представляющие целые числа без знака и поступают на обработку
в МП контроллера. Величина K – 8-разрядный код, поступающий в контроллер с клавиатуры пульта управления (уставка).
Полученное значение функции Nv = f(Nv1, Nv2, K) сравнивается с константой Q, хранящейся в РПД и в зависимости от результатов сравнения МКС вырабатывает двоичные управляющие воздействия y2 или y3 длительностью t2=40 мкс или t3=20 мкс соответственно.
По заданию необходимо реализовать функцию Nv = f (Nv1+Nv2-K), схема алгоритма которой приведена на рис.6:
Текст программы:
$MOD812
MOV R0,10H; ввод сигнала Nv1 из памяти
MOV R1,11H; ввод сигнала Nv2 из памяти
MOV R2, P3; ввод k
MOV R3, 13H; ввод константы Q
MOV A,R0
ADD A,R1; Nv1+Nv2
MOV R4, A ; сохранение результата (Nv1+Nv2)
MOV R2, A
SUBB A, R2 ; Nv1+Nv2-К
MOV R5, A
M4: SUBB A, R3
JC M1 ; если А>=R3 переход к следующей команде, иначе к М1
SETB P1.1
;формирование длительности сигнала У2
MOV R6,#3CH; длительность сигнала 60 мкс
DJNZ R6,$
CLR P1.1
JMP M2
M1: SETB P1.0
;формирование длительности сигнала У3
MOV R6,#28H; длительность сигнала 40 мкс
DJNZ R6,$
CLR P1.0
M2: JMP M2
END
Время выполнения: 40 мксек.
Размер: 35 Байт
Карта памяти:
10H – сигнал Nv1 с аналогового датчика V1
11H – сигнал Nv2 с аналогового датчика V2
13H – константа Q
1.4. Управление пуском – остановом электродвигателя
На рис.7 показана упрощенная схема подключения датчиков к МКС управления, контроля напряжения силовой сети и выдачи сигнала для включения или выключения двигателя.
Рис 7. Структурная схема МКС управления пуском двигателя
Датчик напряжения (Дн) выполнен на оптронном транзисторе, что обеспечивает гальваническую развязку между силовой цепью и цепями управления на вводе сигналов . Для гальванической развязки и для усиления сигнала управления двигателем на выходе используется контактор К (катушка и силовые контакты) .
Для проверки и отладки программы на модели будем предполагать, что кнопка «Пуск» имитируется разрядом Р1.0 порта контроллера, кнопка останова «Ост» имитируется разрядом Р1.1 , датчик наличия напряжения сети имитируется разрядом Р1.2, а сигнал управления на включение электродвигателя формируется через порт Р2.5. Алгоритм работы пускателя электродвигателя представлен на рис.8.
Если напряжение в сети отсутствует (Дн=0), то двигатель останавливается, а если напряжение есть (Дн=1), то проверяется состояние управляющих кнопок «Ост» и «Пуск». Кнопка «Ост» имеет более высокий приоритет и поэтому проверяется раньше. Если кнопка «Ост» нажата («Ост»=1) , то двигатель останавливается, иначе переходим к проверке кнопки «Пуск».
Если кнопка «Пуск» нажата («Пуск=1» , то двигатель включается , иначе состояние двигателя не изменяется. Пуск двигателя имитируется установкой разряда D3.
Для подключения датчиков будем использовать порт Р1, а для двигателя – порт Р2 . Таблица истинности, отражающая алгоритм управления двигателем, имеет следующий вид:
Дн (Р1.2) |
Ост (Р1.1) |
Пуск (Р1.0) |
Дв (Р2.5) |
0 |
х |
х |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
В таблице символ «х» отражает, что при значении Дн =0 значение кнопок «Пуск» и «Ост» не имеет значения. Подключение датчика Дн , кнопок Пуск, Ост, а также двигателя Дв к портам контроллера показаны в таблице истинности.
Текст программы имеет следующий вид :
$mod812
M1: CLR P2.5
М2: JNB P1.2 , M1; проверка датчика напряжения
JB P1.1 , M1 ; проверка кнопки останов
JNB P1.0 , M1; проверка кнопки пуск
SETB P2.5 ; пуск двигателя
JMP M2
END
Время выполнения: 11 мкс.
Размер программы: 18 Байт