Часы, термометр, таймер управления освещением цветов
Контроллер собран на микропроцессоре PIC16F84A. Измеряет температуру и выводит ее на индикатор. Включает и выключает нагрузку (лампу дневного света) по таймеру. Таймер имеет резервный источник питания — литиевую батарейку на 3 вольта типа CR2032. Часы, время включения и время выключения нагрузки устанавливается с пульта ДУ. Показания часов выводятся на индикатор при нажатии кнопки на пульте ДУ. Точность измерения температуры 0.5 градуса.
Испытательный полет. Температура за бортом — 20 градусов.
Импульсный источник питания на 5 вольт. Работает годами без нареканий
Плата практически пустая.
На свободном месте расположится источник питания.
Хорошая коробка — 90 процентов успеха!
Принципиальная схема
Использованные компоненты
- DD1 — микропроцессор PIC16F84A
- DD2 — ЖК индикатор MT-10S
- DD3 — интегральный таймер PCF8583 с управлением по I2C
- DD4 — I2C порт-расширитель PCF8574
- DD5 — ИК-приемник TSOP1738
- DD6 — датчик температуры DS18S20
- T1 — полевой транзистор IRFD110
- DA1 — оптосимистор MOC3061
- VS1 — симистор MAC15N
- ZQ1 — часовой резонатор на 32768Hz
- ZQ2 — резонатор на 4MHz
Прошивка
Версия 3 от 19. 11.2004: (доступно зарегистрированным пользователям)
С такого пульта производится установка таймера и часов.
При первом нажатии любой кнопки на пульте включается подсветка индикатора. Он гаснет через 30 секунд после последней команды с пульта.
Основной режим | |
Нагрузка выключена: | |
Нагрузка включена: | |
Основной режим, разовое переопределение состояния нагрузкиРазовое — в том смысле, что на следующие сутки контроллер снова будет отрабатывать включение и выключение нагрузки по таймеру. Буковка «Р» как-бы говорит нам, что в данный момент состояние нагрузки переопределено вручную. Для ручного изменения состояния нагрузки нажимать на пульте кнопку ?1. | |
Нагрузка выключена вручную: | |
Нагрузка включена вручную: | |
УстановкиВход в этот режим и выход осуществляется кнопкой ?2 Переключение между пунктами в режиме установки — кнопка ?4 Изменение значений минут и секунд — кнопка ?3 | |
Часы — установка часов: | |
Часы — установка минут: | |
Время включения нагрузки — установка часов: | |
Время включения нагрузки — установка минут: | |
Время выключения нагрузки — установка часов: | |
Время выключения нагрузки — установка минут: |
|
Переключение часов — Помощь разработчикам
Переключение часов
Источник системных часов можно переключать между внутренним и внешним источником с помощью управляющих битов в регистре OSCCON. Это позволяет микроконтроллеру PIC ® управлять скоростью работы, а также может способствовать снижению энергопотребления. Более медленный генератор будет потреблять меньше тока, чем высокоскоростной генератор. Во время нормальной работы может потребоваться более высокая скорость, но когда приложение менее активно, более медленный осциллятор может справиться с задачами обработки. Это уменьшит энергопотребление. Различные варианты сна доступны для очень низкого энергопотребления, но часто необходимо поддерживать непрерывную работу во время сна. Более низкая частота генератора может быть всем, что требуется во время работы в спящем режиме.
Функцией переключения часов на многих устройствах можно управлять из прикладного программного обеспечения. Существует три варианта системных часов, которые можно выбрать с помощью функции переключения часов. К ним относятся:
- Системные часы, определяемые настройками Fosc в конфигурационном слове
- INTOSC — внутренний осциллятор
- Таймер 1 Внешний тактовый кристалл 32,768 кГц
Примечание: Переключение часов — это операция, управляемая программным приложением, а не автоматическая операция. Другие функции переключения часов, такие как Fail Safe Clock Monitor и Two Speed Start-Up, представляют собой функции автоматического переключения часов, которые не влияют на настройки переключения часов.
Режим переключения часов управляется битами SCS в регистре OSCCON. Эти биты можно изменить с помощью программного обеспечения во время выполнения, чтобы изменить источник синхронизации.
Когда биты SCS = 00 , системные часы переключаются на источник синхронизации, выбранный битами Fosc в регистре конфигурации. Это может быть внутренний генератор , внешний кристалл/резонатор или внешний тактовый генератор .
Когда биты SCS = 01 , системные часы переключаются на вторичный генератор , который представляет собой внешний кристалл 32,768 кГц , управляющий периферийным устройством таймера 1 . Внешний тактовый кристалл является дополнительным источником тактового сигнала, который должен быть частью схемы разработки Timer1.
Когда биты SCS = 10 или 11 , системные часы переключаются на внутренний генератор независимо от настроек бита конфигурации Fosc. Биты IRCF регистра OSCCON выбирают частоту внутреннего генератора.
При переключении на новый источник синхронизации рекомендуется перед переключением проверить состояние источника синхронизации. Каждый выбор генератора имеет бит состояния в регистре OSCSTAT , чтобы указать, готов ли он или достигнута ли ожидаемая точность. Если устройство находилось в спящем режиме, когда осциллятор мог быть отключен для экономии энергии, может возникнуть задержка в готовности источника тактового сигнала к переключению тактового сигнала. Проверка бита состояния конкретного источника тактового сигнала в регистре OSCSTAT определит, готов ли источник к переключению тактового сигнала.
Бит OSTS указывает состояние генератора, выбранного настройками бита конфигурации Fosc. После сброса внутренний генератор INTOSC может управлять устройством, в то время как выбор Fosc завершает задержку запуска или даже задержку Power-Up Timer . Проверка бита OSTS покажет, какой осциллятор управляет устройством.
Вернуться к началу
Сгиб Содержание Управление переключением часов Биты состояния генератора Состояние Fosc |
Программируемый цифровой таймер с использованием микроконтроллера PIC
Цифровые таймеры используются для управления работой электрических устройств по запрограммированному расписанию. В этом проекте описывается программируемый цифровой таймер на базе микроконтроллера PIC16F628A, который можно запрограммировать на включение и выключение электроприбора по расписанию. Прибор управляется с помощью релейного переключателя. Этот переключатель таймера позволяет установить время включения и выключения. Это означает, что вы можете запрограммировать, когда вы хотите включить устройство и как долго вы хотите, чтобы оно оставалось включенным. Максимальный временной интервал, который можно установить для включения и выключения, составляет 99 часов 59 минут. Проект предоставляет интерактивный пользовательский интерфейс с использованием ЖК-дисплея 16×2 символов и 4 кнопок.
Программируемый цифровой таймер
Примечание: (30 июня 2016 г.) Пересмотренная версия этого проекта с добавленными новыми функциями размещена здесь .
Схема
Принципиальная схема этого проекта показана ниже. Реле 5В управляется транзистором PN2222, который управляется выводом RB3 PIC16F628A. Цифровые входы от 4 кнопок считываются через контакты порта RA2, RA3, RA4 и RB0. Функции этих кнопок обсуждаются в разделе операций ниже. В проекте используется стандартный ЖК-дисплей 16×2 символов для отображения состояния устройства, меню программ и времени. ЖК-дисплей работает в 4-битном режиме, поэтому для его управления требуется всего 6 контактов ввода-вывода PIC16F628A. Пьезоэлектрический зуммер издает звуковой сигнал при запуске и остановке таймера. Он также издает звуковой сигнал при включении или выключении устройства. Источник питания + 5 В для схемы получен от микросхемы стабилизатора LM7805. Вход на регулятор подается с 9Настенный адаптер постоянного тока В.
На принципиальной схеме контакты 15 и 16 ЖК-дисплея показаны разомкнутыми. Эти контакты доступны только в тех ЖК-дисплеях, которые имеют светодиодную подсветку. Контакты 15 и 16 являются анодом и катодом светодиода. Если ваш ЖК-дисплей оснащен светодиодной подсветкой, вы можете последовательно подключить эти контакты к клеммам источника питания с резистором 39 Ом. Светодиодная подсветка улучшает читаемость ЖК-дисплея в условиях низкой освещенности.
Полная схема, припаянная к макетной плате общего назначения, показана ниже.
Работа таймера
Таймер получает сигналы от 4 кнопок. Их функции описаны следующим образом:
- ВРЕМЯ ВКЛЮЧЕНИЯ/ВЫКЛЮЧЕНИЯ: Этот таймер позволяет установить время включения и выключения. Когда таймер первоначально включен, устройство находится в выключенном состоянии, а время включения и выключения равно 0. Нажимая эту кнопку, вы можете переключаться между временем включения и выключения на дисплее.
- ВЫБОР: Это позволяет вам выбирать между настройками времени включения и выключения, а также часами и минутами. Выбранная цифра увеличивается при нажатии кнопки ON/OFF TIME.
- ENTER : Когда выбраны соответствующие часы и минуты, нажатие ENTER завершает установку соответствующего времени включения или выключения.
- ПУСК/СТОП запускает или останавливает таймер. Если таймер уже включен, вы можете остановить его в любой момент во время его работы, нажав эту кнопку.
Теперь посмотрим, как это работает. Допустим, устройство, подключенное к релейному выключателю, необходимо включить через 2 минуты. Кроме того, после включения он должен быть включен в течение следующих 20 минут. В этом случае время выключения — 00:02, а время включения — 00:20 в формате чч:мм. После запуска таймера устройство включится через 2 минуты и останется включенным в течение 20 минут.