|
Теги статьи: |
Терморегулятор с двумя каналами на ATtiny13
Автор: Старый киповец
Опубликовано 30.10.2024
Создано при помощи КотоРед.
Доброго здравия всем любителям электроники и радиотехники! Как пел один популярный певец: «Опять зимою наступили холода...», и к нам в очередной раз пришла осень, а значит, не за горами и зима с ее морозами на целых 3 месяца, да и весной не сразу жара наступит. А потому пришла нужда сделать для моей небольшой мастерской отопление. Варианты были различные: и ПЛЭН, и печка на дровах, и газовая тепловая пушка — все они разбивались об условие поддержки постоянной плюсовой температуры и безопасности. С ПЛЭНом связываться не хотелось ввиду отсутствия экономии даже в сравнении с обычным электрическим камином, да и неизвестно насчет безопасности его для здоровья, так что ну его. В итоге пришел к выводу, что наиболее безопасным и относительно экономичным будет регистр из 59 трубы в виде полотенцесушителя с электронагревателем от бойлера. В итоге получилось то, что на фото.
Циркуляция термосифонная, работает отлично, но штатный термостат меня категорически не устроил. Если выставить его на 60 градусов, он постоянно включается-выключается, так как циркуляция хорошая а гистерезис маленький. На 80 градусов работает лучше, но мне такая температура не нужна, тем более, что мастерская утеплена очень хорошо, и там достаточно как следует прогреть воздух, а дальше только поддерживать. Поэтому было принято решение строить внешний терморегулятор. Задача у него была достаточно простая: контроль температуры окружающей среды и контроль температуры отопителя. При нагреве воздуха выше +20 градусов отопитель должен быть отключен и не включится до тех пор, пока воздух не опустится ниже +15 градусов. Также, если температура самого отопителя превысит +50 градусов, он выключается и остывает до +40. В качестве датчиков использованы DS18B20, дешевые, надежные и простые. Алгоритм реализован на контроллере Attiny13А. Почему именно на нем? Потому, что он был в наличии! Никаких других соображений в момент построения схемы не было.
Схема терморегулятора представлена ниже:
Как видим, схема самая наипростейшая, что для нашей задачи хорошо. Работать она будет 24/7, так что чем меньше элементов, тем меньше возможность выхода из строя. Микроконтроллер считывает данные с датчиков и управляет реле, которое, в свою очередь, подает или отключает питание отопителя. Питание схемы происходит через трансформатор и линейный стабилизатор на LM7805. Из-за того, что микроконтроллер выбран из серии «для самых маленьких», добавить какие-то еще функции не было возможности, даже необходимый алгоритм был упихан с большим трудом.
Проект сделан в KiCAD, там же отрисована печатная плата. После травления и установки всех элементов получилось вот так:
Трансформатор я сделал выносным, диодный мост взял от компьютерного блока питания AT. Можно использовать любые другие элементы, не критично. Библиотеку элементов и посадочных мест для KiCAD я приложил.
Если кто-то захочет повторить эту схему, проект для CodeVisionAVR в архиве. Но сначала его нужно будет отредактировать и скомпилировать. Заменить надо будет адреса датчиков DS18B20, которые в программе заданы явным образом. Сделать возможность пользовательского ввода адресов никак не получилось бы. Поэтому в программе надо найти строки №№42 и 43 и изменить значения переменных. Адреса датчиков можно узнать у производителя или продавца, когда Вы их покупаете, но лично для меня проще было взять ардуинку, подцепить к ней по одному датчику и считать с них информацию. Скетч для ардуино тоже лежит в архиве, папка OneWire. Адрес датчика представляет собой 8 цифр в шестнадцатиричном виде. Начинается всегда с 0х28. Прошивку контроллера производил программой Avrdude, программатор usbasp, команда для прошивки фьюзов в файле фьюзы.txt. Команды для прошивки flash не привожу, чтобы не путать. У Вас путь до файла будет другой. Можете прошить любой другой программой и другим программатором, но править исходник обязательно, иначе работать не будет.
Вот так выглядит собранная схема в корпусе.
Проверка показала, что с таким терморегулятором нагреватель работает более стабильно, включается реже. Элементы схемы не греются (да и с чего бы!), броски напряжения на контроллер не влияют.
Окончательная конструкция на фото ниже:
Корпус сделан «из того, что было» под руками, то есть, из листа оцинковки. Хотел использовать пластиковую соединительную коробку — не влезла по габаритам, но вроде и так неплохо получилось. По установке датчиков особых условий нет, только если использовать такой же обогреватель, как у меня, придется подбирать место установки датчика. Я пробовал ставить на обратку — не выключается, греет долго. Экспериментальным путем нашел место, когда режим установился 2 к 10, т. е. 2 минуты греет, 10 остывает. Для других конструкций обогревателей условия будут своими. Если есть вопросы, пожалуйста в форум.
Файлы:
Архив
Все вопросы в Форум.