Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Быстрый ПИД-регулятор
Форум разработчиков электроники ELECTRONIX.ru > Силовая Электроника - Power Electronics > Обратная Связь, Стабилизация, Регулирование, Компенсация
Страницы: 1, 2, 3, 4, 5, 6
Daedal07
Добрый день!

С ПИД-регуляторами ранее дела не имел, прошу помощи по теории и практике ПИД- регулирования.
Во-первых, пожалуйста, подскажите хорошую книгу по дискретным ПИД-регуляторам, по тому, как составить модель объекта регулирования, как настроить коэффициенты регулятор.
Во-вторых, подскажите по глупым вопросам конкретной системы с дискретным ПИД-регулятором.
ПИД-регулятор управляет вращением ножей отрезного станка.
По линии бежит полотно, его надо резать на листы определённой длины. На линии стоит энкодер, которым измеряется скорость линии.
У ножа тоже стоит энкодер, по которому измеряется текущее положение ножа и скорость.
Точка реза ножа определена, алгоритм повторяется после каждого реза с этой точки.
Алгоритм работы контроллера, в состав которого входит ПИД-регулятор, показан на рисунке.
Работа ножей состоит из четырёх этапов:
торможение, пауза, разгон, коррекции средней скорости.
На этапе коррекции должен работать ПИД-регулятор.
Этап коррекции занимает, в среднем, от 0,5с до 1,5с.
Я не знаю, много это или мало, но эту величину можно менять за счёт изменения времени паузы ножа.

С теорией ПИД-регулирования у меня пока очень плохо.
Пока знаю, что для того, чтобы рассчитать коэффициенты ПИД-регулятора, нужно составить модель объекта управления, т.е. ножа в моём случае. Как это сделать я не знаю.
У меня есть возможность проводить измерения на реальном объекте и смотреть результаты регулировки на ПК в режиме реального времени, сохранять их и анализировать.
Для реализации была выбрана следующую формулу дискретного регулятора:
Код
U(n)= Kp*e(n)+Ki*∑e(n) + Kd*[e(n)-e(n-1)]

Ознакомился с двумя методами Циглера-Николса, но для них у меня не хватает знаний.
Для одного метода я не знаю, как получить реакцию объекта управления на ступенчатое воздействие, по которому определяется параметры, участвующие в расчёте Kp, Ki, Kd.
Для другого метода, по которому измеряются собственные колебания объекта, находящегося на границе устойчивости, у меня нет понимания, как эти колебания измерить, потому что нож находится в режиме ПИД-регулирования не всё время вращения, а только ближе к концу каждого оборота.
Я смогу ввести нож в режим, когда он вращается с постоянной скоростью и всегда находится в режиме ПИД-регулирования. Далее, я переведу ПИД-регулятор в П-регулятор и получу колебания, измерю их период.
Но у меня сомнения следующего рода:
В реальности нож будет работать в другом режиме, т.е. на других скоростях и время на регулирование – это не время полного оборота, а половина, в лучшем случае. Подойдут ли полученные таким способом коэффициенты для реальной работы?
AlexandrY
Цитата(Daedal07 @ Mar 27 2017, 12:07) *
С ПИД-регуляторами ранее дела не имел, прошу помощи по теории и практике ПИД- регулирования.


Это делается немного не так. Лезть в теорию не надо.

Открываете такой тулз в Matlab, называется System Identification.
Нажмите для просмотра прикрепленного файла
Вводите туда запись воздействия и отклика вашей системы. Воздействие может быть любой формы, не обязательно ступенчатое.
Выбираете порядок модели и получаете оценку ее параметров.
Можете повторить для других порядков модели или для нелинейных моделей.

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

Щелкаете PID_controller и там в диалоге увидите кнопку Tune.
Перед этим проверьте какую архитектуру PID хотите видеть.

После Tune вы будете иметь идеально настроенный на модель PID.

Потом щелкает в меню Simulink пункт Embedded Coder и получаете чистый код на C готовый к исполнению на каком-нибудь Kinetis ARM Cortex-M4
А можете просто переписать коэффициенты из блока PID_controller в свою программу.
demiurg_spb
Цитата(AlexandrY @ Mar 27 2017, 15:34) *
каком-нибудь Kinetis ARM Cortex-M4
Так сказать на совершенно случайно оказавшемся и первым попавшемся Кинетисе)))
Это мне уже напоминает анекдот про собаку и блох: "А если бы у рыбы была шерсть, то у неё наверняка были бы блохи (кинетисы)..."
Daedal07
Цитата(AlexandrY @ Mar 27 2017, 15:34) *
Это делается немного не так. Лезть в теорию не надо.
...
Вводите туда запись воздействия и отклика вашей системы. Воздействие может быть любой формы, не обязательно ступенчатое.
Выбираете порядок модели и получаете оценку ее параметров.

Как я уже писал, у меня в плане теории тяжёлый случай. wacko.gif
Я не знаю какого порядка модель и как вообще её составить.
По каким исходным данным мне ориентироваться, чтобы узнать, какая модель у меня?
Возможно, я не всё указал в вопросе, что важного нужно знать о станке, чтобы получить порядок модели?
Цитата(AlexandrY @ Mar 27 2017, 15:34) *
Можете повторить для других порядков модели или для нелинейных моделей.

Если со временем не будет ясности, то, да, я буду перебирать модели, но, мне кажется, что это не подход. Хотелось и знаний получить по ходу работы.
Цитата(AlexandrY @ Mar 27 2017, 15:34) *
Перед этим проверьте какую архитектуру PID хотите видеть.

И этого я тоже не знаю. Пока без разницы, мне ведь всё равно в дискретную форму переводить архитектуру, ресурсы железа есть, можно любую сделать. Как дилетант, я так вижу сейчас, по крайней мере, этот вопрос.
Цитата(AlexandrY @ Mar 27 2017, 15:34) *
Потом щелкает в меню Simulink пункт Embedded Coder и получаете чистый код на C готовый к исполнению на каком-нибудь Kinetis ARM Cortex-M4
А можете просто переписать коэффициенты из блока PID_controller в свою программу.

В этом нет необходимости.

Цитата(AlexandrY @ Mar 27 2017, 15:34) *
...Вводите туда запись воздействия и отклика вашей системы.


Чтобы отрезать нужную мне длину, я должен выдержать среднюю скорость ножа на обороте.
Разница текущей и требуемой средней скорости - это e(n).
Но я не представляю, как физическая величина "средняя скорость" увязывается с "откликом" системы.
Я знаю зависимость напряжение/скорость, знаю максимальное ускорение, с которым привод постоянного тока, на входе которого аналоговый сигнал(напряжение) с выхода контроллера с ПИД, ещё отрабатывает воздействие, а выше которого отрубает выход в "0".

Следовательно, я знаю, какое напряжение подать, чтобы получить нужную в данный момент текущую скорость ножа.

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

Что в моём случае будет воздействием, а что откликом, учитывая, что ПИД у меня в конце оборота и что e(n) - это разница средних скоростей ножа?

Я пока не понял, как по уму ПИД настраивается, но после определения воздействия и отклика, думаю, тулза матлаба мне поможет. С Вашей помощью, конечно.)
TSerg
Это диплом? sm.gif
Daedal07
Цитата(TSerg @ Mar 27 2017, 18:51) *
Это диплом? sm.gif

Нет.
ТАУ был 1 семестр 7 лет назад.
Это не повод не браться на интересный проект.

Контроллер сделан, написана прошивка, тестовое ПО на матлаб с графиками и GUI тоже.
Но вот самое важное на закуску оставил.

Делать всё равно буду, но лучше помочь.

Если это был бы диплом, то что бы это изменило?
Tanya
Цитата(Daedal07 @ Mar 27 2017, 18:17) *
Следовательно, я знаю, какое напряжение подать, чтобы получить нужную в данный момент текущую скорость ножа.

Вам нужно освежить курс механики и дифференциальных уравнений.
Что Вы режете? Дорогое? С какой точностью?

Цитата(Daedal07 @ Mar 27 2017, 18:57) *
Контроллер сделан, написана прошивка, тестовое ПО на матлаб с графиками и GUI тоже.
Но вот самое важное на закуску оставил.

Самое важное нужно делать сначала. Мне так кажется.
Daedal07
Цитата(Tanya @ Mar 27 2017, 19:09) *
Вам нужно освежить курс механики и дифференциальных уравнений.

Дайте намёк, о чём речь-то?

В прошивке Всё реализовано, до момента ПИД-регулирования.
Формулы движения по прямой с ускорением я не забыл, они были применены.
Сам регулятор в той простой форме, которую я указал в первом посте, тоже в коде есть.
Написанный интерфейс позволяет ручками вбивать коэффициенты Kp, Ki, Ni( количество суммируемых отсчётов ошибки скорости), Kd.
Но, понятное дело, наугад такое не решается.
Цитата(Tanya @ Mar 27 2017, 19:09) *
Что Вы режете? Дорогое?

Нет, очень недорогое.
На этапе отладки вообще режу воздух, т.к. оценить погрешность реза можно и по энкодеру линии, по которой бежит полотно. Энкодер крутится, опираясь на вал, который протягивает полуфабрикат по линии. Вал вращается, а самого полуфабриката нет, он не нужен для тестов.
Цитата(Tanya @ Mar 27 2017, 19:09) *
Самое важное нужно делать сначала. Мне так кажется.

Так я заложил место в прошивке, места точно хватит.
Я ничего не упустил в таком подходе, наоборот создана платформа, на которой я могу отлаживаться.

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

Помогите, пожалуйста.

Вот по этому поводу советами не богаты:
Цитата
Ознакомился с двумя методами Циглера-Николса, но для них у меня не хватает знаний.
Для одного метода я не знаю, как получить реакцию объекта управления на ступенчатое воздействие, по которому определяется параметры, участвующие в расчёте Kp, Ki, Kd.
Для другого метода, по которому измеряются собственные колебания объекта, находящегося на границе устойчивости, у меня нет понимания, как эти колебания измерить, потому что нож находится в режиме ПИД-регулирования не всё время вращения, а только ближе к концу каждого оборота.
Я смогу ввести нож в режим, когда он вращается с постоянной скоростью и всегда находится в режиме ПИД-регулирования. Далее, я переведу ПИД-регулятор в П-регулятор и получу колебания, измерю их период.
Но у меня сомнения следующего рода:
В реальности нож будет работать в другом режиме, т.е. на других скоростях и время на регулирование – это не время полного оборота, а половина, в лучшем случае. Подойдут ли полученные таким способом коэффициенты для реальной работы?
TSerg
Цитата(Daedal07 @ Mar 27 2017, 18:57) *
Если это был бы диплом, то что бы это изменило?

Безответственность за результат, в т.ч. безопасность за жизни людей, операторов.

Цитата(Tanya @ Mar 27 2017, 19:09) *
Самое важное нужно делать сначала. Мне так кажется.

+1

Проектирование обычно начинается с изучения объекта управления.
А, уж прошивки чего-то - это дело десятое.
Daedal07
Цитата(TSerg @ Mar 27 2017, 19:41) *
Безответственность за результат, в т.ч. безопасность за жизни людей, операторов.

С этим всё в порядке.
Я имел ввиду, как Ваша помощь отличалась бы в части настройки ПИД-регулятора?
Ну да ладно, это сейчас не важно.
Цитата(TSerg @ Mar 27 2017, 19:43) *
Проектирование обычно начинается с изучения объекта управления.

Спрошу ещё раз. Как его изучить?
Про вариант настройки методом Циглера-Николса я два раза уже написал. Если чушь написал, то скажите хотя бы.
Цитата(TSerg @ Mar 27 2017, 19:43) *
А, уж прошивки чего-то - это дело десятое.

Десятое дело сделано и никак не помешает сделать основные девять, я повторюсь.
Я готов слушать любые нотации, но прошу между делом по сабжу тоже чего-нибудь написать.
Tanya
Цитата(Daedal07 @ Mar 27 2017, 19:20) *
Дайте намёк, о чём речь-то?

Ваша фраза, после которой я Вам посоветовала освежить механику свидетельствует о том, что Вы не понимаете, как управлять мотором. Намекну - механический момент пропорционален току.
Вы так и не ответили, что и чем Вы режете, зачем, с какой точностью и другие (лучше все) подробности.
Я вот подобное делала - кусочки с точностью десятая миллиметра... Мне вот не очень понятно, как можно неподвижным лезвием ровно отрезать нечто движущееся.
TSerg
Цитата(Tanya @ Mar 27 2017, 21:12) *
Мне вот не очень понятно, как можно неподвижным лезвием ровно отрезать нечто движущееся.

Очень просто.
Эльфийский клинок или меч Дарта Вейдера мгновенно режут двигающийся звездолет на мелкие части.
Daedal07
Цитата(Tanya @ Mar 27 2017, 21:12) *
Ваша фраза, после которой я Вам посоветовала освежить механику свидетельствует о том, что Вы не понимаете, как управлять мотором. Намекну - механический момент пропорционален току.

Я им уже управляю, но неточно.

Повторюсь, на выходе контроллера с ПИД-регулятором стоит привод постоянного тока. У него вход -10В - + 10В.
Я снимал характеристики с работающего оборудования. Управление напряжением. 1В - это скорость 20 м/мин. Проверял это, результаты совпали.

Цитата(Tanya @ Mar 27 2017, 21:12) *
Вы так и не ответили, что и чем Вы режете, зачем, с какой точностью и другие (лучше все) подробности.

Режу я полотно, которое идёт по линии. Точность нужна не хуже 1мм.
Цитата(Tanya @ Mar 27 2017, 21:12) *
Я вот подобное делала - кусочки с точностью десятая миллиметра... Мне вот не очень понятно, как можно неподвижным лезвием ровно отрезать нечто движущееся.

Лезвие подвижно, я же написал,что управляю вращением ножа. Я не управляю движением полотна, которое нужно резать.
То, что Вы способны такое делать и сомнений не было.

Куда мне копать, чтобы тоже смочь?
Я массу вопросов задал, я ведь не прошу готового решения.
А в ответ: зачем ты сделал железо раньше?

Я Вас не понимаю, вроде бы ничего плохого никому не сделал.
TSerg
Цитата(Daedal07 @ Mar 27 2017, 19:47) *
Спрошу ещё раз. Как его изучить?

Таня Вам ответила - используя механику, динамику и пр. физику с использованием пыльных учебников.

Цитата(Daedal07 @ Mar 27 2017, 21:26) *
Лезвие подвижно, я же написал,что управляю вращением ножа. Я не управляю движением полотна, которое нужно резать.

Резать точно можно если деталь и режущий инструмент неподвижны друг от друга. Вращение - при чем здесь.
Нарисуйте кинематическую схему вашего изделия, а то у же полное непонимание началось.

Цитата(Daedal07 @ Mar 27 2017, 21:26) *
Я Вас не понимаю, вроде бы ничего плохого никому не сделал.

От Вас требуется более-менее точная постановка технической задачи.
О плохом никто тут не говорит.
Daedal07
Цитата(TSerg @ Mar 27 2017, 21:31) *
Таня Вам ответила - используя механику, динамику и пр. физику с использованием пыльных учебников.

Какие учебники нужны?
Цитата(TSerg @ Mar 27 2017, 21:31) *
Резать точно можно если деталь и режущий инструмент неподвижны друг от друга. Вращение - при чем здесь.
Нарисуйте кинематическую схему вашего изделия, а то у же полное непонимание началось.

И по какому принципу будет осуществляться рез, простите? Все неподвижны, а рез идёт. "Солдат спит, а служба идёт" (с).
Шутки в сторону, вращающиеся ножи - это типовое оборудование. Схему прикрепил.
Цитата(TSerg @ Mar 27 2017, 21:31) *
От Вас требуется более-менее точная постановка технической задачи.
О плохом никто тут не говорит.

Думаю, схема всё объяснит. Я пока не понимаю, что именно Вам не понятно, раз уж постановка даже не более-менее точная.
TSerg
Цитата(Daedal07 @ Mar 27 2017, 21:48) *
Какие учебники нужны?

Физика, начиная со школы. Я не шучу.

Цитата(Daedal07 @ Mar 27 2017, 21:48) *
И по какому принципу будет осуществляться рез, простите? Все неподвижны, а рез идёт.

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

Цитата(Daedal07 @ Mar 27 2017, 21:48) *
Думаю, схема всё объяснит.

Вот теперь понятно, что за режущая схема у Вас.
Она некорректна, в общем случае, если полотно детали и нож движутся с постоянной скоростью, т.к. момент реза - это не меч Дарта.
Все зависит от соотношения скоростей: линейной - детали и окружной - ножа. И все равно, ну да ладно..
P.S.
Я даже не понимаю в чем проблема у Вас. Надо обеспечить равенство скоростей полотна (линейная) и ножа (окружная) и обеспечить это равенство до следующей встречи полотна и ножа.
С управлением полотном, все в порядке, я так полагаю. А вот динамика вращения ножа - да, здесь надо изучать процесс резания и потери момента вращения.
В общем, обычная САУ с возмущением по моменту нагрузки.
Daedal07
Цитата(TSerg @ Mar 27 2017, 21:56) *
Физика, начиная со школы. Я не шучу.

даже немного заводит такая фраза. Что именно указывает на то, что я её не знаю?
Физика была использована, ровно до момента интервала регулировки сплошная физика школьного курса.
Надо же было как-то время простоя ножа рассчитывать.
Да и, к тому же, при определённых длинах реза, нож и останавливается вовсе, а только замедляется.
Цитата(TSerg @ Mar 27 2017, 21:56) *
Знаете, что такое относительное движение? Это тоже из курса физики средней школы.
Так вот, если лист и нож двигаются с одной скоростью (линейной), то они неподвижны др. относительно друга.

Так вот Вы о чём!
Я Вам так скажу, что так резать не надо, лучше резать со скорость ножа чуть больше чем скорость полотна. Это из практики. И не важно сейчас.
математика( да, и физика!) алгоритма под это дело готовы и отлажены.
Цитата(TSerg @ Mar 27 2017, 21:56) *
Потом, да - нож возвращается обратно и опять прямо, для следующего реза.
Вращение ножа требуется только для резки.

Именно. Я обратного и не говорил.

Цитата(TSerg @ Mar 27 2017, 21:56) *
Она некорректна, в общем случае, если полотно детали и нож движутся с постоянной скоростью, т.к. момент реза - это не меч Дарта.
Все зависит от соотношения скоростей: линейной - детали и окружной - ножа. И все равно, ну да ладно..

Я в первом посте нарисовал в каком режиме у меня нож работает, там и намёка нет о том, что нож движется с постоянной скоростью. Там явно указана пауза, т.е. нож стоит.
Что значит:
Цитата(TSerg @ Mar 27 2017, 21:56) *
И все равно, ну да ладно..

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

P.P.S.
Поскольку рубку (усилия и пр) посчитать довольно тяжело, то для понимания динамики объекта управления ( это Ваш нож и цилиндр), необходимо снять динамические характеристики.
Вращение ножа с требуемой скоростью на выбеге, встреча с нагрузкой, выбег после нагрузки.
Ну и еще, ессно - все параметры (диаметр, момент инерции, скорости, толщины материалов).
Это и есть изучение объекта управления и нагрузки.
Daedal07
Цитата(TSerg @ Mar 27 2017, 22:18) *
Все от того, что Вы сразу не привели схему Вашей кинематики.
В моих реализациях были разные схемы.
Изначально я понял, что раскрой материала идет как разрез (типа болгарки), а не как рубка.

laughing.gif

Бывает. Сложно представить, зачем в таком резе ПИД- регулятор и останов ножа, но это не важно. Схему, конечно, лучше давать сразу.

Цитата(TSerg @ Mar 27 2017, 22:18) *
Еще вопрос - скорость полотна не управляема?

Управляется оператором в ручном режиме. Больше никак пока не управляется.
Насколько я понимаю, этого здесь и не требуется.
TSerg
Цитата(Daedal07 @ Mar 27 2017, 22:25) *
Управляется оператором в ручном режиме. Больше никак пока не управляется.
Насколько я понимаю, этого здесь и не требуется.

Не факт, ну да ладно.
Теперь поясните - зачем останов вращения ножа? Очень энергетически не выгодна такая схема рубки.
Daedal07
Цитата(TSerg @ Mar 27 2017, 22:37) *
Не факт, ну да ладно.
Теперь поясните - зачем останов вращения ножа? Очень энергетически не выгодна такая схема рубки.


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

Я уже писал, что в зависимости от длины реза и скорости полотна, нож может и не остановиться полностью, а лишь замедлиться.

Режим с постоянной средней скоростью реза, возможно, будет реализован для случаев, когда скорость полотна высокая, а длина реза маленькая, а именно меньше длины оборота ножа.
В этом случае и скорость ножа в точке реза будет больше, чем скорость полотна, и ПИД-регулятор будет работать уже на всём обороте.
TSerg
Я, конечно, всех условий работы этой резательной машины не знаю, но я бы так не делал, это точно.
Толщины реза какие? Скорости движения полотна?
Daedal07
Цитата(TSerg @ Mar 27 2017, 22:50) *
Я, конечно, всех условий работы этой резательной машины не знаю, но я бы так не делал, это точно.
Толщины реза какие? Скорости движения полотна?


Толщина 2-3 мм. Скорость полотна до 60 м/мин.

Кхм.. а ПИД-регулятор сегодня настраивать будем? biggrin.gif

Шутю. Чего читать-то по теории и по практике?
Как определить, какая модель?
Как снять отклик в условиях работы ПИД в конце оборота? И что будет откликом в моём случае?
Можно ли сделать, как уже писал два раза касательно метода Циглера–Никольса? Т.е. вращать нож с постоянной скоростью и измерить колебания в режиме П-регулятора?
TSerg
Цитата(Daedal07 @ Mar 27 2017, 22:59) *
Толщина 2-3 мм. Скорость полотна до 60 м/мин.
Кхм.. а ПИД-регулятор сегодня настраивать будем?

Вы - сильно спешите, а в спешке, все как обычно - смехота получается.

Сделайте замеры динамики реза неподвижного полотна.
Т.е. разгоняем цилиндр с ножом на один оборот и рубим материал.
Регистрируем циклограмму: разгон, рубка и выбег (отключаем напряжение в момент макс. тока).
Параметры для измерения: угловая скорость, ток (момент).
Daedal07
Цитата(TSerg @ Mar 27 2017, 23:06) *
Вы - сильно спешите, а в спешке, все как обычно - смехота получается.

Сделайте замеры динамики реза неподвижного полотна.
Т.е. разгоняем цилиндр с ножом на один оборот и рубим материал.
Регистрируем циклограмму: разгон, рубка и выбег (снимаем напряжение в момент макс. тока).


Напряжение с выхода привода постоянного тока(стоит после контроллера с ПИД-регулятором), который выдаёт ток на двигатель, правильно я понимаю?

После того, как рез совершён, останавливать нож плавно или просто снимать управляющее напряжение, подаваемое с контроллера на привод?
AlexandrY
Цитата(Daedal07 @ Mar 27 2017, 18:17) *
Я пока не понял, как по уму ПИД настраивается, но после определения воздействия и отклика, думаю, тулза матлаба мне поможет. С Вашей помощью, конечно.)


В идеале воздействие - крутящий момент двигателя.
Отклик - это угловая скорость ножа.

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

Т.е. для Matlab-а вам придется давать данные вида: напряжение на двигателе - угловая скорость двигателя.

Крутящий момент от напряжения зависит нелинено.
Короче, на самом деле ваша желаемая модель напряжение на двигателе - угловая скорость ножа не может быть описана простыми рациональными дробями в s-области.
И Matlab со своими линейными моделями это только жалкое подражание реальному миру.
Поэтом не заморачивайтесь на порядке модели, берите минимальный начиная с 2-х, приближающийся по соответствию к 70%
После тюнинга PID-а будете иметь коэффициенты хотя бы тех же порядков что и искомые.
Но дальше ручками или автоматизированным поиском на живом объекте.

TSerg
Цитата(Daedal07 @ Mar 27 2017, 23:15) *
Напряжение с выхода привода постоянного тока(стоит после контроллера с ПИД-регулятором), который выдаёт ток на двигатель, правильно я понимаю?
После того, как рез совершён, останавливать нож плавно или просто снимать управляющее напряжение, подаваемое с контроллера на привод?

Регистрируем: напряжение, ток, обороты, т.е. снимаем электрические и механические параметры с частотой 1:100 к частоте переходных процессов;
- разгоняем объект с номинальным ускорением
- в момент рубки возникает рубящий момент, ему соответствует макс. ток;
- в момент макс. тока отключаем напряжение с движителя полностью и регистрируем выбег (обороты - время.).
Остатки полотна убрать, дабы не было лишнего торможения.

Цитата(AlexandrY @ Mar 27 2017, 23:31) *
Крутящий момент от напряжения зависит нелинено.

Лександро, ну хватит уже мальчику мозги полоскать.

P.S.
Да, кстати - что за движок(и)?
Daedal07
Цитата(AlexandrY @ Mar 27 2017, 23:31) *
В идеале воздействие - крутящий момент двигателя.
Отклик - это угловая скорость ножа.

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


Угловую скорость ножа я могу измерить, я ведь знаю передаточное число для энкодера. На кинематической схеме показано К = 5.

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

Цитата(AlexandrY @ Mar 27 2017, 23:31) *
Т.е. для Matlab-а вам придется давать данные вида: напряжение на двигателе - угловая скорость двигателя.

Вроде бы понятно.
Цитата(AlexandrY @ Mar 27 2017, 23:31) *
Крутящий момент от напряжения зависит нелинено.

Про это уже успел узнать, спасибо.
Цитата(AlexandrY @ Mar 27 2017, 23:31) *
Короче, на самом деле ваша желаемая модель напряжение на двигателе - угловая скорость ножа не может быть описана простыми рациональными дробями в s-области.
И Matlab со своими линейными моделями это только жалкое подражание реальному миру.
Поэтом не заморачивайтесь на порядке модели, берите минимальный начиная с 2-х, приближающийся по соответствию к 70%
После тюнинга PID-а будете иметь коэффициенты хотя бы тех же порядков что и искомые.
Но дальше ручками или автоматизированным поиском на живом объекте.

Спасибо за ценную информацию.
Пошёл искать, как эта модель выглядит.))
Книги по ПИД с закромов скачал, тем более уже.

Цитата(TSerg @ Mar 27 2017, 23:41) *
Регистрируем: напряжение, ток, обороты, т.е. снимаем электрические и механические параметры с частотой 1:100 к частоте переходных процессов;
- разгоняем объект с номинальным ускорением
- в момент рубки возникает рубящий момент, ему соответствует макс. ток;
- в момент макс. тока отключаем напряжение с движителя полностью и регистрируем выбег (обороты - время.).
Остатки полотна убрать, дабы не было лишнего торможения.

Спасибо! Завтра постараюсь провести замеры.
Цитата(TSerg @ Mar 27 2017, 23:41) *
Лександро, ну хватит уже мальчику мозги полоскать.

Я уж думал не будет "мальчиков" и т.д. Ничего, расти не страшно. rolleyes.gif
Цитата(TSerg @ Mar 27 2017, 23:41) *
P.S.
Да, кстати - что за движок(и)?

Посмотрю шильдик завтра.


TSerg
Цитата(Daedal07 @ Mar 28 2017, 00:13) *
Я уж думал не будет "мальчиков" и т.д. Ничего, расти не страшно. rolleyes.gif

Не обижайся.. Это отношение, как учителя к ученику.
Daedal07
Цитата(TSerg @ Mar 28 2017, 00:45) *
Не обижайся.. Это отношение, как учителя к ученику.

Без проблем. Не обижаюсь.

Завтра отпишусь по результатам измерений.
TSerg
Цитата(Daedal07 @ Mar 28 2017, 00:54) *
Завтра отпишусь по результатам измерений.

Ок.
P.S.
Потом займемся моделью объекта.
Daedal07
Цитата(TSerg @ Mar 27 2017, 23:41) *
Регистрируем: напряжение, ток, обороты, т.е. снимаем электрические и механические параметры с частотой 1:100 к частоте переходных процессов;
- разгоняем объект с номинальным ускорением
- в момент рубки возникает рубящий момент, ему соответствует макс. ток;
- в момент макс. тока отключаем напряжение с движителя полностью и регистрируем выбег (обороты - время.).
Остатки полотна убрать, дабы не было лишнего торможения.

Да, кстати - что за движок(и)?


Измерил выбег:
13 градусов или 35мм хода.
Время останова 0,4 секунды.

Фото шильдика прикрепил.

Вопрос по поводу напряжения и тока:
Поскольку я не напрямую управляю двигателем, а управляю приводом постоянного тока, то может нам нужно снимать зависимость поданного напряжения на вход привода, а не напряжение и ток, подаваемые на сам двигатель?

Частоту переходных процессов я тоже не знаю.

Что мне делать дальше?
Книги я читаю, но за сегодня озарения не нашло.
AlexandrY
Цитата(Daedal07 @ Mar 28 2017, 23:14) *
Что мне делать дальше?
Книги я читаю, но за сегодня озарения не нашло.


Тратите время не на то. Ваша модель нелинейна и стохастична.
Вы её просто не построите в аналитическом виде и не получите хорошую оценку в линейном виде. Их никто не строит.

Мне еще не попадались книги где бы могли построить модель для целого агрегата учитывая и его электрический регулятор и кинематику и все эффекты в виде люфтов, гистерезисов, трения старта и проч.
Максимум что могут это изобразить модель отдельного мотора, да и то с кучей ограничений.

Лучше давайте вместе курить сравнительно новое направление - "Active Disturbance Rejection Control"
Вот вводная статья - Нажмите для просмотра прикрепленного файла, там найдете и ответ почему PID это зло.
Daedal07
Цитата(AlexandrY @ Mar 27 2017, 23:31) *
В идеале воздействие - крутящий момент двигателя.
Отклик - это угловая скорость ножа.
...
Т.е. для Matlab-а вам придется давать данные вида: напряжение на двигателе - угловая скорость двигателя.
...
Но дальше ручками или автоматизированным поиском на живом объекте.


Уточните, пожалуйста, по поводу данных для матлаба:

Почему нужно давать напряжение на двигателе?
Между мной и двигателем стоит чёрный ящик - привод постоянного тока. Он напряжение на двигатель выдаёт, я могу управлять этим процессов опосредованно, подавая на привод напряжение с ЦАП контроллера с ПИД.

Почему в матлаб нельзя подать это напряжение в качестве входного воздействия?
Зависимость напряжение/угловая скорость мне известна, я пользуюсь ей, когда управляю напряжением до интервала регулировки.
Tanya
Цитата(Daedal07 @ Mar 29 2017, 09:29) *
Между мной и двигателем стоит чёрный ящик - привод постоянного тока. Он напряжение на двигатель выдаёт, я могу управлять этим процессов опосредованно, подавая на привод напряжение с ЦАП контроллера с ПИД.

Почему в матлаб нельзя подать это напряжение в качестве входного воздействия?
Зависимость напряжение/угловая скорость мне известна, я пользуюсь ей, когда управляю напряжением до интервала регулировки.

Трудно управлять ящиком, если он черный.
Двигателем нужно управлять током, а не напряжением.
Daedal07
Цитата(Tanya @ Mar 29 2017, 10:50) *
Трудно управлять ящиком, если он черный.
Двигателем нужно управлять током, а не напряжением.


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

Справедливо ли в моём случае утверждать, что объектом управления является не связка двигатель+нож, а связка двигатель+нож+привод?
В этом случае я знаю, что подаётся на вход и что получается на выходе объекта управления.

Татьяна, я Вас сильно раздражаю?
Tanya
Цитата(Daedal07 @ Mar 29 2017, 11:15) *
Ящиком управлять не надо, я ведь знаю, как он себя ведёт.
Двигатель управляется током. Постоянным током, который выдаёт чёрный ящик.

Справедливо ли в моём случае утверждать, что объектом управления является не связка двигатель+нож, а связка двигатель+нож+привод?
В этом случае я знаю, что подаётся на вход и что получается на выходе объекта управления.

Татьяна, я Вас сильно раздражаю?

Если Вам кажется, что Вы знаете, как он себя ведет, то ящик не должен казаться Вам черным.
Если Вы не захотите разобраться, как работает ящик и как работает мотор (уравнения...), то будете меня сильно раздражать, если Вы этого сильно захотите.
AlexandrY
Цитата(Daedal07 @ Mar 29 2017, 11:15) *
Справедливо ли в моём случае утверждать, что объектом управления является не связка двигатель+нож, а связка двигатель+нож+привод?
В этом случае я знаю, что подаётся на вход и что получается на выходе объекта управления.


Что то не верится что ваш ящик на выходе дает мгновенно то что имеет на входе.
У него самого внутри PID скорее всего.

Поэтому объектом управления является связка ящик-мотор-кинематика-нож
Daedal07
Цитата(AlexandrY @ Mar 29 2017, 11:42) *
Что то не верится что ваш ящик на выходе дает мгновенно то что имеет на входе.
У него самого внутри PID скорее всего.
Поэтому объектом управления является связка ящик-мотор-кинематика-нож

Нет, не мгновенно, конечно. Но и не корректирует то, что ему дали на вход.
У него есть внутри PI, но он отключен. Обратной связи никакой нет к приводу.
Контур управления идёт через внешний контроллер.
Цитата(AlexandrY @ Mar 29 2017, 11:42) *
Поэтому объектом управления является связка ящик-мотор-кинематика-нож

За кинематику отвечает ящик.
Он компенсирует нелинейность зависимости тока и момента,чтобы входное напряжение и выходная скорость имели линейную зависимость.
Внутри привода есть коррекция нелинейности.
Зачем мне в этом случае знать поведение связки привод-мотор, если я знаю поведение вход привода-скорость мотора?
Цитата(Tanya @ Mar 29 2017, 11:38) *
Если Вам кажется, что Вы знаете, как он себя ведет, то ящик не должен казаться Вам черным.
Если Вы не захотите разобраться, как работает ящик и как работает мотор (уравнения...), то будете меня сильно раздражать, если Вы этого сильно захотите.

Я хочу разобраться, но перед тем, как сесть за формулы я хочу понять физический смысл происходящего.
Раздражать Вас не хочу совсем.
Чувствуется, что Вы, перелопатив много книг и уравнений и решавшие точно такую же задачу, даже не намекаете как к ней подступиться.
Я ведь задаю вопросы, пытаюсь для себя выстроить картину в голове, а мне говорят общую фразу про школьную физику и про то, что я не знаю, как работает мотор.
Я бы рад Вам денег предложить, но у меня их нет.
Tanya
Цитата(Daedal07 @ Mar 29 2017, 12:38) *
Я хочу разобраться, но перед тем, как сесть за формулы я хочу понять физический смысл происходящего.


Чувствуется, что Вы, перелопатив много книг и уравнений и решавшие точно такую же задачу, даже не намекаете как к ней подступиться.

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

Еще как намекаю - про уравнения и физику. И продолжаю намекать на это.
Все, что Вы написали, кроме выделенной фразы ужасно неправильно. И только эта фраза ужасно правильная.
Только физика в данном случае описывается дифференциальными уравнениями.
AlexandrY
Цитата(Daedal07 @ Mar 29 2017, 12:38) *
Нет, не мгновенно, конечно. Но и не корректирует то, что ему дали на вход.


Значит есть таки запаздывание.
А еще есть просадка сетевого напряжения, которая не компенсируется, раз в вашем ящике отключен PID.
Откуда информация, кстати, что там PI? Сами ящик делали? Или просто играете терминами?
Daedal07
Цитата(AlexandrY @ Mar 29 2017, 13:11) *
Значит есть таки запаздывание.
А еще есть просадка сетевого напряжения, которая не компенсируется, раз в вашем ящике отключен PID.
Откуда информация, кстати, что там PI? Сами ящик делали? Или просто играете терминами?


Ящик делал не сам. Смотрел в меню, но ошибся, там, действительно, PID.
PI я увидел в блок-схеме частной реализации PID в качестве примера настроек в документации.

Не настолько всё плохо у меня, что я не знаю отличий PI и PID и решил поиграть словами.
AlexandrY
Цитата(Daedal07 @ Mar 29 2017, 13:27) *
Ящик делал не сам. Смотрел в меню, но ошибся, там, действительно, PID.
PI я увидел в блок-схеме частной реализации PID в качестве примера настроек в документации.

Не настолько всё плохо у меня, что я не знаю отличий PI и PID и решил поиграть словами.

Так у этого ящика еще и меню есть.
И вы хотите убедить что такое устройство для движка мощность 22 кВт имеет вот только тот PID который вы отключили в меню?
Во всех частотниках есть такая вещь, как пользовательский PID, но кроме него там еще неизвестное количество регулируемых контуров и фильтров.

Ящик - самая нелинейная вещь во всей вашей цепочке.
Daedal07
Цитата(AlexandrY @ Mar 29 2017, 13:43) *
Так у этого ящика еще и меню есть.
И вы хотите убедить что такое устройство для движка мощность 22 кВт имеет вот только тот PID который вы отключили в меню?
Во всех частотниках есть такая вещь, как пользовательский PID, но кроме него там еще неизвестное количество регулируемых контуров и фильтров.

Ящик - самая нелинейная вещь во всей вашей цепочке.


Я не отключал, отключал не я. И всё работает, никто и не думает включать и, вообще, в меню ни разу не заходили до меня..

Пусть ящик самая нелинейная вещь, но я знаю зависимость вход ящика(напряжение) - скорость двигателя. Что мне дело до кишков ящика?
AlexandrY
Цитата(Daedal07 @ Mar 29 2017, 13:49) *
Я не отключал, отключал не я. И всё работает, никто и не думает включать и, вообще, в меню ни разу не заходили до меня..

Пусть ящик самая нелинейная вещь, но я знаю зависимость вход ящика(напряжение) - скорость двигателя. Что мне дело до кишков ящика?

Т.е. подали ступеньку на вход и имеете осциллограмму выходного напряжения?
И оно прямо такое линейное и красивое, без всякого ШИМ-а и переходных процессов?
Tanya
Цитата(Daedal07 @ Mar 29 2017, 13:49) *
Пусть ящик самая нелинейная вещь, но я знаю зависимость вход ящика(напряжение) - скорость двигателя. Что мне дело до кишков ящика?

Этого не бывает... Можете построить зависимость
положение педали - скорость автомобиля?
Вот иногда одну педаль в автомобиле называют акселератор...
Daedal07
В контуре Привод - Двигатель обнаружился тахогенератор.

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

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

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

Цитата(Tanya @ Mar 29 2017, 13:53) *
Этого не бывает... Можете построить зависимость
положение педали - скорость автомобиля?
Вот иногда одну педаль в автомобиле называют акселератор...

Не могу.
TSerg
Цитата(Daedal07 @ Mar 29 2017, 15:15) *
В контуре Привод - Двигатель обнаружился тахогенератор.
..
Не могу.

Тогда вообще все плохо.
И не сможете.
Daedal07
Цитата(TSerg @ Mar 29 2017, 15:23) *
Тогда вообще все плохо.
И не сможете.


Почему?
TSerg
Цитата(Daedal07 @ Mar 29 2017, 15:27) *
Почему?

Ни один специалист, в здравом уме и не в подпитии, не возьмется за реализацию своей САУ над чужой САУ, если последняя представлена как "черный ящик".
Чтобы что-то начать понимать - надо раскрыть "черный ящик", т.е. получить передаточную функцию во всех режимах.
Такое еще возможно для чисто аналоговой линейной системы, но для цифровой, для которой неизвестен алгоритм ее работы - это почти нонсенс.
Или очень большая работа по ее изучению.
P.S.
Короче - приглашайте спеш-ов.
Может что-то у Вас и получится, но - случайно и как выйдет.

P.P.S.
Я-то думал, что с нуля все создается и есть возможность описания и ОУ, нагрузки, циклограммы, питания и проектирования своей САУ.
А, этот винегрет.. да, но за большие деньги.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.