Автор | Сообщение |
|
Отправлено: 17.12.16 22:10. Заголовок: пропорциональное управление климат. устройствами
До этого имел дело с простыми устройсвами - теплыми полами. Есть датчик температуры, есть реле. Датчик температура ниже уставки - реле включилось, выше - выключилось. А как организовать регулировку, когда прибор управляется 0-10Вольт? В моем случае увлажнитель с датчиком влажности. Как правильно выбрать степень уменьшения производительности устройства при уменьшении разницы между измеренным значением и установленным? Например, пришел человек домой - очень сухо - 18%, надо 40, в начале на выходе сразу 10вольт, а снижать когда? Эта также касается не только увлажнителя, а и напольных конвекторов, у которых скорость вентилятора также регулируется 0-10 вольт. Может примером кто поделится?
|
|
|
Ответов - 17
[только новые]
|
|
|
Отправлено: 17.12.16 22:30. Заголовок: Pavel777, собственно..
Pavel777, собственно, в вопросе - половина ответа. Нужен ПИД-регулятор. Если есть время и желание разработать его под Crestron, а главное - перспектива достойной оплаты такой разработки, у Вики неплохо расписана теория вопроса. Забавная реализация была предложена в одном из изданий Серебряной библии KNX. Но нужно осознавать маленький нюанс - даже если регулятор образуется, его нужно будет параметризировать под конкретную задачу, с учетом, например, тепловой инерции материалов. История знает примеры попыток, столь же красивых, сколь безрезультатных.
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 17.12.16 23:01. Заголовок: ПИД - красивая задач..
ПИД - красивая задача для студентов старших курсов, но только тех, кому не все равно. Личный домашний и объектовый опыт подсказывает, что безупречно работают только системы авторегулирования на Crestron, например, где контуры управления программно не пересекаются. Связанными же оказываются только через изменение внешних измеряемых параметров, в данном случае это температура и влажность.
|
|
|
|
Отправлено: 17.12.16 23:49. Заголовок: Для начала бы опреде..
Для начала бы определиться с самой задачей. Выбрать и расставить приоритеты надо (в моем представлении они такие, от максимального к минимальному): 1.Максимально быстрое выравнивание значения регулируемого параметра до значения уставки 2.Наиболее точное поддержание значение уставки, с минимальным гистерезисом 3.Минимальный уровень шума создаваемый вентилятором 4.Минимальный расход энергии 5.Режим работы приборов для продления их ресурса 6.Отсутствие скачков в напряжении при переходе на плавное взамен ступенчатого регулирования К сожалению чем больше уделять внимания этим факторам, тем более сложным, а значит менее надежным становится алгоритм Для одного из пользователей этого ресурса я предложил алгоритм регулировки нагревателя полов (его можно адаптировать под ваши задачи). Насколько он жизнеспособен оцените сами. По крайней мере есть над чем поразмыслить: Скрытый текст Предлагаю с 10 градусов уменьшить до 5 и после быстрого начального прогрева регулировку снизу начинать с 0%, чтоб гарантированно избежать ошибок корректировки. Тогда может так: t1-текущая //analog_input t2-желаемая (уставка) //analog_input p-мощность воздействия (%) //analog_output integer timewait,time_quick,time_slow,marker;//глобальные переменные Function check() { if((t1+5)<t2){p=100;} //если текущая температура меньше уставки более чем 5 градусов максимально быстро догоняем её до требуемой температуры уставки else if((t1>t2)&&(p=100)){p=0;timewait=time_quick;marker=1;} //чуть только проскочили уставку, выключили нагреватель (после этого калибруем мощность интеллектуально а не просто старт-стоп) //меняем режим таймера полинга на более быстрый 30с - > 2с Инициализируем маркер для последующей автоматической подстройки быстрого таймера else if((t1<t2)&&(p<100)){p=p+1;} //эта часть будет работать только после того как мы проскочим уставку на 100% мощности, потом выключим нагреватель и начнем быструю калибровку "снизу" в режиме быстрого таймера else if((t1>t2)&&(p>0)){p=p-1;timewait=time_slow;} //в процессе поиска значения мощности стабилизации соответствующей температуре уставки иногда можем чуток превышать температуру уставки, калибруем по 1% //"сверху" else if(t1=t2){timewait=time_slow;} //попали в точку стабилизации, возвращаемся опять на медленный таймер полинга, мощность не трогаем if((marker=1)&&(p=100)){marker=0;time_quick=time_quick+100;} //это нужно на всякий случай для корректировки быстрого таймера Если после выключения нагревателя за интеревал 200с(time_quick*100) в процессе калибровки //"снизу"мы успели поднять мощность опять до 100% не достигнув t уставки (t2) тем самым вернулись опять в топорный режим старт-стоп. Для этого система через какое то время сама стабилизирует (увеличит) быстрый таймер //т.о. сделав подход "снизу" более плавным и уйдя в итоге от режима старт-стопа. wait(timewait,next) { check(); //рекурсивно функция check() перезапускает сама себя через текущее значение таймера } } PUSH START_CALIBRATION //ставим этот вход в 1 при старте системы. Если по кнопке включения полов тогда надо еще RELEASE START_CALIBRATION сделать с CancelWait(next); { time_slow=3000; time_quick=200; marker=0; p=0; timewait=time_slow; check();//запускаем функцию сравнения температур (калибровки мощности), далее она будет повторно вызывать сама себя } Можно конечно не заморачиваться так и все упростить введя гистерезис +/- 2 градуса и переключаться старт-стопно между p=0%(>=уставка+2) и p=100%(<=уставка-2) По принципу простого квартирного термостата для теплого пола. Учитывая минимальную теплоёмкость электро нагревателя и большую теплоемкость помещения это будет работать на ура.
|
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 18.12.16 13:52. Заголовок: Вячеслав, с такими п..
Вячеслав, с такими предложениями не зажарите клиента?
|
|
|
|
Отправлено: 18.12.16 18:05. Заголовок: алгоритм чисто теоре..
алгоритм чисто теоретический, не исключено На каком этапе наступит прожарка до румяной корочки? )
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 18.12.16 18:12. Заголовок: Зажарить их всех, вс..
Зажарить их всех, всего то делов, ввести нужный поправочный коэффициент.
|
|
|
|
Отправлено: 22.12.16 11:51. Заголовок: А у кого-нибудь полу..
А у кого-нибудь получалось перенести ту формула ПИД-регулятора, которая в wiki в Crestron? В данный момент пытаюсь, но с одним из коэффициентов трудности пока. Вячеслав Интересная реализация, но ПИД может больше)
|
|
|
|
Отправлено: 22.12.16 13:14. Заголовок: Вопрос, чем управлят..
Вопрос, чем управлять. Если каким-то инертным нагревателем типа батарей отопления - легко можете что-то простое забубенить в SIMPL+. Но для динамичных процессов, не уверен, что это хороший вариант. У меня как-то стояла задача интеграции канального нагревателя в приточной вентиляции, чтоб на выходе приточки была заданная температура. Нагреватель (частота его включения) управлялся по 0-10в, на выходе канала стоял температурный датчик. Решил, что программировать PID в Crestron для такого динамичного процесса (температура может меняться очень быстро при вариации управляющего напряжения на нагревателе) неправильно. Нашел такое устройство: https://www.amplicon.com/MandC/product/HMI-Controllers-Tracker-2567.cfm (Модель 331). Втыкаете температурный датчик, по RS485 выставляете температуру, получаете на выходе управляюший сигнал 0-10В для нагревателя. Удачи!
|
|
|
|
Отправлено: 22.12.16 15:25. Заголовок: А что за Crestron wi..
А что за Crestron wiki ? Дайте ссылку плиз. Посмотрю.
|
|
|
|
Отправлено: 22.12.16 16:18. Заголовок: Вячеслав нее, у кр..
Вячеслав нее, у крестрона нет wiki. Я имел ввиду wikipedia глобальная. Там описание ПИД-регулятора и формула.
|
|
|
|
Отправлено: 22.12.16 18:12. Заголовок: Поддержу Crestroner,..
Поддержу Crestroner, для быстрых процессов лучше использовать внешний регулятор с передачей уставки. Медленными процессами (типа теплого пола) можно рулить обычным сравниванием текущей температуры с уставкой.
|
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 26.12.16 11:49. Заголовок: Для оценки сложности..
Для оценки сложности создания прототипа попробуйте для начала сделать программу вычисления квадратного корня на SIMPL+.
|
|
|
|
Отправлено: 28.06.19 21:40. Заголовок: В итоге есть где ска..
В итоге есть где скачать нормальный ПИД регулятор для крестрона?
|
|
|
|
Отправлено: 30.06.19 09:46. Заголовок: 4ertjaga_88 пишет: ..
4ertjaga_88 пишет: цитата: | В итоге есть где скачать нормальный ПИД регулятор для крестрона? |
| Я не видел. Но могу сказать написаный алгоритм ПИД регулятора, это еще пол проблемы, вернее даже малая ее часть. Основное начинается при настройке ПИД регулятора. Почему не использовать готовые регуляторы с Modbus, например?
|
|
|
|
Отправлено: 30.06.19 10:23. Заголовок: с моей точки зрения ..
с моей точки зрения лучше уж тогда использовать комнатные дизайнерские термостаты KNX,где есть уже пид регуляторы. Но конкретно в данном случае есть задача решить этот вопрос программным путем...
|
|
|
|
Отправлено: 01.07.19 18:51. Заголовок: Это в которых дизайн..
Это в которых дизайнерских регуляторах есть ПИД регулятор? Спрашиваю ради интереса, ибо не в курсе.
|
|
|
|
Отправлено: 02.07.19 09:59. Заголовок: Во всех термостатах ..
Во всех термостатах KNX используется ПИ регулятор
|
|
|
|