Все продолжаю заниматься контроллером отопления.
Заметил интересный момент: если клапана всех радиаторов перекрыты, то котел начинает работать как сумашедший. Включается на 10 секунд, отключается на 10 секунд, и так по кругу. Вроде очевидное поведение, когда радиаторы все не работают, да :) Но в то время я об этом что-то не подумал.
Тут еще такой прикольный момент получился, что из-за наличия интегральной части в алгоритме выбора температуры котла, и в алгоритмах управления клапанами, клапана через время почти полностью закрывались, при этом температура на котле продолжала расти.
Поэтому было решено изменить подход. Теперь от каждой комнаты на котел приходит запрос увеличения мощности. Этот запрос не интегрируется по времени, а просто усредняется. Это должно решить проблему с тем что системы влияют друг на друга и еще накапливают влияние.
Так же изменил алгоритм выбора температуры котла по температуре на улице. Решил использовать кривую, которую обычно имеют котлы с погодозависимой автоматикой. Взял аппроксимацию одного товарища. У него конечно другой котел, но разницы тут никакой. Разве что в одном котле алгоритм может быть лучше, в другом - хуже. Надеюсь, что в его котле норм алгоритм :)
Сделал табличку в экселе, где можно меняя параметры наблюдать за изменением кривой. Пока остановился на таких коэффициентах. Думаю придется еще их подтюнить. В идеале мне нужно подобрать коэффициенты так, что в самой холодной комнате температура всегда будет соответствовать уставке, и клапан там будет открыт на 100%. А другие комнаты уже подстроятся и прикроют свои клапана, чтобы там жарко не было.
