Рассмотрим принцип работы двух основных узлов. Алгоритм работы основной функции терморегулятора.
— измеряется температура всех включённых датчиков;
— проверяется какие датчики привязаны к каким выходам (один и тот же датчик может быть привязан к нескольким выходам);
— данные с датчиков поступают к переменным, которые привязаны к выходам;
— значения датчиков сравниваются с установленными значениями;
— устанавливается 0 или 1 на выходе, в зависимости от температуры и от того как настроен выход – инвертированное или прямое значение;
Для работы с датчиками была применена стандартная библиотека CVAVR.
Измерение мощности и энергопотребления. Как мы все знаем для измерения мощности нужно три параметра – напряжение, ток и косинус нагрузки. Так как у нас нагрузка активная, резистивная, та и ещё постоянная – мы можем принять некоторые хитрости: — принять косинус равным единице; — измерять потребление, зная только напряжение. Вы спросите как? — А просто:
— нам известна мощность каждого обогревателя, напряжение работы и ток несложно посчитать, поэтому:
— измеряем напряжение сети;
— делим измеренное напряжение на номинальное(220);
— в итоге получаем кофициент, зависящий от изменения напряжения;
— считаем текущую мощность по формуле: Р_изм = U_изм*((Р_установленная/U_ном)*кофициент)*COS;
Подсчёт энергопотребления производится каждую минуту по формуле: WH = WH + Р_изм/60 – на 60 потому что измеряем раз в минуту;
В модуле реализовано два варианта измерения:
1. Напряжение U_изм измеряется внешним модулем с делителями.
2. Напряжение U_изм принимается равным 220 и считается что оно стабильно(но такой способ не очень точен).
Приступим к работе с устройством. Сразу после включения появляется несколько заставок с названием и версией ПО.
Здесь также высвечивается адрес моего сайта, — думаю это небольшая плата за такую разработку. Затем начинается сканирование линии датчиков.
После чего появляется главный экран терморегулятора.
На экране: 1- название датчика; 2- температура датчика; 3- состояние его выхода.
Обозначения:
— <X> — датчик или выход отключен;
— <Е> — ошибка чтения данных датчика;
— <0> — на выходе установлен низкий уровень;
— <1> — на выходе установлен высокий уровень;
— <!> — питающее напряжение вышло за установленные рамки.
Чтобы посмотреть данные других датчиков, — нужно воспользоваться кнопками «плюс» и «минус». Данные меняются парами. Если нажать кнопку «ОК» то попадём в меню просмотра времени и энергопотребления.
Здесь по нажатию кнопок «плюс» и «минус» меняется значение верхней строки – все включённые датчики. По нажатию кнопки «ОК» попадаем на следующий экран.
Здесь отображаются параметры энергопотребления в верхней строке, — общая статистика по всем каналам( в кВт*ч), а в нижней текущее время(не время работы, а просто время). Кнопками «плюс» и «минус» меняется отображение нижней строки.
1 – текущая мощность – в данном случае по всем каналам. 2 – Напряжение питающей сети и вычисленный потребляемый ток по всем каналам. Для обнуления статистики нужно зажать кнопки «плюс» и «минус». При дальнейшем нажатии кнопки «ОК» будут отображаться параметры каждого канала по очереди.
Здесь отображаются те же параметры только для каждого канала в отдельности.
Здравствуйте! Интересно было бы увидеть исходники прошивки,- хочу добавить дистанционное управление.
Да и переделать на управление симисторами, а не реле…
А что мешает поставить симисторы?) — опто-симисторы с детектором нуля+симистор… у меня стояли симисторы в предварительной версии — но для них нужен радиатор — который занимает немало места — поэтому применил реле)
Есть такое в планах — управление через USB — отдать все настройки компьютеру, а с панели сделать возможность только просмотра. но это уже будет устройство зависимое от ПК. Чтобы вместить все одновременно — надо процессор посерьезнее — что то вроде atmega64. Может вас интересует какае-то часть кода конкретно? ибо тут все на стандартной библиотеке опроса датчиков, а в остальном ничего сложного)
первое огорчение. У меня провода о разных дачиков приходят к терморегулятору и соеденяются в один провод. включаю, не видит ни одного датчика, по отдельности подключаю видит. неужели дело в проводах? есть какой то выход? так то на коленке подключал 10 датчиков и все видит…
У меня дома так 5 датчиков подключены, НО по витой паре(экранированной), длина линий достигает 10м. И все работает без проблем — иногда может пропасть из виду датчик(ошибку выдать) но программа его потом опять находит(авто-поиск).
1 — Какие провода использовали вы?
2 — Можно попробывать уменьшить сопротивление подтяжки до 4к — так как часть напряжения подтяжки может проседать из-за сопротивления длинных линий.
3 — Внимательно проверить соединения.
вы как добавите названия, дайте знать в коментариях……
Качайте версию 1.2 — там добавлены спальни и расширен диапазон регулирования.
Доброе время суток!!!
Если можно то расширить пределы на максимальные приделы датчика. Если не ошибаюсь -55 и +125. Огромное спасибо.
Посмотрю, если возможно то расширю. место на дисплее ограничено…
Качайте версию 1.2 — там расширен диапазон регулирования только выбирайте название покороче в списке чтоб цифры не наползли на название.
терморегулятор классный во всём. единственное когда собрал, начал перебирать названия не нашёл нужное. я не знаю в каком дворце живёт автор, но меня удивили названия помимо «кухня1» ещё «кухня2», «кухня3», «чулан2», «чулан3» ищё несколько названий типа «тайник» это если дворец какой нибудь с отдельной комнатой тайником. а вот к примеру «спальня» в доме часто не одна. к примеру у меня их три а в названии не могу установить к примеру «спальня1» «спальня2» «спальня3» так как из нет в названии. просьба к автору кинуть номера спален в память вместо ненужных названий. была бы вообще песня…
Добрый день!
Да названия просто добавлял что в голову придёт), а вот за спальни и забыл)) может есть ещё какие варианты, ещё какие-то названия добавить? чтоб уже сразу) Тут ещё человек просил пределы регулировки расширить, но что то пока молчит — насколько расширить…
Да так то все нужные названия вроде есть кроме спален. Зал, кухня, коридор, ванная. Сейчас как раз монтируют тёплый пол а с верху плитку. Скоро буду подключать. Спальни были бы кстати.
Хорошо, я добавлю спальни — 3-4 думаю хватит)
Уважаемый автор!!! У меня к вам просьба — не могли бы вы расширить пределы регулирования вашего устройства??? Заранее огромное спасибо.
Здраствуйте! Насколько расширить? максимально датчик меряет 125 градусов.
Доброе время суток, уважаемый автор!!!
У меня к вам просьба — не могли бы вы расширить придел регулирования температур. А то ваш проект меня заинтересовал и хотелось бы его возможности и область применения сделать универсальными.
Заранее спасибо.
Не правильно написал. В восьми комнатах будет установлен тёплый пол и замурованы датчики 18В20 под плитку. Этот регулятор и будет ими управлять…
Сегодня собрал я этот терморегулятор. Заработал с первого раза. Автору огромный респект. Вместо реле я поставил оптопары и симисторы BTA12-600. Будет включать 8 разных комнат в доме. Два датчика без выходо, будут показывать температуру дома и на улице…..
Спасибо! Старался по максимуму напичкать его наворотами, так как делал для себя) но у меня 5 датчиков используется — 4 комнаты с электрообогревателями и один уличный датчик. От симисторов отказался потому что для них приличный радиатор нужен а места у меня там ограничено было)
Ещё бы индикатор 1604 воткнуть для большего отображения информации….
На момент проектирования в наличии был только на 2 строчки) а так да, было бы информативнее)