В начало | Зарегистрироваться | Заказать наши киты почтой
 
 
 
 

Термостат для отопления дачи инфракрасными обогревателями Иколайн. Дежурный режим, часы. DS1307, DS1631, Atmega8, энкодер

📆23 сентября 2014   ✒️Discover   🔎24.106   💬7  
Как говорит мой коллега, что бы Гаврилов ни делал — все равно термометр получается…

Новая статья об еще одном термостате, который я делал для себя, что в последствии и определило его функциональность и конструктив.
Управляет мой термостат ИК-обогревателями типа «Иколайн ИКО-06», но может быть применён и с другими обогревателями.

Чего отапливаем?

Опуская критерии выбора, для обогрева кухни на даче я купил два инфракрасных обогревателя. Производитель рекомендует ставить 1 кВт на 10 м2. Кухня 18 м2, я поставил два по 0,6 кВт. Впечатления самые положительные.

ИК-обогреватель «Иколайн ИКО-06»

Мои родители проживают на даче от снега до снега. Весной и осенью на кухне, скажем — не жарко, тело тепла просит.
Нагреватели я приобрел умышленно без регулятора температуры. Во-первых, с регулятором это дороже, во-вторых, вряд ли я смог бы найти нужный мне функционал, а в-третьих — это же возможность что-то сделать самому, что любому радиолюбителю любо!

Функционал

• Поддержка заданной температуры в заданном диапазоне 10-35 гр. С 
• Включение, отключение по времени.
• Часы реального времени.
• Минимальная (дежурная) температура.

Компоненты, критерии выбора

• Управляющий микроконтроллер — Atmega8. Валялся на полке.
• Индикатор — TIC55. Валялся на полке.
• Часы реального времени — DS1307. Готовое решение часов реального времени со своим резервным питанием.
• Термодатчик — DS1631, термометр/термостат. Я как правило ориентируюсь на цифровые термо-датчики, ну, а поскольку для DS1307 нужна шина i2c, то и термо-датчик был выбран с такой же шиной.
• Управление — инкрементальный энкодер с кнопкой. Прикольно! С практической точки зрения, мы получаем три кнопки в одном установочном месте.
• Коммутация — электромагнитное реле Omron G6RN-1. Есть небольшой запас, катушка реле 5 В., контакты 8 А.

Схема и плата

Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.



Внешний 3D-вид созданный программой DipTrace.
Уж больно мне нравятся 3D картинки печатных плат!!!



Готовая печатная плата, сделанная ЛУТом



Размещение термодатчика внизу платы,
установочное место отделено воздушным зазором для термоизоляции

Качество платы на троечку. В то время я ещё баловался бумагой из глянцевых журналов. И мне редко удавалось добиться вменяемого результата. В настоящее время я пользуюсь специальной термотрансферной бумагой: результат всегда предсказуемый, никаких проблем с отмачиванием, тонер полностью остается на плате.

Работа

Индикация и режимы. Прибор имеет семь режимов работы:
1. Отображение текущей температуры
2. Отображение времени
3. Попеременное отображение температуры и времени
4. Установка температуры регулирования
5. Установка времени включения регулирования
6. Установка времени отключения регулирования
7. Установка времени

Прибор всегда включается в третьем режиме — попеременное отображение температуры и времени. Поворотом ручки энкодера влево и вправо изменяется режим работы/индикации.
Первые три режима — просто индикация, следующие четыре индикация и настройка параметров.

Вкратце о настройке. Настроек всего четыре: установка температуры регулирования, времени включения/отключения и настройка часов. Для настройки какого-либо параметра нужно нажать на кнопку энкодера, выставить нужное значение вращением ручки энкодера, нажать кнопку для запоминания параметра.

Проверка работы с отрицательными температурами

Взял я баллон охладителя CRAMOLINE FREEZER и попшикал до легкого инея.

CRAMOLINE FREEZER представляет собой идеальный инструмент для низкотемпературного тестирования электронных систем и термочувствительных компонентов. Обеспечивает быстрое охлаждение. Если хорошенько побрызгать, то до -50°С! Ну, нам столько не надо.


Программно-аппаратная часть

Программа написана на языке СИ в среде Atmel AVR Studio. Сразу оговорюсь, что код не блещет изяществом. Написан практически «в лоб», так как я, не собирался публиковать эту работу.
Регулирование температуры осуществляется двумя способами:
1. Включается принудительно в произвольный момент времени.
2. В заданном интервале времени.

С первым способом все понятно, в 1, 2 или 3 режиме нажимаем кнопку энкодера — термостат включен, в качестве индикатора зажигается подсветка дисплея. Нажали еще раз — термостат выключен. На самом деле не совсем выключен, а в качестве температуры регулирования устанавливается так называемая, по моей терминологии — дежурная температура равная +10 гр. С. Сделано это для того что бы предотвратить замерзание воды на кухне, если температура будет стремится нулю.

Второй способ. Устанавливается время включения и время отключения термостата. Например: 7-10. Термостат включится в семь утра и будет поддерживать установленную температуру до 10 утра. Естественно после можно будет включить термостат вручную. Регулирование по времени я использую для того что бы утром, к тому моменту как я выхожу умываться, завтракать — кухня уже прогрелась. Ну и отключается прибор сам, в установленное время.

Теперь немного заострю внимание на несколько не тривиальной аппаратно-программной реализации.
Три параметра, которые нужно хранить при отключении питания, я храню не в EEPROM микроконтроллера, а в часиках DS1307. В DS1307 есть SRAM, 64 байта. В области 00h-07h лежат данные RTC, то бишь дата, время. А с адреса 08h по 3Fh (56 байт), могут располагаться пользовательские данные. Вот там я и храню свои параметры. Не надо искать какой-либо смысл в этом, просто мне хотелось попробовать/побаловаться.
Выход SQW/OUT DS1307 настроен на генерацию меандра с частотой 1Гц. Выход подключен входу внешнего прерывания микроконтроллера. В обработчике прерывания устанавливается флаг, который разрешает чтение времени с DS1307.

Теперь про термометр. В качестве термодатчика я использую DS1631, он же термостат! У этой микросхемы есть настраиваемый выход — «Tout». То есть, сам датчик, посредством этого выхода осуществляет управление исполнительным устройством, микроконтроллер используется только для настройки порогов, которые хранятся в EEPROM DS1631. Для того что бы выключить регулирование, я перезаписываю пороги срабатывания.
Опять же, можно было это реализовать и на микроконтроллере, но хотелось побаловаться. Хотя, для подстраховки, на схеме я предусмотрел джемпер для переключения источника управления реле.

Конструктив

Корпус собран из того что валялось под руками, а под руками у меня в тот день валялись заглушки от салазок винчестеров от сервера Supermicro.


Половинки корпуса соединил также частями заглушек, для передней и задней стенки использовал оргсекло.

Получился вот такой корпус


Внешний вид готового устройства


Питается термостат от внешнего источника питания +5 В.


Обзор файлов проекта программы

Termostat.c — главный файл, содержит основную программу.
includes.h, global.h, init.h, init.c, avrlibtypes.h, avrlibdefs.h — файлы созданные программой AVR Wizard, использовал в то время. Сильно в этих файлах не копался. Добавил в файл init строчки для инициализации периферии.
i2c-soft.h, i2c-soft.c — программный драйвер шины i2c, автор указан в файлах.
tic55.h, tic55.c — библиотека для работы с индикатором tic55.
ds1307.h, ds1307.c — библиотека для работы с DS1307, позаимствована у CVAVR.
ds1631.h, ds1631.c — библиотека для работы с DS1631, позаимствована у CVAVR и подправлена.

Фьюзы



Небольшой видеоролик



Резюме

К аппаратной части у меня нет претензий, а вот в программной есть что изменить, улучшить. В частности, необходимо переделать опрос энкодера. У меня реализован алгоритм для ленивых — не правильный алгоритм. Один из выходов энкодера подключен к входу внешнего прерывания микроконтроллера. Вход настроен на срабатывание по фронту. В обработчике прерывания, я смотрю, какой уровень в этот момент времени на другом выходе энкодера, таким образом, я различаю вращение влево и вправо.

Собственно, прибор работает два года без нареканий и, если мне будет скучно, то я перепишу опрос энкодера, хотя это вряд ли — скучно мне не бывает!

Ссылки и файлы

Проект платы/схемы в DipTrace 🎁Diptrace.7z  15.21 Kb ⇣ 101
Прошивка: 🎁Termostat-hex.7z  4.37 Kb ⇣ 89
Даташит на DS1307 🎁DS1307.pdf  262.14 Kb ⇣ 72
Даташит на DS1631 🎁DS1631-DS1731.pdf  260.96 Kb ⇣ 72

• Заказать пачку термотрансферной бумаги, 10 листов А4. Бесплатная доставка.
• Заказать пачку термотрансферной бумаги, 50 листов А4. Бесплатная доставка.
• Заказать пачку термотрансферной бумаги, 100 листов А4. Бесплатная доставка.

Камрад, рассмотри датагорские рекомендации

🌼 Полезные и проверенные железяки, можно брать

Опробовано в лаборатории редакции или читателями.




 

Читательское голосование

Нравится

Статью одобрили 39 читателей.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.
 

Поделись с друзьями!

 

 

Связанные материалы

 

Схема на Датагоре. Новая статья Тёплые ламповые часы на газоразрядных индикаторах ИН-14, ATMEGA8, DS1307 и MC34063. Nixie-clock из Тулы... Последнее время весьма популярны часы в духе ретро, на газоразрядных индикаторах. В забугорье такие...
Схема на Датагоре. Новая статья ATmega8A, ATmega8, ATmega8L datasheet даташит... Фото чипа atmega8a в корпусе dip28 Представляю вам даташит на микроконтроллер ATmega8 фирмы Atmel,...
Схема на Датагоре. Новая статья Часы на ГРИ и К155ИД1. Нужна помощь... Доброго времени суток! Сделал часы на газоразрядных индикаторах с динамической индикацией на...
Схема на Датагоре. Новая статья Водонагреватель для дачи. Блок автоматики... Покупать водонагреватель или нет - каждый решает для себя сам. По просьбе друга мне пришлось...
Схема на Датагоре. Новая статья Даташиты на микроконтроллеры AVR ATMega, ATTiny и AT90... Любому разработчику нужно знать специфику компонента, особенно если этот компонент -...
Схема на Датагоре. Новая статья Современный тюнер своими руками: УКВ стерео + микроконтроллер. Б.Ю.Семенов... Борис Юрьевич Семенов Современный тюнер своими руками: УКВ стерео + микроконтроллер В последние...
Схема на Датагоре. Новая статья SHT10 + Atmega8: Микроконтроллерный модуль управления вентилятором санузла, v2... Доброго дня, сограждане! Представляю вторую версию блока управления вентилятором для ванной,...
Схема на Датагоре. Новая статья Автомат управления бойлером Ariston. Экономим электроэнергию и ресурс котла... Задумался я над вопросом, отключать или не отключать бойлер периодически? Одно из множества...
Схема на Датагоре. Новая статья PIC16F876: таймер вытяжного вентилятора в ванной и электронный термометр... Я недавно делал капитальный ремонт ванной комнаты и возник вопрос, как управлять вентилятором...
Схема на Датагоре. Новая статья Термометр + термостат на микроконтроллере PIC16F876 и датчиках DS18B20... История этого термометра началась в далёком 2011 году. Мне понадобилось в подвале частного дома, в...
Схема на Датагоре. Новая статья Часы с GPS-синхронизацией времени и винтажными индикаторами ИН-12. Наш вариант Nixie Tube Clock... Не думал, что спустя много лет я вернусь к часам на газоразрядных индикаторах. В конце 70-х я...
Схема на Датагоре. Новая статья Работа с датчиком DHT11. Строим термометр-гигрометр на ATMEGA8... Привет любителям электроники! Сегодня я решил познакомиться с датчиком влажности DHT11, который...
 

Комментарии, вопросы, ответы, дополнения, отзывы

 

<
Читатель Датагора

Andrey1078

<
Читатель Датагора

Datagor

<
Читатель Датагора

zud

<
Читатель Датагора

Datagor

<
Читатель Датагора

Andrew71

<
Читатель Датагора

Discover

<
Читатель Датагора

Andrew71

Добавить комментарий, вопрос, отзыв 💬

Камрады, будьте дружелюбны, соблюдайте правила!

  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
 
 
В начало | Зарегистрироваться | Заказать наши киты почтой