-
Публікації
11 -
Зареєстрований
-
Відвідування
Тип публікації
Профілі
Форум
Календар
Повідомлення, опубліковані користувачем Sattva
-
-
2 часа назад, normal сказал:
А у вас котел включается если на улице похолодало или типа того...
Спасибо. Это важное замечание, которое нужно учесть, так как я и забыл об этом и вот почему.
Для котла, который в квартире с двумя комнатами и кухней+санузлами это справедливо.
Если же это 3-этажный коттедж с более чем 10 жилыми комнатами или
12 этажное здание с десятками квартир, то температура в комнатах
не учитывается котлом или тепло-пунктом.
Она регулируется термоголовками радиаторов. Важно лишь задать
верно температуру теплоносителя.
Приблизительно внутренняя температура состоит из таких параметров:-
Количество отопительных приборов (радиаторы, конвекторы, теплые полы, регистры - отопительные трубы большого диаметра, теплые плинтуса и стены, инфракрасные обогреватели и другие источники тепла).
-
Теплоизоляция ограждающих конструкций. Под ними мы подразумеваем наружные стены, окна, двери, кровлю, полы нижнего этажа, фундамент или цоколь — в общем, всё, что так или иначе контактирует с менее нагретой окружающей средой.
-
Тепловая инертность отапливаемого сооружения, то есть скорость изменения его температуры при определенной разнице температур. Это суммарная теплоемкость отапливаемых элементов. Инертность легкого каркасного дома, например, намного ниже, чем у дома кирпичного. Система должна адаптироваться к тепловой инертности сооружения. Для начала мы можем задавать это вручную. Это как раз указанная вами температура внутри дома.
-
Воздухообмен в помещениях. Когда мы открываем окна, чтобы проветрить комнату, нагретый воздух из нее сменяется более холодным наружным. С воздухообменом уносится от 10 до 30 % тепла.
-
Время разогрева системы отопления в зависимости от длины и количества теплотрасс, а так же мощности котла — система должна подстраивать алгоритмы работы, не только учитывая параметры зданий, но и свои собственные характеристики (например, типы радиаторов, этажность здания).
- Заданные пользователем минимумы и максимумы температур. Например, можно заставить систему греть «чуть сильнее», когда на улице слякоть и создать атмосферу тепла и уюта даже если на улице не очень холодно или ограничить максимальную температуру в целях экономии.
Потому и задача у меня разобраться в параболах для расчета теплоносителя,
в соответствии с температурой за бортом и потерями каждого конкретного дома.
Это мы выверим экспериментально на базе данных с множества датчиков и
зададим с сервера. А потом замеряем по комнатам / квартирам и сделаем выводы.Как я понимаю, Maxim Vdovin (код которого приведен), так же не учитывал температуру в комнате, так как делал для частного дома с множеством комнат.
-
1
-
Количество отопительных приборов (радиаторы, конвекторы, теплые полы, регистры - отопительные трубы большого диаметра, теплые плинтуса и стены, инфракрасные обогреватели и другие источники тепла).
-
В 27.08.2018 в 22:44, MaksVish сказал:
Кому интересно смотрите тут! mxjournal.ru/blog/1154
Годы прошли.
Домена больше нет.
Ссылка не работает.
Я же решаю ту же задачу построения графиков. Получается:
-
Как вы верно заметили, ESP32 это для обучения, то есть любой желающий разберется.
Язык программирования С++ тоже не уникален.Цитатану, разве что для того, чтобы поучиться паять и писать програмки под ESP32
Ничего сложного там нет. Код заказчик получил.
Ну, а электроника фабричная, легко повторяемая (что и сделано мною, пока едет
нужная Заводская конфигурация).Что за плата такая? Пока умолчу название.
Конфигурацию описал.
Большинство ваших тезисов верны с поправкой на год, эдак 2010.
Все же за 12 последних лет рынок сильно изменился.
Сейчас спроектировать и запустить в производство, если вдруг нужно,
можно за несколько недель. При наличии опытного образца - за несколько дней.
Так же никто не мешает иметь запас изделий на случай выхода из строя.Развернуть новый веб-сервер на случай смерти разработчика можно за 1 рабочий день.
И, кстати, никого я не убалтывал. Ко мне пришел заказчик, который сам может
построить простой контроллер, а так же запрограммировать ПЛК
и попросил сделать что-то посложнее. Так и полетели.
Какая-то реклама услуг по разработке получается.Цель 1: поделиться найденным кодом от Maxim Vdovin.
Цель 2: подобрать рабочие графики для погодозависимой
автоматики управления отоплением, а не услуги свои рекламировать.По результату испытаний отпишусь.
Вы же почему-то подняли философский вопрос:
Следует ли самоделки (по факту фабричный контроллер на базе ESP32
с выданным исходным кодом) ставить на ответственные объекты,
в случае смерти / ухода разработчика?
Как мне на это реагировать, работая в отрасли разработок и прототипирования
более 4 лет, при том, что тема не об эффективности работы ESP32 в сравнении с ПЛК?
В качестве альтернативы вы предложили
Программируемый логический контроллер "Омрон" (если я верно понял),
что сразу отброшено, как решение.
Скажу больше:
заказчик не идиот, у него есть 4 ПЛК по $1000 каждый
какого-то именитого бренда. Они его не устраивают совершенно.
Не сбивайте меня, пожалуйста.-
1
-
-
Кстати, одно из мест, которое подтверждает использование параболы:
temp_n = (a * x * x) + (b * x) + c;
Строка 54, файл controller.ino -
Чтобы закрыть тему прошивки Maxim Vdovin привожу ЕГО код расчета температуры контура отопления:
github.com/maxvdovin/termostat/blob/master/termostat/controller.ino// Настройки float curve = 1.6; // Кривая отопления float delta_t = 5; // Шаг поправки термостата в °С float delta_k = 3; // Шаг поправки комнатной температуры в °С // Функция расчитывает температуру контура отопления // Подробнее тут: https://wdn.su/blog/1154 // float desired - Желаемая температура в доме // float in - Фактическая температура в доме // float out - Фактическая наружая температура float getController(float desired, float in, float out) { float a, b, c, x, t; float temp_n = 0; // Рассчетная температура контура отопления на основе температурной кривой float temp_t = 0; // Поправка термостата (если желаемая температура сильно отличается от фактической) float temp_k = 0; // Поправка на желаемую комнатную температуру (сдвиг температурной кривой при изменении желаемой температуры) float result = 0; // Температура контура отопления котла, возвращаемый результат // Расчет поправки термостата // Tt = (Tu — T2) × 5 t = desired - in; // Ограничиваем влияние термостата if (t > 2) t = 2; if (t < -2) t = -2; temp_t = t * delta_t; // Рассчитываем поправку термостата // Поправка на желаемую комнатную температуру, кривые расчитаны на желаемую температру 20°С // Tk = (Tu — 20) × 5 temp_k = (desired - 20) * delta_k; // Если кривая отопления больше 1,5, то используем явно заданную кривую // Подробнее тут: https://wdn.su/blog/1287 if (curve > 1.5) { // Кривая задается с шагом 1 градус от +30 до -30 int i = round(30 - out); if (i < 0) i = 0; if (i > 60) i = 60; // Матрица с кривой: iv_curve[0] - температура контура отопления при +30, iv_curve[60] - при -30 int curve_explicit[] = {1, 3, 5, 7, 10, 12, 14, 16, 18, 20, 21, 23, 25, 27, 29, 30, 32, 34, 35, 37, 38, 40, 41, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 60, 61, 62, 63, 63, 64, 65, 65, 66, 66, 67, 67, 68, 68, 69, 69, 69, 69, 69, 70, 70, 70}; temp_n = curve_explicit[i]; } else { // Рассчитытваем температура контура отопления на основе кривой отопления // Tn = ax2 + bx + c // a = -0,21k — 0,06 // b = 6,04k + 1,98 // с = -5,06k + 18,06 // x = -0.2*t1 + 5 x = (-0.2 * out) + 5; a = (-0.21 * curve) - 0.06; b = (6.04 * curve) + 1.98; c = (-5.06 * curve) + 18.06; temp_n = (a * x * x) + (b * x) + c; } // Расчетная температура конура отопления // T = Tn + Tk + Tt result = temp_n + temp_k + temp_t; // Ограничиваем температуру if (result > 75) result = 75; if (result < 0) result = 0; return result; }
-
1
-
-
-
5 минут назад, Invest-finans сказал:
Целесообразность - НУЛЕВАЯ, ну, разве что для того, чтобы поучиться паять и писать програмки под ESP32.
Спасибо за конструктивную критику. Уже на 2 объектах работает. Делаем еще для двух.
Это прямо традиция: все мои коммерчески успешные проекты получают подобный отзыв в начале пути.
По истине, признак хорошего начинания, когда опытные люди говорят "не имеет смысла".
ЦитатаПаяю пару прототипов, пока фабричные контроллеры едут из Китая.
-
1
-
-
-
Идея написать пост родилась по ходу изучения того, что есть
погодозависимое управление отоплением с учетом теплопотерь.
Тема для меня новая и требует изучения.
Именно на этом форуме нашел вот такой пост:
Великолепный standov подсказал ссылку:ЦитатаАлгоритмы расчета погодозависимости взял тут mxjournal.ru/blog/1154 и чуть адаптировал.
На 2022 год mxjournal.ru - оказался нерабочим, так как был личным сайтом
Maxim Vdovin - PHP-разработчик, который сменил домен.
Теперь его блог на новом ресурсе:
wdn.su
Статья, которая нас интересует:Группа тем о разработке контроллера и прошивке
wdn.su/blog/1154
Новая прошивка
wdn.su/blog/1472
Сама Прошивка Контроллера для погодозависимого управления отоплением здесь:
github.com/maxvdovin/termostatЭта новая ссылка на прошивку Maxim Vdovin одна из причин начать тему.
Ну, и раз тема создана, поделюсь размышлениями на тему погодозависимого управления.
Основная задача: расчет целевой температуры теплоносителя в системе отопления.
Входные данные: температура за окном.
Основа расчета: замудренные температурные кривые.P. S.
Кривые сильно напоминают Параболу.
-
Разрабатываю прошивку контроллера для управления пунктом отопления.
Главные задачи:- погодозависимое управление отоплением с учетом теплопотерь,
- сбор данных на свой сервер,
- удаленное управление,
- удаленное конфигурирование.
Коммерческие решения сразу отпадают, так как используют закрытые протоколы и свои сервера.
Платы с операционной системой и прочими нежными местами - долой.
Программируемые логические контроллеры - тоже долой.
Особенности:- 9 датчиков температуры DS18B20 (возможно будет больше).
- 8 входов 12/24 В гальванически развязанных для наблюдения за работой клапанов и насосов
- 8 выходов транзисторных для управления реле 12 / 24 / 220 В
- Силовыми нагрузками управляет релейный шкаф
- Данные раз в 20 сек .. 10 мин отправляются на сервер
- Связь: WiFi, Ethernet
- Отладка: Bluetooth, Serial Monitor
- Память: минимально, состояние выходов
- RS-485: Да
- База данных: MySQL (Maria DB) + свои страницы на PHP
- Сервер 1: Web LAMP (Linux, Apache, MySQL, PHP)
- Сервер 2: MQTT Mosquitto (для отладки и работы приложения на Android / iOS)
- Микроконтроллер: ESP32-Wroom (Dev Kit V1 или LuaNode32)
- Настройка конфигурации: Web-страница, Android приложение, Bluetooth
Паяю пару прототипов, пока фабричные контроллеры едут из Китая.
Пишу прошивку.
Мониторинг 9 температур + ПЗА (погодоЗависимая автоматика)
в "Розумний будинок", Сигналізація, Відеоспостереження, ТВ, І-Нет
Опубліковано: · Змінено користувачем Sattva
Связь между
видна на графике ниже. Как видим, температурные кривые рассчитаны так,
чтобы сформировать в помещении температуру около 20 С.
По коду мы видим, как автор решает задачу "сдвига" температуры в помещении: