ПИД регулятор ADAM5510 |
Ответить | Страница <123> |
Автор | ||
Действительный член Присоединился: 09 Октябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 187 |
Опубликовано: 29 Апрель 2006 10:16 |
|
Мы для борьбы с нелинейностью используем табличные значения коэффициентов. Получается, что коэффициенты не постоянные, а зависят от рассогласования. |
||
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
||
Если коэффициенты зависят от рассогласования - это и есть нелинейность, с чем же тогда боремся? Если нужно бороться с нелинейностью регулирующего органа, то и коэффициенты должны зависеть от его характеристики. Уточните пожалуйста. |
||
Сергей
|
||
Действительный член Присоединился: 09 Октябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 187 |
||
Нелинейностью коэффициентов регулирования мы боремся с нелинейностью объекта регулирования и нелинейностью регулирующего органа |
||
Участник Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 69 |
||
Вспомнил ещё один момент, из-за которого идея борьбы с нелинейностью регулирующего органа с помощью обратной нелинейности оказалась неработоспособна: статическая характеристика регулирующего органа "плывёт" в течение эксплуатации, а иногда и просто зависит от параметров регулируемой среды. Как, уважаемые коллеги, вы поступаете в этом случае? |
||
Иван Данилушкин
|
||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 25 Апрель 2006 Категория: Russian Federation Online Status: Offline Публикации: 116 |
||
Публикую коэффициенты с комментариями ПИД2: 1) Vx (Float) - В данную входную переменную записывается значение обработанного 3) KP (Float) - Коэффициент пропорциональности. Данный коэффициент позволяет 4) MaxI (Float) - Максимальная длительность импульса на выходе регулятора (cсек). 5) MinI (Float) - Минимальная длительность импульса. С помощью этой переменной 6) Pauz (Float) - Начальная длительность паузы между импульсами. Пауза равна введенному 7) KPauz (Float) - Коэффициент именьшения длительности паузы. Т.е. при увеличении 8) Ti (Float) - Время изодрома (время интегрирования)(ссек) или время удвоения. 9) T_int (Float) - Время одного цикла интегратора (ссек). Так как данный регулятор не 10)MaxMin (Float) - Ограничение выходного сигнала интегратора (ссек). Для того чтобы выходной 11)TDif (Float) - Время между отсчетами дифференциатора (ссек).Так как данный регулятор не 12)KDif (Float) - Коэффициент усиления дифференциатора. Данный коэффициент позволяет 13)KMEO (Float) - Время выборки люфта МЭО (ссек). МЭО всегда имеет люфт, тоесть при подаче 14)BR (Boolean) - Вход больше "на ручном". При появлении на данном входе значения True, 15)MR (Boolean) - Вход меньше "на ручном". При появлении на данном входе значения True, 16)TR (Float) - Длительность импульса на ручном управлении (ссек). Данным параметром 17)Auto (Boolean) - Управляющий сигнал автомат-ручное(по True автомат). При появлении на 18)PO (Boolean) - Прямой-обратный выход на автоматике (по True - прямой). При прямом выходе |
||
Vel
|
||
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
||
Vel_ 11параметров непосредственно для настройки ПИД регулятора. Мне для ПИ регулятора хватило 4-х параметров настройки, для ПИД добавляются еще 2, плюс нелинейный элемент формирующий зону нечувствительности. 5 входных сигналов кажутся лишними даже с учетом универсальности. |
||
Сергей
|
||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 25 Апрель 2006 Категория: Russian Federation Online Status: Offline Публикации: 116 |
||
s_smirnov Мне самому не нравиться что коэффициентов много, хотелось бы минимум (КП, КИ, КД), но я в живую не видел ни одного регулятора у которого только коэффициент передачи и время изодрома. На Р-29 я насчитал 18? "ручек" и перемычек (считай коэффициентов настройки). В инете как то встретил статью про оптимальный (оптимистический) регулятор и там написано, что только в США этой задачей занимается 7 институтов и затрачены МИЛИАРДЫ! долларов. А результат - только на строго определенном объекте регулирования. А я всего лишь одиночка. На первом объекте, который мы запускали не пошел регулятор и параметр управлялся вручную. За 1,5 суток этого "кросса" для всей группы, наш основатель (группы) создал логический регулятор который он назвал "как бы я управлял параметром с помощью мыши". Аналогов устойчивости работы и минимальности настроек я ни где не встречал. На основании этого дальнейшем я больше уделял внимания именно логике работы. Но уровень в пределах ±18-20 мм.вод.ст. не устраивал аппаратчиков и за месяц я сделал свой первый ПИД регулятор. Например Интегратор: Для чего он нужен? Пропорциональная часть должна быстро погасить возмущение, но не сможет до нуля, иначе велика опасность самовозбуждения, перерегулирования. Интегральная часть должна устранить остаточное рассогласование. Теперь на практике: Контроллер "выхватывает" мгновенные напряжения на аналоговом входе, с дискретностью опроса модуля. Интеграл мы можем получить методом трапеции. "Качество" интеграла напрямую зависит от частоты опроса интегратором параметра. Отсюда "плавно" вытекает коэффициент T_int "Время одного цикла интегратора". По ходу работы параметр может значительно отклониться от задания, тогда интегратор накопит (со временем) значительное рассогласование. И когда параметр вернется к заданию, или перейдет его в противоположную сторону, то накопленное интегратором значение будет только мешать процессу регулирования. Вот и появился коэффициент MaxMin "Ограничение выходного сигнала. В ПИД один у меня еще был коэффициент "Блокирование обнуления интегратора при переходе рассогласования через ноль". И естественно Ti "Время изодрома". В итоге 3 (4) коэффициента. Можно конечно T_int и MaxMin после настройки регулятора зашить в программу и не передавать на компьютер (больше не настраивать), но они все равно остаются (замазали губки). Как от них избавиться, у меня не получилось. Интересно узнать, а как у других разработчиков, или тайну не выдадим? |
||
Vel
|
||
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
||
Тайны нет никакой. Берем блок Р.27, открываем схему функционального модуля, видим вот чего (могу ошибиться, давно не заглядывал): -сумматор -апериодическое звено -трехпозиционный триггер -два ключа (больше, меньше). Теперь те-же самые элементы изображаем средствами FBD - апериодическое звено заменяем интегратором, в библиотечный интегратор (с одним входом) я добавил вход пропорциональный (в каждом цикле к текущему значению выхода добавляется разность между текущим и предыдущим значением входа) и пропорционально-интегральный. Выражение примерно такое: Y= Y_ + 0.5*(Xi+Xi_)*dt + 0.5(Xpi+Xpi_)*dt/Ti + (Xpi-Xpi_)+ (Xp-Xp_) Xi - интегральный вход, Xpi - ПИ вход, Xp- пропорциональный вход, переменные с индексом _ из предыдущего цикла, dt- время между отсчетами, Ti- время интегрирования. Замедлять работу интегратора, вводя переменную "время цикла интегратора" невижу смысла, минимальное время цикла 1сС, максимальное - определяется циклом программы. - трехпозиционный триггер с зоной возврата, при превышении входным сигналом порога выход принимает значение +1(float), при переходе входа через "0" выход принимает значение "0". При уменьшении сигнала ниже порога, на выходе -1(float) - преобразователь сигнала -1,0,+1(float) в сигналы Б, М, (boolean) Из указанных элементов собираем ПИ регулятор, сигнал с интегратора подаем на трехпозиционный триггер, сигнал с выхода триггера на интегральный вход интегратора, умножив его на -1. На ПИ вход подаем сигнал рассогласования умножив его на Ап(коэфф. передачи, сС/ед). Порог триггера - это минимальная длительность импульса (сС), время интегрирования- время изодрома регулятора (сС). Для компенсации люфта нужен дополнительный прибамбас. Пропорциональный вход оставляем, может пригодится. Критерий правильности программы - отсутствие лишних параметров настройки На все вопросы отвечу, но программу не дам
|
||
Сергей
|
||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 25 Апрель 2006 Категория: Russian Federation Online Status: Offline Публикации: 116 |
||
Критерий правильности программы - отсутствие лишних параметров настройки. Для проверки критерия правильности регулятора попробуйте сравнить на конкретном обекте работу двух регуляторов, "Stub" и тестируемого. "Stub" регулятор: минимальный регулятор. Зона нечувствительности - после выход из нее регулятор начинает выдавать импульсы необходимой полярности, длительностью задаваемой коэффициентом ДИ (длительность импульса) с паузами задаваемыми ДП (длительность паузы). Все! Можно добавить корректировку люфта МЭО. "Stub" регулятор работает практически на любых объектах и его вполне хватает для большинства статических объектов регулирования! При сравнении работы "Stub" и тестируемого, если последний не обеспечивает больше чем двухкратного уменьшения "ширины" регулируемого параметра, при примерно одинаковых количестве выходных импульсов в минуту, то вы потратили свое время и силы зря Тем кто спрашивал я выслал библиотеку с ПИД регулятором, мне не жалко. А если не будем делиться информацией и примерами, то так и будем все по очереди наступать на одни и теже грабли, а на улучшение своих разработок уйдет уйма труда и что в итоге получится, еще неизвестно! |
||
Vel
|
||
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
||
Могу выслать распечатку програмы и всех блоков в нее входящих. Не могу выслать файл библиотеки |
||
Сергей
|
||
Ответить | Страница <123> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |