Улучшенный термостат на ATtiny2313 и DS18B20 (ATtiny2313, С

Рассказать в:

По многочисленным просьбам дорабатываю конструкцию "Термостат на attiny2313 и ds18b20". Теперь умеет:

  • Измерение температуры от -55°С до +125°С (шаг 0,1°С)
  • Установка температуры от -55°С до +124°С (шаг 0,1°С !!!).
  • Гистерезис от 0,1°С до 25°С

Схема.

Улучшенный термостат на attiny2313 и ds18b20 (attiny2313, С

На схеме показан второй вариант включения термодатчика, если он не захотел работать по однопроводной шине (что встречается очень редко).Обратите внимание, что подтягивающий резистор на 11 выводе должен быть именно 4,7кОм. Уменьшение или увеличение может привести к нестабильной работе датчика в случае включения по однопроводной схеме.

Индикатор можно применять как с общим анодом, так и с общим катодом - просто разные прошивки.

"*" обозначены компоненты необходимые для защиты от статического электричества, но их можно не устанавливать.

Управление:

Кнопками "+" и "-" устанавливают температуру включения нагрузки (на экране в первом сегменте отобразится символ подчёркивания "_"). 
При одновременном нажатии обеих кнопок устройство переходит в режим изменения гистерезиса (на экране в первом сегменте отобразится символ "d"). Длительное удержание одной из кнопок приводит к ускоренному перебору значений. При отсутствии нажатий на кнопки в течении 5 секунд прибор переходит в режим отображения измеренной температуры, при этом происходит запоминание изменённых параметров в энергонезависимую память.

Индикация:

В первом сегменте отображается точка, если Т < Т уст., т.е. нагрузка включена. Точка отображается во всех режимах, даже при изменении установленной температуры или гистерезиса (если сохраняется условие Т < Т уст.). В этом же сегменте будет отображаться знак минуса "-" при отрицательной температуре.

Логика изменения состояния управляющих выводов:

Довольно часто возникают вопросы насчёт этого, поэтому немного нарисую.

Улучшенный термостат на attiny2313 и ds18b20 (attiny2313, С

Пример 1 (нагрев):

  • Установим температуру = 25,5°С, гистерезис (dt) = 1,2°С.
  • Текущая температура 20 градусов. (pd2 = 1, pd3 = 0, горит "точка").
  • Такое состояние будет сохранятся пока температура не достигнет Т уст. + dТ = 26,7°С.
  • Когда температура достигнет 26,7°С состояние выводов поменяется (pd2 = 0, pd3 = 1, не горит "точка")
  • Такое состояние будет сохранятся пока температура не опустится до Т уст. = 25,5°С.
  • Когда температура опустится до 25,5°С состояние выводов поменяется (pd2 = 1, pd3 = 0, горит "точка")
  • И так далее....

Пример 2 (охлаждение):

  • Установим температуру = -5,2°С, гистерезис (dt) = 1,5°С.
  • Текущая температура 20 градусов. (pd2 = 0, pd3 = 1, не горит "точка").
  • Такое состояние будет сохранятся пока температура не упадёт до Т уст. = -5,2°С.
  • Когда температура упадёт до -5,2°С состояние выводов поменяется (pd2 = 1, pd3 = 0, горит "точка")
  • Такое состояние будет сохранятся пока температура не поднимется до Т уст. + dТ = 6,7°С.
  • Когда температура поднимется до 6,7°С состояние выводов поменяется (pd2 = 0, pd3 = 1, не горит "точка")
  • И так далее....

Таким образом термостат можно применять для использования как в нагревательных целях (тепловентилятор, обогревательный котёл, инкубатор и т.д.), так и для охлаждения (холодильник, морозильник, и т.д.).

Печатная плата:

Улучшенный термостат на attiny2313 и ds18b20 (attiny2313, С

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

Обратите внимание на перемычки под резисторами в районе стабилитронов - они для того, чтобы можно было не устанавливать резисторы, которые отвечают за защиту от статического электричества (на схеме помечены звёздочкой).

Исходник один на все варианты - компилируется в нужную версию путём комментирования (раскомментирования) нужных дэфайнов:

#define cathode //для индикатора с ОК
//#define anode //для индикатора с ОА

#define heat //точка отображается если t < tуст.
//#define cold //точка отображается если t > tуст.


Биты конфигурации (fuses), для тех кто шьёт из ponyprog:

Улучшенный термостат на attiny2313 и ds18b20 (attiny2313, С

Обратите внимание!!! Раньше предлагалось выставить bodlevel0 и bodlevel1, что включало brown-out detection (bod) - контроль за напряжением питания. Это полезно при нестабильном питании и предохраняет содержимое энергонезависимой памяти (eeprom) от порчи во время падения напряжения питания. Но как оказалось есть некоторые подводные камни. При включенном bod и температуре кристала близкой к 0°С работа устройства оказывалась очень нестабильной - постоянно происходил сброс. Причём уровень bod не влиял на стабильность работы (пробовал 1.8В, 2.7В, 4.3В). Питание при этом оставалось стабильное (питание от батарейки) - проверялось осциллографом. Поэтому рекомендую убрать "галочки" в конфигурации с всех bodlevel.

Для нагревателя ("точка" горит, когда t < tуст.) 
Скачать прошивку для индикатора с ОК(-) 
Скачать прошивку для индикатора с ОА(+)

Для холодильника ("точка" горит, когда t > tуст.) 
Скачать прошивку для индикатора с ОК(-) 
Скачать прошивку для индикатора с ОА(+)

Скачать исходный код на С (codevisionavr)

Скачать разводку печатной платы (sprint-layout)

Автор Юрий. Е-mail: hardlock (пёсик) bk Сайт автора.

Обсуждение статьи на форуме


Раздел: [Устройства на микроконтроллерах]

Сохрани статью в:

Оставь свой комментарий или вопрос:


Наше сообщество в VK, а ты с нами? Присоединяйся!!!
Тясячи схем в категориях:
-> Прочее
-> Измерительная техника
-> Приборы
-> Схемыэлектрооборудования
-> Источники питания (прочие полезные конструкции)
-> Теоретические материалы
-> Справочные материалы
-> Устройства на микроконтроллерах
-> Зарядные устройства (для батареек)
-> Зарядные устройства (для авто)
-> Преобразователи напряжения (инверторы)
-> Все для кулера (Вентилятора)
-> Радиомикрофоны, жучки
-> Металоискатели
-> Регуляторы мощности
-> Охрана (Сигнализация)
-> Управление освещением
-> Таймеры (влажность, давление)
-> Трансиверы и радиостанции
-> Конструкции для дома
-> Конструкции простой сложности
-> Конкурс на лучшую конструкцию на микроконтроллерах
-> Конструкции средней сложности
-> Стабилизаторы
-> Усилители мощности низкой частоты (на транзисторах)
-> Блоки питания (импульсные)
-> Усилители мощности высокой частоты
-> Приспособления для пайки и конструирования плат
-> Термометры
-> Борт. сеть
-> Измерительные приборы (тахометр, вольтметр итд)
-> Железо
-> Паяльники ипаяльные станции
-> Радиопередатчики
-> Вспомогательные устройства
-> Телевизионная техника
-> Регуляторы тембра, громкости
-> Блоки питания (лабораторные)
-> Усилители мощности низкой частоты (на микросхемах)
-> Другие устройства для усилителей
-> Cветовое оформление новогодней ёлки или праздничного зала
-> Глушилки
-> Телефонные жуки
-> Инфракрасная техника
-> Медицинская техника
-> Телефония
-> Для животного мира
-> Конструируем усилители
-> Антенны и усилители к ним
-> Звонки
-> Электронные игрушки
-> Усилители мощности низкой частоты (ламповые)
-> Управление двигателями (питание от однофазной сети)
-> Программаторы микроконтроллеров
-> Сверлилки
-> Изучаем микроконтроллеры
-> Радиоприемники
-> Сигнализации
-> Сотовая связь
-> USB-устройства
-> Блоки питания (трансформаторные)
-> Радиостанции простые в изготовлении
-> Источники питания (для усилителей)
-> Прочеее
-> защита от короткого замыкания (электронные предохранители)
-> Зарядные устройства (для радиостанций)
-> Мигалки
-> Cварочное оборудование
-> Кодовые электронные замки
-> Блоки питания (бестрансформаторные)
-> Часы
-> Управление поворотниками
-> Зажигание
-> Управление водой (насосы для скважин или колодцев, полив растений)
-> Моделирование
-> Блоки управления стеклоочистителями
-> Предварительные усилители
-> Защита от перегрузки и перегрева
-> Динамики
-> Ремонт бытовой техники
-> Дистанционное управление компьютером
-> Акустические микрофоны и преобразователи
-> Спутниковое ТВ
-> Gsm антенны, примочки, усилители, ретрансляторы.
-> Пищалки
-> Роботы
-> Ретрансляторы
-> Паяльники и паяльные станции
-> Звуковые сигнализаторы
-> Рули и джойстики
-> Схемы электрооборудования
-> Все для "кулера" (Вентилятора)
-> Работа с BGA микросхемами
-> Фильтры
-> Сабвуферы
Рейтинг@Mail.ru