Прошу совета в реализации проекта

Vadim A

✩✩✩✩✩✩✩
13 Июл 2022
0
0
Друзья. Делаю проект по управлению электроболлера косвенного нагрева к твёрдотопливному котлу отопления. Задача - при повышении Тк (температуры в котле отопления) датчик ds18b20, давалась команда на запрет включения ТЭНа в бойлере, и наоборот при тенденции снижения Тк - разрешение на вкл. ТЭНа. Не могу придумать при помощи чего в FLProg придумать такую функцию определения тенденции изменения температуры. Может у кого есть какие ни будь мысли по этому поводу.
 

viktor1703

★✩✩✩✩✩✩
9 Дек 2021
165
19
Читаешь температуру, записываешь её в переменную_1;
ждешь секунд 10-15;
читаешь температуру;
записываешь в переменную_2;
Если (переменная_2 минус переменная_1 > 0) //температура растет
{нагрев выключить;}
иначе {нагрев включить;}
Присваиваешь переменной_1 значение переменной_2;
И снова по кругу.
Как-то так.
 
Изменено:

Vadim A

✩✩✩✩✩✩✩
13 Июл 2022
0
0
Спасибо.
Принцип понятен, но работает очень плохо и не стабильно, датчик-то один и тот же, и получается то сразу одинаковые показания на двух переменных то прыгают. Не, что-то не то.
 

viktor1703

★✩✩✩✩✩✩
9 Дек 2021
165
19
Да, точно, в торопях хрень посоветовал. После выполнения условий (if - else) не нужно присваивать переменной_1 значение переменной_2. Ведь в цикле будут заново читаться и записываться переменные. И если очень часто опрашивать датчик тоже может хрень получаться. А чтобы не делать зависание камня в длинной задержке можно, например, считывать датчик раз 10 с задержкой между считываниями 500 мс и выводить среднее арифметическое десяти этих считываний. А в промежутках проверять перегрев и сигналить, если что.
 
Изменено:

poty

★★★★★★✩
19 Фев 2020
1,943
590
то сразу одинаковые показания на двух переменных то прыгают
какая задача, такое и решение. Чтобы не "прыгало" нужно вводить гистерезис. Но самое главное - необходим референс, по которому определяются промежуточные состояния:
  • во время роста температуры - достигла ли температура нормы или всё ещё ниже её?
  • во время падения - t=норма или всё ещё выше?
В условии Вашей задачи стоит только разрешение или запрет, но никак не регулировка температуры.
 

viktor1703

★✩✩✩✩✩✩
9 Дек 2021
165
19
Ну так он в принципе-то разрабатывает
проект по управлению электроболлера косвенного нагрева к твёрдотопливному котлу отопления.
Как я понимаю, основной нагрев идёт от котла, а ТЭН уже включается в помощь, если основной нагреватель не справляется и идёт падение температуры. Во всяком случае, в ТЗ написано так.
 

poty

★★★★★★✩
19 Фев 2020
1,943
590
@viktor1703, в ТЗ написано, что ему нужно либо разрешать, либо запрещать включение ТЭНа, то есть, ТЭН включается другим процессом.
В любом случае, дифференциальное управление требует либо интегрирования для вынесения решения об управлении, либо референсного/ограничительного значения. Допустим, есть основной нагреватель, который не справляется с повышением температуры и она начинает падать от температуры t. Допустим, упала на 2 градуса за период измерения. Определяем наличие падения, включаем ТЭН. Возникает задержка, обусловленная тепловой инерцией, при которой температура упала ещё на один градус (в тотале дельта минус 3, в абсолютных единицах t-3), после которой температура начинает расти. Допустим, за период измерения температура повысилась на один градус. Определяем наличие возрастания, выключаем ТЭН. Снова возникает задержка, температура повысилась ещё на один градус (в тотале дельта плюс 2, абсолютная температура t-1), ТЭН не включаем. За период измерения температура снова упадёт на 2 градуса... В результате этих "прыжков" температура будет снижаться, а система предпринимать ничего не будет.
 

viktor1703

★✩✩✩✩✩✩
9 Дек 2021
165
19
@poty, @Vadim A делает проект в FLProg. Не усложняй. Тем более, что у очень многих бойлеров терморегуляция производится просто биметаллической пластинкой (дискретно). А тут у бойлера нагрев от твердотопливного котла, где о контроле нагрева, на таком уровне, вообще нет речи. Если у бойлера t=70°C, то дельта, даже, 10°С для пользователя ничего не значит, всё равно это очень горячо.
 

poty

★★★★★★✩
19 Фев 2020
1,943
590

@viktor1703, я говорил о примерных цифрах изменений, порядок дельт принципиально картину не меняет.
Думаю, что ТС как раз пытается учесть единицы градусов и проводит измерения чаще, чем исполнительный элемент может повлиять на ситуацию, отсюда резкие изменения на выходе управления. По хорошему здесь нужно учитывать инерционность системы (возможно использовать ПИД) и обязательно делать гистерезис.
 
Изменено:

ТехнарьКто

★★★★★✩✩
13 Янв 2020
207
330
проект по управлению электроболлера косвенного нагрева к твёрдотопливному котлу отопления
Есть бойлер косвенного нагрева обычно работающий от котла, все равно от какого (твердотопливный, газовый) без разницы. Есть бойлер электрический. Вы чего делаете то? В бойлер косвенного нагрева колхозите тэны что ли? Или к электро бойлеру колхозите змеевик от бака поставленного на печку? Без понимания колхозинга трудно дать адекватный ответ. По мне, так задача вообще безграмотно сформулирована. Надо отслеживать работу котла, а не температуру. Работает котел - тэны отключить. Котел погашен, тэны включить. А по температуре отслеживать - это имхо бред, поскольку скорость нагрева косвенным методом в бойлере на порядок превосходит скорость нагрева тэнами. Конечно если бойлеры заводского изготовления, а не колхозинг из г-на и соломы.
 

Vadim A

✩✩✩✩✩✩✩
13 Июл 2022
0
0
Бойлер заводской с электро тэнами и есть в нем вход и выход для нагрева ГВС от отопления. Задача, казалось бы простая... а нет. Затопил котел надо плучить запрет на ТЭНы, котел стал остывать - нужно добро на ТЭНы. По температуре, когда эфективно от котла, а когда от ТЭНов, я сам разберусь - это не сложно. А то получается затопил котел и ТЭНы работают. К тому времени когда котел наберет нужную температуру (эффективную для нагрева ГВС) бойлер уже горячий от электричества... и че. Зачем электричество тратил если котел на подходе. Отсюда и задача такая встала.

Может как то при помощи массива...
 

DAK

★★✩✩✩✩✩
8 Окт 2020
360
93
А реально немного переделать задачу? То есть можно считывать состояние затоплен/не затоплен котел. Затопил - автоматом запрет на ТЭН, как только котел потух, сразу разрешение на ТЭН.
 

Vadim A

✩✩✩✩✩✩✩
13 Июл 2022
0
0
Ну так это тоже самое, только другими словами. У меня в проекте есть сравнение температур в бойлере и в котле - это управляет открытием и закрытием задвижки отопления на бойлер. Когда я затапливаю котел, мне приходится вручную отключать ТЭН. Котел прогорел опять вручную включаю. Если этого не делать то получается такая ситуация, что ТЭНами бойлера подогревается вся система отопления, а это... не правильно. Вот и стоит одна маленькая загвоздка, как системе понять, что система отопления начинает греться от котла, а когда котел прогорает.
 

DAK

★★✩✩✩✩✩
8 Окт 2020
360
93
Первое что я не понимаю: Зачем задвижки, нельзя ли котлы сделать последовательно? Сперва твердотопливный, потом бойлер, без задвижек. Отслеживать температуру между этими котлами, если данная температура превысит, скажем, 80 Градусов (разгорелся котёл), то тогда надо запретить ТЭН, если тмпература снизится до 75 (котёл прогорел) - то разрешить ТЭН.
 
  • Лойс +1
Реакции: ТехнарьКто

Vadim A

✩✩✩✩✩✩✩
13 Июл 2022
0
0
А летом, или когда я просто не обогреваюсь котлом. ГВС нужно круглогодично. Вот и получается, что необходимо отсекать, а то в одной системе будут два котла. и в бойлере ТЭН на 3 кВта будет греть летом всю систему отопления. и так далее. В этом вопросе все уже отработано и работает год. Остался всего один вопрос - при помощи FLProg сделать маленький проектик (который я инсталлирую в свой) :
  • КОТЕЛ ЗАТОПИЛ - РЭЛЕ ВКЛЮЧИЛОСЬ (ТЭН OFF)
  • КОТЕЛ ПРОГОРАЕТ (ТЕМПЕРАТУРА ПЛАВНО ПАДАЕТ - РЭЛЕ ВЫКЛЮЧИЛОСЬ ( ТЭН ON)


Т.е. нужно контроллеру оценить тенденцию по одному температурному датчику (не важно с какой температуры начинать) температура поднимается - OFF? температура понижается - ON
 

DAK

★★✩✩✩✩✩
8 Окт 2020
360
93
Т.е. нужно контроллеру оценить тенденцию по одному температурному датчику (не важно с какой температуры начинать) температура поднимается - OFF? температура понижается - ON
Именно так, при этом этот датчик должен стоять в таком месте, чтобы температура на нём поднималась при разжигании котла!
 

viktor1703

★✩✩✩✩✩✩
9 Дек 2021
165
19
Т.е. нужно контроллеру оценить тенденцию по одному температурному датчику (не важно с какой температуры начинать) температура поднимается - OFF? температура понижается - ON
Читаешь температуру, записываешь её в переменную_1;
ждешь секунд 10-15;
читаешь температуру;
записываешь в переменную_2;
Если (переменная_2 минус переменная_1 > 0) //температура растет
{нагрев выключить;}
иначе {нагрев включить;}
Присваиваешь переменной_1 значение переменной_2;
И снова по кругу.
Как-то так.
Простите за тупой вопрос, это неодно и то же?
Модераторы, не баньте за избыточное цитирование. Просто подогрело.
 

ТехнарьКто

★★★★★✩✩
13 Янв 2020
207
330
Бойлер заводской с электро тэнами и есть в нем вход и выход для нагрева ГВС от отопления.
There are more things in heaven and earth, Horatio, Than are dream of in your philosophy.
Есть многое на Свете, друг Горацио, Что неизвестно нашим мудрецам.
Вильям Шекспир.

Почему сразу не сказали нормальным языком, что бойлер у Вас комбинированный?

Или русский язык не Ваш родной?

Комбинированный водонагреватель сочетает в себе функции сразу двух моделей: электрической и косвенного нагрева. В отопительный сезон устройство нагревает воду от котла и работает как модель косвенного нагрева. В остальное время работает как электрический бойлер.

Задача, казалось бы простая... а нет. Затопил котел надо плучить запрет на ТЭНы, котел стал остывать - нужно добро на ТЭНы.
Исходя из нормальных условий работы комбинированного бойлера, вне отопительного сезона. Просто отключать трубы змеевика для косвенного нагрева и включать бойлер в электросеть. Даже в простейших конструкциях есть как минимум биметаллическое реле поддерживающее температуру в электро бойлере.

Надо грамотно сформулировать мысль, указав особенности эксплуатации котла именно у Вас. Может у Вас навороченная модель котла которая умеет отапливать помещение только до комфортной температуры в 24 градуса. Соответственно летом, условно температурой в 30 градусов невозможно нагреть бойлер до нравящейся Вам температуры кипятка в бойлере условно в 80 градусов. Тут экстрасенсы отсутствуют. Тут надо четко изложить задачу. Дьявол не позволяющий помочь в Вашем проекте скрывается в деталях. А детали Вы упорно умалчиваете.

По температуре, когда эфективно от котла, а когда от ТЭНов, я сам разберусь - это не сложно.
Если бы это было для Вас просто, Вы бы тут кучу глупостей не писали.
Вам тут не гуманитарные науки в которых можно приврать поскольку у Вас такое видение мира.
Тут надо уметь четко и однозначно излагать Ваши мысли.

А то получается затопил котел и ТЭНы работают. К тому времени когда котел наберет нужную температуру (эффективную для нагрева ГВС) бойлер уже горячий от электричества... и че. Зачем электричество тратил если котел на подходе. Отсюда и задача такая встала.
Ваши хотелки выглядят так: "Хочу чтобы быстро нагревалась вода для помыться. Быстрее получается от тенов, когда котел еще не разогрелся. Когда котел разогрелся то воду уже нагрели тэны и следом вылезла жаба которая душит за деньги потраченные на электроэнергию, да еще и за деньги впустую потраченные на работу котла."
Это не условия работы из которых можно помочь сделать алгоритм, а затем на основании алгоритма подсказать как провести реализацию в железе.

Что Вы хотите сделать, до сих пор загадка. Когда Вы сможете правильно сформулировать требования к работе комбинированного бойлера, тогда станет понятно, как это сделать.

А летом, или когда я просто не обогреваюсь котлом. ГВС нужно круглогодично. Вот и получается, что необходимо отсекать, а то в одной системе будут два котла. и в бойлере ТЭН на 3 кВта будет греть летом всю систему отопления. и так далее. В этом вопросе все уже отработано и работает год.
Как можно так через зад спроектировать систему, что энергия тэнов от бойлера будет работать на отопление, оставляю на Вашей совести.

Остался всего один вопрос - при помощи FLProg сделать маленький проектик (который я инсталлирую в свой) :
  • КОТЕЛ ЗАТОПИЛ - РЭЛЕ ВКЛЮЧИЛОСЬ (ТЭН OFF)
  • КОТЕЛ ПРОГОРАЕТ (ТЕМПЕРАТУРА ПЛАВНО ПАДАЕТ - РЭЛЕ ВЫКЛЮЧИЛОСЬ ( ТЭН ON)
В чем проблема? Не хватает думалки, пожалуйте в раздел Ищу разработчика/исполнителя