Датчик с монтажными отверстиями для крепежа на болтах. Применение: - позиционные и концевые датчики, - промышленное использование
3.7 Клапан залива
Клапан залива предназначен для подачи воды от водопроводной сети. Они приводятся в действие электромагнитом. На входе клапана налива устанавливается фильтр для удаления примесей из воды.
Таблица 5. Различные модели клапанов залива
Название
Фирма
Цена, руб.
Изображение
Заливной клапан
ARISTON-INDESIT
1000
DAEWOO
800
ARISTON, INDESIT
750
SAMSUNG
700
Универсальный
300
Руководствуясь данными приведенными в таблице 5, а также тем, что разрабатываемый блок управления рассчитан на стиральные машины с подводом только холодной воды, выбираем один из самых дешевых универсальных клапанов.
3.8 Замок
Электрозамки предназначены для дистанционного открывания двери подачей электрического сигнала и используются совместно с домофонами, кодовыми панелями, считывателями карточек различных типов и другими устройствами контроля доступа. Электрозамки делятся на два класса: электромагнитные и электромеханические. Электромагнитный замок удерживает дверь в закрытом состоянии за счет усилия электромагнита. Электромеханический замок имеет механический ригель, удерживающий дверь в закрытом состоянии, а управление этим ригелем осуществляется относительно маломощным соленоидом. Электрозащелки представляют собой ответную часть замка и используются совместно с обычным механическим замком. При подаче управляющего напряжения разблокируется фиксатор электрозащелки и дверь может быть открыта при выдвинутом положении ригеля механического замка. Электромагнитные замки обладают большей надежностью за счет отсутствия относительно быстро изнашиваемых механических частей.
Для данной работы наилучшим образом подходит электромагнитный замок малой мощности с питающим напряжением 5 Вольт. Стоимость и характеристики таких замков различных производителей приблизительно одинаковы.
Рисунок 7. Принципиальная электрическая схема
КД - концевой датчик блокировки двери
ДТ - датчик температуры
КЗ - клапан залива
4. Алгоритм работы
Вывод
В данном курсовом проекте разработан блок управления стиральной машиной. Данный блок управления обладает всеми необходимыми функциональными возможностями, с помощью чего осуществляется полностью автоматизированный цикл стирки белья в одном из предложенных режимов, каждый из которых реализован для двух возможных температур воды. Помимо отвечающей современным требованиям функциональности блок управления имеет конкурентоспособную стоимость и обладает высокой надежностью.
Литература
1. О. Николайчук «x51-совместимые микроконтроллеры фирмы Silicon Laboratories (Cygnal),M.,ИД СКИМЕН,2004»
2. Бродин В.Б., Шагурин М.И. Справочник. Микроконтроллеры: архитектура, программирование, интерфейс. М.: ЭКОМ 1991 г.
3. «Справочник по однокристальным микроконтроллерам КМ1816ВЕ48 и КМ1816ВЕ51» (источник - http://ofap.ulstu.ru/files/REFER_BOOK_MK48&MK51/start.htm)
4. Свободная энциклопедия «Википедия» (ресурс - http://www.wikipedia.org)
Приложение А
Код программы
Вход концевого датчика P 1.1 показывает закрыта ли дверца, если закрыта - необходима её заблокировать перед началом стирки
M_BLOCK :
MOV A, P1 // записываем в аккумулятор значение порта P1
ANL A, #10B // обнуляем ненужные биты (оставляем только сигнал концевого датчика)
JZ M_BLOCK // если дверь не закрыта (датчик разомкнут - P1.1=0) возвращаемся к началу проверки и так до тех пор пока дверца не будет зарыта
SETb P2.3 // закрыли замок на двери перед стиркой
Процедура работы таймера:
Для каждого этапа работы определена длительность:
Набор воды - 30 сек ( R2 = 10B)
Вращение барабана - 10 мин ( R2 = 100100B)
Нагрев воды - 2 мин ( R2 = 111B)
Слив воды - 30 сек ( R2 = 10B)
Отжим - 20 мин ( R2 = 1001000B)
TIMER:MOV TMOD, #1B
XRL TH0, TH0
SETB TR0
MOV A, #R2// посчитанное значение для текущего режима работы
MOV R2, #0B
MAIN:MOV R1, #0B
INC R2
SEC:INC R1
CICLE: JNB TF0, CICLE
CLR TF0
CJNE R1, #11111111B, MAIN
CJNE R2, A, END
SJMP SEC
END:RET
ACPCONF:// Конфигурирование АЦП для использования AIN0 в однопроводном режиме
MOV ADC0CF, #10000101b // Тактовая частота преобразование SAR0 = 941кГц,коэф. усиления = 16
MOV AMX0CF, #00H// 8 входов в однопроводном режиме
MOV AMX0SL, #00H// Выбор входа AIN0
MOV ADC0CN, #10001101b // Разрешение АЦП0 (режим непрерывной выборки, преобразование инициализируется по переполнению Таймера 2, данные выровнены по левому краю).
RET
После того как дверца заблокирована можно приступать к работе. Режим работы определяется битами 0 и 1 порта P2, бит 2 порта P2 определяет температуру для стирки в выбранном режиме. При проверке установленного режима в случае если он не равен нулю происходит уменьшение значения режима на единицу - в таком случае на каждом следующем шаге мы точно знаем какой режим установлен.
Список режимов работы (биты указаны по убыванию - второй, первый, нулевой) :
000 - «обычна стирка при температуре 30 градусов Цельсия»
100 - «обычна стирка при температуре 60 градусов Цельсия»
001 - «полоскание при температуре 30 градусов Цельсия»
101 - «полоскание при температуре 60 градусов Цельсия»
010 - «быстрая стирка при температуре 30 градусов Цельсия»
110 - «быстрая стирка при температуре 60 градусов Цельсия»
011 - «отжим»
MOV R0, P2 // запись режима работы в регистр R0
ANL R0, #00000011B // обнуление ненужных бит (несмотря на обнуление второго бита, отвечающего за температуру, со входа P2.2 мы всегда сможем его считать)
MOV A, R0 // переносим в аккумулятор (для команды условного перехода)
JZ M_NABOR // если режим 0 (простая стирка) переходим к стирке
DEC R0 // уменьшаем значение режима для последующего сравнения с нулём
JZ M_PredNabor // если режим "полоскание" переходим к установке режима "отжим" чтобы не стирать дважды
JZ M_BezOtzhima // если режим "без отжима" (10, уже равен 00) переходим
SJMP M_OTZHIM // если режим "отжим" (11, уже равен 01) переходим
M_BezOtzhima:
Mov R0, #11111111B // устанавливаем любое значение кроме выбранных режимов, для того чтобы в последствии пропустить этап «отжим»
SJMP M_NABOR // пропускаем установку режима "отжим" и переходим к стирке
M_PredNabor:
MOV R0, #00000011B // Устанавливаем режим "отжим"
Блок набора воды:
M_NABOR :
ANL P0, #0B // гасим светодиоды
SETb P0.0 // включаем светодиод "набор воды"
SETb P1.2 // включение насоса
MOV R2, #10B// запись времени работы в данном режиме
CALL TIMER // включение таймера
CLR P1.2 // по истечению заданного времени залива происходит отключение насоса
Блок нагрева воды:
ANL P0, #00000000B // гасим светодиоды
JB P2.2, M_TEMP// проверка температурного режима
MOV R3, #11110B// записали температуру 30 градусов
M_TEMP:
MOV R3, #111100B// записали температуру 60 градусов
SETb P0.1 // включем светодиод "нагрев воды"
SETb P1.0 // включаем тэн
Считываем показания датчика температуры:
CALL ACPCONF// конфигурирование ацп
M_NSTEP:
MOV A, ADCOH//старшие биты
SWAP A// обмен тетрад
ANL A, #0F0H// получили старший полубайт
MOV R5, A// временно записываем в R5
MOV A, ADC0L// считываем младший байт
ANL A, #0FH// получили младший полубайт
ADD A, R5// суммирование полубайт
CJNE A, R3, M_NSTEP // если требуемая температура достигнута идем дальше, если нет проверяем снова
CLR P1.0 // выключили тэн
Блок вращения барабана при стирке:
SETb P0.2 // включаем светодиод "стирка"
MOV P1, #10000000B // Установка скорости оборотов (режим 000)
SETb P1.7 //включение двигателя (старший бит=1)
MOV R2, #100100B// запись времени работы в данном режиме
CALL TIMER // Включение таймера
CLR P1.7 // выключение двигателя по истечении времени
Блок выпуска воды:
SETb P0.3 // включем светодиод "выпуск воды"
SETb P1.3 // открытие клапана
CALL TIMER // вызываем процедуру работы таймера
CLR P1.3 // закрытие клапана по истечении времени
CJNE R0, #0B, M_PredNabor // если первый режим (первые два бита порта P2 равны нулю) то переход
CJNE R0, #11111111B, M_END // если режим «быстрая стирка» то переход к окончанию работы
Блок отжима (проходит во всех режимах работы кроме режима «быстрой стирки»):
M_OTZHIM:
SETb P0.4 // включаем светодиод "отжим"
MOV A, P2 // передача скорости двигателя в аккумулятор
ANL A, #01110000B // обнуление ненужных битов (оставляем только те, которые используются двигателем)
MOV P2, A
SETb P1.7 // включение двигателя
MOV R2, #1001000B// запись времени работы в данном режиме
Блок окончания работы :
M_END:
SETb P0.5 // включаем светодиод "конец работы"
CLR P2.3 // открыли замок
Страницы: 1, 2, 3, 4