Таймер — одна из наиболее популярных радиолюбительских конструкций Вниманию читателей предлагается еще один вариант В отличие от других подобных устройств на микроконтроллерах, здесь выдержку устанавливают не нажатиями на кнопки, а обычным переменным резистором.
Простота управления, цифровая индикация, возможность быстрой установки нового значения выдержки делают этот таймер удобным для применения в качестве кухонного Продолжительность выдержки может быть любой пределах 1...85 мин.
Схема таймера показана на рисунке. Микроконтроллер DD1 работает по программе, коды которой приведены в таблице. После включения питания и инициализации регистров микроконтроллера программа конфигурирует вывод RA2 как выходной и устанавливает на нем высокий логический уровень. После первоначальной зарядки конденсаторов С2 и СЗ программа переходит в фазу установки продолжительности выдержки. Циклически выполняется подпрограмма "OneShot", заимствованная из статьи А. Долгого "Аналоговое управление в микроконтроллерном устройстве" ("Радио". 2005, № 4, с. 33), а также проверяется состояние кнопки SB1. Светодиод HL1 погашен.
Полученное в результате работы подпрограммы число в зависимости от положения движка переменного резистора R1 может находиться в пределах 1 .254 Программа преобразует его в продолжительность выдержки в минутах, причем каждым трем последовательным значениям этого числа соответствуют одинаковые выдержки. Таким образом, максимальная выдержка — 255/3 = 85 мин. Установленное значение программа выводит на двухразрядный цифровой индикатор HG1.HG2.
Обнаружив нажатие на кнопку SB1, программа переходит в фазу отсчета выдержки, сигнализируя об этом включением светодиода HL1. Фактически идет подсчет прерываний от таймера TMR0. Так как он настроен (вместе с предварительным делителем) на коэффициент пересчета 4000, а период повторения счетных импульсов при частоте кварцевого генератора 4 МГц равен 1 мкс, прерывания происходят каждые 4 мс. Как только их число достигнет 15000 (это значит, что прошло 0,004x15000 = 60 с), программа уменьшает выведенное на индикатор значение на единицу и начинает подсчет прерываний заново.
Когда заданное число минут пройдет, с выхода RA4 микроконтроллера через усилитель на транзисторе VT1 на динамическую головку ВА1 поступит прерывистый сигнал частотой 1000 Гц. Через 6 с сигнал прекратится и программа таймера вернется в фазу установки выдержки.
Если кнопка SB1 нажата до истечения установленной выдержки, таймер прекращает ее дальнейший отсчет и, не подавая звуковой сигнал, переходит в фазу установки. При переходах из одной фазы в другую программой предусмотрены секундные паузы, до истечения которых кнопку SB1 необходимо отпустить.
Налаживание таймера сводится к подборке конденсатора СЗ. Его емкость должна быть такой, чтобы при максимальном сопротивлении переменного резистора R1 на индикатор было выведено число 85. Подбирая резистор R16, устанавливают необходимую громкость звукового сигнала.
Питать таймер можно от любого источника постоянного напряжения 3.. .5 В, желательно стабилизированного. Потребляемый ток не превышает 100 мА. Переменный резистор должен быть с линейной характеристикой регулирования. Светодиодные индикаторы АЛС324Б можно заменить другими с общим анодом, а микроконтроллер PIC16F84A — более ранней моделью PIC16F84.
Таймер собрал, работает, поскольку таймер нужен был для лампы засветки, использовал переменный резистор 10кОм получился диапазон 0-10мин на полностью выкрученой в право ручке резистора. Погрешность на максимальном значении 85мин получается 1-2 сек. Выход звука не понадобился ,поэтому на плате его нет,сигнал с ножки 0,4 вольта идет проверил прибором.
Реле использовал на 12 вольт другого не оказалось.Можно использовать на 5вольт без особой переделки платы.Подстроечный конденсатор не понадобились на мой диапазон 0-10мин. При первом включение(подача питания) щелкает реле, потом работает нормально.
Важно!!! На моей плате применена тактовая кнопка для включения, у кнопки проходящие контакты, через нее идет минус питания на м.к. Если кто-то будет использовать выносную кнопку, нужно установить перемычку. При запуске отсчета времени переменник не реагирует на поворот ручки, пока кнопкой не остановиш отсчет времени. Индикатор использовал большой 2,0см х2,5см называется КЕМ-5621-BSR с общим анодом поэтому понадобились два транзистора BC547 для цепи анода.
Корпус переменного резистора подпаиваем на минус, иначе (прыгают показания при прикосновении).
Фото от Nikolai4