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

На первом месте у меня сейчас практика.
Остальное после, но обязательно нужно будет это сделать.

Решила тоже добавить своего тумана в эту вечнозеленую ветку.
Ускорение ограничивается Вашим черным ящиком, что описано в описании. Однако неплохо его ограничить и программно, чтобы ящик работал более предсказуемо.
На первом месте все-таки должна быть теория. Раз Вы ее так ненавидите, немного напишу про нее или него (ПИДа) в первом приближении.
Начнем плясать от печки - это у меня любимая тема...
Рассмотрим простейший случай - греем проволочку, которая является термометром.
Известно, что ПИД хорошо работает (может и должен при правильной настройке) для печек. Как же он работает?
Правильно сделанный регулятор выдает мощность на нагреватель-датчик. которая есть сумма трех членов - П, И и Д. При этом получается, что производная по времени от температуры пропорциональна мощности (туда входит и отдаваемая мощность с обратным знаком). Если продифференцировать полученное уравнение то получится -
вторая производная от температуры, умноженная на теплоемкость равна П-коэффициент, умноженный на производную от температуры, плюс И-коэффициент, умноженный на разбаланс, плюс Д-коэффициент, умноженный на вторую производную от температуры.
Что мы видим... Мы видим уравнение осциллятора (грузик на пружинке), где пружинкой является (Сюрприз!) интегральный член, а пропорциональный член играет роль трения - тоже сюрприз? Зато понятно становится, что чисто интегральный регулятор должен создавать колебания, поэтому добавлено трение. Фазовая траектория при этом из эллипса превращается в спираль и приводит систему в нулевую точку... А что же тогда делает дифференциальный член? Опять сюрприз - он увеличивает теплоемкость. Все это справедливо, если мы регулируем температуру. Если бы мы поддерживали скорость (хотели бы), смысл этих членов был бы уже другой.
А каким боком тут печка? Нам же нужен моторчик.
Так вот моторчик ничем (почти) от печки не отличается, если управлять его скоростью, задавая ток. Вместо теплоемкости - приведенный момент инерции, а вместо температуры - угловая скорость.
Можно рассматривать вместо моторчика конденсатор с последовательным и параллельным резисторами. Напряжение конденсатора играет роль скорости.
Что касается Вашей конкретной задачи, то тут мне видится уместным применить разгон по программе, корректируемой немного - получится некоторый вариант теории возмущений.
Daedal07
Цитата(Tanya @ Apr 12 2017, 12:25) *
Что касается Вашей конкретной задачи, то тут мне видится уместным применить разгон по программе, корректируемой немного - получится некоторый вариант теории возмущений.

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

Пока тесты не провёл, добавить нечего.

Спасибо за пример с аналогиями.
@Ark
Цитата(somebody111 @ Apr 11 2017, 23:49) *
... в момент резкого останова там будет развиваться колебательный процесс, который люфт подхватит и позиционирования не будет хоть с ПИД, хоть с самым крутым нейронечетким ПИД-там нужно будет строить не модель двигателя в матлабе, а модель двухмассовой упруго-люфтовой системе, где еще жесткость передачи надо считать...ну она от 10^4 до 10^9.

В данной конкретной задаче, опасность возникновения колебаний теоретически есть - после того, как нож встретиться с полотном. Это, по сути, ударное воздействие на систему. Если бы ТС резал металл, то с последствиями такого воздействия нужно было бы как-то бороться. Но, как выяснилось, он режет картон. Поэтому - вряд ли что-то будет... Если только сами не "раскачаете" систему неудачным управлением, случайно попав в один из ее собственных механических резонансов.
Daedal07
Цитата(@Ark @ Apr 12 2017, 15:02) *
В данной конкретной задаче, опасность возникновения колебаний теоретически есть - после того, как нож встретиться с полотном. Это, по сути, ударное воздействие на систему. Если бы ТС резал металл, то с последствиями такого воздействия нужно было бы как-то бороться. Но, как выяснилось, он режет картон. Поэтому - вряд ли что-то будет... Если только сами не "раскачаете" систему неудачным управлением, случайно попав в один из ее собственных механических резонансов.

Если бы я резал метал по имеющемуся алгоритму, то не было бы, т.к после реза идёт этап замедления скорости до нуля или иного значения. А на этом этапе нет регулятора.
AlexandrY
Цитата(Daedal07 @ Apr 12 2017, 12:58) *
Сейчас разгон по программе есть, никаких ступенчатых подач напряжения на привод нет.

Смотрите, я сравнил управление по вашему сигналу и управление по чистой рампе.
Управление по рампе дало в 3-и раза более точную конечную установку скорости.
В обоих моделях PID контроллеры одинаковые.
Модель системы я взял со своего объекта.
У меня сейчас решается похожая задача подвода рычага в определенное место с определенной скоростью.
Только редуктор зубчатый, но упругость все равно присутствует. Модель была идентифицирована в Matlab-е.
Но что интересно, с вашим сигналом вы будете иметь постоянный недобор скорости на ноже т.е. координата ножа уйдет очень далеко.
А с рампой благодаря осцилляции координата будет точнее отслеживаться.
Нажмите для просмотра прикрепленного файла

Вычисления с типом single, обратите внимание. Это чтобы быть совместимыми с вашим микроконтроллером.
У вас же надеюсь ARM Cortex
@Ark
Цитата(Daedal07 @ Apr 12 2017, 15:33) *
.... на этом этапе нет регулятора.

"Раскачать" Вы можете и без удара, уже на этапе регулирования. Если очень не повезет...

Daedal07
Цитата(AlexandrY @ Apr 12 2017, 15:40) *
Смотрите, я сравнил управление по вашему сигналу и управление по чистой рампе.
Управление по рампе дало в 3-и раза более точную конечную установку скорости.
В обоих моделях PID контроллеры одинаковые.
Модель системы я взял со своего объекта.
У меня сейчас решается похожая задача подвода рычага в определенное место с определенной скоростью.
Только редуктор зубчатый, но упругость все равно присутствует. Модель была идентифицирована в Matlab-е.
Но что интересно, с вашим сигналом вы будете иметь постоянный недобор скорости на ноже т.е. координата ножа уйдет очень далеко.
А с рампой благодаря осцилляции координата будет точнее отслеживаться.
Нажмите для просмотра прикрепленного файла


Я сигнал своего управления нигде не приводил.
Я приводил реакцию на ступеньку.
У меня такой же как у Вас сигнал - рампа.
AlexandrY
Цитата(Daedal07 @ Apr 12 2017, 15:53) *
Я сигнал своего управления нигде не приводил.
Я приводил реакцию на ступеньку.
У меня такой же как у Вас сигнал - рампа.

Нет, рампа у вас перед этапом стабилизации скорости, а потом вы стабилизируете скорость которая остается у вас постоянной.
Либо рисунок в вашем первом посте вводит в заблуждение.
Daedal07
Цитата(AlexandrY @ Apr 12 2017, 16:01) *
Нет, рампа у вас перед этапом стабилизации скорости, а потом вы стабилизируете скорость которая остается у вас постоянной.
Либо рисунок в вашем первом посте вводит в заблуждение.

Да, верно, не то я сказал.

Я поправил, чтобы регулировка была на разгоне, ограниченная ускорением рампы, но не проверил ещё.
AlexandrY
Цитата(Daedal07 @ Apr 12 2017, 16:07) *
Я поправил, чтобы регулировка была на разгоне, ограниченная ускорением рампы, но не проверил ещё.

Интегратор после ПИДа надеюсь не забыли добавить для астатизма 2-го порядка.
Вот ссылка на мою модель
somebody111
1.Как вы собрались регулировать 10 мс тиристорным выпрямителем, если частота сети 50Гц(20мс) и среднее напряжение на выходе он физически быстрее не сделает.Вы это учли?Ткнитесь осциллографом на выход тир.выпр.Видите бульки?Одна булька-это один тиристор.Когда 6 булек увидите,, тогда и будет минимальное время регулирования для тир. выпрямителя.Если реально(а я в это не верю) нужно быстродействие, то надо делать транзисторный, а не тиристорный преобразователь-ШИМ проще говоря.

Закрываю глаза на реакцию системы управления-там хорошие фильтра в обратной связи стоят.Или у вас там сеть не 50Гц
2.Не будет проблем с мягкой характеристикой с позиционированием, потому что нагрузки не будет
3.Моторчик и печка-не одно и тоже.Температура меняется медленно и производная для таких задач считается. В моторчика, как вы выразились, процессы протекают на несколько порядков быстрее и просто производную нормально не посчитать без крутого фильтра, который сводит идею с Д к нулю
4.Свое решение я предложил, больше ничего писать не буду.Захотите все же сделать -пишите в личку
5.Астатизм 2 порядка?Не хотите 3-в черном ящике ПИ-регулятор тока.Про устойчивость надо говорить?
Gruffly
Цитата(somebody111 @ Apr 12 2017, 20:32) *
Как вы собрались регулировать 10 мс тиристорным выпрямителем, если частота сети 50Гц(20мс)

У ТС трехфазный 6-ти пульсный выпрямитель (тир. регулятор)
ПФ звена запаздывания: W(p) = e^(-p*T);
Транспортное запаздывание T = (0.25/f)*(2/m+1);
m - число пульсаций на период.
Для 3-х фаз и 6-пульс T = 6.7 ms.
ПФ может быть, в первом приближении, аппроксимирована апериодическим звеном.
W(p) = 1/(T*p+1).

P.S.
В целом, я согласен, что для MCU timestep = 10 ms - это уже за гранью фола.
Также согласен, что без установки валкодера на барабан с ножом - это размахивание дубиной в тумане.
AlexandrY
Цитата(somebody111 @ Apr 12 2017, 23:32) *
1.Как вы собрались регулировать 10 мс тиристорным выпрямителем, если частота сети 50Гц(20мс) и среднее напряжение на выходе он физически быстрее не сделает.Вы это учли?

Да не переживайте так.
Такт регулирования там 3.3 мс
Я как то раз сделал вот такую плату для тиристорного регулирования скорости 3-х фазных асинхронных движков.
Нажмите для просмотра прикрепленного файла
И удалось же. Работают теперь по всему миру.
somebody111
Бррр. Указанное быстродействие работает на одну "бульку" из шести.Всего булек 6.Вы СИФУ по другому не сделаете-нельзя одну бульку сделать поменьше, а другие побольше в системе управления.При аналоговой реализации СИФУ, там каждая пара тиристоров синхронизировать с сетью и большая беда была в сетях даже с небольшой ассиметрией. В цифровых СИФУ сейчас импульс кидается на один тиристор и по таблице через таймеры на все остальные.Т.е. управление идет по первой бульке.Если , к примеру, на 4 бульке придет смена сигнала задания на угол отпирания, они его проигнорировать, пока не дойдет очередь до первого тиристора
AlexandrY
Цитата(Gruffly @ Apr 13 2017, 00:05) *
ПФ может быть, в первом приближении, аппроксимирована апериодическим звеном.
W(p) = 1/(T*p+1).

Каким образом тиристорный цифровой регулятор может превратится в аналоговое апериодическое звено?
Немного изучив литературу по цифровым регуляторам для двигателей можно даже придти к выводу что там используется не меньше 3-х PID-ов.
Один на предкоррекции уставки, один на управлении скоростью и один в управлении током. Откуда это может стать апериодическим звеном?

Лучше сконцентрироваться на структуре PID-а в контроллере. Я бы предложил PID не с 3-я параметрами а с 4-я как на рисунке:
Нажмите для просмотра прикрепленного файла
somebody111
Все он правильно сказал-до 1 приближении -апериодическое звено. Вы дали задание,а среднее напряжение плавно нарастает.Какие еще 3 пида?Вы Посчитайте обратные связи, а не прямую ветвь.Пример: интегратор с обратной связью -это периодическое звено,а не интегратор
AlexandrY
Цитата(somebody111 @ Apr 13 2017, 14:05) *
В цифровых СИФУ сейчас импульс кидается на один тиристор и по таблице через таймеры на все остальные.Т.е. управление идет по первой бульке.Если ,

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

Цитата(somebody111 @ Apr 13 2017, 14:10) *
Все он правильно сказал-до 1 приближении -апериодическое звено. Вы дали задание,а среднее напряжение плавно нарастает.Какие еще 3 пида?Вы Посчитайте обратные связи, а не прямую ветвь.Пример: интегратор с обратной связью -это периодическое звено,а не интегратор

Это иллюзия. Вы видите грубые графики, на них толщина линии больше чем уровень ошибки которую автору надо подавить.
3 PID-а дадут систему не меньше 3-го порядка. У вас нет никаких обоснований применять некие первые приближения при точности о которой идет речь.

А реакция на ступеньку которую привел TC является простой отработкой S-кривой. Она не имеет никакого отношения к переходной характеристике.
Tanya
Цитата(somebody111 @ Apr 13 2017, 14:05) *
.Если , к примеру, на 4 бульке придет смена сигнала задания на угол отпирания, они его проигнорировать, пока не дойдет очередь до первого тиристора

Это неизвестно, как работает система у ТС. Тут нужно провести эксперимент - узнать минимальный квант приращения скорости (или смещения) при подаче короткого импульса управления.
Еще замечу, что неясно, что нужно попасть на траекторию, а затем удерживать постоянную скорость, считая, что скорость подачи не меняется.
Для ТС добавлю к своим соображениям. Если считать, что скорость поддерживается идеально по управляющему сигналу, то температурой в таком случае является перемещение.
AlexandrY
Цитата(Tanya @ Apr 13 2017, 14:23) *
Это неизвестно, как работает система у ТС. ... то температурой в таком случае является перемещение.

Думается мне Таня, вы не можете адекватно проводить аналогии между механикой и тепловыми системами поскольку у вас нет аналога такой вещи как упругость.
А у TC упругость самый коварный элемент.

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

ADRC- вот в чем сила!
Tanya
Цитата(AlexandrY @ Apr 13 2017, 14:34) *
Думается мне Таня, вы не можете адекватно проводить аналогии между механикой и тепловыми системами поскольку у вас нет аналога такой вещи как упругость.
А у TC упругость самый коварный элемент.

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

ADRC- вот в чем сила!

Сила в правде. Думаю, что то, что крутит ТС достаточно массивная штука и высокочастотные компоненты не играют...
И в механике у меня тоже есть опыт. А в шаговых двигателях пружинка внутри сидит...
AlexandrY
Цитата(Tanya @ Apr 13 2017, 15:08) *
И в механике у меня тоже есть опыт.

Ну тогда помогите перевести термин аnti-windup , желательно одним словом.
Вот хочу дополнить свою модель PID-а такой штукой, но как ее называть не знаю.
Gruffly
Цитата(AlexandrY @ Apr 13 2017, 12:05) *
Каким образом тиристорный цифровой регулятор может превратится в аналоговое апериодическое звено?

Речь не о регуляторе, а о представлении тиристорного преобразователя (управляемого выпрямителя) эквивалентным звеном.
Регулятор же может быть сколь угодно сложным, в зависимости от задач.
ТП - это звено запаздывания или аппроксимация 1..3 апериодическими звеньями.
Нельзя ( в типовых схемах) переключить тиристор в произвольное время, пока ток не переключится на другую ветвь.
А переключается ток в соответствии с вышеприведенной задержкой 6.7 ms для 3-фазной шестипульсной схемой 50 Гц.
somebody111
Александр, вы делали трехфазный тиристорный электропривод или трехфазный тиристорный регулятор?Или вы как Татьяна, электромеханик к апериодическому звену приравнивается?Давайте так, я сейчас с командировки еду и ничего нормального сделать не могу, но по приезду выложу свою модель настоящего тиристорного выпрямителя с полноценным СИФУ(о котором вы говорили), в симулинке, по которой сделано ~20 устройств 40кВт, на каждое из которых мне пришлось ездить, потому что такая сифу боится коммутации немых провалов в слабых сетях.А взамен вы не будете отправлять сообщение в оффтоп, потому что оно будет длинным и с пояснениями, которые не соответствуют теме ТСа. Там же я приделаю рабочую модель движка, научу определять параметры, выстрою систему управления, а ТС обязуется честно выполнить эту бестолковую л/р и убедится, что настроить ПИ регулятор тока и ПИ-регулятор скорости вообще даже не задача и забудет о матлабе до конца жизни?)И вы, кстати тоже, будете делать эту лабу? А если понравится, там вам модель двухмассоаой системы, резонансов в которой вы так боитесь-я ее тоже делал и исследовал, по которой я даже диссертацию защищал в свое время.Даже так-вы вместе со всеми а советниками здесь поможете тсу определить параметры этой модели.Я так же обязуюсь выложить без обмана рабочую модель без обмана.
Яе говорю- очень много-много-много занимался моделированием в матлабе систем электроприводов, но когда появилась возможность воплощать их в жизнь, матлабоыские модели рассыпались Они не то, что неверные-концептуально они ок, но не учитывают всяких деталей типо помехи, провалы в сети, температурный дрейф, особенности программной реализации и пр.По модели кстати и можете проверить свои кривые разгона и торможения, но просто потеряете время-послушать меня и сделать вживую будет быстрее, чем плясать на граблях, на которых я когда-то сам плясао
--
Это не примитивная-это рабочая схема по принципу:воткнул один раз без наладки и все работает.И еще, и еще вам повторяю-в тиристорном выпрямителе регулируется среднее выпрямленное за период напряжение, а не мгновенное.Из-за этого в обратной связи(периодическое звено) там стоит фильтр на период 20-60мс.В матлабе можно меньше на порядок-там нет помех, вызванных влиянием коммутации тиристоров на источник питания системы управления
AlexandrY
Цитата(Gruffly @ Apr 13 2017, 18:20) *
Речь не о регуляторе, а о представлении тиристорного преобразователя (управляемого выпрямителя) эквивалентным звеном.
...
А переключается ток в соответствии с вышеприведенной задержкой 6.7 ms для 3-фазной шестипульсной схемой 50 Гц.

Неплохая мысль.
Значит ТС должен найти в меню своего регулятора переключение из режима стабилизации скорости в режим стабилизации момента.
И тогда у него привод превратится в звено первого порядка. И задача будет почти решена.
А такт регулирования все-таки будет 3.333 мс. Поделите для проверки 20мс на 6 пульсов. biggrin.gif

Цитата(somebody111 @ Apr 13 2017, 22:18) *
но по приезду выложу свою модель настоящего тиристорного выпрямителя с полноценным СИФУ(о котором вы говорили), в симулинке,
И еще, и еще вам повторяю-в тиристорном выпрямителе регулируется среднее выпрямленное за период напряжение, а не мгновенное.Из-за этого в обратной связи(периодическое звено) там стоит фильтр на период 20-60мс


Да эта модель у всех есть, просто видать у вас сложности с моделированием.
Нажмите для просмотра прикрепленного файла

Цитата(somebody111 @ Apr 13 2017, 22:18) *
В матлабе можно меньше на порядок-там нет помех, вызванных влиянием коммутации тиристоров на источник питания системы управления

А вот это забавно. Да действительно сложно сделать помехоустойчивое управление тиристорами с токами под сотню ампер.
На моей плате еще и контакторы стоят. Когда такой клацнет рядом с тиристором вам помехи от тиристоров покажутся детским лепетом.
Так что не надо мне про помехи, со всем можно справится.
somebody111
Ну вот о том я и говорю-для вас -это готовое изделие, черный ящик.Ну снимите переходную характеристику с этого демосовского примера-)
AlexandrY
Цитата(somebody111 @ Apr 13 2017, 23:11) *
Ну вот о том я и говорю-для вас -это готовое изделие, черный ящик.Ну снимите переходную характеристику с этого демосовского примера-)

Вам бы надо знать, что она там снята. Откройте этот пример и увидите.
somebody111
Не проблема-у меня 7кА стопор у мегаваттных двигателей.Думаете откуда такая самоуверенность по принципу воткнул и настроил?)Как решается проблема с помехами?Разводкой , развязкой и фильтрами.Что делают фильтра?Вводят фазовый сдвиг,т.е. задержку, конкретную задержку.Я вводил апериодические звенья с этими постоянными, делал медианные фильтры,скользящие усреднения, хороший ф.Баттерворта и и другие.Но в эквиваленте получается апериодические с 20-60мч как не крути. Другие разработчики очевидно не глупее меня и пришли к аналогичному результату другим способом. Ну потому что все устройства работают одинаково с небольшими вариациями.Что спорить-то, если устройство работает?)
Сделайте свою модель, которая заработает в вживую, а не ту, которую математик в голове рисовал)Я ей априори не верю-по ней что-нибудь работает?
somebody111
Ну что же...обещал-делаю, сами напросились. На Нажмите для просмотра прикрепленного файла представлены результаты моделирования работы шестипульсного тиристорного выпрямителя - реакция на изменение угла отпирания тиристоров. Как известно, задача тиристорного выпрямителя состоит в регулировании СРЕДНЕГО за период сети, а не мгновенного значения. 1:0 в мою пользу(сколько я вам булек обещал перед тем, как все изменится?)
Сравните полученную характеристику с характеристикой переходного процесса апериодического звена 2:0 в мою пользу (кто там про 2-3 пида говорил*).
На Нажмите для просмотра прикрепленного файла приведена диаграмма разгона двигателя с нуля при подаче ступенькой максимального напряжения питания. БЫСТРЕЕ не будет - я и так даю максимальное напряжение на якорь в обход всех обратных связей. Как вы наблюдаете, время разгона будет определяться приведенным моментом инерции в таких идеальных условиях. А теперь, сидя на диване, определите какой момент инерции механизма у ТСа - это невозможно предсказать в матлабе, потому что момент инерции - почти всего не измеряемая переменная на объекте 3:0 в мою пользу. Как вы видите, двигатель постоянного тока действительно апериодическое звено со входом напряжение и выходом скорость - в этом никто не сомневался 4:1.
Идем далее.
Давайте посмотрим величину якорного тока если делать по-матлабовски -Нажмите для просмотра прикрепленного файла3. Как вы наблюдаете, величина якорного тока при пуске 350А - в 7 раз больше номинального, т.е. если делать так реально, будет чччикккк пуууууш и вы отправляете двигатель на перемотку изоляции и моете шкаф, если не поставили подводящие провода с х10 запасом по току. Это обусловлено тем, что в силовых машинах низкое сопротивления якоря, в отличие от игрушечных моторчиков и печек, в момент пуска там только почти нулевое сопротивление ротора без противоЭДС. Поэтому все привода постоянного тока нормальной мощности не делаются с 1 регулятором - они делаются с подчиненным контуром тока, который его ограничивает. 5:1
Идем далее, проектирование системы управления с подчиненным регулированием координат. Задача любого регулятора - компенсировать наибольшие постоянные времени в системе, чтобы привести передаточную функцию замкнутой системы к желаемому виду. Начинаем с контура тока - в нем наибольшая постоянная времени - электическая 0.02с. Поэтому постоянная времени ПИ-регулятора тока 0.02с. А в качестве коэффициента усиления берем....ну пусть 1(мне так нравится) - Нажмите для просмотра прикрепленного файла(задание тока 50А). ООООЙ с 1 раза угадал (как так? Может повезло? Давай возьмем число 10 (смотрите на той же картинке другим цветом) ТОЖЕ САМОЕ? КАК ТАК?ПОЧЕМУ? Потому, что ПИ компенсировал постоянную времени контура тока и мы играем с коэффициентом передачи эквивалентного апериодического звена. Это робастный регулятор -ему пофиг на настройке. Перед заданием на регулятор поставим ограничитель на плюс минус 120А (50А номинал двигателя х2 он потерпит спокойно) - это чтобы максимальное задание тока было не более 120А. Обратите внимание на время нарастания тока - о каких там 6 мс шла речь о_0. 7:1 (+1 за настройку сложнейшего ПИ-регулятора тока и +1 за быстродействие контура тока). Идем дальше -главный контур управления. Сделаю как хотите - контур скорости, т.е. не датчик скорости будет, без о.с. по напряжению. Давайте вставим ПИ, но начнем с П, а И отключим.Поставим там коэффициент усиления П, равным 1 (ну лублю я один)- смотрим Нажмите для просмотра прикрепленного файла . Да ладно? Опять угадал? А посмотрим какой при этом токНажмите для просмотра прикрепленного файла.Ну вроде он ток ограничивает, но почему в начале нет? - А если к вам со спины подойти и дать ногой в зад, вы не начнете осцилировать? Надо плааавно сделать, введя апериодическое звено ~0.1 сек перед заданием на скорость (задатчик интенсивности) и посмотрим что получилось - (О ДААА, движок не сгорит под токами и все как надо ограничивает!!!). А знаете почему в игрушечных моторчиках так не делают? - Потому что там изоляция выдержит и 20 кратный ток, в силовых машинах уже начинают считать сколько это в тысячах. Какой там счёт? Я сбился...Хотите ПИ? Окай, вводим, но надо придумать постоянную времени регулятора, которой компенсировать наибольшую постоянную времени в контуре скорости...ну мы же сделали задатчик 0.1 сек. Почему бы и не 0.1 сек? Может прокатит?Смотрим рисунок 8 - быстро разогнался ффффууууув и стабилизировался - много, реальная постоянная времени системы больше, ставим 1(обожаю11111), а потом ....10. Да все ок, на объекте выбирай любую из последних 2, которая подойдет.
Кстати, моделировался движок ТСа по параметрам движка.Так что все твои данные с погрешности до момента инерции, который я не знаю и который решает здесь почти все, за 20 минут решились без проблем. Никаких апериодических звеньев-) Про резонанс рассказывать? И, да, возвращаемся к главному вопросу? Какая там у нас получается постояннаая времени привода в целом? И это без фильтрации в обратных связях. Что будем делать в матлабе с моментом инерции?Чтобы его измерить, надо вводить двигатель в колебательный режим и снимать частоту вращения и ток якоря, отцепив от механизма. Оно вам надо?-НЕТ. Оно вам поможет? -НЕТ
AlexandrY
Цитата(somebody111 @ Apr 14 2017, 01:09) *
Ну что же...обещал-делаю, сами напросились.

Однако покажите модель с которой сняты эти графики и докажите ее связь с регулятором у TC.
Поменяйте хотя бы нагрузку с линейной на более реалистичную.
Если смысл поста в том что вы сделали модель и ничего не добились, то я верю. Тут я на вашей стороне. biggrin.gif

Еще подброшу проблему.
Она в конструкции ножа.
Нож может быть не сбалансирован и режущая кромка может создавать своей тяжестью неравномерный по углу поворота момент.
somebody111
Цитата(AlexandrY @ Apr 14 2017, 07:48) *
Однако покажите модель с которой сняты эти графики и докажите ее связь с регулятором у TC.
Поменяйте хотя бы нагрузку с линейной на более реалистичную.
Если смысл поста в том что вы сделали модель и ничего не добились, то я верю. Тут я на вашей стороне. biggrin.gif

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

А это уже троллинг.Вы можете бесконечно придумывать отмазы на аналогичные темы типа нелинейная нагрузка на хх, которую надо делать в функции скорости, нелинейная нагрузка при резке картона, биения в механике, палец слесаря и пр.Хотите еще проблема-у пожалуйста-перемагничивание двигателя(никто же не знает какое железо), не постоянный момент двигателя(он же есть усреднения и это усреднения пропорционально току) и пр. Связь простая-все производители делают системы управления только так с момента появления тиристорный выпрямителем и никак иначе.До этого был реостатный пуск. на 100кВт+ делалась 1 в1 система по принципу генеиптор-двигател .Не получится у вас управления и 10кВтным двигателем без контура тока-он просто сгорит.Нифига себе ничего не доказал-одним сообщением 6 листов диванных обсуждений закрыл-про какие-то 3мс, про три ПИ, про то , как ПИ на месте очень сложно настроить и надо adlc .Может все таки согласитесь, что проще воткнуть и сделать, чем вот так месяц сидеть и моделировать и все равно получить 1/10 результата.С 1 сообщения все говорили о моделировании, об идентификации и прочей фигне и никто ничего не сделал.Прочитав всю эту чушь, я сел в 3 ночи и сделал.Если бы жили рядом, я просто бы пришел, воткнул и сделал, а вы дальше обсуждайте-форум-то для этого.Вам что еще надо?Рассказать как определять параметры двигателя для модели из шилдика со 2 листа?

Оффтоп.Про компенсацию насыщенний в ПИ-anti windup по вашему(все забываю сказать).Там в соседней тему , где выложил описание тексасовского наблюдателя, а той книжке есть его описание.Открываете либу control suita и копируете регулятор-он готовый, ничего придумывать не надо.
AlexandrY
Цитата(somebody111 @ Apr 14 2017, 11:41) *
Прочитав всю эту чушь, я сел в 3 ночи и сделал.

Открываете либу control suita и копируете регулятор-он готовый, ничего придумывать не надо.

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

А автор тут уже показывал скриншот результатов своей системы, на нем четко видно наличие всех коэффициентов PID-а параллельной структуры и фильтра.
Неужели вы думаете он не догадался там посмотреть что будет если Kd=0?

Задача позиционирования повышает порядок исследуемых систем, без дифференциальной составляющей там нечего делать.
А у автора именно задача трекинга и позиционирования.
khach
Цитата(somebody111 @ Apr 14 2017, 10:41) *
типа нелинейная нагрузка на хх, которую надо делать в функции скорости, нелинейная нагрузка при резке картона, биения в механике, палец слесаря и пр

А вот это очень интересная тема, про нелинейную нагрузку в течении рабочего цикла. Встречал где то упоминание про самообучающуюся систему регулирования с таблицей коррекции на цикл. Т.е прописываем в контроллер идеальную траекторию цикла, пускаем предварительно как-то настроенный привод под реальной нагрузкой и в течении нескольких рабочих циклов привод самообучается, т.е заполняет таблицу коррекции по циклу. Конечно в течении процесса самообучения привод гонит брак или работает по тестовой заготовке.
Встречал такой алгоритм кравления для приводов токарных ЧПУ для некруглой обточки, т.е токарный станок точит квадрат или шестигранник, и суппорт (поперечная подача) соверщает движения синхронно с вращением шпинделя станка.
Tanya
Цитата(khach @ Apr 14 2017, 12:15) *
Т.е прописываем в контроллер идеальную траекторию цикла, пускаем предварительно как-то настроенный привод под

Примерно это я и предлагала.
Я не вижу тут особого смысла в сложных моделях. Обычно есть главные члены, определяющие постоянную времени.
ТС говорил же, что все вполне прилично работает.
Ему даже не нужно ничего сложного вычислять. Его ящик уже настроен на выдачу скорости - производной от перемещения. Поэтому ему нужно в его ПИД подсовывать в качестве задатчика траекторию (смещение от времени) по удобной программе. Вот, например, если задаться при разгоне постоянной мощностью, - скорость линейна от квадратного корня из времени, а перемещение, которое нужно задавать - время в степени три вторых.
Тогда ненасытный интегратор не насытится.
AlexandrY
Цитата(Tanya @ Apr 14 2017, 15:02) *
Примерно это я и предлагала.

Траекторию скорости автор уже выбрал - это рампа.
То что функция координаты при этом будет параболой скажет любой школьник.
Давайте не обсуждать такие очевидные вещи.
А в предыдущем посте шла речь о траектории момента.
Это несколько разные вещи.

На самом деле переменный момент на ноже это есть возмущение.
Вот это возмущение автор может подавить своим регулятором.
Но у него испортится тогда реакция на входное задание скорости.
Это решается PID-ом с двумя степенями свободы. Это все азбука.

Tanya
Цитата(AlexandrY @ Apr 14 2017, 15:52) *
Траекторию скорости автор уже выбрал - это рампа.
То что функция координаты при этом будет параболой скажет любой школьник.
Давайте не обсуждать такие очевидные вещи.
А в предыдущем посте шла речь о траектории момента.
Это несколько разные вещи.

На самом деле переменный момент на ноже это есть возмущение.
Вот это возмущение автор может подавить своим регулятором.
Но у него испортится тогда реакция на входное задание скорости.
Это решается PID-ом с двумя степенями свободы. Это все азбука.

Вот не знаю такого слова - рампа в данном контексте. Если Вы под этим подразумеваете постоянное ускорение, то это не всегда хорошо. Я вот на моей системе убедилась, что режим постоянной мощности позволяет быстрее разогнаться. Момент в Вашем случае опишет любой школьник - это почти константа. Тут-то мы и можем добиться от его регулятора ухода в насыщение.
Вам не нравится мой подход, а мне - Ваш. Останемся друзьями?
AlexandrY
Цитата(Tanya @ Apr 14 2017, 16:06) *
Вам не нравится мой подход, а мне - Ваш. Останемся друзьями?

Рампа - линейное нарастание скорости по времени.
Выбрана потому что тиристорный регулятор у автора 2-х квадрантный.
Объяснять что такое 2-х квадрантный?

Цена истины высока, ничего не поделаешь. laughing.gif


Tanya
Цитата(AlexandrY @ Apr 14 2017, 16:23) *
Рампа - линейное нарастание скорости по времени.

Объяснять что такое 2-х квадрантный?

Объясните, почему выбрано постоянное ускорение.
AlexandrY
Цитата(Tanya @ Apr 14 2017, 16:28) *
Объясните, почему выбрано постоянное ускорение.

Почему была выбрана нулевая скорость ускорения написано тут:
https://electronix.ru/forum/index.php?s=&am...t&p=1492877
Tanya
Цитата(AlexandrY @ Apr 14 2017, 16:39) *
Почему была выбрана нулевая скорость ускорения написано тут:
https://electronix.ru/forum/index.php?s=&am...t&p=1492877

Непонятно. Вы там сравниваете с чем-то неизвестным. Кроме того стабилизация скорости не является целью. Цель - попасть в нужную точку в некоторый момент.
Gruffly
Цитата(Tanya @ Apr 14 2017, 15:02) *
Цель - попасть в нужную точку в некоторый момент.

и с нужной скоростью.
Это легко решает терминальное управление.
AlexandrY
Цитата(Gruffly @ Apr 14 2017, 17:20) *
Это легко решает терминальное управление.

Дайте ссылку на строгое определение этого термина - "терминальное управление"
Его даже википедия не знает.

Цитата(Tanya @ Apr 14 2017, 17:02) *
Непонятно. Вы там сравниваете с чем-то неизвестным. Кроме того стабилизация скорости не является целью. Цель - попасть в нужную точку в некоторый момент.

Да я там решил не усложнять, и так народ постоянно теряет нить обсуждения. biggrin.gif
Tanya
Цитата(Gruffly @ Apr 14 2017, 17:20) *
и с нужной скоростью.

Имела в виду фазовое пространство, но скорость не должна быть строго фиксирована.
Gruffly
Цитата(Tanya @ Apr 14 2017, 15:38) *
Имела в виду фазовое пространство, но скорость не должна быть строго фиксирована.

Да, как я понимаю, для резки картона она может быть в некоторых пределах.
Как пояснил ТС, скорость реза (окружная скорость) зависит от ширины/длины материала и скорости движения материала и в любом случае выше нее.
Оценку он дал такую: скорость транспортера <= 60 м/мин и скорость реза <= 80 м/мин


Цитата(AlexandrY @ Apr 14 2017, 15:34) *
Дайте ссылку на строгое определение этого термина - "терминальное управление"
Его даже википедия не знает.

Это проблема Википедии и Гугла, а не советских и российских ученых, которые и сегодня на эту тему ведут работы, пишут диссеры и создают конструкции.
Если из приведенного списка Вам никто не известен - сочувствую:
(считается первым, кто сделал не вариационный, а чисто терминальный подход был Грин [21] ).
В вариационной постановке доклад "Теория оптимального управления" сделал Летов в 1963 г.
Нажмите для просмотра прикрепленного файла
AlexandrY
Цитата(Gruffly @ Apr 14 2017, 18:35) *
Это проблема Википедии и Гугла, а не советских и российских ученых, которые и сегодня на эту тему ведут работы, пишут диссеры и создают конструкции.
Если из приведенного списка Вам никто не известен - сочувствую:
(считается первым, кто сделал не вариационный, а чисто терминальный подход был Грин [21] ).

Этим вы доказали, что такой дисциплины как "терминальное управление" нет.
Только некоторые применяют такой термин в контексте конечных интервалов времени.
Но автор имеет свободу в выборе интервала времени.
У него задача позиционирования.
Gruffly
Цитата(AlexandrY @ Apr 14 2017, 18:04) *
Этим вы доказали, что такой дисциплины как "терминальное управление" нет.
Только некоторые применяют такой термин в контексте оптимального управления с ограничениями.
В данном случае оптимизировать нечего. Или что вы предложили бы оптимизировать?

Это Ваше мнение, оставлю его с Вами.

Терминальное управление занимается синтезом, реализующим заданное движение системы (в фазовых координатах).
Желаемое движение системы задается полиномами, минимизируется среднеквадратический критерий.
Корректировка движения осуществляется на всем протяжении движения системы.
Самое главное, что в рамках реализации терминальных управлений, получены вполне доступные и простые инженерные решения таких задач.
Кроме того, система не обязательно должна быть линейной.
somebody111
А можно поинтересоваться у ТСа - этот станок одноразовый? Отрезал и все...через час включат или непрерывно на равные части? Вы тут о позиционировании говорите,об останове, а зачем? Вращалка вращается и режет на равные длины всегда.Привод будет держать скорость. Если он там раз в час режет, то еще проще- использовать энкодер как микрик: нажал кнопку - сделал рез - сработал микрик-отключился -программа вывела в рабочую точку медленно. Какие-то траектории придумываете, обратные связи по положению
Gruffly
Цитата(AlexandrY @ Apr 14 2017, 18:04) *
Но автор имеет свободу в выборе интервала времени.
У него задача позиционирования.

Да, у него разомкнутое по времени управление, т.е. необходимо обеспечить совмещение цели и объекта в заданной координате и с заданной скоростью объекта.
И это не позиционирование в чистом смысле.
AlexandrY
Цитата(Gruffly @ Apr 14 2017, 20:20) *
Желаемое движение системы задается полиномами, минимизируется среднеквадратический критерий.

Ну? Cами прочитайте что написали.
Нет никакого желаемого движения.
В реальности есть только задача попасть в нужную точку и есть ограниченный но достаточно произвольный промежуток времени на это.

И еще, для решения задачи по оптимальному выбору траектории (терминальное управление в вашем смысле) требуется каждый раз решать систему уравнений.
Т.е. оптимизировать. Да, и модель объекта надо знать точно. Абсурд.

С тем же успехом можно предложить использовать нейросети, и они вам и объект идентифицируют и точнейшую траекторию укажут.
Чипсеты уже производят, только автору свой контроллер придётся выкинуть.
Gruffly
Цитата(AlexandrY @ Apr 14 2017, 18:29) *
Ну? Cами прочитайте что написали.
Нет никакого желаемого движения.
В реальности есть только задача попасть в нужную точку и есть ограниченный но достаточно произвольный промежуток времени на это.

Т.е. Вы не понимаете, что такое фазовые координаты и управление с ограничениями?
Тогда и смысла говорить для Вас очень мало.
somebody111
бррр
#define encoder_end_point 5000 //где надо начать тормозить - выбирать с учётом проноса
#define encoder_start_point 1000 //начальное положение - выбирать с учетом проноса
#define speed_eps 0.01 //скорость, которую считаем нулевой
#define min_speed_zero 10 //скорость, с которой двигатель должен вернуть нож в начальное положение
bla-bla-bla
--
if (encoder_pos>=encoder_end_point) //если нож в точке, где начать тормозить включить флаг начала торможения
begin_tormoz=true;

---
if (begin_tormoz) //если работает процедура торможения: даёт задание приводу 0 и ждем, пока частота вращения не снизится до минимума; как только дойдет, торможение завершено и //запускаем процедуру возврата в исходное положения
{
speed_ref=0;
if (abs(speed)<=speed_eps)
{
begin_tormoz=false;
begin_zero_pos=true;
}
if (begin_zero_pos)
speed_ref=min_speed_zero;
if (encoder_pos>=encoder_start_point)
begin_zero_pos=0;speed_ref=0;
}
Прецизионно и наличие разработчика не требуется, понятно даже Васе-столяру.Будет работать как атомные часы 25 лет. Могу сделать на релейной автоматике без программы, тогда без замены реле года 2 wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.