1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 43

Дом 17х12 из монолитного железобетона в МО

Тема в разделе "Каменные дома", создана пользователем dimon_p, 17.04.14.

  1. Harold
    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711
    Адрес:
    Москва
    Два ПИД-регулятора не могут работать на один механизм, а вот работать один на другой, а другой на исполнительный механизм - запросто (не запросто, конечно;), настраивать сложнее).
    Называется это - каскадный ПИД-регулятор. В нем выход первого регулятора не идёт на исполнительный механизм, а является заданием для второго регулятора. Типа, так регулирует точнее, учитывая данные с 2х датчиков температуры.
    PS. Первый (ведущий) регулятор должен быть "вальяжнее" (медленнее) по настройкам, чем второй - иначе "раскачка" неизбежна.
    http://intent.gigatran.com/article/?id=76906
     
  2. dimon_p
    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912

    dimon_p

    Живу здесь

    dimon_p

    Живу здесь

    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912
    Адрес:
    Сочи
    @Harold, а для чего тогда у каждого регулятора есть дополнительный коэффициент усиления?
     
  3. Harold
    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711
    Адрес:
    Москва
    В классической формуле ПИД-регулятора понимают, что коэф. пропорциональности и коэф. усиления - это просто разные названия одного и того же коэффициента:
    409c6d.gif
    u (t) - выходной сигнал на управление,
    Р - пропорциональная составляющая, пропорциональна (с коэф. "усиления" Кр, "усиление" идёт с тех пор, когда ПИД-регулятор был аналоговым) отклонению текущего значения регулируемой величины (температуры в твоём случае) от заданной., т. е. Кр - это коэф., на который умножаем рассогласование температур - сиречь коэф. пропорциональности или коэф. усиления,
    I - интегральная составляющая, пропорциональна (с коэф. Кi) сумме ошибок, накопленных за время отклонения текущего значения температур от заданного тобой,
    D - дифференциальная составляющая, пропорциональна (с коэф. Кd) скорости изменения отклонения значения от заданного.

    Возможно, есть некий "другой" коэф. пропорциональности, который заведует работой регулятора в некой определённой производителем зоне (например, в зоне около установившегося значения для ускорения отработки малых изменений) ... хз. неклассический вариант, короче.
    А что будет, если "твой неклассический коэф. пропорциональности" установить в 0 или в 1000 (т.е. попытаться убрать его влияние)?
     
  4. dimon_p
    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912

    dimon_p

    Живу здесь

    dimon_p

    Живу здесь

    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912
    Адрес:
    Сочи
    @Harold, да, что под этим понимается в классической формулировке - это я понял. В ноль один из коэффициентов сбрасывать не пробовал. Только оба. Попробую сегодня.

    Кстати, к вопросу о каскадности. Если любой из этих регуляторов отключить, то регулирование прекращается полностью. Как это на каскадность так себе смахивает.
     
  5. Harold
    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711
    Адрес:
    Москва
    Кстати, необязательно в "0", может, нужно установить заведомо "бесконечное" значение, типа "1000", вдруг он "внутри себя" единницу делит на этот коэф? Тогда при "около 0" будет огромная цифра, а при "1000" маленькая (типа Х = 1/1000 = 0,001).
    В каскадном регуляторе регуляторы подключены последовательно, поэтому отключаешь любой и ничего не работает.
     

    Вложения:

    • 5867.gif
  6. dimon_p
    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912

    dimon_p

    Живу здесь

    dimon_p

    Живу здесь

    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912
    Адрес:
    Сочи
    @Harold, а зачем каждому из регуляторов этот лишний коэффициент? Ведь он, наверно, только у slave-а должен быть.
     
  7. dimon_p
    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912

    dimon_p

    Живу здесь

    dimon_p

    Живу здесь

    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912
    Адрес:
    Сочи
    @Harold, и насчет 1000 - очень тяжело будет с шагом 0.1 за одно нажатие так себе быстрой по скорости отклика кнопочки накрутить 1000 :) Думаю, что весь день на кнопку жать придется :)
     
  8. dimon_p
    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912

    dimon_p

    Живу здесь

    dimon_p

    Живу здесь

    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912
    Адрес:
    Сочи
    Сегодня была проведена серия экспериментов, которая показала, что регуляторы стабильно целятся в температуру на 7-8гр выше уставки. Т. е. если поставить целевую температуру 30гр, то ПВУ будет 38гр выдавать. Если поставить 15 - то 23. Т. е. отклонение выражено константой - всегда +8гр. Именно с этим отклонением регулятор воспринимает цель - он стабильно регулируется к Туст + 8, а при ее достижении переходит на слабые корректировочные поправки, болтаясь +-1гр около этой величины.

    Есть какие-нибудь идеи? :)
     
  9. Harold
    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711
    Адрес:
    Москва
    Датчик (и) температуры могут врать, т. е. тип датчика не соответствует перекодировочной таблице, "зашитой" в регулятор.
    Обычно, в меню делают выбор типа датчика (если разные можно подключать) или перекодировочную таблицу "выносят" на показ/изменение (я так делаю).
    ЗЫ. Что с коэф. пропорциональности?
     
  10. dimon_p
    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912

    dimon_p

    Живу здесь

    dimon_p

    Живу здесь

    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912
    Адрес:
    Сочи
    @Harold, так даже если датчик врет, то контролер должен целится в ошибочную температуру. Т. е. если Туст = 20гр, то контролер должен Ткан выруливать на эти 20гр. Даже если датчик врет и реально там 35 - контролеру то про это откуда знать? А тут Туст 20, а контролер Ткан рулит в +28. Не знаю, какая при этом реальная Ткан, т. к. смотрю ее на контролере.

    С отдельными коэффициентами пропорциональности я вчера поиграть не смог - не успел. Играл с Туст, в результате чего и выяснил, что контролер целится с постоянным смещением. К сожалению, это всё довольно длительные эксперименты. И так вчера в час ночи лег со всеми этими изысканиями.

    Заодно вчера выяснил, почему у меня контролер каждый раз процесс заново запускал после изменения любых настроек - отключал приточку и вставал на прогрев нагревателя. Что сильно раздражало, удлиняло эксперименты и перегревало дом, т. к после прогрева там Ткан 50гр и до нормальных температур отползало минут до 10. У него была ошибка "низкая температура прогрева" (с этой фазы он начинает работу - работает вытяжка, приточка выключена, трехходовой клапан отопителя открыт на 100%). Уж не знаю, с чего он взял, что она низкая, но эмпирически было установлено, что если время прогрева увеличить до 2 мин, то ошибка уходит и он перестает каждый раз с прогрева начинать.

    Кстати, по совету консультирующих меня вентилянционщиков, попробовал заводские настройки коэффициентов интегрирования вернуть. Безумной раскачки тоже не получил, хотя и колебания выросли. С Iобр=10сек (заводская настройка) его болтает +-10% открытия трехходового клапана и +-5гр от цели. Уже не +-100% с радикальным промахом по Ткан. А с Iобр=90сек болтанка +-3% 2гр и гораздо более плавная. Интересно, почему заводские настройки стали более-менее рабочими, хотя раньше таковыми не были. Есть две идеи: я в более-менее устоявшемся режиме ставил, а болтало, когда оно начиналось с прогрева и Ткан=50. Возможно, он не мог на устоявшийся режим выйти с такого требующего радикального изменения состояния. Или могло помочь то, что я датчик Тобр передвинул дальше от смесительного узла (на всякий случай). Раньше он у меня стоял прям на тройнике, где обратка разветвляется на перемычку циркуляции и обратку стояка. И у меня были подозрения в корректности его показаний. Но теперь он точно правильно показывает - его показания полностью совпадают с термометром, возле которого он теперь стоит.

    Увы, но никаких конструктивных идей у вентилянционщиков нет. Они, по-моему, уже хуже меня понимают, как это работает. Они считают, что дело вообще не в управлении, а в том, что у меня якобы обогреватель "шунтирован", т. к. идет переток приточки в перемычку циркуляяции в обход обогревателя. По-моему, полный бред, я же вижу, что смешение корректно работает. Не могу понять, с чего они это взяли. Но они уперлись, требуют вернуть заводские настройки ПИД регулирования (типа я всё сломал) и добавить два обратных клапана в смесительный узел (и ничего, что я его у них же покупал заводской готовности) - в перемычку циркуляции (направление открытия - к ТХК) и в подачу после циркуляционного насоса (направление открытие - на обогреватель). Содрали 15т.р., хотя исходно вообще была договоренность, что по телефону они с монтажом и пусконаладкой помогают бесплатно ("ты только купи у нас хотя бы оборудование, родной"), помочь теперь не могут, еще и шантажируют - типа, делай, как мы сказали, а иначе мы работать с тобой дальше не будем и все обязательства снимаем.
     
  11. dimon_p
    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912

    dimon_p

    Живу здесь

    dimon_p

    Живу здесь

    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912
    Адрес:
    Сочи
    @Harold, я думаю, что, может, надо со с временем дифференцирования поиграть? Сейчас оно = 0 и по каналу и по обратке. В теории оно должно компенсировать промахи и раскачку, насколько я понимаю. Но почему то везде пишут, что это дифференцирование неактуально для термосистем.
     
  12. Harold
    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711
    Адрес:
    Москва
    Как хорошо, когда Заказчиков много и они друг друга не знают:ogo::no::mad:...
    О датчиках:
    Условная таблица перекодировки:
    0В = 0град
    2В = 20град
    5В = 50град
    А от датчика условно поступает так:
    0В = -8град
    2В = 12град
    5В = 42град

    Соответственно, контроллер сравнивает градусы Задания и Показания, выясняет, что они сравнялись (бинго:super:), но при этом на управление трёхходовым клапаном поступает напряжение больше, чем надо.

    О перезапуске контроллера:
    А сам-то как бы в проге написал;)? Да точно так же, думаю - мало ли, что там в "ини-файле" изменили (замаешься анализировать, учитывая все обстоятельства), проще "обнулить переменные" и запустить процедуру начальной инициализации, как при первом старте при включении питания... ну, может быть, за исключением некоторых случаев, который ты и раскопал:um:.
    Нет программ без ошибок - есть недотестированные:aga::)].
    Не меняй больше одного параметра за 1 раз, иначе не поймёшь, что повлияло.
    Отнёс датчик в другое место - проверь, что получилось.
    Датчики точно соответствуют контроллеру?

    Кстати, на счет "offset'а" в 8град... А нет ли такой переменной в настройках, которая "помогает" внести такой оффсет? Объяснюсь - представь, что установка выдает заданные ей +30С, но она выдаёт их на своём выходе, а не на срезе приточной трубы, которая расположена за 20м от неё.
    Вот тут-то и можно было бы внести смещение по Т (обусловленное теплопотерями по дороге) в показание Т контроллера, чтобы на обрезе трубы было заданное на контроллере значение.
    Кстати, я использую такой приём, когда регулятор в Печи не каскадный, а одноконтурный - ведь на витках нагревателя одна Т, а в объёме печи немного другая, поэтому сдвигаю показания "оффсет'ом", чтобы пользователь видел "показание внутри печи", а не на витках нагревателя.
    Особенно это полезно для "военвредов", которые школьную арифметику забыли, и "кривые градусы" им мозг травмируют, а "ровные градусы" им очень нравятся - "вот, это ж другое дело":aga:...
    Удачи:pioner:!

    Дифференцирование не трогай, у тебя "медленная система", ПИ-регулятора "за глаза"... ты ж не ракетой, догоняющей уворачивающуюся цель, управляешь:)]...
     
  13. dimon_p
    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912

    dimon_p

    Живу здесь

    dimon_p

    Живу здесь

    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912
    Адрес:
    Сочи
    @Harold,
    1. Про датчик. Происходит совсем не то. Градусы задания и показания отличаются на +8гр. Они не сравниваются. Задание стоит 20, а показание 28 и контролер явно стабилизируется в области 28. Наплевав на задание. И на ТХК уходит управляющее воздействие под 28гр.
    2. Про перезапуск. Тем не менее, контролер после того, как я случайно снял ошибку "недостаточная температура прогрева", перезапускаться перестал. Да и не перезапускался он. Он цикл работы ПВУ перезапускал. А теперь не перезапускает. И нормально отрабатывает "на лету". В общем то, это и нормально - ведь не перезапускаться же каждый раз при изменении Тзадания.
    3. Про дифференцирование понял. С другой стороны, на картинках, иллюстрирующих работу ПИД как раз часто рисуют, что дифференцирование помогает убирать промахи, в т. ч. стабильные.
    4. Про смещение. Нет, такого параметра точно нет.

    И еще вопросец. В настройках контролера есть указание главного датчика. Для зимы указан канальный, для лета - комнатный. При этом Тканала обвешана всякими защитами - минимально допустимая, аварийная и т. п. Я вот думаю, может, попробовать для зимы главным датчиком тоже комнатный поставить? Мне же, в общем, нужна правильная Ткомнаты, а не канала. И зимой и летом.
     
  14. Harold
    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Harold

    Пишу Систему, которая "пишет" системы управления.

    Регистрация:
    14.06.10
    Сообщения:
    9.426
    Благодарности:
    56.711
    Адрес:
    Москва
    Будешь удивлен - правила хорошего тона просят писать прогу для контроллера так, чтобы контроллер аппаратно перезапускался каждые "хх секунды" - это предохраняет от "зависаний" при многократно вложенных вызовах, когда стека может и не хватить:close:...

    Вот смотри, моя прога - дифференцирование в "0", все остальные коэффициенты тоже, а выход на режим разный - т. к. чуть по разному стоят термопары в зоне витков трёхзонного нагревателя.
    Даже по разному реагируют на закрытие крышки реактора печи. Надо всё настраивать - это первый запуск...

    На счёт разных "ведущих" датчиков - боятся заморозки теплообменника, имхо - может тут и собака зарыта...
     

    Вложения:

    • IMG_20190306_111402.jpg
    Последнее редактирование: 12.03.19
  15. dimon_p
    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912

    dimon_p

    Живу здесь

    dimon_p

    Живу здесь

    Регистрация:
    15.05.09
    Сообщения:
    3.573
    Благодарности:
    3.912
    Адрес:
    Сочи
    @Harold, ну так для предотвращения замерзания теплообменника есть ограничения на минимальную температуру канала. А снизу еще и аварийная температура канала есть.