Курсовая работа: Разработка системы управления аппарата по розливу воды в стаканчики
Рисунок 3.7 – Схема управления насосом
Реле срабатывает при открытом транзисторе, который открывается подачей с порта Р1.3 логического нуля. При подаче логического нуля транзистор открывается, и ток проходит через реле, он срабатывает и запускает насос.
4 Алгоритм работы
4.1 Описание блок схемы
Разработку программного обеспечения начнём с создания продуманного алгоритма, который приведён в виде блок-схемы (Приложение Б). [47, 48, 49]
Первым функциональным действием аппарата будет подсчет наполненных стаканчиков, для этого введём специальную переменную, в которую в начале работы обнулим.
Следующим действием будет проверка на наличие достаточного количества воды в баке. Для этого микроконтроллером будет опрошен фотодиодный датчик, и если окажется, что он перекрыт поплавком, то значит, уровень воды маловат и требуется долить воды в бак. Информировать пользователя о недостатке воды будет светодиод, который будет мигать. Это будет происходить за счет того, что микроконтроллер будет попеременно подавать сигнал на включение и выключение, через порт, к которому присоединён светодиод.
Если уровень воды достаточен, включим светодиод индикации уровня воды, подав сигнал на порт, к которому присоединен светодиод.
Далее проверяем, что имеются пустые стаканчики, для этого проверяем специальную переменную, которая считает количество заполненных стаканчиков. Если мы заполнили водой все стаканчики, то завершаем работу аппарата. А если все же остались пустые стаканчики, то работа аппарата продолжается.
Для позиционирования следующего стаканчика необходимо повернуть платформу, на которой они установлены. Это делается с помощью шагового мотора, который проворачивает насколько оборотов ротора и с помощь червячно-реечного механизма поворачивает платформу на определенный угол.
Когда мы знаем, что стаканчик находиться под краном, запускаем насос. Для этого микроконтроллер подаёт сигнал на соответствующий порт и выжидает некоторое время, достаточное для заполнения стаканчика водой. Когда время выходит мотор выключается.
Далее для удобства выжидается набольшая пауза, и аппарат переходит в режим заполнения следующего стаканчика.
4.2 Описание хода разработки программного обеспечения
Опишем ход реализации программы (Приложение В). [47, 48, 49]
Проверка синтаксиса и отладка программы осуществлялось с помощью программы фирмы KeilSoftwaremVisionv.2.04b.
Перед началом указывается адрес начала программы.
org 000h
ljmp BEGIN
Далее перечисляются необходимые переменные.
N_GLASS:DB6H;количество стаканчиков
N_MOTOR_COUNT:DB2H;количество оборотов ротора мотора
N_STEP:DB8H;шагом одного оборота ротора мотора
STEPS:DB90H, 10H, 30H, 20H, 60H, 40, 0C0H, 80H;шаги
TH_MOTOR:DB;задержка перед следующим шагом
TL_MOTOR:DB;задержка перед следующим шагом
TH_PUMP:DB;время работы мотора
TL_PUMP:DB;время работы мотора
TH_LED:DB;задержка смены состояния светодиода
TL_LED:DB;задержка смены состояния светодиода
TH_PAUSE:DB;задержка для паузы
TL_PAUSE:DB;задержка для паузы