Последний раз редактировалось Валенок; 14.03.2025 в 12:01.
Увеличение периода пересчёта позволяет получить изменение сигнала, которое превосходит шум, т.е. дождаться проявления тенденции после предыдущего управляющего воздействия.
Управляя уровнем воды в паровом котле делал период пересчёта 10-15 секунд.
-------------
По настройкам, как я их вижу.
Для поддержания температуры 28 и отклонения 3-5, которое должно вызвать 0% или 100% мощность вентилятора - получаю
- Кп=1/(6*[3...5])=1/[18...30]=0.03...0.05, а с учётом того, что Кп выражается в %, то Кп=3...5.
- Ти с такой инерцией лучше взять 90-200 с. Но Ти имеет размерность не [c], а [градус/с], и приведение Ти к градусам требует умножения на Кп, т.е. то, что будет подаваться на вход макроса будет [90...200]/[3...5]=[18...70].
Т.е. начало наладки с Кп=3...5, Ти=20...70, а Тд - как повезёт.
Спасибо. Попробую задать ваши коэффициенты, по результатам отпишусь. Один момент. Вы все говорите про инерцию, которую я упомянул в задаче, но инерция в первую очередь связана с работой самого регулятора. Когда температура достигла заданной регулятор продолжает держать выход на некотором уровне, а из за этого вентилятор продолжает работать охлаждая среду. Если его прям жестко вырубить уверен, что инерция будет минимальная и температура сразу упадет. Я и датчик то поставил близко к теплообменнику, прямо на выходе, для минимизации влияния инерции. Если бы я его поставил около оборудования (примерно 20 м трубопровода) то настроить систему, мне кажется вообще бы не удалось.
У меня нет Exel - он денег стоит. Пользуюсь LibOo, а он хоть и открыл файл, но вычисления по формулам не распознал.
Может, позже установлю бесплатный просмотровщик от MS для Exel...
Ниже - сугубо личные измышления.
Исходя из собственного опыта принял, что ПИД регулятор настраивается 5 основными параметрами - Кп, Ти, Тд, период пересчёта, фильтр переменной процесса - и именно их и настраиваю обязательно. Остальные параметры ПИД - лишь чуть улучшают качество, не более.
Реально проверял работоспособность Тд на инерционных процессах - уровень воды и давление пара в барабане котла (ДЕ и ДКВР) - на одноимпульсных регуляторах (без привлечения расходов воды и пара).
Несмотря на довольно сильное сглаживание фильтром 1-го порядка, на коротких промежутках времени пересчёта (до 10 с) слагаемое с дифференциальной составляющей было не адекватно ситуации, т.к. шумы превосходили тенденцию от предыдущего управляющего воздействия. Только увеличение времени пересчёта до 12-15 с позволило использовать Тд.
Считаю, что применительно к ситуации из первого сообщения данной темы (и последующими уточнениями автора), когда с ПР используется Pt1000 по 2-проводной схеме подключения, шумы будут превышать значения 0,1-0,2 градуса. Значит для использования Тд нужно выполнять пересчёт ПИД регулятора когда за это время под воздействием управления температура изменится на такую же или большую величину.
Отсюда и мой совет - увеличить время пересчёта ПИД и оценка возможного диапазона значений.
Можно с ним не соглашаться - настаивать не буду, мне безразлично.
Мне всё не менее безразлично))
Я не говорил что сказанное Вами не улучшит общую часть. УЛУЧШИТ.
Уточню - я имел ввиду (и привел простой пример на рандомах), что при одинаковых временных условиях, фильтрация (сглаживание) самого входа даст больше пользы при условии что хотелка точности TC'ом сравнима с шумом (по его данным)
Последний раз редактировалось Валенок; 15.03.2025 в 12:18.
Рост температуры обусловлен какой-то теплогенерацией, которую нужно компенсировать охлаждением при помощи вентилятора.
Значит есть некоторая частота вращения вентилятора, которая приведёт к уравновешиванию этих процессов.
Попробуйте с нулевой Ти - и в теории и на практике увидите эффект статической ошибки П-регулятора. Это просто так - из любви к экспериментам, хочется иногда проверить на практике некоторые тезисы из ТАУ.
Автор темы не первый кто за последнее время не может получить приемлемое качество регулирования из-за неверно установленного Ti. Надо задать Kp = 10, Ti = 700, Td = 0 и процесс войдёт в норму.
Последний раз редактировалось IVM; 14.03.2025 в 22:42.
В каком типе переменных вы получаете значения?
2040, это похоже на целочисленное с 2 знаками после запятой, то есть 20,40 градуса
Нет, дело не в этом. Для полноты картины опишу принятую конфигурацию. Дополнительных датчика 1wire подключены через Преобразователь для цифровых термометров WB-M1W2 v.3 ко второму порту RS-485. Данные с преобразователя приходят в формате s16 я их с помощью макроса преобразую в вещественные данные умножаю на x0.0625, °C. Получаю температуру. По ней вопросов нет. Второй датчик показывает стабильную температуру и все нормально. Думаю проблема в самом датчике. Заменю, узнаем. На всякий случай привожу скринщот.
Я поднял этот вопрос с убиранием явно неправильных значений для того, что бы при создании макроса можно было эти глюки сразу отсеять на стадии фильтрации.
2025-03-17_08-17-18.png