Рассмотрим принцип работы двух основных узлов. Алгоритм работы основной функции терморегулятора.
— измеряется температура всех включённых датчиков;
— проверяется какие датчики привязаны к каким выходам (один и тот же датчик может быть привязан к нескольким выходам);
— данные с датчиков поступают к переменным, которые привязаны к выходам;
— значения датчиков сравниваются с установленными значениями;
— устанавливается 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 — там расширен диапазон регулирования только выбирайте название покороче в списке чтоб цифры не наползли на название.