Схема термостата на attiny2313

Схема термостата на attiny2313

Очередной термостат на Tiny2313 и DS18B20

Автор: СКАЗОЧНИК
Опубликовано 16.01.2017
Создано при помощи КотоРед.

Категорически приветствую всех Котов, а заодно и поздравлю с Новым 2017 годом.

Также хочу выразить благодарность котам за постоянную помощь в реализации идей: ARV, Z_h_e, Albert_V, pyzhman, Kavka, oleg110592 и другим, кого не упомянул.

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

Как это работает.

Собственно о чем речь. Заказали мне как-то изобрести простенький термостат (даже проще – термометр) и собрал я его ради интереса из того, что было под руками, а также в учебных целях (распотрошить протокол 1-Wire).

Термостат очень простой и представляет из себя устройство с семисегментным четырехразрядным индикатором. Собран на микроконтроллере ATTiny2313. Подключается к нему всего один внешний датчик DS18B20. Двумя кнопками настраивается температура верхнего порога (во всем диапазоне температур работы датчика от -55 до +125 градусов Цельсия), при нажатии на любую кнопку пропадает значок градуса в правом разряде, через некоторое время (ориентировочно 30 секунд) термостат переходит в режим контроля температуры, а значение выставленного порога сохраняется в памяти EEPROM.

В режиме контроля температуры отображается значок градуса в правом разряде индикатора. При достижении установленной температуры включается нагрузка (см. схему там транзистор с открытым коллектором) и на индикаторе в правом разряде еще появляется десятичная точка (символизирует о работе нагрузки). Когда температура упадет на пару градусов – нагрузка отключается. Вот и все!

Описаний протокола 1-Wire в сети очень много, поэтому в него уже углубляться не буду, скажу лишь одно для начинающих, что всегда старайтесь разбить большую задачу на много маленьких. Так и в программировании, не пытайтесь освоить все сразу (в том числе и из описания этого протокола, как и любого другого), разбивайте на блоки. Общение микроконтроллера с датчиком это не все сразу. Это какие-то команды и ответы на них. А команды – это байты циферок (как и ответы). А байты уже состоят из битов! Так вот! Минимальная единица информации – бит – вот с чего надо начинать в изучении и написании своей библиотеки. Все задержки/интервалы начинаете с битов чтения и записи. А если смогли записать/считать один бит, то потом уже оформляете дальше чтение и запись целого байта. А потом уже просто все – передаете команду, а подпрограммы все выполняют. ))) Надеюсь, поможет.

Читайте также:  Platenclene print roller cleaner and restorer

И сейчас меня может начнут пинать, но я все равно сделал по своему. Если внимательно изучите исходник (а он на ассемблере с комментариями), то увидите, что у меня нет определения адреса датчика, как и нет подсчетов контрольных сумм. Поэтому и датчик в моем термостате всего один. В любом случае, исходный код свободный и открытый, так что для усовершенствования годится – дерзайте, исправляйте и цепляйте кучу датчиков. ))) А можем и вместе покумекать, тогда вопросы на форум, будут интересные идеи – доработаем.

Итак, вот схема (сильно не серчайте, устройство было вообще без схемы, а схема уже потом создавалась, как модель в Протеусе, тем более по своей природе коты ленивы и я тоже):

Как видите, сама схема не отличается каким-либо разнообразием и изысками, впрочем, как и большинство устройств с микроконтроллерами. Почему она именно такая? А все очень просто, сначала я взял индикатор, потом микроконтроллер и примерил одно к другому. Так разрабатывалась печатная плата. Где выводы индикатора и микроконтроллера совпали, там и получились дорожки, а значит и порты заняты именно эти. Заметьте также, на схеме не указаны цепи питания, а на плате разводка под стабилизатор типа 7805 и конденсаторы. Настоятельно рекомендую ставить стабилизатор в корпусе ТО-220. Но если его использовать просто как термометр, то у меня дома он вообще питается от какой-то старой пятивольтовой зарядки для телефона, работает без стабилизатора.

Транзистор на схеме любой. На плате разведен под корпус типа SOT-23, т.е. маленький поверхностный. Рекомендую туда поставить вообще какой-нибудь полевой типа IRLML0030. Все силовые цепи по моей задумке внешние и управляются через реле.

Кстати, в архивах есть и модель Протеуса, где можно все понажимать (не забудьте указать микроконтроллеру файл с прошивкой).

Как это реализовано.


Сначала, конечно делаем ЛУТ и травим. (Рисунок платы в СпринтЛайауте прилагается)

Для эксперимента я на первый образец ставил стабилизатор типа 78L05, но его мало, т.к. индикаторы довольно много жрут. Почему и советую поставить помощнее. Слева на плате видны штырьки – это для подключения питания и нагрузки. Справа три штырька для подключения самого датчика температуры, а снизу для подключения кнопок! (всегда сверяйтесь со схемой). Также на фотографии видны провода – это припаян программатор, в конце, конечно, все они убираются.

Прошитый термостат сразу начинает показывать температуру окружающей среды. Внимание, если датчик не подключен, то он всегда будет показывать -1 градус Цельсия (по умолчанию). ))))

Читайте также:  Как отключить эхо в микрофоне windows 10

Давайте теперь запихаем это чудо-юдо в какой-нибудь корпус! Ведь, хоть какое-то устройство у Кота должно быть в корпусе. )

Переднее дымчатое стекло взял от какого-то принтера сломанного.

Малость шлифанем и чуток заполируем.

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

Готово! Результат см. выше.

Если кто-то захочет поменять разводку платы – пожалуйста, тогда можно применить микроконтроллер в любом корпусе. Индикатор, который использовал я называется KEM5461AG (общий катод). Были и зеленого и красного и желтого цвета. Соответственно программа под них и создавалась. У кого будут другие индикаторы по разводке ног и по общим анодам – плату и прошивку правьте сами. Тем более, я даже призываю к этому. Не следует тупо повторять конструкцию – это не по-кошачьи. Резисторы в анодах индикатора на свое усмотрение, у меня стоят 100 Ом (кстати, на схеме они не показаны, а на плате есть). Индикация динамическая, поэтому 100 Ом в самый раз. Резистор в базе транзистора тоже зависит от того транзистора, который вы будете использовать. Для биполярного пойдет в районе 1 кОм или больше. Для полевого в районе 200 Ом. И еще рекомендую базу (затвор) притянуть к земле каким-нибудь резистором в районе 10 кОм (на схеме и плате его нет).

Если у вас получилась длинная линия до датчика температуры и термометр плохо работает, попробуйте уменьшить сопротивление R1.

Надеюсь кому-нибудь да пригодится в образовательных целях.

Автор: с2. Опубликовано в Термометры

Содержание материала

Вот так собрал недавно устройство по этой схеме для измерение температуры в отдалённой точке.

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

Ну, 200 не 200, а в наличии есть только начатая бухта телефонного кабеля остаток в ней 94 метра, И вот что у меня получилось на практике.

Беру к рабочему термостату подключаю этот кабель , 94 метра, сразу не работает, показания просто 0.0.

Оказывается при такой длине кабеля нужно уменьшить сопротивление 4.7к до 3к, все стало работать, как и прежде точность от длины кабеля не пострадала.

Фото устройства рядом с погодной станцией Vitek на ЖК индикаторе 25.5 °C комнатная , 16.9 °C температура на улице,

Читайте также:  100 Мегабит в килобитах

и еще немного про схему питания сделана импульсной Step-down converter на MC34063. В последнее время такие схемы блока питания, предпочитаю Low Drop схемам.

Да возможно импульсные и имеют повышенную амплитуду колебаний по выходу, (гасится дросселем и конденсаторами по питанию)

они имеют хорошую помехоустойчивость от наружных факторов, они малогабаритные, и не выделяют тепла,

плюс к тому же большие интервалы входных напряжений!

Печатная плата скачать архив ЗДЕСЬ t_0-1C.rar,

Автор проекта hardlock сайт http://hardlock.org.ua

На сайте автора выложены 4 вида прошивок, на все варианты; для режима heat и cold. индикаторов ОА и ОК + исходник проекта http://hardlock.org.ua/viewtopic.php?f=9&t=10

Скачать проект в Proteus 7.7 SP2 Термостат.rar

Автор: с2. Опубликовано в Термометры

Содержание материала

Вот так собрал недавно устройство по этой схеме для измерение температуры в отдалённой точке.

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

Ну, 200 не 200, а в наличии есть только начатая бухта телефонного кабеля остаток в ней 94 метра, И вот что у меня получилось на практике.

Беру к рабочему термостату подключаю этот кабель , 94 метра, сразу не работает, показания просто 0.0.

Оказывается при такой длине кабеля нужно уменьшить сопротивление 4.7к до 3к, все стало работать, как и прежде точность от длины кабеля не пострадала.

Фото устройства рядом с погодной станцией Vitek на ЖК индикаторе 25.5 °C комнатная , 16.9 °C температура на улице,

и еще немного про схему питания сделана импульсной Step-down converter на MC34063. В последнее время такие схемы блока питания, предпочитаю Low Drop схемам.

Да возможно импульсные и имеют повышенную амплитуду колебаний по выходу, (гасится дросселем и конденсаторами по питанию)

они имеют хорошую помехоустойчивость от наружных факторов, они малогабаритные, и не выделяют тепла,

плюс к тому же большие интервалы входных напряжений!

Печатная плата скачать архив ЗДЕСЬ t_0-1C.rar,

Автор проекта hardlock сайт http://hardlock.org.ua

На сайте автора выложены 4 вида прошивок, на все варианты; для режима heat и cold. индикаторов ОА и ОК + исходник проекта http://hardlock.org.ua/viewtopic.php?f=9&t=10

Скачать проект в Proteus 7.7 SP2 Термостат.rar

Ссылка на основную публикацию
Adblock detector