Рефераты. Блок управления стиральной машиной

Датчик с монтажными отверстиями для крепежа на болтах. Применение: - позиционные и концевые датчики, - промышленное использование

3.7 Клапан залива

Клапан залива предназначен для подачи воды от водопроводной сети. Они приводятся в действие электромагнитом. На входе клапана налива устанавливается фильтр для удаления примесей из воды.

Таблица 5. Различные модели клапанов залива

Название

Фирма

Цена, руб.

Изображение

Заливной клапан

ARISTON-INDESIT

1000

Заливной клапан

DAEWOO

1000

Заливной клапан

ARISTON-INDESIT

800

Заливной клапан

ARISTON, INDESIT

800

Заливной клапан

ARISTON, INDESIT

750

Заливной клапан

ARISTON-INDESIT

750

Заливной клапан

SAMSUNG

700

Заливной клапан

Универсальный

800

Заливной клапан

Универсальный

300

Заливной клапан

Универсальный

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 // уменьшаем значение режима для последующего сравнения с нулём

MOV A, R0 // переносим в аккумулятор (для команды условного перехода)

JZ M_PredNabor // если режим "полоскание" переходим к установке режима "отжим" чтобы не стирать дважды

DEC R0 // уменьшаем значение режима для последующего сравнения с нулём

MOV A, R0 // переносим в аккумулятор (для команды условного перехода)

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// считываем младший байт

SWAP A// обмен тетрад

ANL A, #0FH// получили младший полубайт

ADD A, R5// суммирование полубайт

CJNE A, R3, M_NSTEP // если требуемая температура достигнута идем дальше, если нет проверяем снова

CLR P1.0 // выключили тэн

Блок вращения барабана при стирке:

ANL P0, #0B // гасим светодиоды

SETb P0.2 // включаем светодиод "стирка"

MOV P1, #10000000B // Установка скорости оборотов (режим 000)

SETb P1.7 //включение двигателя (старший бит=1)

MOV R2, #100100B// запись времени работы в данном режиме

CALL TIMER // Включение таймера

CLR P1.7 // выключение двигателя по истечении времени

Блок выпуска воды:

ANL P0, #0B // гасим светодиоды

SETb P0.3 // включем светодиод "выпуск воды"

SETb P1.3 // открытие клапана

MOV R2, #10B// запись времени работы в данном режиме

CALL TIMER // вызываем процедуру работы таймера

CLR P1.3 // закрытие клапана по истечении времени

CJNE R0, #0B, M_PredNabor // если первый режим (первые два бита порта P2 равны нулю) то переход

CJNE R0, #11111111B, M_END // если режим «быстрая стирка» то переход к окончанию работы

Блок отжима (проходит во всех режимах работы кроме режима «быстрой стирки»):

M_OTZHIM:

ANL P0, #0B // гасим светодиоды

SETb P0.4 // включаем светодиод "отжим"

MOV A, P2 // передача скорости двигателя в аккумулятор

ANL A, #01110000B // обнуление ненужных битов (оставляем только те, которые используются двигателем)

MOV P2, A

SETb P1.7 // включение двигателя

MOV R2, #1001000B// запись времени работы в данном режиме

CALL TIMER // включение таймера

CLR P1.7 // выключение двигателя по истечении времени

Блок окончания работы :

M_END:

ANL P0, #0B // гасим светодиоды

SETb P0.5 // включаем светодиод "конец работы"

CLR P2.3 // открыли замок

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.