Цель этого проекта - разработать устройство, которое считывает температуру с помощью внешнего датчика, и в зависимости от этих значений выходное реле будет менять свое состояние. Преимущество этого термостата заключается в его гибкости установки температур, при которых реле может быть включено или выключено. Это позволяет использовать различные режимы гистерезиса.
В этом термостате используется 2-х разрядный семисегментный индикатор с общим анодом, который отображает текущую температуру во время нормальной работы. Если необходимо изменить одну из температур (Ton - температура, при которой выход включен, Toff - температура, при которой выход выключен), для этого используются 2 кнопки. Кнопка SW2 служит для переключения режима (-> Ton -> Toff -> Т(текущее значение) ->). Кнопка SW1 функционирует в режимах настройки температуры, Ton и Toff. После нажатия на кнопку значение дисплея всегда увеличивается на единицу. Если значение достигает 99, нумерация начинается снова с нуля. После переключения (кнопка SW2) в следующее состояние последнее отображаемое значение сохраняется во внутренней памяти EEPROM.
Реальное использование, для которого эта схема была спроектирована - включение/выключение циркуляционного насоса центрального отопления. В этом случае Ton > Toff, насос выключается, насос включается если текущая температура меньше Toff. Если температура превышает значение, установленное в T, насос включается и работает до тех пор, пока текущая температура не достигнет T. Включение выхода указывается путем включения десятичной точки на индикаторе устройства.
Описание конструкции
Основной частью термостата является микроконтроллер Atmel ATtiny13. Мотивацией для использования этого чипа была его низкая цена. Все линии ввода/вывода используются для удовлетворения всех требований (отображение, программирование и управление выходом). В этом случае вывод RESET устанавливается как выход для управления выходным реле. Недостатком является то, что в этом режиме невозможно использовать обычные ISP программаторы, после включения бита RSTDISBL микроконтроллер программируется только в режиме HVSP. Также необходимо установить биты конфигурации контроллера для тактирования от внутреннего генератора частотой 1,2МГц. ATtiny13 и 74HC164 используются в SMD корпусах, другие компоненты имеют общий дизайн. Разъем программирования ISP, так и HVSP уже установлены на печатной плате.
В качестве температурного датчика используется KTY81-210, на печатной плате предусмотрен разъем для его подключения, ожидается, что датчик будет установлен на измеряемом объекте. В этом случае датчик необходимо поместить в металлическую трубку и залить эпоксидным клеем, затем трубка может быть непосредственно присоединена к точке измерения. Измерение температуры аппроксимируется линейной функцией, аналого-цифровое преобразование 8 бит.
Технические данные
Напряжение питания: 7 - 17В;
Точность измерения: 1°C;
Диапазон измерения: 0 - 99°C.
Печатная плата
Архив для статьи "Термостат на ATtiny13" | |
Описание:
Исходный код(Ассемблер), файл прошивки микроконтроллера, макет печатной платы Eagle |
|
Размер файла: 101.61 KB Количество загрузок: 820 | Скачать |