Многофункциональный таймер+термостат на микроконтроллере ATMega8

Только ленивый Радиолюбитель не собирал таймер, часы или термометр на микроконтроллере. У меня возникло желание разработать многофункциональное устройство, которое будет сочетать в себе вышеуказанные приборы с широкими функциональными возможностями и в то же время управлять любой нагрузкой.

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

Рассмотрим подробно принципиальную схему, функции меню и возможности устройства.

Принципиальная схема

В основе схемы устройства находится микроконтроллер производства фирмы ATMEL семейства AVR — ATMega8 (IC4). Микроконтроллер работает с цифровым датчиком температуры IC2 DS18B20 и микросхемой реального времени IC3 DS1307. Данные выводятся на жидкокристаллический дисплей на шестнадцать знаков в две строки. Нагрузка коммутируется с бытовой сетью переменного напряжения 220 В через симисторы VS1-VS3 (BT139), которые связаны с микроконтроллером через гальваническую развязку собранную на оптосимисторах ОС1-ОС3, в данном случае это МОС3061.Таким образом микроконтроллер управляет тремя устройствами, через отдельные функциональные возможности о которых говорится ниже.

схема таймер-термостат

Принципиальная схема

Питание схемы осуществлено по классической схеме выпрямителя на базе интегрального стабилизатора напряжения TL7805 (IC1).

Отображение данных и настройка

В нормальном положении (главном меню) отображаются следующие данные:

  • текущее время (часы, минуты, секунды);
  • текущая температура в градусах Цельсия;
  • текущая дата (число, месяц, год);
  • текущие режимы (Р — расписание; Ц — цикл; Т — термостат;).
2

Режим отображения данных в главном меню

3

Отображение режимов для настройки

Поочередным нажатием кнопки S5 (Режим / Настр.) выбираем необходимую функцию для на настройки часов, календаря, режимов включения нагрузки или коррекции работы часов. Подойдя к нужной функции и нажав клавишу S4 (Выбор) можем изменить данные клавишами S2 и S1 («+» и «-»). Принимаем изменения клавишей S4 (Выбор), отменить же изменение и вернуться в предыдущее меню возможно через S3 (Отмена / Пред.)

Режим «Расписание» (Р)

В режиме «Расписание», который отображается буквой «Р» (замечу, что меню отображается на украинском языке) можно задать суточное расписание включения и выключения нагрузки через симистор VS1. Здесь задаем время когда микроконтроллер включит нагрузку и время когда она будет выключена. Таких событий в расписании можно задать не более 15-ти. В этом же меню выбираем включить или выключить данную функцию.

4

Настройка режима «Расписание»

При включенном режиме «Расписание» в главном меню отображается буква «Р».
Режим «Цикл» (Ц)

В режиме «Цикл» задается циклическое включение и выключение нагрузки на симисторе VS2. Здесь выбирается интервал времени в минутах в течении которого нагрузка будет включена и отдельно настраиваем сколько ей быть выключенной. Это будет повторяться до тех пор, пока не выключить данный режим.

5

Настройка режима «Цикл»

При включенном режиме «Цикл» в главном меню отображается буква «Ц».


Режим «Термостат» (Т)

В режиме «Термостат» мы можем управлять электрическим нагревателем или охладителем через симистор VS3. Для этого выбираем пороговое значение температуры при котором включается нагреватель или охладитель. Если в настройке выбрать опцию «Нагреватель», то нагрузка включится при изменении температуры на 1ºС ниже заданного значения. При включенной опции «Охладитель» нагрузка включится при изменении температуры на 1ºС выше заданного значения.

6

Настройка режима «Термостат»

При включенном режиме «Термостат» в главном меню отображается буква «Т».

Функция «Коррекция»

Известно, что точность подобных часов зависит от микросхемы реального времени DS1307 и специального кварцевого резонатора частотой 32.768 кГц и, как правило, трудно подобрать детали для абсолютно точных часов. Поэтому реализована функция «Коррекция», где можно задать компенсацию времени.

В настройке задаем сколько секунд добавить или отнять в сутки или в неделю.

Печатная плата и программа
Расположение деталей на печатной плате

Расположение деталей на печатной плате

Расположение розеток на задней стенке прибора

Расположение розеток на задней стенке прибора

При программировании микроконтроллера фьюзы выставляем так:

Fuses1

[hidepost]Скачать печатную плату

Скачать прошивку[/hidepost]


Внимание! Есть научная работа по этому проекту написанная на 54 страницы (на украинском языке). Оформление идеально подходит под дипломную или курсовую работу. Скачать содержание.

Связь с автором

Возможно, Вам это будет интересно:

Постоянная ссылка на это сообщение: http://meandr.org/archives/25160

32 комментария

Перейти полю для комментария

  1. Привет! А есть прошивка на латинских символах не для кириличных дисплеев?

    1. Нет

  2. Не пойму- почему так кренка греется?. Проверил на КЗ несколько раз- всё в норме.

    1. Значит есть большая нагрузка. Смотрите ошибку в монтаже.

    2. падение большое , подсветка индикатора больше 150мА забирает.
      перед 5 вольтовой поставить еще одну на 9 вольт ,или , что нибудь на mc34063.

  3. Подскажите, как правильно прошить микроконтроллер? В папке 3 файла.

    1. Прошить микроконтроллер файлом с расширением .hex

  4. Это была старая папка. Все, прошил.

  5. А как в режиме коррекции включить -9 секунд? плюсом и минусом регулируется от 0 до 59 только… как включить в -?

    1. В этой прошивке реализован режим коррекции времени для отстающих часов. Можно только добавлять секунды.

  6. чет часы неработают. показывают 00:00:80

    1. После настройки времени часы будут идти нормально

      1. Та же проблема , но даже после настройки часы работают неадекватно( отсчёт минут и секунд идёт нормально, часы вообще не считает ) , кроме того ни дату ни время после настройки не запоминает . В чем может быть проблема . Могу выложить видео в личку. И ещё одно : на схеме Вами нарисованной есть ошибка в месте подсоединения подтягивающих резисторов на шину SCL и SDA (резистор R2 должен подсоединяться к 5 ноге таймера а нога 7 не задействована.)
        Спасибо.

        1. Нашёл в чем проблема с настройками времени и даты. Был нерабочий таймер купленный в магазине «Космодром». Перепаял DS1307 (SMD SOIC-8) на другой такой же, но купленный в Китае . Всё работает отлично, проблемы с настройками исчезли. Спасибо автору за разработанный прибор.

  7. спасибо все получилось

  8. Иногда зависает индикация. Как с этим бороться?

  9. В режиме термостат нагрузка я так понял сама не отключается. После включения ее надо отключать самому.

    1. Отключается при температуре выше указанной. В режиме охладитель (вентилятор) отключается при температуре ниже указанной.

  10. Спасибо.

  11. Можете скинуть исходники пожалуйста

  12. почему не работает с обогревателем . с лампой 60 ватт работает

  13. Здравствуйте! Можете скинуть исходники?

  14. Здравствуйте! Не мог найти подходящую конструкцию, чтоб и термостат был и циклический таймер. Собрал Ваш девайс. Запускается экран только когда кнопки потычешь. И в конце каждого часа функция цикл срывается на частоту переключения около 10 гц на одну минуту. Не подскажете в чем дело? И еще… Можно ли поправить прошивку цикла на секунды?

  15. прошивку на латинских символах можно сделать.брал дисплеи на али так там латыница и иероглифы.

    1. На Aliexpress априори не продают индикаторы с кирилицей. Чтобы была кирилица надо чтобы в маркировке индикатора присутствовал индекс СТ , напрмер «WH1602B-TMI-CT» В Украине они есть.

  16. Здравствуйте. А прошивку на русском можно сделать?

    1. Покупайте у автора исходник и переписывайте.

      1. А если к примеру автора поставить у фрезерного станка и дать чертеж детали, и сказать сделай такую же только размер паза другой…. Что будет делать автор?

        1. Если человек в этом деле имеет какое-то понятие и это ему важно сделать, то конечно сделает.
          Я не думаю, что автор будет просто так тратить свое время чтобы решить чью-то задачу.

  17. Подскажите пожалуйста ! Хочу собрать этот приборчик)
    Кто собирал этот дэвайс скажите
    -стоит заморачиваться?
    Я имею ввиду конструкция надёжная ?
    Не подвисает не тормозит ?
    у меня просто очень большие требования к надёжности
    Аппарат будет работать на даче без присмотра-и не хотелось бы
    что бы он сбоил и глючил.
    В видео автор говорит , что коррекция времени занимает много места в прошивке
    и из за этого подвисания.
    Нет случайно версии прошивки без коррекции?
    Заранее спасибо.

  18. Уважаемый автор подскажите тип индикатора что используется в данном проекте?

    1. Можно использовать любой аналогичный с поддержкой кириллицы. Подключение должно быть согласно схеме.

Добавить комментарий