Destr 0 August 29, 2006 Posted August 29, 2006 · Report post Уважаемые специалисты, помогите пожалуйста начинающему освоить автоматическое регулирование. Вопрос заключается в следующем: Имеется емкость, в которой необходимо поддерживать заданный уровень жидкости.Через одну трубу жидкость поступает в емкость, ее поток не регулируется. Через другую жидкость сливается, регулируется двигателем, который управляется преобразователем частоты. Частота преобразователя задается через контроллер, путем задания целого значения от 1 до 32768. Так вот мне не понятно как связать это значение, задающее работу преобразователя, со значением управляющего воздействия, получаемого из формулы ПИД регулирования. Очень надеюсь на вашу помощь по такому дилетантскому вопросу. Quote Share this post Link to post Share on other sites More sharing options...
Guest LordN August 29, 2006 Posted August 29, 2006 · Report post ключевое слово - нормировка надо привести выход к безразмерной величине изменяемой от нуля до единицы и почитать пару лекций по ТАУ. Quote Share this post Link to post Share on other sites More sharing options...
Destr 0 August 29, 2006 Posted August 29, 2006 · Report post ключевое слово - нормировка надо привести выход к безразмерной величине изменяемой от нуля до единицы и почитать пару лекций по ТАУ. А Вы не могли бы немного поподробней объяснить, или дать ссылку где рассматривается этот вопрос. Quote Share this post Link to post Share on other sites More sharing options...
Guest LordN August 30, 2006 Posted August 30, 2006 · Report post лекции по ТАУ небольшой список литературы вот эти темы полистайте: http://www.abok.ru/ibforum/index.php?showt...l=ПИД-регулятор http://www.abok.ru/ibforum/index.php?showt...l=ПИД-регулятор http://www.abok.ru/ibforum/index.php?showt...l=ПИД-регулятор http://www.abok.ru/ibforum/index.php?showt...l=ПИД-регулятор поподробней... для простоты рассмотрим П-регулятор: U = 1/Zp * Error, его запись где, Zp - зона пропорциональности, размерность такая же как и у Error. Error = X.set - X.val, X.set - уставка X.val - текущее значение рег.параметра. U - выход. меняетеся от нуля до единицы. для перехода к значениям задания целого значения от 1 до 32768 надо всего-то U умножить на 32768 Quote Share this post Link to post Share on other sites More sharing options...
Destr 0 August 30, 2006 Posted August 30, 2006 · Report post Зона пропорциональности - это коэффициент пропорциональности ? для перехода к значениям надо всего-то U умножить на 32768 Тогда получается, что если нет рассогласования то частота работы преобразователя будет минимальной (0*32768=0), т.е. жидкость сливаться не будет, но за счет поступающей жидкости появляется рассогласование и частотник начинает работать. И так непрерывно частотный преобразователь будет то отключать, то включать на некоторое значение двигатель, когда появится рассогласование, а оно будет появляться постоянно так как жидкость поступает. Просто раньше я думал что по пид закону рассчитывается значение НА которое частотный преобразователь должен изменить свою частоту для регулирования уровня. А получается что преобразователь будет работать только тогда когда есть рассогласование ? Quote Share this post Link to post Share on other sites More sharing options...
Guest LordN August 30, 2006 Posted August 30, 2006 · Report post Тогда получается, что если нет рассогласования то частота работы преобразователя будет минимальной (0*32768=0),да, правильно. но я ж писал, П-регулятор взят только для простоты понимания что к чему нормировать... вы по ссылкам хорошо почитали? там есть почти все и все разжевано по самое не могу. Зона пропорциональности - это коэффициент пропорциональности ?Zp - величина обратная коэфф-у усиления. Zp = 1/Kp Quote Share this post Link to post Share on other sites More sharing options...
loocks 0 August 30, 2006 Posted August 30, 2006 · Report post Тогда получается, что если нет рассогласования то частота работы преобразователя будет минимальной (0*32768=0),да, правильно. но я ж писал, П-регулятор взят только для простоты понимания что к чему нормировать... вы по ссылкам хорошо почитали? там есть почти все и все разжевано по самое не могу. Зона пропорциональности - это коэффициент пропорциональности ?Zp - величина обратная коэфф-у усиления. Zp = 1/Kp неча ссылаться на к-то драный курс по теории регулирования, ПИД ом здесь и не пахнет загнем пальцы 1. Сигналом ошибки будет отклонение от номинального уровня 2. отработка= производительность насоса, в сумме с притоком даст скорость изменения уровня 3. все вместе- система первого порядка устойчивая даже в Африке в идеале к измерителю уровня надо дать смещение пропорциональное входному притоку, а можно не давать. сигнал ошибки обратно пропорционален к-ту усиления и ничего нормировать не надо Quote Share this post Link to post Share on other sites More sharing options...
Destr 0 August 30, 2006 Posted August 30, 2006 · Report post По ссылкам на форумы я перечитал все. Но именно про нормирование и про то как воздействовать на управляющую величину значением пид регулирования я не нашел. П-регулятор взят только для простоты понимания что к чему нормировать... То есть необходима еще интегральная составляющая ? И еще как подобрать коэффициенты так чтобы выход менялся от 0 до 1 ? Ведь рассогласование может быть как отрицательной, так и положительной величиной. Quote Share this post Link to post Share on other sites More sharing options...
Guest LordN August 30, 2006 Posted August 30, 2006 · Report post И еще как подобрать коэффициенты так чтобы выход менялся от 0 до 1ограничения задаются ограничителем.Ведь рассогласование может быть как отрицательной, так и положительной величиной.ошибка - да. выход - нет. Но именно про нормирование и про то как воздействовать на управляющую величину значением пид регулирования я не нашел.просто это азы и про них обычно не говорят, потому как считают что они известны заранее.То есть необходима еще интегральная составляющая ?чтоб при нулевой ошибке выход не был равен нулю - да. если необходимо опережение, то придётся добавлять и Д-. Quote Share this post Link to post Share on other sites More sharing options...
Destr 0 August 30, 2006 Posted August 30, 2006 (edited) · Report post ограничения задаются ограничителем. :unsure: ? Наверно просто условие поставить что если выходное значение отрицательное тогда за 0 считать ? Edited August 30, 2006 by Destr Quote Share this post Link to post Share on other sites More sharing options...
Destr 0 August 30, 2006 Posted August 30, 2006 · Report post И если не трудно объясните пожалуйста как нормировать. И почему обязательно к выходным значениям от 0 до 1, может в моем случае сразу к значению от 1 до 32768 и подавать на частотник ? Quote Share this post Link to post Share on other sites More sharing options...
Guest LordN August 30, 2006 Posted August 30, 2006 · Report post Наверно просто условие поставить что если выходное значение отрицательное тогда за 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 - дифференциальная постоянные времени Quote Share this post Link to post Share on other sites More sharing options...
Destr 0 August 30, 2006 Posted August 30, 2006 · Report post И если не трудно объясните пожалуйста как нормировать. И почему обязательно к выходным значениям от 0 до 1, может в моем случае сразу к значению от 1 до 32768 и подавать на частотник ? Вот это подскажите пожалуйста еще по поводу нормирования Quote Share this post Link to post Share on other sites More sharing options...
Guest LordN August 31, 2006 Posted August 31, 2006 · Report post Вот это подскажите пожалуйста еще по поводу нормированиячто ж тут еще подсказывать? я ж уже написал код, там все нормировки уже есть, разве что вот - далее передаем u на исполнениеисполнение выглядит так: out = u * 32768; // выход управления двигателем здесь u и есть нормированный выход. Quote Share this post Link to post Share on other sites More sharing options...
Destr 0 August 31, 2006 Posted August 31, 2006 · Report post я ж уже написал код, там все нормировки уже есть А ясно, значит нормировки и ограничители это одно и тоже. Спасибо большое вам за ответы, вы мне уже очень помогли. Но у меня есть еще один вопрос касательно регулирования: Потоком жидкости необходимо управлять шаровым краном, который управляется двумя дискретными сигналами, один-открывать, другой-закрывать. Открывается и закрывается он с одной скоростью. Время от закрытого состояния до полностью открытого - примерно 20 сек. Кран посылает аналоговое значение на контроллер о степени открытия. Так вот как регулировать в таком случае ? Quote Share this post Link to post Share on other sites More sharing options...