|
Автоматическое регулирование |
|
|
|
Aug 29 2006, 16:35
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Уважаемые специалисты, помогите пожалуйста начинающему освоить автоматическое регулирование. Вопрос заключается в следующем: Имеется емкость, в которой необходимо поддерживать заданный уровень жидкости.Через одну трубу жидкость поступает в емкость, ее поток не регулируется. Через другую жидкость сливается, регулируется двигателем, который управляется преобразователем частоты. Частота преобразователя задается через контроллер, путем задания целого значения от 1 до 32768. Так вот мне не понятно как связать это значение, задающее работу преобразователя, со значением управляющего воздействия, получаемого из формулы ПИД регулирования. Очень надеюсь на вашу помощь по такому дилетантскому вопросу.
|
|
|
|
|
 |
Ответов
(1 - 14)
|
Aug 29 2006, 20:13
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Цитата(LordN @ Aug 29 2006, 23:18)  ключевое слово - нормировка надо привести выход к безразмерной величине изменяемой от нуля до единицы и почитать пару лекций по ТАУ. А Вы не могли бы немного поподробней объяснить, или дать ссылку где рассматривается этот вопрос.
|
|
|
|
|
Aug 30 2006, 06:57
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Зона пропорциональности - это коэффициент пропорциональности ? Цитата для перехода к значениям надо всего-то U умножить на 32768 Тогда получается, что если нет рассогласования то частота работы преобразователя будет минимальной (0*32768=0), т.е. жидкость сливаться не будет, но за счет поступающей жидкости появляется рассогласование и частотник начинает работать. И так непрерывно частотный преобразователь будет то отключать, то включать на некоторое значение двигатель, когда появится рассогласование, а оно будет появляться постоянно так как жидкость поступает. Просто раньше я думал что по пид закону рассчитывается значение НА которое частотный преобразователь должен изменить свою частоту для регулирования уровня. А получается что преобразователь будет работать только тогда когда есть рассогласование ?
|
|
|
|
|
Aug 30 2006, 08:14
|
Знающий
   
Группа: Свой
Сообщений: 704
Регистрация: 15-10-05
Из: г.Томск
Пользователь №: 9 686

|
Цитата Тогда получается, что если нет рассогласования то частота работы преобразователя будет минимальной (0*32768=0), да, правильно. но я ж писал, П-регулятор взят только для простоты понимания что к чему нормировать... вы по ссылкам хорошо почитали? там есть почти все и все разжевано по самое не могу. Цитата Зона пропорциональности - это коэффициент пропорциональности ? Zp - величина обратная коэфф-у усиления. Zp = 1/Kp
--------------------
|
|
|
|
|
Aug 30 2006, 10:59
|
Группа: Новичок
Сообщений: 3
Регистрация: 30-08-06
Пользователь №: 19 941

|
Цитата(LordN @ Aug 30 2006, 12:14)  Цитата Тогда получается, что если нет рассогласования то частота работы преобразователя будет минимальной (0*32768=0), да, правильно. но я ж писал, П-регулятор взят только для простоты понимания что к чему нормировать... вы по ссылкам хорошо почитали? там есть почти все и все разжевано по самое не могу. Цитата Зона пропорциональности - это коэффициент пропорциональности ? Zp - величина обратная коэфф-у усиления. Zp = 1/Kp неча ссылаться на к-то драный курс по теории регулирования, ПИД ом здесь и не пахнет загнем пальцы 1. Сигналом ошибки будет отклонение от номинального уровня 2. отработка= производительность насоса, в сумме с притоком даст скорость изменения уровня 3. все вместе- система первого порядка устойчивая даже в Африке в идеале к измерителю уровня надо дать смещение пропорциональное входному притоку, а можно не давать. сигнал ошибки обратно пропорционален к-ту усиления и ничего нормировать не надо
|
|
|
|
|
Aug 30 2006, 11:01
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
По ссылкам на форумы я перечитал все. Но именно про нормирование и про то как воздействовать на управляющую величину значением пид регулирования я не нашел. Цитата П-регулятор взят только для простоты понимания что к чему нормировать... То есть необходима еще интегральная составляющая ? И еще как подобрать коэффициенты так чтобы выход менялся от 0 до 1 ? Ведь рассогласование может быть как отрицательной, так и положительной величиной.
|
|
|
|
|
Aug 30 2006, 11:14
|
Знающий
   
Группа: Свой
Сообщений: 704
Регистрация: 15-10-05
Из: г.Томск
Пользователь №: 9 686

|
Цитата И еще как подобрать коэффициенты так чтобы выход менялся от 0 до 1 ограничения задаются ограничителем. Цитата Ведь рассогласование может быть как отрицательной, так и положительной величиной. ошибка - да. выход - нет. Цитата Но именно про нормирование и про то как воздействовать на управляющую величину значением пид регулирования я не нашел. просто это азы и про них обычно не говорят, потому как считают что они известны заранее. Цитата То есть необходима еще интегральная составляющая ? чтоб при нулевой ошибке выход не был равен нулю - да. если необходимо опережение, то придётся добавлять и Д-.
--------------------
|
|
|
|
|
Aug 30 2006, 11:26
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Цитата ограничения задаются ограничителем.  ? Наверно просто условие поставить что если выходное значение отрицательное тогда за 0 считать ?
Сообщение отредактировал Destr - Aug 30 2006, 11:36
|
|
|
|
|
Aug 30 2006, 14:04
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
И если не трудно объясните пожалуйста как нормировать. И почему обязательно к выходным значениям от 0 до 1, может в моем случае сразу к значению от 1 до 32768 и подавать на частотник ?
|
|
|
|
|
Aug 30 2006, 14:05
|
Знающий
   
Группа: Свой
Сообщений: 704
Регистрация: 15-10-05
Из: г.Томск
Пользователь №: 9 686

|
Цитата Наверно просто условие поставить что если выходное значение отрицательное тогда за 0 считать ? ну естессна. Код if(u < 0.0) u = 0.0; else if(u > 1.0) u = 1.0; точно такой же, вернее похожий, ограничитель потребуется для интеграла. Код if(I < 0.0)I = 0.0; else if(I > Zp) I = Zp; запись для ПИДа использую примерно такую: Код I += (error * Tquant / Tint); // или I += (error + oldError) * Tquant / (2 * Tint); первый - метод прямоугольников, второй - метод трапеций. if(I < 0.0) I = 0.0; else if(I > Zp) I = Zp; D = (error - oldError) * Tdiff / Tquant; u = (error + I + D) / Zp; oldError = error; if(u < 0.0) u = 0.0; else if(u > 1.0) u = 1.0; далее передаем u на исполнение Tint - интегральная, Tdiff - дифференциальная постоянные времени
--------------------
|
|
|
|
|
Aug 30 2006, 21:02
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Цитата И если не трудно объясните пожалуйста как нормировать. И почему обязательно к выходным значениям от 0 до 1, может в моем случае сразу к значению от 1 до 32768 и подавать на частотник ? Вот это подскажите пожалуйста еще по поводу нормирования
|
|
|
|
|
Aug 31 2006, 04:07
|
Знающий
   
Группа: Свой
Сообщений: 704
Регистрация: 15-10-05
Из: г.Томск
Пользователь №: 9 686

|
Цитата Вот это подскажите пожалуйста еще по поводу нормирования что ж тут еще подсказывать? я ж уже написал код, там все нормировки уже есть, разве что вот - Цитата далее передаем u на исполнение исполнение выглядит так: out = u * 32768; // выход управления двигателем здесь u и есть нормированный выход.
--------------------
|
|
|
|
|
Aug 31 2006, 07:27
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Цитата я ж уже написал код, там все нормировки уже есть А ясно, значит нормировки и ограничители это одно и тоже. Спасибо большое вам за ответы, вы мне уже очень помогли. Но у меня есть еще один вопрос касательно регулирования: Потоком жидкости необходимо управлять шаровым краном, который управляется двумя дискретными сигналами, один-открывать, другой-закрывать. Открывается и закрывается он с одной скоростью. Время от закрытого состояния до полностью открытого - примерно 20 сек. Кран посылает аналоговое значение на контроллер о степени открытия. Так вот как регулировать в таком случае ?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|