Таймер для ванны своими руками

Таймер для ванны своими руками



Таймер для ванны своими руками

Таймер для ванны своими руками

Во время последнего ремонта квартиры я задумался об улучшении бытового уровня. Одним из осуществленных удобств был таймер для вытяжки в санузле. С одной стороны, это повысило комфорт, поскольку устройство само отключало вентилятор, с другой – положительно сказалось на экономии электричества. Далее изложено описание и реализация таймера. Его легко приспособить для кратковременного включения любой силовой нагрузки мощностью до 1 кВт.
Бытовой вытяжной вентилятор работает от сети переменного тока 230 Вольт и содержит двигатель мощностью 15 … 60 Вт. Поэтому при разработке таймера было решено использовать в качестве коммутирующего элемента симистор BT134. Он выдерживает постоянный ток до 4 Ампер и для такой нагрузки может работать без радиатора.
Управляющая часть выполнена на дешевом 8-выводном микроконтроллере. Это позволяет модифицировать программу под свои конкретные нужды. Например, добавить датчик влажности или изменить режим работы и отсчитываемый временной интервал.
В данном варианте реализованы два режима работы. После нажатия на кнопку таймер включает вентилятор и переходит в 1 режим, сигнализируя зеленым свечением светодиода. По истечении заданного времени (5 минут) вытяжка выключается. Если во время работы 1 режима повторно нажать кнопку, таймер перейдет во 2 режим, включив красный светодиод. В этом режиме вентилятор работает непрерывно, до очередного нажатия кнопки.
Схема электрическая принципиальная:

Источник питания выполнен на микросхеме LNK302 производства Power Integrations. Благодаря этому, получившийся ИП малогабаритен, с высоким КПД и малым числом деталей. В микросхеме реализованы все основные защиты: от КЗ, от обрыва обратной связи, от выбросов на входе, от перегрева. Подробно останавливаться на нем не буду, поскольку всю необходимую информацию, при желании, можно найти в даташите. Резисторы R4 и R3 образуют делитель, определяющий уровень стабилизации напряжения на выходе. Резисторы R1 и R2 используются в качестве предохранителя, поэтому желательно применять выводные МЛТ-0,25.
ВНИМАНИЕ! Источник питания имеет гальваническую связь с сетью 230 Вольт, поэтому все работы по монтажу и наладке должны проводиться при выключенном устройстве и с соблюдением техники безопасности!
Таймер и управляющая часть выполнена на микроконтроллере PIC12F629. К нему подключен двухцветный светодиод, кнопка и оптосимистор, управляющий ключом VS1. В цепи нагрузки установлен предохранитель, на схеме не обозначенный. Его величину подбирают исходя из параметров вентилятора.

Реализация конструкции зависит от конкретных условий. У меня, например, была свободная коробка от переключателя, поэтому было решено смонтировать таймер в нем. Под наружное оформление была приспособлена розетка для ТВ, купленная в магазине электротоваров. Из нее был выброшен антенный разъем, просверлен корпус для крепления двухцветного светодиода и подобрана кнопка. Затем разведена и изготовлена печатная плата. Поэтому будьте внимательны, может потребоваться корректировка прилагаемой печатной платы под Ваш случай.
Печатная плата изготовлена из одностороннего стеклотекстолита размером 45 х 45 мм. Некоторые элементы на ней продублированы SMD –корпусами, чтобы можно было устанавливать то, что есть в наличии. Я поставил SMD-дроссель, но если есть только выводной – можно просверлить под него отверстия в площадках.
Рисунок печатной платы (вид со стороны пайки):

Монтаж выводных элементов:

Монтаж SMD-элементов:

Исходный код программы:
title "TimerVent" ; Программа таймера для управления вытяжкой errorlevel 0, -207, -302 #include <P12F629.inc> CBLOCK 0x020 ;Определение переменных tmp ; временные регистры del, del_m ; для генерации задержки cfg ; регистр конфигурации time_h, time_l ; для отсчета периода работы ENDC __CONFIG _CPD_OFF & _CP_OFF & _BODEN_ON & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT #define SET_LED_K bsf GPIO, 5 ; Зажечь красный светодиод #define SET_LED_Z bsf GPIO, 4 ; Зажечь зеленый светодиод #define ZERO_LED_K bcf GPIO, 5 ; Потушить красный светодиод #define ZERO_LED_Z bcf GPIO, 4 ; Потушить зеленый светодиод #define SET_MOTOR bsf GPIO, 2 ; Включить нагрузку (мотор) KNOPKA equ 1 ; Кнопка подключена к порту 1 org 0 goto INIT ;Начало программы DEL_MK movwf del ;Подпрограмма задержки (в микросекундах, 770 мкс max) M1 decfsz del, F ;(Перед вызовом поместить величину задержки в W) goto M1 return DEL_M movwf del_m ;Подпрограмма задержки (в миллисекундах, 256 мс max) movlw 0xa5 ;(Перед вызовом поместить величину задержки в W) M2 call DEL_MK call DEL_MK decfsz del_m, F goto M2 return INIT bcf STATUS, RP0 ;Выбран банк 0 movlw B'00000111' movwf CMCON ;Отключаем встроенные компараторы clrf GPIO bsf STATUS, RP0 ;Выбран банк 1 movlw B'00000010' movwf WPU movlw B'00000000' movwf OPTION_REG call 3FFh ;Загрузить константу калибровки генератора movwf OSCCAL movlw B'00000010' movwf TRISIO ; movlw B'00000010' ; movwf IOCB bcf STATUS, RP0 ;Выбран банк 0 clrf cfg ;----------------------[ ВЫБОР СЛЕДУЮЩЕГО РЕЖИМА ]-------------------------- SM btfsc GPIO, KNOPKA goto SM bcf T1CON, TMR1ON ;Выключить таймер 1 movf cfg, F btfsc STATUS, Z goto MOD1 btfsc cfg, 0 goto MOD2 OUTP clrf GPIO ;Подготовка к "выключению" clrf cfg movlw 0xfa ;Задержка на 0,5 секунд call DEL_M movlw 0xfa call DEL_M goto SM ;----------------------[ РЕЖИМ КОРОТКОЕ ВКЛЮЧЕНИЕ ]------------------------- MOD1 clrf cfg bsf cfg, 0 ZERO_LED_K SET_LED_Z SET_MOTOR movlw 0xfa ;Задержка на 0,5 секунд call DEL_M movlw 0xfa call DEL_M movlw b'00110100' ;Конфигурирование таймера 1 movwf T1CON clrf TMR1H clrf TMR1L clrf time_l clrf time_h bsf T1CON, TMR1ON ;Включить таймер 1 M3 btfss GPIO, KNOPKA goto SM btfss PIR1, TMR1IF ;Проверка переполнения goto M3 bcf PIR1, TMR1IF ;Было переполнение, проверка счета incf time_l, F btfsc STATUS, Z incf time_h, F movlw 0x58 ;Младший байт счетчика времени xorwf time_l, W btfss STATUS, Z goto M3 movlw 0x01 ;Старший байт счетчика времени xorwf time_h, W btfss STATUS, Z goto M3 goto OUTP ;----------------------[ РЕЖИМ ПОСТОЯННО ВКЛЮЧЕН ]-------------------------- MOD2 clrf cfg bsf cfg, 1 SET_LED_K ZERO_LED_Z SET_MOTOR movlw 0xfa ;Задержка на 0,5 секунд call DEL_M movlw 0xfa call DEL_M M4 btfsc GPIO, KNOPKA goto M4 goto OUTP END ;--------------------------------------------------------------------------- ; Таблица задержек для подпрограммы DEL_MK: ; 0x20 - 100 мкс ; 0xa5 - 500 мкс ;--------------------------------------------------------------------------- ; Описание бит cfg: ; "0" - если установлен, активен режим "короткое включение" (зеленый) ; "1" - если установлен, активен режим "постоянно включен" (красный) ; "2" - ; "3" - ; "4" - ; "5" - ; "6" - ;---------------------------------------------------------------------------

Таймер для ванны своими руками

Таймер для ванны своими руками

Таймер для ванны своими руками

Таймер для ванны своими руками

Таймер для ванны своими руками

Таймер для ванны своими руками

Таймер для ванны своими руками

Таймер для ванны своими руками

Таймер для ванны своими руками

Таймер для ванны своими руками

Таймер для ванны своими руками

Таймер для ванны своими руками