- •Программирование микроконтроллерной системы управления Введение
- •1.Техническое задание на проектирование
- •1.1. Обобщенный алгоритм функционирования мкс
- •1.2. Обработка информации, поступающей с дискретных датчиков (х1, …, Хn)
- •Реализация логических функций.
- •(Вариант 1 )
- •Выполнение логических функций ( вариант 2)
- •1.3. Обработка информации, поступающей с аналоговых датчиков (v1, …,Vm)
- •1.4. Управление пуском–остановом электродвигателя
- •1.5.Управление технологическим параметром в заданных пределах
- •1.6.Обработка запроса прерывания
- •2. Результаты курсовой работы
- •3. Приложение. Описание симулятора adSim812
- •Литература
1.3. Обработка информации, поступающей с аналоговых датчиков (v1, …,Vm)
Сигналы с аналоговых датчиков V1 и V2 преобразуются в АЦП в 8-разрядные коды.
.
Рис.4,а. Алгоритм обработки аналоговых сигналов
Данные коды представляют целые числа без знака и поступают на обработку в МП контроллера. Величина K – 8-разрядный код, поступающий в контроллер с клавиатуры пульта управления (уставка).
Вид реализуемой функции представлен в табл. 2. Полученное значение функции Nv = f(Nv1, Nv2, K) сравнивается с константой Q, хранящейся в РПД и в зависимости от результатов сравнения (рис. 4,а) МКС вырабатывает двоичные управляющие воздействия y2 или y3 длительностью t2 или t3 соответственно(см . рис 4,б).
МК
| |||
Р0 |
Р1 |
Р2 |
Р3 |
Y3 Y2
……
Датчики
аналоговых Сигналов
V1…Vm ИМ Индикатор
Рис
4.б. Обработка аналоговых сигналов
Таблица 2
Номер варианта |
Функция Nu = f(Nu1, Nu2, K) |
Время t2, мкс. |
Время t3, мкс. |
1 |
Nu1+Nu2+K |
20 |
20 |
2 |
min(Nu1; Nu2+K) |
30 |
30 |
3 |
max(Nu1; Nu2+K) |
40 |
20 |
4 |
min(Nu1; Nu2-K) |
30 |
60 |
5 |
max(Nu1; Nu2-K) |
100 |
100 |
6 |
Nu1+Nu2-K |
60 |
40 |
7 |
min(Nu1; Nu2) |
100 |
10 |
8 |
max(Nu1; Nu2) |
40 |
80 |
9 |
Nu1-Nu2+K |
60 |
120 |
10 |
min(Nu1+Nu2; K) |
200 |
20 |
11 |
max(Nu1+Nu2; K) |
60 |
60 |
12 |
min(Nu1-Nu2; K) |
40 |
40 |
13 |
max(Nu1-Nu2; K) |
60 |
20 |
14 |
Nu1-Nu2-K |
30 |
100 |
15 |
min(Nu1; Nu2+K) |
200 |
40 |
16 |
max(Nu1; Nu2+K) |
160 |
80 |
17 |
min(Nu1; Nu2-K) |
40 |
80 |
18 |
max(Nu1; Nu2-K) |
90 |
90 |
19 |
min(Nu1+Nu2; K) |
80 |
10 |
20 |
max(Nu1-K; Nu2) |
60 |
60 |
21 |
min(Nu1-K; Nu2) |
100 |
10 |
22 |
max(Nu1+K; Nu2) |
60 |
20 |
23 |
min(Nu1; Nu2) |
120 |
140 |
24 |
max(Nu1; Nu2) |
20 |
120 |
25 |
max(Nu1;Nu2+K) |
40 |
40 |
Для формирования требуемой длительности выходных сигналов в курсовой работе можно использовать программный способ . Например, для формирования длительности импульса можно записать в регистр ЦПУ код , пропорциональный требуемой длительности импульсов t2 и t3.
Примечание: длительность импульса формируется программным или аппаратным путем с помощью таймеров (см. конспект).
1.4. Управление пуском–остановом электродвигателя
На рис.5 показана упрощенная схема подключения кнопок к МКС для управления, контроля напряжения силовой сети и выдачи сигнала для включения или выключения двигателя.
Примечание: Выбрать самостоятельно порты и разряды контроллера для входных и выходных сигналов
Датчик напряжения (Дн) выполнен на оптронном транзисторе, что обеспечивает гальваническую развязку между силовой цепью и цепями управления на вводе сигналов . Для гальванической развязки и для усиления сигнала управления двигателем на выходе используется контактор К (катушка и силовые контакты) . Цепи вывода обеспечивают параметры сигнала для срабатывания контактора.
Для проверки и отладки программы на модели будем предполагать, что кнопка «Пуск» имитируется разрядом D1 выбранного порта контроллера , кнопка останова – «Ост» имитируется разрядом D0 , датчик наличия напряжения сети имитируется разрядом D2, а сигнал управления на включение электродвигателя отображается светодиодом разряда D3. Алгоритм работы пускателя электродвигателя представим в описательной форме и в виде блок-схемы, а программу на ассемблере требуется разработать и отладить.
Если напряжение в силовой сети отсутствует (Дн=0), то двигатель останавливается. Если напряжение есть(Дн=1), то проверяется состояние управляющих кнопок «Ост» и «Пуск». Кнопка «Ост» имеет более высокий приоритет и поэтому проверяется раньше.
Если кнопка «Ост» нажата («Ост»=1) , то двигатель останавливается, иначе переходим к проверке кнопки «Пуск».
Если кнопка «Пуск» нажата («Пуск=1» , то двигатель включается , иначе состояние двигателя не изменяется. Пуск двигателя имитируется установкой разряда D3. Блок –схема алгоритма приведена на рис.6.