ЗДРАВСТВУЙТЕ !

Часы - термостат на ATmega8. Версия на шести индикаторах.

Автор проекта Панченко Александр (nbo @ pochta  ru).
    В часах есть возможность последовательно показывать 8 режимов, для которых выбирается один из девяти
форматов отображения и время его показа.


ФОРМАТЫ   ОТОБРАЖЕНИЯ

0 формат 0
Часы - минуты.
1 формат 1 Часы, минуты, секунды.
2 формат 2 Часы, минуты, день недели.
3 формат 3 Число, месяц, день недели.
4 формат 4 Температура 1 датчик (температура дома).
5 формат 5 Температура 2 датчик (температура на улице).
6 формат 6 Температура1 датчик, температура 2 датчик.
7 формат 7 Температура 1 датчик (температура дома).
8 формат 8 Температура 2 датчик (температура на улице).
В режимах где не указываются десятые градуса, точка определяет больше 0,5 гр..

Кнопка F - выход из режима. Выбор 3 основных режимов.
Кнопка SET - вход в выбранный режим. Далее переход к следующему параметру (мигающему полю).
Кнопка PLUS - плюс/on. В режиме SETUP листать главные меню.
Кнопка MINUS - минус/__(OF.). В режиме SETUP листать главные меню.

Все режимы, кроме нулевого и режима таймера, имеют завершение по времени. Если не было нажатий более 30 секунд, устанавливается режим ноль.

Структура меню.

Режим 0
Нажать F
calls SET - вход в режим будильников.
Нажать F
t-stat SET - вход в режим быстрой настройки термостата.
Нажать F
setup SET - вход в режим настроек.
Нажать F
Режим 0

Режим CALLS.

0 - номер будильника ( 0-7 основные будильники; 8.-F. будильники для управления нагрузкой). on./OF. - включить/выключить будильник.
устанавливается время в которое сработает будильник, часы, минуты.
время включенного состояния нагрузки, часы, минуты, секунды. (Только для будильников 8.-F.). Макс. время 23-59-59.
дни в которые сработает будильник, _ - выключен, о - включен.

Режим быстрой настройки термостата.

Температура 1 датчик (температура дома). Термостат только по первому датчику.
Порог термостата ( max 99 ). Позволяет быстро изменить температуру срабатывания термостата, но, при наступлении следующей временной зоны, данный параметр будет переинициализирован значением этой зоны.
1 - вывод термостата включен.
0 - выключен.
При изменении данного параметра, функция термостата отключается (чтоб не путалась под ногами и не перехватывала управление)..
В этом режиме, когда не редактируются параметры (нет мигающего поля), нет автозавершения по времени (режим наладки).

Режим SETUP.
Для записи значений в EEPROM нужно все значения в подрежиме подтвердить нажатием SET. 

Главные меню режима SETUP.
часы
port
t-stat
у. see PLUS MINUS листать основные режимы меню SETUP.
SET - вход в выбранный режим, далее переход к следующему параметру.
Что бы выйти из выбранного режима нажать F.
у. буд
light
signal
16
reset

Режим часы.

Устанавливаются: минуты, часы.
Устанавливаются: день недели, число.
Устанавливается: месяц.
Корректировка секунд. Нажатие MINUS сбрасывает секунды в ноль. Если секунд было больше 31, то минуты инкрементируются.
Коррекция хода часов. Данная величина прибавляется( _ ) или вычитается( - ) каждый час. Шаг 0.008 секунды. (50 значений), максимальное значение 0.391. Пример расчета: при коррекции равной нулю измеряется уход часов, например за 5 дней часы убежали на 3 секунды, тогда коррекция ровна 3/(5*24)=0.025. 

Режим PORT.

Установить/сбросить ножку будильника 8. - F. ( вывод call a_h ).

Режим настроек термостата.

t-stat zons
1-zons 1-я зона
1-я зона.Устанавливаются границы зоны (ХХ.ХХ час.) и температура в этой зоне (22).
2-zons 2-я зона.
2-я зона. Устанавливаются границы зоны (ХХ.ХХ час.) и температура в этой зоне (24).
3-zons 3-я зона.
3-я зона. Устанавливаются границы зоны (ХХ.ХХ час.) и температура в этой зоне (18).
Для всех зон max. температура 99 градусов.
gist Гистерезис.
Устанавливается гистерезис.
Алгоритм работы такой, допустим порог термостата у нас равен 35 гр. Тогда вывод термостата будет включен пока температура не достигнет этого порога, затем вывод выключается и включится только при температуре 35 минус гистерезис.
Максимальное значение гистерезиса 9.9 градусов. 

Режим У. SEE.

В нулевом режиме часы показывают попеременно до 8 режимов, для которых выбирается один из девяти форматов отображения и время его показа (верхняя таблица).
1 выбор режима. Всего 8.
r0 выбор одного из девяти форматов отображения.
r0-05 время, которое будет виден выбранный режим.
При времени равном 00 режим выключен.

Режим У. Буd. Установки будильника.

call-bip Bip сигнал будильника - ШИМ.
Pin сигнал будильника - уст в 1 вывод буд.
Oba Шим и вывод.
Отсрочка сигнала.
Задаётся число отсрочек сигнала.
При откл. отсрочке (00) будильник выключается нажатием любой клавиши.
При вкл. отсрочке сигнала будильник откл. кнопкой F, при нажатии кнопок SET PLUS MINUS сигнал отключается, но опять сработает примерно через 5 минут.

Режим 18B20.

18b20 Датчики температуры DS18B20.
Режим показывает, как определилось подключение датчиков, и настраивает датчики на разрешение 12 бит.
Выбор отображения температуры.
1 - 07.5
2 -   7.5 гашение незначащего нуля.
Слева для датчика в доме, справа для датчика на улице.
on - датчик подключен 3 проводами;
PA.- паразитное питание, датчик подключен 2 проводами;
-- - датчик отсутствует.
При выходе из этого режима датчики настраиваются на разрешение 12 бит.

Режим Light.

Настраивается яркость для дневного времени.
Для ночи.
Ночное время.

Режим Сигнал.

signal после входа в режим кнопками плюс/минус выбирается:
budil. или button
соответственно частота ШИМ для будильника и кнопок.
При входе в эти подрежимы на индикаторе:
04. 00.
Частота генерируется в режиме быстрой шим(CTC mode). Верхний порог задается регистром OCR1A1. H004-старший байт L000-младший байт.
Что бы отключить сигнал от нажатия кнопок - установить 00. 00.
Если в режиме УSt Буd.выбрана опция PIN, для будильника шим сигнал выводится не будет.

Режим RESEt.

reset По нажатию SET: Установка по умолчанию основных переменных в программе, обнуление всех будильников. Запись этих значений в EEPROM.

Действия в нулевом режиме.

F - выбор режима.
SET - режим отмены отсрочки сигнала
PLUS - режим Уст SEE.
MINUS - установка будильников.

Каждый час, на одну секунду, устанавливается вывод PB2(16).

Для экономии, в режиме питания от батарей запрещается отсрочка сигнала. 

Схема такая же как и в часах на микроконтроллере ATmega8, только у 74HC595 используются выводы Q0-Q5.

shema
Из схемы можно исключить конденсаторы к кварцу, если запрограммировать fuse бит CKOPT.
Датчик температуры можно подключить двумя проводами, для этого у датчика нужно замкнуть GND c VDD, при этом включается режим паразитного питания. Такой способ удобно применять для датчика, который расположен на улице. По программе перед каждым циклом чтения температуры выполняется проверка на замыкание и на присутствие датчика. При любом криминале вывод мк. переводится в Z состояние, на индикаторе: ---.
Если первый датчик используется в режиме термостата, то он должен быть подключен 3 проводами.

Если будильник настроить на включение вывода, то можно использовать чип от музыкальной открытки.


При прошивке мк установите биты CKSEL3..0 в 0011 (внутренний RC генератор 4 Meg ). посмотреть для PonyProg,
посмотреть для CodeVisionAVR .   Cбросить основные переменные в программе - SETUP -> RESEt -> SET.

Исходник WinAVR-20060421. Прошивки (анод/катод).
Без перехода на летние зимние время.


Версия 2.
Изменения:
1. В третьем формате добавлены разделительные точки и убраны незначащие ноли.
2. В режиме, когда срабатывает основной будильник, высвечивается номер будильника и время на которое он был настроен, раньше был номер будильника, минуты и обратный отсчёт секунд.

Также в архиве проект clock-model.dsn в протеусе 7SP0. Файлы clock6_new-1.dsn и clock6_new-1.lyt схема и печатная плата часов под корпус Z-52.

Исходник WinAVR-20060421. Прошивки (анод/катод).
Без перехода на летние зимние время.

Версия 3.
C возможностью установки температуры до 120 гр. Скачать. (98 Kb)

New. Универсальная плата для часов термостата и термостата с временными зонами под корпус Z-52 (сделана в протеусе).Скачать (37 Kb).


На главную - startcd.narod.ru





Hosted by uCoz