|
Быстрый ПИД-регулятор, На отрезном станке. Новичёк просит помощи. |
|
|
|
Mar 27 2017, 09:07
|
Местный
  
Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913

|
Добрый день! С ПИД-регуляторами ранее дела не имел, прошу помощи по теории и практике ПИД- регулирования. Во-первых, пожалуйста, подскажите хорошую книгу по дискретным ПИД-регуляторам, по тому, как составить модель объекта регулирования, как настроить коэффициенты регулятор. Во-вторых, подскажите по глупым вопросам конкретной системы с дискретным ПИД-регулятором. ПИД-регулятор управляет вращением ножей отрезного станка. По линии бежит полотно, его надо резать на листы определённой длины. На линии стоит энкодер, которым измеряется скорость линии. У ножа тоже стоит энкодер, по которому измеряется текущее положение ножа и скорость. Точка реза ножа определена, алгоритм повторяется после каждого реза с этой точки. Алгоритм работы контроллера, в состав которого входит ПИД-регулятор, показан на рисунке. Работа ножей состоит из четырёх этапов: торможение, пауза, разгон, коррекции средней скорости. На этапе коррекции должен работать ПИД-регулятор. Этап коррекции занимает, в среднем, от 0,5с до 1,5с. Я не знаю, много это или мало, но эту величину можно менять за счёт изменения времени паузы ножа. С теорией ПИД-регулирования у меня пока очень плохо. Пока знаю, что для того, чтобы рассчитать коэффициенты ПИД-регулятора, нужно составить модель объекта управления, т.е. ножа в моём случае. Как это сделать я не знаю. У меня есть возможность проводить измерения на реальном объекте и смотреть результаты регулировки на ПК в режиме реального времени, сохранять их и анализировать. Для реализации была выбрана следующую формулу дискретного регулятора: Код U(n)= Kp*e(n)+Ki*∑e(n) + Kd*[e(n)-e(n-1)] Ознакомился с двумя методами Циглера-Николса, но для них у меня не хватает знаний. Для одного метода я не знаю, как получить реакцию объекта управления на ступенчатое воздействие, по которому определяется параметры, участвующие в расчёте Kp, Ki, Kd. Для другого метода, по которому измеряются собственные колебания объекта, находящегося на границе устойчивости, у меня нет понимания, как эти колебания измерить, потому что нож находится в режиме ПИД-регулирования не всё время вращения, а только ближе к концу каждого оборота. Я смогу ввести нож в режим, когда он вращается с постоянной скоростью и всегда находится в режиме ПИД-регулирования. Далее, я переведу ПИД-регулятор в П-регулятор и получу колебания, измерю их период. Но у меня сомнения следующего рода: В реальности нож будет работать в другом режиме, т.е. на других скоростях и время на регулирование – это не время полного оборота, а половина, в лучшем случае. Подойдут ли полученные таким способом коэффициенты для реальной работы?
Эскизы прикрепленных изображений
--------------------
Сжимаются ужи насмешкой лжи
|
|
|
|
|
 |
Ответов
|
Apr 4 2017, 22:42
|
Знающий
   
Группа: Участник
Сообщений: 688
Регистрация: 13-05-16
Пользователь №: 91 710

|
Цитата(Daedal07 @ Mar 27 2017, 12:07)  По линии бежит полотно, его надо резать на листы определённой длины. На линии стоит энкодер, которым измеряется скорость линии. У ножа тоже стоит энкодер, по которому измеряется текущее положение ножа и скорость. Точка реза ножа определена, алгоритм повторяется после каждого реза с этой точки. Алгоритм работы контроллера, в состав которого входит ПИД-регулятор, показан на рисунке. Работа ножей состоит из четырёх этапов: торможение, пауза, разгон, коррекции средней скорости. На этапе коррекции должен работать ПИД-регулятор... Очередной раз убеждаюсь, что правильная постановка задачи - 90% ее решения. Сначала разбираемся с циклограммой работы вращающегося ножа: 1) Исходное состояние (пауза): неподвижный нож находится в верхнем положении. Оно точно определено и контролируется по энкодеру привода ножа. 2) Включение привода, разгон до некоторой скорости, движение с постоянной скоростью до момента резки, который, также, точно определяется по энкодеру привода ножа. 3) Отрезание полотна на заданной (постоянной) скорости ножа. 4) Плавное торможение и перевод системы в исходное состояние. В этой системе входным параметром будет задаваемая скорость ножа в момент резки. По данным ТС, скорость вращения линейно зависит от напряжения питания привода, поэтому ее можно задать напрямую таким способом. Нужно лишь учесть факт разгона при старте. Предполагаем, что задаваемая скорость достигается менее чем за пол-оборота,то есть к моменту резки нож всегда наберет заданную скорость. Выходным параметом данной системы (черного ящика) для нас будет время от момента подачи питания на привод в исходном состоянии, до момента, когда нож достигнет линии резки. Это время обозначим как "время срабатывания привода" Tp. Теперь разбираемся с полотном. Надо полагать, привод полотна имеет какую-то стабилизацию по скорости, поэтому, используя энкодер привода полотна, мы можем заблаговременно рассчитать, когда предполагаемая (желаемая) линия отреза точно подойдет к неподвижному ножу. Расчет этого времени можно начинать, когда останется несколько секунд (несколько метров) до резки. Когда это время станет равным Tp - включаем привод ножа. Через время Tp намеченная линия резки и вращающийся нож встретятся в нужном месте. Для достижения нужной точности требуется, хотя бы, кратковременная (порядка нескольких секунд) стабильность скорости движения полотна, для вычисления оставшегося времени с требуемой точностью. Будем считать, что это требование выполняется. Самое главное в этой задаче - обеспечить стабильность времени срабатывания привода Tp. Причем, как и в случае со скоростью полотна, достаточно лишь кратковременной, "локальной" стабильности этого параметра - то есть, это время Tp не должно отличаться для двух (нескольких) соседних отрезов, с достаточной точностью. Замечу, что Tp - это выходной параметр системы привода ножа, а не входной. Его не нужно "задавать" или подгонять к какому-либо предопределенному значению. Достаточно измерять и запоминать его фактическое значение, чтобы использовать для следующего цикла резки. То, что этот параметр будет медленно "плыть" по мере износа механики, изменения температуры и еще кучи всяких факторов - для решения задачи никакого значения не имеет. Важна лишь его "кратковременная" стабильность. Теперь практический совет для ТС: Исследуйте (измерьте) стабильность (повторяемость) "времени срабатывания привода" Tp вашего устройства в реальных условиях, при задании различных рабочих скоростей ножа. Далее, посчитайте, достаточно ли ее будет для достижения необходимой точности резки полотна (по описанному выше алгоритму работы). Если достаточно, то никакой дополнительный регулятор Вам не нужен. Если нет, то можно попробовать настроить штатный регулятор привода ножа. Или, наоборот, отключить его. Иногда, плохо настроенный регулятор только портит все дело. Если результат все же будет неудовлетворительный, то лишь тогда будете думать как заменить PID-регулятор двигателя привода, или как-то пристроить внешний. А для начала - нужно знать реальное положение вещей.
|
|
|
|
|
Apr 9 2017, 01:22
|
Местный
  
Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913

|
Цитата(@Ark @ Apr 5 2017, 01:42)  Очередной раз убеждаюсь, что правильная постановка задачи - 90% ее решения.
Сначала разбираемся с циклограммой работы вращающегося ножа: 1) Исходное состояние (пауза): неподвижный нож находится в верхнем положении. Оно точно определено и контролируется по энкодеру привода ножа. 2) Включение привода, разгон до некоторой скорости, движение с постоянной скоростью до момента резки, который, также, точно определяется по энкодеру привода ножа. 3) Отрезание полотна на заданной (постоянной) скорости ножа. 4) Плавное торможение и перевод системы в исходное состояние. Да, только начало циклограммы - это точка реза, с которой начинается новый оборот. Но это не принципиально. Цитата(@Ark @ Apr 5 2017, 01:42)  Выходным параметом данной системы (черного ящика) для нас будет время от момента подачи питания на привод в исходном состоянии, до момента, когда нож достигнет линии резки. Это время обозначим как "время срабатывания привода" Tp. Не совсем понятно, о каком времени Tр Вы говорите. Чтобы отрезать нужный размер, я должен выдержать требуемую среднюю скорость ножа на обороте. Она, в свою очередь, зависит от длины полотна и его средней скорости: Tср = Lп/Vпср. Средняя скорость на обороте немного плавает. Я с достаточным темпом пересчитываю Тср и всегда знаю какую среднюю скорость ножа мне надо обеспечить. Цитата(@Ark @ Apr 5 2017, 01:42)  Теперь разбираемся с полотном. ... точно подойдет к неподвижному ножу. Расчет этого времени можно начинать, когда останется несколько секунд (несколько метров) до резки. Когда это время станет равным Tp - включаем привод ножа. Через время Tp намеченная линия резки и вращающийся нож встретятся в нужном месте. Для достижения нужной точности требуется, хотя бы, кратковременная (порядка нескольких секунд) стабильность скорости движения полотна, для вычисления оставшегося времени с требуемой точностью. Будем считать, что это требование выполняется. Стабильностью скорости полотна я не управляю никак, но, в принципе, могу замерить период, с которым скорость плывёт и использовать его как прогноз на обороте ножа. Нож и линия резки не точно встретятся в нужном месте, т.к. влияет инерция ножа и разгонные характеристики привода. Я замерил время от подачи сигнала-ступеньки напряжения, которое регулирует скорость, до начала движения ножа. Оно постоянно для всех скоростей. Его я тоже, конечно, могу учесть в расчётах времени прибытия к линии реза. Но я-то как раз думал, что эти все погрешности и должен скомпенсировать регулятор. Всё равно, мне кажется, я с точностью в 1мм реза не рассчитаю. Цитата(@Ark @ Apr 5 2017, 01:42)  Теперь практический совет для ТС: Исследуйте (измерьте) стабильность (повторяемость) "времени срабатывания привода" Tp вашего устройства в реальных условиях, при задании различных рабочих скоростей ножа. Далее, посчитайте, достаточно ли ее будет для достижения необходимой точности резки полотна (по описанному выше алгоритму работы). Если достаточно, то никакой дополнительный регулятор Вам не нужен. Если нет, то можно попробовать настроить штатный регулятор привода ножа. Или, наоборот, отключить его. Иногда, плохо настроенный регулятор только портит все дело. Если результат все же будет неудовлетворительный, то лишь тогда будете думать как заменить PID-регулятор двигателя привода, или как-то пристроить внешний. А для начала - нужно знать реальное положение вещей. Опять-таки, про Тр я не понял, поясните, пожалуйста, что это за время? Цитата(alexr22b @ Apr 9 2017, 03:30)  Так не надо делать Д зависимым от ошибки. Гораздо надежнее и лучше сделать ее от слегка зафильтрованного (зависит от датчика. Отдельный фильтр.) сигнала с датчика. От какого датчика? Разве Д-компонента регулятора - это не Kd*[e(n)-e(n-1)], где e(n-1) - ошибка регулировки в предыдущий отсчёт?
--------------------
Сжимаются ужи насмешкой лжи
|
|
|
|
|
Apr 9 2017, 01:33
|
Знающий
   
Группа: Участник
Сообщений: 688
Регистрация: 13-05-16
Пользователь №: 91 710

|
Цитата(Daedal07 @ Apr 9 2017, 04:22)  Опять-таки, про Тр я не понял, поясните, пожалуйста, что это за время? Вы определитесь, наконец, с моделью вашего процесса. Я Вам предложил рабочую модель, и подробно ее описал. Если что-то непонятно - перечитайте внимательно, все определения там есть. Если Вы какую-то свою модель продвигаете, тогда непонятны ваши вопросы - типа, "а что мне делать дальше?".
Сообщение отредактировал @Ark - Apr 9 2017, 01:37
|
|
|
|
|
Apr 9 2017, 01:53
|
Местный
  
Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913

|
Цитата(@Ark @ Apr 9 2017, 04:33)  Вы определитесь, наконец, с моделью вашего процесса. Я Вам предложил рабочую модель, и подробно ее описал. Если что-то непонятно - перечитайте внимательно, все определения там есть. Если Вы какую-то свою модель подвигаете, тогда непонятны ваши вопросы - типа, "а что мне делать дальше?". Эта модель уже реализована, только начальное состояние - это не пауза, на линия реза. Тут всё понятно. Тр - это время от начала движения ножа из точки паузы к линии реза, если я правильно понял. Это время будет плавать, как плавает скорость линии. И я не могу обеспечить это время с точностью, с которой рез будет с точностью 1 мм. Да, я рассчитываю и время паузы и, вычисляя требуемое время оборота ножа, знаю Тр, но с момента, когда я начал движение с паузы, это время изменится. Следовательно, это время не выходной параметр, если говорить строго. И мне не понятно, как настроит регулятор(и какой именно П/ПИ/ПИД или вообще какой-то другой), чтобы по ходу движения и паузы к линии реза, я мог точно корректировать текущую скорость ножа так, чтобы скорректировать среднюю скорость ножа на обороте. Как предположили выше, возможно, мне достаточно и П-регулятора. При условии, что осцилляции не выйдут за точнотсь в 1мм. Это я проверю. Поскольку, ПИД-регулятор тут не подойдёт, из-за того,что на изменение скорости линии Д-компонента будет давать осцилляции, т.е. делать только хуже, то либо П, либо ПИ. Я знаю, что сейчас стоит контроллер с ПИ-регулятором и стоит привод, в котором тоже есть регулятор, как он настроен П/ПИ/ПИД я пока не проверил. Но они вместе как-то работают и режут с точностью 1 мм.
--------------------
Сжимаются ужи насмешкой лжи
|
|
|
|
|
Apr 9 2017, 02:24
|
Знающий
   
Группа: Участник
Сообщений: 688
Регистрация: 13-05-16
Пользователь №: 91 710

|
Цитата(Daedal07 @ Apr 9 2017, 04:53)  Эта модель уже реализована, только начальное состояние - это не пауза, на линия реза. Тут всё понятно. Ничего Вам не понятно. Нет у Вас пока рабочей модели. А в голове у Вас - муть и бардак. Извините за резкость. Цитата(Daedal07 @ Apr 9 2017, 04:53)  Тр - это время от начала движения ножа из точки паузы к линии реза, если я правильно понял. Это время будет плавать, как плавает скорость линии. И я не могу обеспечить это время с точностью, с которой рез будет с точностью 1 мм. Неправильно поняли. Это время от скорости линии полотна вообще никак не зависит. Это чисто параметр привода ножа. И регулятора этого привода. Если не можете обеспечить стабильность этого параметра - можете дальше не решать эту задачу... Цитата(Daedal07 @ Apr 9 2017, 04:53)  Да, я рассчитываю и время паузы и, вычисляя требуемое время оборота ножа, знаю Тр, но с момента, когда я начал движение с паузы, это время изменится. Следовательно, это время не выходной параметр, если говорить строго. Не надо рассчитывать время паузы! Вам нужно рассчитывать момент времени, когда включить привод ножа из состояния "пауза". Цитата(Daedal07 @ Apr 9 2017, 04:53)  И мне не понятно, как настроит регулятор(и какой именно П/ПИ/ПИД или вообще какой-то другой), чтобы по ходу движения и паузы к линии реза, я мог точно корректировать текущую скорость ножа так, чтобы скорректировать среднюю скорость ножа на обороте. Непонятно, потому что у Вас нет адекватной рабочей модели процесса в Вашей голове! Пока она не появится - все бесполезно...
|
|
|
|
|
Apr 9 2017, 08:46
|
Местный
  
Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913

|
Цитата(@Ark @ Apr 9 2017, 05:24)  Ничего Вам не понятно. Нет у Вас пока рабочей модели. А в голове у Вас - муть и бардак. Извините за резкость. Извиняю, поскольку Вы, видимо, хотите мне помочь. Цитата(@Ark @ Apr 9 2017, 05:24)  Неправильно поняли. Это время от скорости линии полотна вообще никак не зависит. Это чисто параметр привода ножа. И регулятора этого привода. Если не можете обеспечить стабильность этого параметра - можете дальше не решать эту задачу... Вы сами писали: Цитата(@Ark @ Apr 9 2017, 05:24)  Выходным параметом данной системы (черного ящика) для нас будет время от момента подачи питания на привод в исходном состоянии, до момента, когда нож достигнет линии резки. Это время обозначим как "время срабатывания привода" Tp. И моя трактовка: "Тр - это время от начала движения ножа из точки паузы к линии реза" не говорит ничего о скорости линии. Только не "к линии реза", а "до момента реза" я имел ввиду. И, я повторюсь, это время на практике не будет совпадать с тем временем, которое Вы хотите задавать. Дельту этого времени и нужно скомпенсировать регулятором. Цитата(@Ark @ Apr 9 2017, 05:24)  Не надо рассчитывать время паузы! Вам нужно рассчитывать момент времени, когда включить привод ножа из состояния "пауза". Это время связано с временем простоя(паузы)! Чем короче у меня требуемый рез, тем меньше времени мне надо постоять на паузе. В рядя случаев простоя и вовсе нет, нож не останавливается полностью, а лишь затормаживает до расчётной скорости. Время старта обозначим как Tстарта_разгона, тогда: Tстарта_разгона = Tторможения + Тпаузы, где Tторможения - время интервала торможения со скорости, на которой был проделан предыдущий рез, Тпаузы - время паузы. Это время тоже рассчитывается, но формулу не привожу, большая да и незачем. Цитата(@Ark @ Apr 9 2017, 05:24)  Непонятно, потому что у Вас нет адекватной рабочей модели процесса в Вашей голове! Пока она не появится - все бесполезно... Модель неадекватна в среднем на 5 мм погрешности, при том, что требуемая длина реза от 0,5м до 2500м. Т.е. она вполне адекватна, но мне не понятно, как заставить регулятор скомпенсировать ошибку, выраженную в единице средней скорости ножа. Эта ошибка - это разница между Тр, которое я ожидаю исходя из параметров реза, и Тр которое необходимо исходя из практических результатов движения ножа от момента старта из паузы и до линии реза. Чтобы это успеть скомпенсировать, я разгоняю нож до скорости, которую выбрал как скорость реза и далее перевожу нож в режим регулировки. Регулировка - это достижение требуемой средней скорости ножа на обороте. Буду пробовать: 1. П-регулятор, добиваясь осцилляции в пределах 1мм. 2. Учитывать период плавания скорости линии и предугадывать скорость линии на участке регулирования заранее. Это избавит меня от изменения уставки, к которой стремится регулятор на интервале регулировки. На всякий случай прикрепил фото со статистикой ошибок реза.
Эскизы прикрепленных изображений
--------------------
Сжимаются ужи насмешкой лжи
|
|
|
|
|
Apr 9 2017, 10:35
|
Знающий
   
Группа: Участник
Сообщений: 688
Регистрация: 13-05-16
Пользователь №: 91 710

|
Вы почему-то упорно придерживаетесь своей первоначальной модели. Не понимая, что она и завела Вас в тупик. Отойдите от этой модели. Начните строить заново. Видимо, нужно объяснять, не только как сделать, но и почему так надо делать. И почему не надо как Вы предлагаете. Попробую еще раз. Цитата(Daedal07 @ Apr 9 2017, 11:46)  И моя трактовка: "Тр - это время от начала движения ножа из точки паузы к линии реза" не говорит ничего о скорости линии. Только не "к линии реза", а "до момента реза" я имел ввиду. И, я повторюсь, это время на практике не будет совпадать с тем временем, которое Вы хотите задавать. Дельту этого времени и нужно скомпенсировать регулятором. Трактовка Tp правильная. Неправильно то, что Вы собираетесь его "задавать". Не надо этого делать. Нужно измерить фактическое значение, непосредственно, в процессе очередного цикла резки, и запомнить его для использования на следующем цикле. И так делать постоянно. От регулятора привода требуется только обеспечить стабильность значения этого времени, а не "компенсацию" или "подгонку" и к какому-либо эначению. Этим задача резко упрощается. От регулятора теперь требуется стабилизация скорости и стабилизация процесса разгона. Это уже конкретные требования и конкретные задачи, которые можно (и нужно) решить. А параметр Tp - какой получится по факту, тот и будете использовать. Цитата(Daedal07 @ Apr 9 2017, 11:46)  Это время связано с временем простоя(паузы)! Чем короче у меня требуемый рез, тем меньше времени мне надо постоять на паузе. Теоретически - все правильно. А практически - Вы не сможете заранее вычислить эту паузу с нужной точностью. Поскольку нет уверенности, что привод ленты поддерживает стабильную скорость с необходимой точностью. Вы вычислили паузу, а лента чуть притормозила или пошла быстрее - это для Вас непредсказуемо. Вы этим процессом не управляете. Поэтому - не нужно вычислять паузу заранее. От очередного реза отсчитываете нужное расстояние по энкодеру полотна. Когда останется небольшое расстояние - начинаете рассчитывать оставшееся время, используя текущую скорость полотна, а не среднюю. Предполагая, что она не изменится сильно за столь короткий промежуток времени. Этим Вы минимизируете ошибку, и может тогда достигните нужной точности. Далее чтобы "свести" процесс движения ножа и ленты - нужно ориентироваться по времени. По другому не получится... Цитата(Daedal07 @ Apr 9 2017, 11:46)  В рядя случаев простоя и вовсе нет, нож не останавливается полностью, а лишь затормаживает до расчётной скорости. Вы пока этот режим отложите. Решите хотя бы задачу с паузой.
|
|
|
|
|
Apr 9 2017, 11:16
|
Местный
  
Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913

|
Цитата(@Ark @ Apr 9 2017, 13:35)  Видимо, нужно объяснять, не только как сделать, но и почему так надо делать. И почему не надо как Вы предлагаете. Хотелось бы всегда иметь такой подход. Иначе я не переделаю, даже если захочу. Цитата(@Ark @ Apr 9 2017, 13:35)  Трактовка Tp правильная. Неправильно то, что Вы собираетесь его "задавать". Не надо этого делать. Нужно измерить фактическое значение, непосредственно, в процессе очередного цикла резки, и запомнить его для использования на следующем цикле. И так делать постоянно. От регулятора привода требуется только обеспечить стабильность значения этого времени, а не "компенсацию" или "подгонку" и к какому-либо эначению. Этим задача резко упрощается. От регулятора теперь требуется стабилизация скорости и стабилизация процесса разгона. Это уже конкретные требования и конкретные задачи, которые можно (и нужно) решить. А параметр Tp - какой получится по факту, тот и будете использовать. Так я так и делаю. У меня в расчётах меняется только время паузы. А время с момента, когда я начинаю разгон и до линии реза у меня не меняется в расчёте. Оно на практике плавает. А поскольку я не знаю насколько оно поплывёт на этом резе и как это связано с тем, как оно плыло в предыдущем резе, то ошибка на практике будет возникать всегда, даже, если я в расчётах буду получать одно и тоже значение и, отталкиваясь от него, начинать разгон ножа. Цитата(@Ark @ Apr 9 2017, 13:35)  Теоретически - все правильно. А практически - Вы не сможете заранее вычислить эту паузу с нужной точностью. Поскольку нет уверенности, что привод ленты поддерживает стабильную скорость с необходимой точностью. Вы вычислили паузу, а лента чуть притормозила или пошла быстрее - это для Вас непредсказуемо. Вы этим процессом не управляете. Именно поэтому, если изменение скорости линии произойдёт на этапе, когда я уже стартанул с паузы, время Тр на практике на сойдётся с Тр расчётной. Цитата(@Ark @ Apr 9 2017, 13:35)  Поэтому - не нужно вычислять паузу заранее. Всё равно не понял. Сколько тогда мне стоять? И стоять ли вообще? Цитата(@Ark @ Apr 9 2017, 13:35)  От очередного реза отсчитываете нужное расстояние по энкодеру полотна. Когда останется небольшое расстояние - начинаете рассчитывать оставшееся время, используя текущую скорость полотна, а не среднюю. Не понятно какое такое небольшое расстояние. Почему не среднюю, ведь от неё зависит время, за которое полотно пройдёт длину реза. Всё равно не понял. Сколько тогда мне стоять? И стоять ли вообще? Цитата(@Ark @ Apr 9 2017, 13:35)  Предполагая, что она не изменится сильно за столь короткий промежуток времени. Этим Вы минимизируете ошибку, и может тогда достигните нужной точности. А может и изменится. Оператор возьмёт и изменит скорость. В общем, надо регулировать до самой лини реза. А расчёты паузы нужны, чтобы прийти к интервалу регулировки с как можно меньшей ошибкой, чтобы легче было регулировать. Цитата(@Ark @ Apr 9 2017, 13:35)  Далее чтобы "свести" процесс движения ножа и ленты - нужно ориентироваться по времени. По другому не получится... Мне изначально нужно знать требуемый период реза. Это время. Скорость тут появляется вот откуда: С одной стороны: Треза_требуемое = Lполотна/Vср_линии, где Lполотна - требуемая длина реза,Vср_линии - средняя скорость линии. С другой стороны: Vср_ножа = Lножа/Треза_требуемое, где Vср_ножа - требуемая средняя скорость ножа, Lножа - длина оборота ножа. Вот тут и появляется, что что того, чтобы выдержать время реза(т.е. сделать за это время ровно 1 оборот ножа), нужно выдержать среднюю скорость ножа. Но оценка, естественно, по времени. Разница требуемой средней скорости и измеренной средней скорости на n-дискрете регулировки и есть e(n) для регулятора. Что тут не так? Цитата(@Ark @ Apr 9 2017, 13:35)  Вы пока этот режим отложите. Решите хотя бы задачу с паузой. Это нельзя назвать отдельным режимом, это тоже самое. Просто в расчётах скорость до которой нужно притормозить получается на 0, а >0 и, следовательно, паузы нет. И это нужно знать заранее. Т.е. будет ли пауза > 0 или будет = 0 нужно знатьзаранее, считать время паузы заранее.
--------------------
Сжимаются ужи насмешкой лжи
|
|
|
|
|
Apr 9 2017, 12:47
|
Знающий
   
Группа: Участник
Сообщений: 688
Регистрация: 13-05-16
Пользователь №: 91 710

|
Цитата(Daedal07 @ Apr 9 2017, 14:16)  У меня в расчётах меняется только время паузы. А время с момента, когда я начинаю разгон и до линии реза у меня не меняется в расчёте. Оно на практике плавает. А поскольку я не знаю насколько оно поплывёт на этом резе и как это связано с тем, как оно плыло в предыдущем резе, то ошибка на практике будет возникать всегда, даже, если я в расчётах буду получать одно и тоже значение и, отталкиваясь от него, начинать разгон ножа. Зачем вам рассчитывать то, что можно измерить непосредственно? Смысл? Не от ваших расчетов нужно отталкиваться, а от реального значения Tp, измеренного в предыдущем цикле. На практике оно может (должно) плавать только в строго определенных пределах. Иначе точности не будет. Собственно, в этом ключевая часть задачи - застабилизировать этот параметр Tp при помощи регулятора. Тогда Ваша система станет предсказуемой. Можно будет точно рассчитать момент времени, когда нужно стартовать ножу из положения "пауза". Цитата(Daedal07 @ Apr 9 2017, 14:16)  ...если изменение скорости линии произойдёт на этапе, когда я уже стартанул с паузы, время Тр на практике на сойдётся с Тр расчётной. То есть Вы хотите после старта, в процессе, корректировать время Tp, ориентируясь на возможное изменение скорости ленты. Представляете уровень сложности этой задачи? Причем, нужно будет все в реальном времени пересчитывать, очень быстро... Оставьте эту затею. Считайте скорость ленты на интервале Tp условно постоянной. Такими вещами можно заниматься только в ситуации полной безысходности. Постарайтесь обойтись без этого. Цитата(Daedal07 @ Apr 9 2017, 14:16)  Всё равно не понял. Сколько тогда мне стоять? И стоять ли вообще? Стоять нужно строго до расчетного времени старта. Его вы должны определить, наблюдая за движением ленты по энкодеру. Что такое небольшое расстояние Вы сами должны определить (рассчитать предварительно, оценочно), так чтобы времени хватило на запуск ножа. Цитата(Daedal07 @ Apr 9 2017, 14:16)  Оператор возьмёт и изменит скорость. В общем, надо регулировать до самой лини реза. Скорость линии не изменится мгновенно. Это достаточно инертная система. Еще раз повторю, считайте скорость ленты на этапе реза условно постоянной. Хотя бы пока. Не создавайте себе лишних сложностей. Цитата(Daedal07 @ Apr 9 2017, 14:16)  А расчёты паузы нужны, чтобы прийти к интервалу регулировки с как можно меньшей ошибкой, чтобы легче было регулировать. Опять Вы за свое. Нужен расчет точного времени старта ножа, а не паузы. Поэтому и начало цикла лучше от него отсчитывать. А пауза - какая будет по факту. Лишь бы она была. Пока этот вариант рассматриваем. Цитата(Daedal07 @ Apr 9 2017, 14:16)  Мне изначально нужно знать требуемый период реза. Период рассчитывается по скорости линии и отрезаемой длине полотна. В чем сложность? Для Вас критичен только участок времени на интервале Tp и плюс еще сам рез. Далее - торможение и переход в исходное состояние, в паузу. Он уже не критичен по времени, лишь бы уложились суммарно в период. И оставили паузу. Зачем Вам вообще понятие "средняя скорость" в модели. Какая польза от него? У Вас все времена и скорости должны быть предопределены и без этого. Цитата(Daedal07 @ Apr 9 2017, 14:16)  Это нельзя назвать отдельным режимом, это тоже самое. Просто в расчётах скорость до которой нужно притормозить получается на 0, а >0 и, следовательно, паузы нет. И это нужно знать заранее. Т.е. будет ли пауза > 0 или будет = 0 нужно знатьзаранее, считать время паузы заранее. Вы сначала более простой случай рассмотрите, с обязательной остановкой.
|
|
|
|
Сообщений в этой теме
Daedal07 Быстрый ПИД-регулятор Mar 27 2017, 09:07 AlexandrY Цитата(Daedal07 @ Mar 27 2017, 12:07) С П... Mar 27 2017, 12:34 demiurg_spb Цитата(AlexandrY @ Mar 27 2017, 15:34) ка... Mar 27 2017, 14:22 Daedal07 Цитата(AlexandrY @ Mar 27 2017, 15:34) Эт... Mar 27 2017, 15:17  Tanya Цитата(Daedal07 @ Mar 27 2017, 18:17) Сле... Mar 27 2017, 16:09   Daedal07 Цитата(Tanya @ Mar 27 2017, 19:09) Вам ну... Mar 27 2017, 16:20    Tanya Цитата(Daedal07 @ Mar 27 2017, 19:20) Дай... Mar 27 2017, 18:12     TSerg Цитата(Tanya @ Mar 27 2017, 21:12) Мне во... Mar 27 2017, 18:25     Daedal07 Цитата(Tanya @ Mar 27 2017, 21:12) Ваша ф... Mar 27 2017, 18:26  AlexandrY Цитата(Daedal07 @ Mar 27 2017, 18:17) Я п... Mar 27 2017, 20:31   Daedal07 Цитата(AlexandrY @ Mar 27 2017, 23:31) В ... Mar 27 2017, 21:13    TSerg Цитата(Daedal07 @ Mar 28 2017, 00:13) Я у... Mar 27 2017, 21:45     Daedal07 Цитата(TSerg @ Mar 28 2017, 00:45) Не оби... Mar 27 2017, 21:54      TSerg Цитата(Daedal07 @ Mar 28 2017, 00:54) Зав... Mar 27 2017, 22:11   Daedal07 Цитата(AlexandrY @ Mar 27 2017, 23:31) В ... Mar 29 2017, 06:29    Tanya Цитата(Daedal07 @ Mar 29 2017, 09:29) Меж... Mar 29 2017, 07:50     Daedal07 Цитата(Tanya @ Mar 29 2017, 10:50) Трудно... Mar 29 2017, 08:15      Tanya Цитата(Daedal07 @ Mar 29 2017, 11:15) Ящи... Mar 29 2017, 08:38      AlexandrY Цитата(Daedal07 @ Mar 29 2017, 11:15) Спр... Mar 29 2017, 08:42       Daedal07 Цитата(AlexandrY @ Mar 29 2017, 11:42) Чт... Mar 29 2017, 09:38        Tanya Цитата(Daedal07 @ Mar 29 2017, 12:38) Я х... Mar 29 2017, 09:50        AlexandrY Цитата(Daedal07 @ Mar 29 2017, 12:38) Нет... Mar 29 2017, 10:11         Daedal07 Цитата(AlexandrY @ Mar 29 2017, 13:11) Зн... Mar 29 2017, 10:27          AlexandrY Цитата(Daedal07 @ Mar 29 2017, 13:27) Ящи... Mar 29 2017, 10:43           Daedal07 Цитата(AlexandrY @ Mar 29 2017, 13:43) Та... Mar 29 2017, 10:49            AlexandrY Цитата(Daedal07 @ Mar 29 2017, 13:49) Я н... Mar 29 2017, 10:52             Daedal07 Цитата(AlexandrY @ Mar 29 2017, 13:52) Т.... Mar 30 2017, 10:03              Tanya Цитата(Daedal07 @ Mar 30 2017, 13:03) Но ... Mar 30 2017, 10:21              AlexandrY Цитата(Daedal07 @ Mar 30 2017, 13:03) мне... Mar 30 2017, 11:19               Daedal07 Цитата(AlexandrY @ Mar 30 2017, 14:19) Да... Mar 30 2017, 11:51                AlexandrY Цитата(Daedal07 @ Mar 30 2017, 14:51) Я, ... Mar 30 2017, 12:07                 SSerge Цитата(AlexandrY @ Mar 30 2017, 19:07) От... Mar 30 2017, 13:43            Tanya Цитата(Daedal07 @ Mar 29 2017, 13:49) Пус... Mar 29 2017, 10:53             Daedal07 В контуре Привод - Двигатель обнаружился тахогенер... Mar 29 2017, 12:15              TSerg Цитата(Daedal07 @ Mar 29 2017, 15:15) В к... Mar 29 2017, 12:23               Daedal07 Цитата(TSerg @ Mar 29 2017, 15:23) Тогда ... Mar 29 2017, 12:27                TSerg Цитата(Daedal07 @ Mar 29 2017, 15:27) Поч... Mar 29 2017, 15:25 TSerg Это диплом? Mar 27 2017, 15:51 Daedal07 Цитата(TSerg @ Mar 27 2017, 18:51) Это ди... Mar 27 2017, 15:57  TSerg Цитата(Daedal07 @ Mar 27 2017, 18:57) Есл... Mar 27 2017, 16:43   Daedal07 Цитата(TSerg @ Mar 27 2017, 19:41) Безотв... Mar 27 2017, 16:47    TSerg Цитата(Daedal07 @ Mar 27 2017, 19:47) Спр... Mar 27 2017, 18:31     Daedal07 Цитата(TSerg @ Mar 27 2017, 21:31) Таня В... Mar 27 2017, 18:48      TSerg Цитата(Daedal07 @ Mar 27 2017, 21:48) Как... Mar 27 2017, 18:56       Daedal07 Цитата(TSerg @ Mar 27 2017, 21:56) Физика... Mar 27 2017, 19:09 TSerg Все от того, что Вы сразу не привели схему Вашей к... Mar 27 2017, 19:18 Daedal07 Цитата(TSerg @ Mar 27 2017, 22:18) Все от... Mar 27 2017, 19:25  TSerg Цитата(Daedal07 @ Mar 27 2017, 22:25) Упр... Mar 27 2017, 19:37   Daedal07 Цитата(TSerg @ Mar 27 2017, 22:37) Не фак... Mar 27 2017, 19:45 TSerg Я, конечно, всех условий работы этой резательной м... Mar 27 2017, 19:50 Daedal07 Цитата(TSerg @ Mar 27 2017, 22:50) Я, кон... Mar 27 2017, 19:59  TSerg Цитата(Daedal07 @ Mar 27 2017, 22:59) Тол... Mar 27 2017, 20:06   Daedal07 Цитата(TSerg @ Mar 27 2017, 23:06) Вы - с... Mar 27 2017, 20:15    TSerg Цитата(Daedal07 @ Mar 27 2017, 23:15) Нап... Mar 27 2017, 20:41     Daedal07 Цитата(TSerg @ Mar 27 2017, 23:41) Регист... Mar 28 2017, 20:14      AlexandrY Цитата(Daedal07 @ Mar 28 2017, 23:14) Что... Mar 29 2017, 06:07 somebody111 ЦитатаПока знаю, что для того, чтобы рассчитать ко... Apr 3 2017, 17:12 Daedal07 Цитата(somebody111 @ Apr 3 2017, 20:12) Д... Apr 9 2017, 00:18  alexr22b Цитата(Daedal07 @ Apr 9 2017, 04:18) Это ... Apr 9 2017, 00:30 somebody111 Окай, давай учиться вместе. Настройка ПИД регулято... Apr 3 2017, 23:23 AlexandrY Цитата(somebody111 @ Apr 4 2017, 02:23) В... Apr 4 2017, 06:07 somebody111 ЦитатаInstaSPIN
Могу сказать даже больше - я его и... Apr 4 2017, 11:51 AlexandrY Цитата(somebody111 @ Apr 4 2017, 14:51) В... Apr 4 2017, 13:46 somebody111 ЦитатаInstaSPIN у TI идет без исходников, поэтому ... Apr 4 2017, 14:08 AlexandrY Цитата(somebody111 @ Apr 4 2017, 17:08) Н... Apr 4 2017, 14:36 somebody111 Мне хватило понимания того, что в заявленном там а... Apr 4 2017, 15:03 AlexandrY Цитата(@Ark @ Apr 5 2017, 01:42) Теперь п... Apr 5 2017, 06:15  @Ark Цитата(AlexandrY @ Apr 5 2017, 09:15) У T... Apr 5 2017, 07:51         Daedal07 Цитата(@Ark @ Apr 9 2017, 15:47) То есть ... Apr 9 2017, 13:15          @Ark Цитата(Daedal07 @ Apr 9 2017, 16:15) Цита... Apr 9 2017, 15:39           Daedal07 Цитата(@Ark @ Apr 9 2017, 18:39) Сейчас т... Apr 9 2017, 15:48            AlexandrY Цитата(Daedal07 @ Apr 9 2017, 18:48) Сейч... Apr 9 2017, 17:59 Gruffly >и для разной длины картона
Так это картон?
Так... Apr 9 2017, 13:54 Daedal07 Цитата(Gruffly @ Apr 9 2017, 16:54) >и... Apr 9 2017, 13:55 Gruffly В энергетике процесса рубки/реза. Apr 9 2017, 14:04 Daedal07 Цитата(Gruffly @ Apr 9 2017, 17:04) В эне... Apr 9 2017, 14:07  Gruffly Цитата(Daedal07 @ Apr 9 2017, 14:07) Како... Apr 9 2017, 14:46   Daedal07 Цитата(Gruffly @ Apr 9 2017, 17:46) Прямо... Apr 9 2017, 14:59    Gruffly Цитата(Daedal07 @ Apr 9 2017, 14:59) Крас... Apr 9 2017, 15:16 Gruffly С Вашего позволения, еще несколько вопросов:
1. Дв... Apr 9 2017, 17:45 Daedal07 Цитата(Gruffly @ Apr 9 2017, 20:45) С Ваш... Apr 9 2017, 18:04 Gruffly Daedal07
Так, примерно понятно, но - уточнения.
... Apr 9 2017, 20:02 Daedal07 Цитата(Gruffly @ Apr 9 2017, 23:02) Т.е. ... Apr 9 2017, 20:19 @Ark Цитата(Gruffly @ Apr 9 2017, 23:02) Вся п... Apr 9 2017, 22:10  Daedal07 Цитата(@Ark @ Apr 10 2017, 01:10) Все это... Apr 9 2017, 22:22  Gruffly Цитата(@Ark @ Apr 9 2017, 23:10) Все это ... Apr 9 2017, 22:46   @Ark Цитата(Gruffly @ Apr 10 2017, 01:46) Чем ... Apr 9 2017, 23:08    Gruffly Цитата(@Ark @ Apr 10 2017, 00:08) Речь не... Apr 10 2017, 00:51 Gruffly Первые прикидки по вашей модели привода и САУ ... Apr 9 2017, 21:53 Daedal07 Цитата(Gruffly @ Apr 10 2017, 00:53) Перв... Apr 9 2017, 22:59
3 страниц
1 2 3 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|