Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Быстрый ПИД-регулятор
Форум разработчиков электроники ELECTRONIX.ru > Силовая Электроника - Power Electronics > Обратная Связь, Стабилизация, Регулирование, Компенсация
Страницы: 1, 2, 3, 4, 5, 6
Daedal07
Цитата(AlexandrY @ Mar 29 2017, 13:52) *
Т.е. подали ступеньку на вход и имеете осциллограмму выходного напряжения?
И оно прямо такое линейное и красивое, без всякого ШИМ-а и переходных процессов?

Под зависимостью я понимаю :
Цитата
При изменении напряжения на входе привожа на 0,5В скорость возрастает на 10м/мин. Такая зависимость до скорости 60 м/мин точно, а мне больше и не надо.

Но это не то, что нужно для исследования объекта, я уже понял.
Нужно снять реакцию связки привод+двигатель+нож.
Сегодня сделаю это. Как такой скачок на входе отработает привод я не знаю, т.к. у привода может быть ограничение на крутизну входного напряжения.
Может ли измерение выбега, который я провёл ранее
Цитата
Измерил выбег:
13 градусов или 35мм хода.
Время останова 0,4 секунды.

мне помочь чем-то?
Например, я перемерю выбег и запишу кривую изменения скорости(торможение) и время. Может ли она являться переходной характеристикой? По сути - это ступенька наоборот.
Или именно на разгоне и именно реакция на ступеньку только и есть переходная характеристика?
Tanya
Цитата(Daedal07 @ Mar 30 2017, 13:03) *
Но это не то, что нужно для исследования объекта, я уже понял.

Измерьте зависимость скорости (там же где-то тахогенератор есть у Вас) при разной начальной скорости от ступенек вверх и вниз. Переходный процесс. Учтите - торможение - может быть опасно . Также зависимость скорости от трения. Если руки не отрежет... Если сможете, то ток в двигателе при этом.
AlexandrY
Цитата(Daedal07 @ Mar 30 2017, 13:03) *
мне помочь чем-то?

Дайте лучше фотку вашего агрегата. На такие вопросы трудно отвечать не посмотрев на размеры.
Переходная характеристика может меняться даже от изменения температуры, это не говоря еще об износе и проч. вещах.

Поэтому вам не разово измерить и записать, а надо иметь тулз постоянно способный выдавать графики и экcпортировать их в Matlab.
Как например FreeMaster для семейства Kinetis
Нажмите для просмотра прикрепленного файла
Есть скрипт автоматичеcки из FreeMaster экспортирующий в Matlab.

Снимать графики надо всего что можно. Главное зависимость напряжения на входе ящика, тока на его выходе и угловой скорости
С ящиком скорее всего увидите задержку и не слабую. Я бы крепко подумал над использованием PID-а самого ящика.
Понятно, что интерфесы к датчикам ящика могут оказаться не совсем годные для вашего энкодера, мы в таких случаях делаем свои адаптеры.
Типа такого
Нажмите для просмотра прикрепленного файла
Делает из дифференциального сигнала униполярный и наоборот. Передает по CAN, конвертирует в ШИМ и т.д.
Daedal07
Цитата(AlexandrY @ Mar 30 2017, 14:19) *
Дайте лучше фотку вашего агрегата. На такие вопросы трудно отвечать не посмотрев на размеры.
Переходная характеристика может меняться даже от изменения температуры, это не говоря еще об износе и проч. вещах.

Поэтому вам не разово измерить и записать, а надо иметь тулз постоянно способный выдавать графики и экcпортировать их в Matlab.
Как например FreeMaster для семейства Kinetis
Есть скрипт автоматичеcки из FreeMaster экспортирующий в Matlab.

Сейчас стоит старый контроллер и в него никто периодически не заносит измерения.
Цитата(AlexandrY @ Mar 30 2017, 14:19) *
Снимать графики надо всего что можно. Главное зависимость напряжения на входе ящика, тока на его выходе и угловой скорости
С ящиком скорее всего увидите задержку и не слабую. Я бы крепко подумал над использованием PID-а самого ящика.
Понятно, что интерфесы к датчикам ящика могут оказаться не совсем годные для вашего энкодера, мы в таких случаях делаем свои адаптеры.
Типа такого
Делает из дифференциального сигнала униполярный и наоборот. Передает по CAN, конвертирует в ШИМ и т.д.

Поскольку есть старый контроллер, который работает как надо, то менять настройки привода(ПИД настройки или какие ещё) мне никто не даст.
Цитата(AlexandrY @ Mar 30 2017, 14:19) *
Главное зависимость напряжения на входе ящика, тока на его выходе и угловой скорости

Я, по-прежнему, не могу понять, зачем знать токи, если связка привод-двигатель для меня неотделима.
Я ведь не разрабатываю привод. Разработчики привода уже учли токи и момент и кучу всего ещё.

AlexandrY
Цитата(Daedal07 @ Mar 30 2017, 14:51) *
Я, по-прежнему, не могу понять, зачем знать токи, если связка привод-двигатель для меня неотделима.
Я ведь не разрабатываю привод. Разработчики привода уже учли токи и момент и кучу всего ещё.


От тока момент силы у вас скорее всего зависит линейно.
При идеальной механической передаче значит и скорость ножа линейно зависит от тока.
В реальности еще остается надежда на это.
И подав эту зависимость в идентификатор моделей Mаtlab я построенной им модели еще бы доверял.
Но ящик это жестко нелинейный элемент с задержкой.
Тут надо вводить предкомпенсацию данных чтобы подавать зависимость {вход ящика-скорость ножа} в Matlab
Иначе Matlab выдаст полный бред, и тюнингированный на его модели PID вашу систему пустит в разнос.

Вот эту предкомпенсацию и надо вычислить из анализа поведения одного ящика самого по себе. Т.е. его выходного тока от входного напряжения.

А так, я вам не позавидую. Гиблое дело.
SSerge
Цитата(AlexandrY @ Mar 30 2017, 19:07) *
От тока момент силы у вас скорее всего зависит линейно.
При идеальной механической передаче значит и скорость ножа линейно зависит от тока.

Я, признаться, с Kinetis слабо знаком, но полагаю, что второй закон Ньютона даже для них справедлив.

А потому угловое ускорение будет пропорционально крутящему моменту (и току двигателя).
А угловая скорость это интеграл от углового ускорения.
somebody111
Цитата
Пока знаю, что для того, чтобы рассчитать коэффициенты ПИД-регулятора, нужно составить модель объекта управления, т.е. ножа в моём случае. Как это сделать я не знаю.

Никто никогда в здравом уме и светлой памяти не высчитывает параметры П, И, Д. Они подбираются на глаз из облачных соображений типа "постоянная времени регулятора должна компенсировать наибольшую постоянную времени объекта...мм...сколько она....ну начнем с 0.1 секунды" и понеслась...Начинают ,как правило с П-регулятора с отключенными И,Д составляющими. Когда видно, что дальше не получается - берут И. Д составляющую в чистом виде активируют крайне редко, когда объект управления оооочень медленный и представляет из себя фнч с малой частотой среза, иначе все это дело не зафильтровать.
---
Теперь о системе управления. Я немного не понял, что является входным заданием для черного ящика? Если ток, то нужен ПИ(Д) регулятор. Если скорость, то надо обязательно разобраться, каким образом организован контур скорости в этом ящике. Если там настраиваемый ПИ(Д) - без проблем: ставите коэффициент усиления 1, обрываете о.с. по скорости и заводите её на свой ПИ(Д). Если там ПИ(Д) не настраиваемый, то задача решения не имеет ,потому что будет работа двух параллельно контуров скорости. Настроить можно, но ничего интересного не получится - нельзя служить двух господинам
---
Это что касается электропривода. Но это не все - есть еще механика. Какая необходима точность поддержания скорости, раз вы захотели ПИ, а не П?Вы должны понимать, что если вас просят сделать ПИ, то нужна точность поддержания скорости и какая глубина регулирования, иначе надо делать П. А вот этот вопрос самый вкусный - заказчик обычно говорит "максимально точно", при этом в редукторах там люфты, в которые влезают пол кулака...
Все, что нужно вам сделать:
1. Определиться, что является входом ящика и его пределы. Скажем, +5В - это 1000 об/мин, -5В - это -1000 об/мин
2. Определиться, что в главном контуре черного ящика - это регулятор напряжения, регулятор скорости или регулятор тока. Если регулятор напряжения или скорости - их надо отключить (оборвать о.с., превратить регулятор в П с коэффициентом передачи 1). Если там только регулятор тока, то вы должны из вне построить регулятор скорости (П,ПИ, ПИД) и предусмотреть, что их придется подбирать - во всем мире это называется наладкой. У вашего регулятора будет задание скорости. Перед задание скорости поставьте задатчик интенсивности, хотя бы 0.1 сек, чтобы не убить редуктор ударами за месяц. Кстати, о какой мощности идет речь?
3. А вот все научные измерения типо переходная или импульсная характеристика оставьте профессуре - они это очень любят. Дело в том, характер этих кривых больше всего определяется параметрами двигателя, которые плывут от температуры, параметрами механики - это люфт и приведенный момент инерции и точностью датчика скорости. А последнее определяется двумя факторами - это параметрами тахогенератора (я так понял у вас именно тг) и схемотехникой, которую вы будете делать, чтобы это дело как-то отфильтровать, а это еще одна постоянная времени. В системе слишком много неизмеряемых параметров (померьте сопротивление якоря и запишите видео,что получилось) или электромеханическую постоянную (всего-то надо магнитный поток измерить) или момент инерции
Цитата
Но ящик это жестко нелинейный элемент с задержкой.

Если это промышленный электропривод с заданием по току, то простой интегратор с насыщением, если это промышленный электропривод с заданием по скорости - апериодическое звено. Любой двигатель в первом приближении - апериодическое звено, любая система управления двигателем в 1 приближении - тоже апериодическое звено. Других вариантов не бывает - если колебательное, то он начнет механику убивать, если консервативное, то он неуправляемый. Если его все таки сделали нелинейным, то массово его никто покупать не будет - вы купите электропривод, в котором 1235 настроек для регуляторов и для этого надо сначало докторскую защитить? К нашему большому несчастью в теории управления за 50 лет так и не придумали общих методов проектирования нелинейных систем с обратной связью
somebody111
Окай, давай учиться вместе. Настройка ПИД регулятора скорости строится по принципу полной внутренней компенсации, а конкретнее он должен своей постоянное времени компенсировать самую большую постоянную времени системы. Это что касается главного контура системы. В подчиненном контуре тока стоит пи регулятор и должен компенсировать еще меньшую постоянную времени. Это и есть принцип подчиненного регулирования координат. А теперь давайте на практике определим эти постоянные времени. Начнем с простого -двигателя. Там постоянная времени определяется как L/R, где L-индуктивность якоря, R-его сопротивление. Давайте на объекте устроит лабораторную работу - определить активное и индуктивное сопротивление ротора. Запаслись омметром, измеряем сопротивление, тыкаем...ой...он 0 показывает. Что не так?Ой, там же щетки.., чтобы было совсем честно надо ротор вручную прокрутить, чтобы что-то там показало. Это не стеб- честно прокручивал для измерений ротор 400кВт движка, а потом все равно нужно было ввести поправку из-за ткс меди Ну да ладно. А что если (а другого не бывает), что изоляция медная, там ведь ТКС и для обмотки 100 град - рабочая температура (а с H изоляцией 170 - легко), т.е. что, постоянную времени надо в функции температуры увязывать? Вы смеетесь?А решается просто - она берется от "балды", потому что контур тока в электроприводе - он робастный к настройкам ПИ -регулятора тока- если один раз когда-то угадал, то будет идти речь о подстройки и ничего не изменится. С контуром скорости интереснее. Если открыть книжку по оптимальному управлению, то там для определения постоянной времени, нужно приведенный момент инерции искать. Как там "симметричный оптимум" и там в теории есть такой коэффициент, который вроде как "наладочный" в диапазоне от 0.0000001 до 10000000. Ну т.е. вот вам 5-ти этажная формула, туда надо вставить все параметры объекта (а они конечно же есть у нас) и при этом надо будет подобрать этот коэффициентик. Ну или не подбирай - определи момент инерции. А придёт заказчик и скажет - плохо держит нагрузку или, наоборот, слишком быстро разгоняется. Оно для мозгов - это конечно интересно и даже сидя за диваном поднимается самооценка, но вот на практике, извините, такой подход работает только если объект управления либо очень сложный (читать нелинейный), заказчик это понимает и предоставляет время и ресурсы заниматься наукой, либо объект ответственный и нужно хоть как-то
перестраховаться - да, matlab помогает, но надо составлять модель двигателя, системы управления, уравнение нагрузки и идентифицировать модель. А то, что там ему сказали взять апериодическое звено, завести обратную связь и выдать это за что-то серьёзное...даже для курсовой работы на пол параграфа не тянет. Я вам и без матлаба скажу, что постоянная времени ПИ регулятора должна в теории совпасть с постоянной времени апреиодического звена - тогда они друг-друга компенсируют. Это называется принцип полной внутренней компенсации, вокруг которого и построена вся теория оптимального управления электроприводом.
Эти все методы отлично работают, когда идет речь о проектировании источника питания с обратными связями, где реально все параметры наблюдаемы и измеряемы, потому что их определяет разработчик. Здесь идет речь об электроприводе, когда все, что у вас есть - это шилдик с двигателя и понимание электромеханики. Обратите особое внимание, не радиочастот, антенн и приёмников. Все, что нужно автору темы - сделать регулятор и подобрать 3 коэффициента на объекте и любым способом убрать внутренний ПИД главного контура скорости. Привод сам готовый, т.е. он (ну раз вы захотели теории) асимптотически устойчив и все будет сводится к "надо быстрее" - больше П, надо точнее, надо больше "И", тут перерегулирование - надо больше П и меньше И. ВСЕ. Можете с Д составляющей поиграться, но там придется фильтровать обратную связь по скорости и эту постоянную времени тоже придется как-то компенсировать. Вы ему в матлабе рекомендуете апериодическое звено моделировать, а что же не говорите, что тахогенератор шумит как кот в марте и если не фильтровать, то Д составляющая погасит всю систему? Вы, конечно же, захотите сделать ПИД и вмажете в обратную связь приличную постоянную времени, сведя (опять умная теория) запас устойчивости системы в 0, отчего её начнет трясти и тс, не понимая, что это вообще такое, на месяц уйдет в нирвану. И придет к одному простому выводу - с П-регулятором работает сразу и без проблем. А все потому, что с П-регулятором передаточная функция всей системы превращается в апериодическое звено ну или фильтр низкой частоты, если не нравится слово "апериодическое звено". А на нулевой скорости там еще интереснее -из-за тех же счёток в сигнале будет постоянная составляющая, которую надо будет резать, но и это не принципиально, главное развести человека на моделирование апериодического звена в матлабе! Браво!

Цитата
Во всех частотниках есть такая вещь, как пользовательский PID, но кроме него там еще неизвестное количество регулируемых контуров и фильтров.

Там всего 2 контура -главный и подчиненный. Фильтра в очень старых частотниках были...там постоянные времени наносекунды. Больше не получается, потому что они вводят фазовые сдвиги, к которым наблюдатель двигателя крайне чувствителен. В новых частотниках так уже не делают -вешают штук 5-10 ацп на канал и оцифровывают; результат усредняют.На выходе получаете крутую фильтрацию с минимальным запаздыванием. В главном контуре фильтры не ставят из-за снижения запаса устойчивости по фазе и ненужности. Единственно, что не документировано -там все ПИДы с компенсацией насыщения и блок компенсации перекрестных связей, который оказывает влияние в очень специфических ситуациях. Настройки ПИ-регулятора тока бестолку выводить юзеру - они везде одинаковые и никогда не заметите разницы. Её можно увидеть только если на экран вывести график задания тока подчиненному контуру и реальный ток. В самой худшей ситуации там будет процентов 10 отклонение от расчёта, ну то есть нисколько
AlexandrY
Цитата(somebody111 @ Apr 4 2017, 02:23) *
Вы ему в матлабе рекомендуете апериодическое звено моделировать, а что же не говорите, что ...


Современные подходы к регулированию отказываются от попыток моделирования объекта управления да и от PID-а.
Смотрите метод ADRC ссылку на который я давал выше.
Кстати он давно уже включен в известные библиотеки управления моторами для микроконтроллеров.
Например InstaSPIN от TI

Так что не понятно с кем вы спорите. laughing.gif
somebody111
Цитата
InstaSPIN

Могу сказать даже больше - я его использовал для управления 30кВтным движком. Туда правда надо вдуть параметры асинхронника, а конкретнее индуктивность намагничивания, индуктивность рассеивания и сопротивление ротора. Последнее плывет от температуры, что приводит к снижению максимального электромагнитного момента. В качестве хобби - годиться, в качестве основы для мощного промышленного привода - нет. Я много и долго занимался вопросами управления двигателями на основе различных наблюдателей и даже добивался,что они начинали работать как положено....там целая пропасть между теорией и практикой. Чем проще система - тем жизнеспособнее она. Сложные системы управления требуют индивидуальной настройки. Если я сделал 60 приводов по всей стране, мне на каждый ездить и неделями настраивать? Я как-то на 2 месяца уехал на крайний север настраивать свой привод с наблюдателем. С тех пор прочтение научных статей, начинающихся с фразы "Пусть объект управления описывается системой" или "наблюдатель" без подробного описания технической реализации (реальная программа, реальный алгоритм, уравнения в дискретной форме, как определить параметры наблюдателя) я даже не читаю - их надо дорабатывать...много и долго. Ради интереса возьмите частотник с движком на киловат 20 и составьте модель в матлабе. Засеките время, которое вам понадобиться, чтобы добиться равенства результата моделирования и с реальными. Как только данных совпадут на 99% - считайте, что вы реализовали настоящий наблюдатель, который для одного двигателя будет работать в лабораторных условиях и проанализируйте, как повторить эти эксперименты на реальном объекте в полевых условиях(там-то движок другой и его от редуктора уже не оторвать, т.е. про опыты хх и кз можно забыть, так же забыть про хитрые алгоритмы "покачать" ротор). Это и есть разница между математикой, где надо что-то на бумаге доказать, и техникой, где надо сделать и ничего доказывать не надо. У ТСа задача - сделать, а не доказывать оптимальность управления вертелкой. Я вообще не понимаю, зачем ПИД для этой задачи. П-регулятора здесь достаточно
.
AlexandrY
Цитата(somebody111 @ Apr 4 2017, 14:51) *
В качестве хобби - годиться, в качестве основы для мощного промышленного привода - нет. Я много и долго занимался вопросами управления двигателями на основе различных наблюдателей и даже добивался,что они начинали работать как положено....там целая пропасть между теорией и практикой.

InstaSPIN у TI идет без исходников, поэтому такой опыт мало пользы дает.
Надо самому углубляться в теорию и строить его структуру в Matlab-е.
Иного пути нет.

Но ADRC позволяет делать настройку всего одним параметром. Это многократно проще настройки PID
somebody111
Цитата
InstaSPIN у TI идет без исходников, поэтому такой опыт мало пользы дает

Ну зачем спорить?Вы думаете, я как дурак воткнул железку, которая нормально не работает и на этом все закончилось?
Там куча апноутов, по тому, как выстроена адаптация. Не вникая в подробности, там асимптотический наблюдатель с тем же самым ПИ-регулятором. Если вы знаете точно параметры движка, ну или хотя бы с 95%, то наблюдатель получается квазиустойчив и все ок.Если погрешность ниже, то он всегда неустойчив, т.е. расчётные токи и потоки в матлабе улетают либо в +, либо в - бесконечносить, а при микропроцессорной реализации, там петрушка, потому что реализовано в формате с фиксированно точкой, где нет такого плюс или минус бесконечность
Цитата
Но ADRC позволяет делать настройку всего одним параметром

Реально? С чего начинается основное содержание статьи, на которую вы ссылаетесь? Там опять куча математики, которую надо реализовывать. И опять начнется: какой шаг дискретизации, какая точность вычисления, как считать переменные состояния, в каком формате, как влияют помехи измерений на устойчивость численных решений этих уравнений в реальном времени. Как эти уравнения вообще получить? Где их взять? Они ведь в статье в форме Коши, т.е. система линейная? А что, если система нелинейная?Представьте - пришла помеха, а вы уравнение в реальном времени решаете и оно с такой помехой решения не имеет? По опыту могу сказать, что заплатки типо "идентифицировать помеху" и проигнорить измерения на 1 итерации не катят...все эти уравнения в реальном времени крайне чувствительны к запаздываниям. Придется или менять форму уравнений, при которых они убьют сами эту помеху в процессе вычисления или хитрый цифровой способ ее убить типо медианного фильтра и его придется делать на нескольких ацп, чтобы не внести запаздывание в измерения. Там такой комплекс проблем будет, что пока вы в них не разберетесь до конца, нормально он работать не будет...ну полтора , два года на исследование всех ньюансов
Как оно себя поведет?Вы даже не представляете сколько туда надо вложить труда, чтобы оно стало реально работать.
Что это за один параметр? Какой его физический смысл? Какая единица измерения? Чем руководствоваться, когда его выбирать? Как-то решал задачку управления постоянником с обратной связью по скорости, но датчика не было. Сделал наблюдатель Калмана - он лучше всего по статьям подходил. При его настройке, я чуть не полысел - там диагональная матрица 5х5 коэффициентов ковариации, которую нужно было подобрать.В течение 3 бессоных дней я все таки это сделал - по договору не более 3 дней на наладку, а дальше - санкции и штрафы. В настроенном виде привод работает даже лучше, чем с датчиком скорости, прецизионно получилось все (потому что с датчиком скорости точность определяется возможностями датчика, а с Калманом проблема точности устраняется подбором коэффициентов ковариации). Ну а потом, ради чистоты эксперимента, убрал о.с. по скорости и ввел о.с. по напряжению. Заработало вообще без настроек, а заказчика более чем устроило - на объекте реально не нужно было точно скорость держать, но он сам этого не знал.И до сих пор так - как суёш "математическое управление" в новый двигатель, так наладки на несколько дней. Как тупое управления - так можно даже не ездить на наладку - оно работает, а подбор коэффициента решается по телефону за 2 минуты
AlexandrY
Цитата(somebody111 @ Apr 4 2017, 17:08) *
Ну зачем спорить?Вы думаете, я как дурак воткнул железку, которая нормально не работает и на этом все закончилось?

Судя по всему вы не работали с InstaSPIN.
Либо работали как-то уж очень специфично. biggrin.gif
Поскольку большая часть мануала по InstaSPIN посвящена доказательствам огромного превосходства ADRC перед PID-ом.

Но ADRC там представлен черным ящиком названным SpinTAC controller. Прочтите там каким параметром он настраивается и все поймете.
somebody111
Мне хватило понимания того, что в заявленном там адаптивном наблюдателе не обеспечивается гиперстабильность и не обеспечивается максимальный момент двигателя и с эттим ничего не сделать - это такой наблюдатель. Это означает, что на 100/100 приводов, которые в год продают, мне придется ездить на 2-3 дня в командировку в лучшем случае.И подчиненных я тоже не смогу послать, потому что они не смогут его настроить. Если вы дрель покупаете, вам понравилось бы, что она не работает, а после звонка вам бы ответили: "Все ок, после завтра к нам приедет наш наладчик и все сделает, а вы сами не сделаете ничего "
@Ark
Цитата(Daedal07 @ Mar 27 2017, 12:07) *
По линии бежит полотно, его надо резать на листы определённой длины. На линии стоит энкодер, которым измеряется скорость линии.
У ножа тоже стоит энкодер, по которому измеряется текущее положение ножа и скорость.
Точка реза ножа определена, алгоритм повторяется после каждого реза с этой точки.
Алгоритм работы контроллера, в состав которого входит ПИД-регулятор, показан на рисунке.
Работа ножей состоит из четырёх этапов:
торможение, пауза, разгон, коррекции средней скорости.
На этапе коррекции должен работать ПИД-регулятор...

Очередной раз убеждаюсь, что правильная постановка задачи - 90% ее решения.

Сначала разбираемся с циклограммой работы вращающегося ножа:
1) Исходное состояние (пауза): неподвижный нож находится в верхнем положении. Оно точно определено и контролируется по энкодеру привода ножа.
2) Включение привода, разгон до некоторой скорости, движение с постоянной скоростью до момента резки, который, также, точно определяется по энкодеру привода ножа.
3) Отрезание полотна на заданной (постоянной) скорости ножа.
4) Плавное торможение и перевод системы в исходное состояние.

В этой системе входным параметром будет задаваемая скорость ножа в момент резки.
По данным ТС, скорость вращения линейно зависит от напряжения питания привода, поэтому ее можно задать напрямую таким способом. Нужно лишь учесть факт разгона при старте. Предполагаем, что задаваемая скорость достигается менее чем за пол-оборота,то есть к моменту резки нож всегда наберет заданную скорость.
Выходным параметом данной системы (черного ящика) для нас будет время от момента подачи питания на привод в исходном состоянии, до момента, когда нож достигнет линии резки. Это время обозначим как "время срабатывания привода" Tp.

Теперь разбираемся с полотном. Надо полагать, привод полотна имеет какую-то стабилизацию по скорости, поэтому, используя энкодер привода полотна, мы можем заблаговременно рассчитать, когда предполагаемая (желаемая) линия отреза точно подойдет к неподвижному ножу. Расчет этого времени можно начинать, когда останется несколько секунд (несколько метров) до резки. Когда это время станет равным Tp - включаем привод ножа. Через время Tp намеченная линия резки и вращающийся нож встретятся в нужном месте.
Для достижения нужной точности требуется, хотя бы, кратковременная (порядка нескольких секунд) стабильность скорости движения полотна, для вычисления оставшегося времени с требуемой точностью. Будем считать, что это требование выполняется.

Самое главное в этой задаче - обеспечить стабильность времени срабатывания привода Tp. Причем, как и в случае со скоростью полотна, достаточно лишь кратковременной, "локальной" стабильности этого параметра - то есть, это время Tp не должно отличаться для двух (нескольких) соседних отрезов, с достаточной точностью. Замечу, что Tp - это выходной параметр системы привода ножа, а не входной. Его не нужно "задавать" или подгонять к какому-либо предопределенному значению. Достаточно измерять и запоминать его фактическое значение, чтобы использовать для следующего цикла резки. То, что этот параметр будет медленно "плыть" по мере износа механики, изменения температуры и еще кучи всяких факторов - для решения задачи никакого значения не имеет. Важна лишь его "кратковременная" стабильность.

Теперь практический совет для ТС:
Исследуйте (измерьте) стабильность (повторяемость) "времени срабатывания привода" Tp вашего устройства в реальных условиях, при задании различных рабочих скоростей ножа. Далее, посчитайте, достаточно ли ее будет для достижения необходимой точности резки полотна (по описанному выше алгоритму работы). Если достаточно, то никакой дополнительный регулятор Вам не нужен. Если нет, то можно попробовать настроить штатный регулятор привода ножа. Или, наоборот, отключить его. Иногда, плохо настроенный регулятор только портит все дело. Если результат все же будет неудовлетворительный, то лишь тогда будете думать как заменить PID-регулятор двигателя привода, или как-то пристроить внешний. А для начала - нужно знать реальное положение вещей.

AlexandrY
Цитата(@Ark @ Apr 5 2017, 01:42) *
Теперь практический совет для ТС:
Исследуйте (измерьте) стабильность (повторяемость) "времени срабатывания привода" Tp вашего устройства в реальных условиях, при задании различных рабочих скоростей ножа.

У TC нет углового датчика на ноже, как он исследует?
Да и наблюдаемую осцилляцию скорости он изобразил на рисунке. Значит частотник не справляется со стабилизацией.

А "Самое главное в этой задаче - обеспечить стабильность времени срабатывания привода" можно добиться только уменьшением осцилляций скорости.
Так что самое главное - скорость.
@Ark
Цитата(AlexandrY @ Apr 5 2017, 09:15) *
У TC нет углового датчика на ноже, как он исследует?

Есть энкодер на валу двигателя. Пусть по нему ориентируется.
Или ставит доп. энкодер непосредственно на барабан ножа.
Иначе задача не имеет решения.

Цитата(AlexandrY @ Apr 5 2017, 09:15) *
Да и наблюдаемую осцилляцию скорости он изобразил на рисунке. Значит частотник не справляется со стабилизацией.

Поэтому, одно из решений - настроить штатный регулятор привода. Либо отключить его совсем...

Цитата(AlexandrY @ Apr 5 2017, 09:15) *
А "Самое главное в этой задаче - обеспечить стабильность времени срабатывания привода" можно добиться только уменьшением осцилляций скорости.
Так что самое главное - скорость.

Нет. Самое главное - стабильность "времени срабатывания".
Стабилизация скорости - лишь одно из условий. Второе условие - стабилизация времени разгона от нуля до заданной скорости.

Daedal07
Цитата(somebody111 @ Apr 3 2017, 20:12) *
Д составляющую в чистом виде активируют крайне редко, когда объект управления оооочень медленный и представляет из себя фнч с малой частотой среза, иначе все это дело не зафильтровать.

Это я уже узнал. Тем более, что у меня уставка, к которой нужно регулировать, может меняться. А Д-составляющая на это плохо реагирует.
Так что, ПИ-регулятор, а не ПИД, скорее всего.
Цитата(somebody111 @ Apr 3 2017, 20:12) *
Я немного не понял, что является входным заданием для черного ящика? Если ток, то нужен ПИ(Д) регулятор. Если скорость, то надо обязательно разобраться, каким образом организован контур скорости в этом ящике. Если там настраиваемый ПИ(Д) - без проблем: ставите коэффициент усиления 1, обрываете о.с. по скорости и заводите её на свой ПИ(Д).

Входным заданием является напряжение. Оно линейно связано со скоростью : 1В - 20 м/мин.
Там настраиваемый ПИД.
Коэффициенты пока строгать боюсь, т.к. станок работает и ковыряться особо не дают.
Но, конечно, отключить ПИД и убрать сигнал тахогенератора - это логично и это я буду делать, если не разберусь со следующим:
Цитата(somebody111 @ Apr 3 2017, 20:12) *
Если там ПИ(Д) не настраиваемый, то задача решения не имеет ,потому что будет работа двух параллельно контуров скорости. Настроить можно, но ничего интересного не получится - нельзя служить двух господинам

Сейчас стоит контроллер и он режет как надо. Как в этом случае работают оба регулятора? Это для меня загадка.
Как, в принципе, учитывается влияние одного регулятора на другой, если известны коэффициенты того, который находится в приводе?
Цитата(somebody111 @ Apr 3 2017, 20:12) *
Какая необходима точность поддержания скорости, раз вы захотели ПИ, а не П?Вы должны понимать, что если вас просят сделать ПИ, то нужна точность поддержания скорости и какая глубина регулирования, иначе надо делать П. А вот этот вопрос самый вкусный - заказчик обычно говорит "максимально точно", при этом в редукторах там люфты, в которые влезают пол кулака...

Не знаю, но требуемая точность реза - 1 мм. И он сейчас достигается на установленном оборудовании.
Цитата(somebody111 @ Apr 3 2017, 20:12) *
Все, что нужно вам сделать:
1. Определиться, что является входом ящика и его пределы. Скажем, +5В - это 1000 об/мин, -5В - это -1000 об/мин

+1В - + 20 м/мин. Предел 80 м/мин.
Цитата(somebody111 @ Apr 3 2017, 20:12) *
2. Определиться, что в главном контуре черного ящика - это регулятор напряжения, регулятор скорости или регулятор тока. Если регулятор напряжения или скорости - их надо отключить (оборвать о.с., превратить регулятор в П с коэффициентом передачи 1). Если там только регулятор тока, то вы должны из вне построить регулятор скорости (П,ПИ, ПИД) и предусмотреть, что их придется подбирать - во всем мире это называется наладкой. У вашего регулятора будет задание скорости. Перед задание скорости поставьте задатчик интенсивности, хотя бы 0.1 сек, чтобы не убить редуктор ударами за месяц. Кстати, о какой мощности идет речь?

Какой именно регулятор- я не понимаю, как это определить.
Регулятор в приводе, сигналом ОС является сигнал с тахогенератора нужен для поддержания скорости.
Задатчик интенсивности - это частота регулировки или что-то другое? Сейчас я ограничиваюсь 100 Гц, но параметр я могу менять из интерфейса ПО, которое написал для отладки.
Мощность двигателя - 22 кВт.
Цитата(somebody111 @ Apr 3 2017, 20:12) *
3. А вот все научные измерения типо переходная или импульсная характеристика оставьте профессуре - они это очень любят. Дело в том, характер этих кривых больше всего определяется параметрами двигателя, которые плывут от температуры, параметрами механики - это люфт и приведенный момент инерции и точностью датчика скорости. А последнее определяется двумя факторами - это параметрами тахогенератора (я так понял у вас именно тг) и схемотехникой, которую вы будете делать, чтобы это дело как-то отфильтровать, а это еще одна постоянная времени. В системе слишком много неизмеряемых параметров (померьте сопротивление якоря и запишите видео,что получилось) или электромеханическую постоянную (всего-то надо магнитный поток измерить) или момент инерции
Если это промышленный электропривод с заданием по току, то простой интегратор с насыщением, если это промышленный электропривод с заданием по скорости - апериодическое звено. Любой двигатель в первом приближении - апериодическое звено, любая система управления двигателем в 1 приближении - тоже апериодическое звено. Других вариантов не бывает - если колебательное, то он начнет механику убивать, если консервативное, то он неуправляемый. Если его все таки сделали нелинейным, то массово его никто покупать не будет - вы купите электропривод, в котором 1235 настроек для регуляторов и для этого надо сначало докторскую защитить? К нашему большому несчастью в теории управления за 50 лет так и не придумали общих методов проектирования нелинейных систем с обратной связью

Привод: DC integrator 590+. Даташит весит > 10 МБ, не могу прикрепить здесь.


Цитата(somebody111 @ Apr 4 2017, 14:51) *
... У ТСа задача - сделать, а не доказывать оптимальность управления вертелкой. Я вообще не понимаю, зачем ПИД для этой задачи. П-регулятора здесь достаточно

Обязательно попробую, спасибо.
alexr22b
Цитата(Daedal07 @ Apr 9 2017, 04:18) *
Это я уже узнал. Тем более, что у меня уставка, к которой нужно регулировать, может меняться. А Д-составляющая на это плохо реагирует.
Так что, ПИ-регулятор, а не ПИД, скорее всего.

Так не надо делать Д зависимым от ошибки. Гораздо надежнее и лучше сделать ее от слегка зафильтрованного (зависит от датчика. Отдельный фильтр.) сигнала с датчика.
Daedal07
Цитата(@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) - ошибка регулировки в предыдущий отсчёт?
@Ark
Цитата(Daedal07 @ Apr 9 2017, 04:22) *
Опять-таки, про Тр я не понял, поясните, пожалуйста, что это за время?

Вы определитесь, наконец, с моделью вашего процесса.
Я Вам предложил рабочую модель, и подробно ее описал. Если что-то непонятно - перечитайте внимательно, все определения там есть.
Если Вы какую-то свою модель продвигаете, тогда непонятны ваши вопросы - типа, "а что мне делать дальше?".
Daedal07
Цитата(@Ark @ Apr 9 2017, 04:33) *
Вы определитесь, наконец, с моделью вашего процесса.
Я Вам предложил рабочую модель, и подробно ее описал. Если что-то непонятно - перечитайте внимательно, все определения там есть.
Если Вы какую-то свою модель подвигаете, тогда непонятны ваши вопросы - типа, "а что мне делать дальше?".


Эта модель уже реализована, только начальное состояние - это не пауза, на линия реза.
Тут всё понятно.

Тр - это время от начала движения ножа из точки паузы к линии реза, если я правильно понял.
Это время будет плавать, как плавает скорость линии.
И я не могу обеспечить это время с точностью, с которой рез будет с точностью 1 мм.

Да, я рассчитываю и время паузы и, вычисляя требуемое время оборота ножа, знаю Тр, но с момента, когда я начал движение с паузы, это время изменится.

Следовательно, это время не выходной параметр, если говорить строго.
И мне не понятно, как настроит регулятор(и какой именно П/ПИ/ПИД или вообще какой-то другой), чтобы по ходу движения и паузы к линии реза, я мог точно корректировать текущую скорость ножа так, чтобы скорректировать среднюю скорость ножа на обороте.

Как предположили выше, возможно, мне достаточно и П-регулятора.
При условии, что осцилляции не выйдут за точнотсь в 1мм.
Это я проверю.
Поскольку, ПИД-регулятор тут не подойдёт, из-за того,что на изменение скорости линии Д-компонента будет давать осцилляции, т.е. делать только хуже, то
либо П, либо ПИ.

Я знаю, что сейчас стоит контроллер с ПИ-регулятором и стоит привод, в котором тоже есть регулятор, как он настроен П/ПИ/ПИД я пока не проверил.
Но они вместе как-то работают и режут с точностью 1 мм.
@Ark
Цитата(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) *
И мне не понятно, как настроит регулятор(и какой именно П/ПИ/ПИД или вообще какой-то другой), чтобы по ходу движения и паузы к линии реза, я мог точно корректировать текущую скорость ножа так, чтобы скорректировать среднюю скорость ножа на обороте.

Непонятно, потому что у Вас нет адекватной рабочей модели процесса в Вашей голове!
Пока она не появится - все бесполезно...
Daedal07
Цитата(@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. Учитывать период плавания скорости линии и предугадывать скорость линии на участке регулирования заранее. Это избавит меня от изменения уставки, к которой стремится регулятор на интервале регулировки.

На всякий случай прикрепил фото со статистикой ошибок реза.
@Ark
Вы почему-то упорно придерживаетесь своей первоначальной модели. Не понимая, что она и завела Вас в тупик.
Отойдите от этой модели. Начните строить заново. Видимо, нужно объяснять, не только как сделать, но и почему так надо делать.
И почему не надо как Вы предлагаете. Попробую еще раз.

Цитата(Daedal07 @ Apr 9 2017, 11:46) *
И моя трактовка:
"Тр - это время от начала движения ножа из точки паузы к линии реза" не говорит ничего о скорости линии. Только не "к линии реза", а "до момента реза" я имел ввиду.
И, я повторюсь, это время на практике не будет совпадать с тем временем, которое Вы хотите задавать. Дельту этого времени и нужно скомпенсировать регулятором.

Трактовка Tp правильная. Неправильно то, что Вы собираетесь его "задавать". Не надо этого делать. Нужно измерить фактическое значение, непосредственно, в процессе очередного цикла резки, и запомнить его для использования на следующем цикле. И так делать постоянно. От регулятора привода требуется только обеспечить стабильность значения этого времени, а не "компенсацию" или "подгонку" и к какому-либо эначению. Этим задача резко упрощается. От регулятора теперь требуется стабилизация скорости и стабилизация процесса разгона. Это уже конкретные требования и конкретные задачи, которые можно (и нужно) решить. А параметр Tp - какой получится по факту, тот и будете использовать.
Цитата(Daedal07 @ Apr 9 2017, 11:46) *
Это время связано с временем простоя(паузы)!
Чем короче у меня требуемый рез, тем меньше времени мне надо постоять на паузе.

Теоретически - все правильно. А практически - Вы не сможете заранее вычислить эту паузу с нужной точностью. Поскольку нет уверенности, что привод ленты поддерживает стабильную скорость с необходимой точностью. Вы вычислили паузу, а лента чуть притормозила или пошла быстрее - это для Вас непредсказуемо. Вы этим процессом не управляете. Поэтому - не нужно вычислять паузу заранее. От очередного реза отсчитываете нужное расстояние по энкодеру полотна. Когда останется небольшое расстояние - начинаете рассчитывать оставшееся время, используя текущую скорость полотна, а не среднюю. Предполагая, что она не изменится сильно за столь короткий промежуток времени. Этим Вы минимизируете ошибку, и может тогда достигните нужной точности.
Далее чтобы "свести" процесс движения ножа и ленты - нужно ориентироваться по времени. По другому не получится...
Цитата(Daedal07 @ Apr 9 2017, 11:46) *
В рядя случаев простоя и вовсе нет, нож не останавливается полностью, а лишь затормаживает до расчётной скорости.

Вы пока этот режим отложите. Решите хотя бы задачу с паузой.
Daedal07
Цитата(@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 нужно знатьзаранее, считать время паузы заранее.
@Ark
Цитата(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
Цитата(@Ark @ Apr 9 2017, 15:47) *
То есть Вы хотите после старта, в процессе, корректировать время Tp, ориентируясь на возможное изменение скорости ленты. Представляете уровень сложности этой задачи?
Причем, нужно будет все в реальном времени пересчитывать, очень быстро... Оставьте эту затею.

Сейчас так и сделано. Допустим, темп регулировки 100 Гц, я успеваю за 10мс всё обсчитать без проблем.
Цитата(@Ark @ Apr 9 2017, 15:47) *
Считайте скорость ленты на интервале Tp условно постоянной.
Такими вещами можно заниматься только в ситуации полной безысходности. Постарайтесь обойтись без этого.
...
Скорость линии не изменится мгновенно. Это достаточно инертная система.
Еще раз повторю, считайте скорость ленты на этапе реза условно постоянной. Хотя бы пока.
Не создавайте себе лишних сложностей.

Сам склонялся к такому допущению. Как раз правлю прошивку и ПО, чтобы ввести режим фиксации скорости на интервале регулировки. Завтра проверю это.
Цитата(@Ark @ Apr 9 2017, 15:47) *
Стоять нужно строго до расчетного времени старта. Его вы должны определить, наблюдая за движением ленты по энкодеру.
Что такое небольшое расстояние Вы сами должны определить (рассчитать предварительно, оценочно), так чтобы времени хватило
на запуск ножа.

Сейчас так и сделано. Только, чтобы стоять до расчётного времени старта, надо всё-таки вычислить время паузы. Т.к. на разных скоростях линии(даже без учёта плавания, а просто решили изменить с пульта скорость) и для разной длины картона эта пауза будет разной. делаю так:
Измеряю время торможения, время паузы, из требуемого периода реза вычитаю первое и второе и получаю время, начиная с которого пора разгоняться. И они без учёта плаваний неизменно. Т.е., как Вы выражаетесь, я его задаю.
Цитата(@Ark @ Apr 9 2017, 15:47) *
Опять Вы за свое. Нужен расчет точного времени старта ножа, а не паузы. Поэтому и начало цикла лучше от него отсчитывать.
А пауза - какая будет по факту. Лишь бы она была. Пока этот вариант рассматриваем.

Да, опять, т.к. этот момент принципиален. Или я не понимаю, но у меня всё это работает.
Цитата(@Ark @ Apr 9 2017, 15:47) *
Период рассчитывается по скорости линии и отрезаемой длине полотна. В чем сложность?

Ни в чём. Это сейчас так и делается.
Цитата(@Ark @ Apr 9 2017, 15:47) *
Для Вас критичен только участок времени на интервале Tp и плюс еще сам рез.
Далее - торможение и переход в исходное состояние, в паузу. Он уже не критичен по времени, лишь бы уложились суммарно в период. И оставили паузу.
Зачем Вам вообще понятие "средняя скорость" в модели. Какая польза от него? У Вас все времена и скорости должны быть предопределены и без этого.

Скорость линии не может быть предопределена, её оператор может изменить.
Я готов допустить, что я не буду учитывать это изменение на интервале регулировки, т.к. время этого интервала мало.
Но не готов так упрощать на всём периоде реза. Это гарантировано даст неверную длину реза.
Цитата(@Ark @ Apr 9 2017, 15:47) *
Вы сначала более простой случай рассмотрите, с обязательной остановкой.

А потом окажется, что это частный случай и переделывать?
Если останавливать нож не надо, а я его остановил, то дальше поплывёт вся картина. Например, нужно будет разгоняться с другим ускорением, чтобы успеть к линии реза вовремя.
Это как раз не вариант. Подход должен быть один.
Я сейчас задаю ускорение на интервале торможения, ускорение на интервале разгона и скорость, на которой нужно резать. И всё. Дальше расчёты и всё это работает за исключением ошибки, которая не связана с расчётами. По расчётам я попадаю на любых скоростях и любых длинах реза точно.

Мы с Вами говорим почти об одном и том же.
Ключевое, что я вынес - это пренебрежение изменение скорости линии на интервале регулировки. Это я проверю.
Gruffly
>и для разной длины картона
Так это картон?
Так это совсем другое дело sm.gif
Daedal07
Цитата(Gruffly @ Apr 9 2017, 16:54) *
>и для разной длины картона
Так это картон?
Так это совсем другое дело sm.gif

И в чём же разница?
Gruffly
В энергетике процесса рубки/реза.
Daedal07
Цитата(Gruffly @ Apr 9 2017, 17:04) *
В энергетике процесса рубки/реза.

Какое отношение имеет к топику-то?
Gruffly
Цитата(Daedal07 @ Apr 9 2017, 14:07) *
Какое отношение имеет к топику-то?

Прямое.
Данная задача хорошо ложится на принцип "Терминальное управление" - синтез САУ, использующих принцип обратной связи, управления в которой являются функцией текущего фазового состояния объекта (объектов).
Основоположники: Красовский, Летов.
Хорошее описание с примерами у А.П. Батов "Управление конечным состоянием движущихся объектов, 1977 и его же книга "Терминальное управление".
У Вас два объекта - нож и материал, у каждого есть наблюдаемые фазовые состояния.
Задача - синтез управлений (достаточно только ножом), приводящих нож и материал к требуемым фазовым состояниям в момент встречи.
Daedal07
Цитата(Gruffly @ Apr 9 2017, 17:46) *
Прямое.

Красиво ответили, спору нет.
Т.е. если бы я резал, например, пластик/резину/металл, то книга 1977 года мне бы уже не подошла?

Ближайшими тестами для меня являются:

1. Фиксация скорости линии на момент перехода в режим регулировки. Использование П/ПИ или даже, всё-таки, ПИД, т.к. уставка(требуемая средняя скорость ножа) не будет меняться.
2. Не использовать фиксацию. Использование П-регулятора с достижением осцилляций в пределах 1мм.

Если тесты не дадут результатов , то я книги почитаю, но мне кажется, тут не так всё глубоко должно быть.
Gruffly
Цитата(Daedal07 @ Apr 9 2017, 14:59) *
Красиво ответили, спору нет.
Т.е. если бы я резал, например, пластик/резину/металл, то книга 1977 года мне бы уже не подошла?

Как смог.
Если в процессе реза возникают значительные энергетические обмены, то задача усложняется.
Я изначально понял, что металл режется. Это опять камешек в сторону ТС-ов, которые не в состоянии изначально грамотно описать задачу и проблемы.
P.S.
Вам в первых же постах сказали - сначала теория, модели, расчеты.
@Ark
Цитата(Daedal07 @ Apr 9 2017, 16:15) *
Цитата(@Ark @ Apr 9 2017, 15:47) *
То есть Вы хотите после старта, в процессе, корректировать время Tp, ориентируясь на возможное изменение скорости ленты. Представляете уровень сложности этой задачи? Причем, нужно будет все в реальном времени пересчитывать, очень быстро...

Сейчас так и сделано. Допустим, темп регулировки 100 Гц, я успеваю за 10мс всё обсчитать без проблем.

Сделано-то, сделано. Да результат Вас не устраивает. Так что - не "без проблем".
И теперь вообще не понятно, в чем причина: то ли считаете плохо (недостаточно точно), то ли алгоритмы не совершенны, то ли другие факторы.
А может и все вместе... wink.gif
Daedal07
Цитата(@Ark @ Apr 9 2017, 18:39) *
Сейчас так и сделано. Допустим, темп регулировки 100 Гц, я успеваю за 10мс всё обсчитать без проблем.

Сделано-то, сделано. Да результат Вас не устраивает. Так что - не "без проблем".
И теперь вообще не понятно, в чем причина: то ли считаете плохо (недостаточно точно), то ли алгоритмы не совершенны, то ли другие факторы.
А может и все вместе... wink.gif


Сейчас я ошибаюсь из-за не настроенного регулятора и из-за того, что меняется уставка(требуемая средняя скорость ножа на периоде реза), т.к. на интервале регулировки я учитываю изменение скорости линии.
Завтра будут графики для режимов:
1. С отключенным регулятором, чисто на расчётах поедем.
2. С фиксацией скорости линии на интервале регулировки.
3. При работе в режиме П-регулятора.

Статистика наглядно покажет, что и как влияет. Ваше предложение не учитывать изменение скорости линии подоспело во время . Я об этом думал, но не дошёл до этого. Но чую, что надо скорее проверять.
Графики покажу.
Gruffly
С Вашего позволения, еще несколько вопросов:
1. Двигатель и привод:
- судя по всему - двигатель постоянного тока? Не читается отношение пускового момента к номинальному;
- управление только по якорной цепи?
- оценка приведенных маховых масс к цилиндру с ножом;
- радиус окружности резания ножа.

2. Выбег:
- 13 град, это понятно;
- 35 мм - непонятно;
- T=0.4 сек от снятия напряжение до остановки?

3. Разбег:
Очень полезно снятие кривой разбега без резания на нескольких значениях Uупр = 1, 2, 3 В и предельном напряжении для ваших ограничений по скорости.

4. Штатная САУ:
- 1 B == 20 м/мин - это что? Линейная (окружная) скорость ножа? Какая максимальная скорость? Какое необходимо соотношение скорости материала и линейной скорости ножа?
- минимальное напряжение трогания и ток при этом;
- как задается напряжение управления сейчас? Скачком, нарастанием...
AlexandrY
Цитата(Daedal07 @ Apr 9 2017, 18:48) *
Сейчас я ошибаюсь из-за не настроенного регулятора и из-за того, что меняется уставка(требуемая средняя скорость ножа на периоде реза), т.к. на интервале регулировки я учитываю изменение скорости линии.

Выскажу только одно наблюдение.
Система двигатель-нож будет не меньше чем 2-го порядка, как минимум из-за упругости ремня. Это к вопросу бесполезности ПИ.
А упругость ремня еще зависит от износа, нагрева, и проч.
Без энкодера на ноже, добиться миллиметровой точности нереально.
Daedal07
Цитата(Gruffly @ Apr 9 2017, 20:45) *
С Вашего позволения, еще несколько вопросов:
1. Двигатель и привод:
- судя по всему - двигатель постоянного тока? Не читается отношение пускового момента к номинальному;
- управление только по якорной цепи?
- оценка приведенных маховых масс к цилиндру с ножом;
- радиус окружности резания ножа.

Двигатель постоянного тока.
Радиус окружности ~900мм.
Остальное не знаю.
Цитата(Gruffly @ Apr 9 2017, 20:45) *
2. Выбег:
- 13 град, это понятно;
- 35 мм - непонятно;
- T=0.4 сек от снятия напряжение до остановки?

900*13/360 = 32,5 мм. Или 35мм грубо. Длина немного меньше 900мм.
Т = 0.4с - от подачи 0В на вход привода постоянного тока до остановки ножа.
Цитата(Gruffly @ Apr 9 2017, 20:45) *
3. Разбег:
Очень полезно снятие кривой разбега без резания на нескольких значениях Uупр = 1, 2, 3 В и предельном напряжении для ваших ограничений по скорости.

Это как нож набирает скорость при подаче ступеньки от 0В до 1,2,3 В или как держит скорость на этих напряжениях?
Если первое, то картинка во вложении.
По оси х - номера дискрет регулирования, 1 дискрета - 10 мс. Ось Y - скорость ножа мм/с.
Перед началом разгона есть детерминированная задержка привода постоянного тока.
Цитата(Gruffly @ Apr 9 2017, 20:45) *
4. Штатная САУ:
- 1 B == 20 м/мин - это что? Линейная (окружная) скорость ножа?

Это при приращении управляющего напряжения на приводе в 1В я получаю увеличение скорости ножа на 20 м/мин.
Цитата(Gruffly @ Apr 9 2017, 20:45) *
Какая максимальная скорость? Какое необходимо соотношение скорости материала и линейной скорости ножа?

Максимальная скорость линии 60 м/мин. У ножа точно не скажу сейчас, нет под рукой цифр. Где-то 80-90 м/мин, в зависимости от длины реза.
Цитата(Gruffly @ Apr 9 2017, 20:45) *
- минимальное напряжение трогания и ток при этом;
- как задается напряжение управления сейчас? Скачком, нарастанием...

- Не замерял.
- Задаётся нарастанием. Я ввожу как параметр ускорения на интервале торможения и разгона. И в соответствии с темпом регулирования, делаю приращение скорости.
Gruffly
Daedal07
Так, примерно понятно, но - уточнения.

Цитата
900*13/360 = 32,5 мм. Или 35мм грубо. Длина немного меньше 900мм.
Т = 0.4с - от подачи 0В на вход привода постоянного тока до остановки ножа.

Т.е. это угловое перемещение ножа по окружности?
0.4 сек - это очень мало для такого агрегата. Это означает только то, что в САУ используется режим торможения (того или иного вида)

Цитата
Если первое, то картинка во вложении.
По оси х - номера дискрет регулирования, 1 дискрета - 10 мс. Ось Y - скорость ножа мм/с.
Перед началом разгона есть детерминированная задержка привода постоянного тока.

Да, нужна была реакция на ступеньку Uупр. Какое значение ступеньки для приведенного графика?
Еще желательна реакция на ступеньку, скажем от 1 до 3 В или от 1 до 4 В.
Данные, кроме картинок, желательно выкладывать в текстовом формате или excel.

Цитата
Задаётся нарастанием. Я ввожу как параметр ускорения на интервале торможения и разгона. И в соответствии с темпом регулирования, делаю приращение скорости.

Понятно. У Вас реализовано разомкнутое управление на участке разгона и это плохо.
Вся прелесть терминального управления в том, что управление является замкнутым на всем протяжении регулирования от старта до точки встречи и зависит от фазовой координаты "дистанция до точки встречи" ножа и предполагаемой точки (линии) реза. Причем здесь сразу участвует и нестабильность/изменение скорости линии.
Daedal07
Цитата(Gruffly @ Apr 9 2017, 23:02) *
Т.е. это угловое перемещение ножа по окружности?

Да.
Цитата(Gruffly @ Apr 9 2017, 23:02) *
Да, нужна была реакция на ступеньку Uупр. Какое значение ступеньки для приведенного графика?

1,5В
Цитата(Gruffly @ Apr 9 2017, 23:02) *
Еще желательна реакция на ступеньку, скажем от 1 до 3 В или от 1 до 4 В.
Данные, кроме картинок, желательно выкладывать в текстовом формате или excel.

Если успею завтра сделаю. Если не завтра, то на днях.
Цитата(Gruffly @ Apr 9 2017, 23:02) *
Понятно. У Вас реализовано разомкнутое управление на участке разгона и это плохо.
Вся прелесть терминального управления в том, что управление является замкнутым на всем протяжении регулирования от старта до точки встречи и зависит от фазовой координаты "дистанция до точки встречи" ножа и предполагаемой точки (линии) реза. Причем здесь сразу участвует и нестабильность/изменение скорости линии.

Я мало что понимаю в этих терминах, к сожалению.
Что с чем разомкнуто? Обратная связь по энкодерам у меня всегда есть. Я по ним понимаю, что дошёл до точки начала интервала регулирования.
А сам регулятор работает только в этом интервале. Для него не существует этапов разгона, торможения, паузы.
Gruffly
Первые прикидки по вашей модели привода и САУ "черный ящик":

В первом приближении - модель вашего привода + САУ (регулятор ЧЯ) может быть описана двумя апериодическими звеньями + звено запаздывания:
(с параметрами звена запаздывания надо разбираться после получения графиков переходных хар-к ступенек не от нуля)

Код
W(p) = k / ((T1*p+1)*(T2*p+1)), где
k = 1.01;
T1 = 0.0258 [s];
T2 = 0.0255 [s];


Пример (нормированная х-ка по Y, по X - время в [s]):
Нажмите для просмотра прикрепленного файла

Цитата(Daedal07 @ Apr 9 2017, 20:19) *
Если успею завтра сделаю. Если не завтра, то на днях.

Ок.

Цитата(Daedal07 @ Apr 9 2017, 20:19) *
Я мало что понимаю в этих терминах, к сожалению.

Плохо.

Цитата(Daedal07 @ Apr 9 2017, 20:19) *
Что с чем разомкнуто? Обратная связь по энкодерам у меня всегда есть. Я по ним понимаю, что дошёл до точки начала интервала регулирования.
А сам регулятор работает только в этом интервале. Для него не существует этапов разгона, торможения, паузы.

У Вас два регулятора - назовем их регулятор "черный ящик", кратко "регулятор ЧЯ" и ваш регулятор, назовем его регулятор верхнего уровня, кратко - "регулятор ВУ".
Так и поясняйте - о каком регуляторе речь идет.
@Ark
Цитата(Gruffly @ Apr 9 2017, 23:02) *
Вся прелесть терминального управления в том, что управление является замкнутым на всем протяжении регулирования от старта до точки встречи и зависит от фазовой координаты "дистанция до точки встречи" ножа и предполагаемой точки (линии) реза. Причем здесь сразу участвует и нестабильность/изменение скорости линии.

Все это хорошо в теории. В реальности на эту красивую модель будет наложена масса чисто технических ограничений - реальные возможности по точному управлению приводом, предельные ускорения, задержки, люфты, погрешности измерений, и т.д. и т.п. Это может нивелировать все ее преимущества, по сравнению с более простыми подходами и моделями.
Мой совет ТС - стремитесь использовать как можно более простую (в реализации) модель, дающую достаточный по точности результат. Всякое ее усложнение должно быть обосновано и вызвано реальной необходимостью - невозможностью достичь результат иным способом.
Daedal07
Цитата(@Ark @ Apr 10 2017, 01:10) *
Все это хорошо в теории...
...Мой совет ТС...

У меня выбор не велик.

Я могу быстро проверять гипотезы. О них уже говорил сегодня.

А вот с теорией беда, так беда.
Даже когда мне ув.Gruffly выдал передаточную функцию, я с ходу не скажу, как по ней рассчитать коэффициенты регулятора.
Когда неделю назад об этом читал, то попадалось и было доступно для понимания.

В начале испытания - проверка гипотез, потом повторное чтение. Это реалии в моём случае.
Но ТАУ надо знать, читать буду в любом случае, вопросы не закончатся даже после реализации регулирования с требуемой точностью. Надеюсь, ответы тоже.
Gruffly
Цитата(@Ark @ Apr 9 2017, 23:10) *
Все это хорошо в теории. В реальности на эту красивую модель будет наложена масса чисто технических ограничений - реальные возможности по точному управлению приводом, предельные ускорения, задержки, люфты, погрешности измерений, и т.д. и т.п. Это может нивелировать все ее преимущества, по сравнению с более простыми подходами и моделями.

Чем хорошо терминальное управление (почитайте, на досуге) - это, в некотором смысле, саморегуляция.
На этом принципе работают системы управления: стыковка космических аппаратов, приземление(лунение) аппаратов, задачи перехвата объектов и пр. и пр.
Самый "простой" пример - согласованное движение самолетов в строю и на виражах, движение ракет комплекса "Калибр" на цель. sm.gif
Самое главное - без проблем реализуются особенности в конечной точке ( совмещение координат с заданными ускорением, скоростью, дельтами), а также - с ограничениями на энергетику.
Зачем нужна модель? Чтобы хотя бы примерно понимать динамику ОУ.
Daedal07
Цитата(Gruffly @ Apr 10 2017, 00:53) *
Первые прикидки по вашей модели привода и САУ "черный ящик":

В первом приближении - модель вашего привода + САУ (регулятор ЧЯ) может быть описана двумя апериодическими звеньями + звено запаздывания:
(с параметрами звена запаздывания надо разбираться после получения графиков переходных хар-к ступенек не от нуля)

Код
W(p) = k / ((T1*p+1)*(T2*p+1)), где
k = 1.01;
T1 = 0.0258 [s];
T2 = 0.0255 [s];

Как это получается? Какой ход мыслей? Где читать? Подскажите, пожалуйста.
@Ark
Цитата(Gruffly @ Apr 10 2017, 01:46) *
Чем хорошо терминальное управление (почитайте, на досуге) - это, в некотором смысле, саморегуляция...
Зачем нужна модель? Чтобы хотя бы примерно понимать динамику ОУ.

Речь не о том, чем модель хороша, и чем лучше других. А о целесообразности ее применения в данном конкретном случае.
С учетом всех видимых (предполагаемых) технических ограничений для данной задачи. Если у Вас нет достаточных ресурсов,
(не только вычислительных) для полноценной реализации модели - все ее преимущества могут превратиться в недостатки.

Gruffly
Цитата(@Ark @ Apr 10 2017, 00:08) *
Речь не о том, чем модель хороша, и чем лучше других. А о целесообразности ее применения в данном конкретном случае.
С учетом всех видимых (предполагаемых) технических ограничений для данной задачи. Если у Вас нет достаточных ресурсов,
(не только вычислительных) для полноценной реализации модели - все ее преимущества могут превратиться в недостатки.

Терминальное управление - давно уж проверенная технология совмещения фазовых координат двух и более объектов в условиях неопределенностей.
Цитата(Daedal07 @ Apr 9 2017, 23:59) *
Как это получается? Какой ход мыслей? Где читать? Подскажите, пожалуйста.

Чуть позже расскажу, а пока - посмотрите, все ли правильно в коэффициентах:

****
Приводим нормированную скорость от "попугаев" к нормированной скорости в [1/s].
(это о предоставленном Вами графике)

Исходные данные:
Uупр = 1.5 [В];
Kvlinm = 20 [(м/мин)/В]; // коэфф. САУ = окружная скорость/Uупр; [(м/мин)/В];
R = 0.9 [м];

Расчеты:
Kvlins = Kvlinm / 60 = 20/60 = 1/3 [(м/сек/)В]; // коэфф. САУ = окружная скорость/Uупр; [(м/сек/)В];

Из соотношения v = w * R, следует:

При Uупр = 1 В:

w = v / R = Kvlins / R = (1/3) / 0.9 = 0.370 [рад/сек]; // угловая скорость;
f = w / (2*Pi) = 0.37/6.28 = 0.0589 [1/сек] // угловая скорость;
n = f * 60 = 0.0589 * 60 = 3.737 [1/мин]

При Uупр = 1.5 В
w = 0.556 [рад/с]
f = 0.0884 [1/c]
n = 5.3 [1/мин]

При Uупр = 10 [В]
w = 3.7 [рад/с]
f = 0.589 [1/c]
n = 37.4 [1/мин]

Моделирование регулятора ЧЯ (ступенька 1 В):
Нажмите для просмотра прикрепленного файла
Daedal07
Цитата(AlexandrY @ Apr 10 2017, 09:17) *
Дальше домыслил, что это два апериодических звена.

Вот это самый интересный момент.
Просто домыслил или есть научный подход?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.