IMAndrew
Jan 20 2014, 14:19
Есть мелкий мотор постоянного тока (2 ампера 40 вольт), редуктор, энкодер для вычисления положения. Микроконтроллер и силовая схема управления.
Нужно помочь рассчитать/подобрать/синтезировать регулятор положения.
Есть переходные характеристики, снимал АЧХ/ФЧХ, есть оценка постоянных времени.
Простым подбором/перебором параметров в ПИД получается довольно плохо.
Нужна помощь практика.
Готов оплатить.
MiklPolikov
Jan 20 2014, 16:08
На мой взгляд, приведённой информации явно не хватает для того что бы можно было помочь.
Надо описывать что именно делаете и что при этом происходит на много подробнее.
IMAndrew
Jan 20 2014, 17:23
Цитата(MiklPolikov @ Jan 20 2014, 20:08)

На мой взгляд, приведённой информации явно не хватает для того что бы можно было помочь.
Надо описывать что именно делаете и что при этом происходит на много подробнее.
Ищу человека, с которым можно все подробно обсудить.
Электроника работает, в привод в позицию встает. Но довольно вяло и есть склонность к возбуждению.
Чувствую что параметры не оптимальные. Просто подбирал параметры ПИД по разным методикам.
Например, при дальнейшем увеличении пропорциональной части - еще больше склонность к возбуждению.
При уменьшении - очень "резиновый" в районе 0.
Есть только контур положения. Контура скорости и тока - нет.
Моих познаний по ТАУ как раз и не хватает, чтобы рассчитать закон управления.
MiklPolikov
Jan 20 2014, 17:37
Эээх...
Можно говорить что угодно, но задачи в виде "Есть блок А и блок Б, между ними шина данных с разрядностью N ..... " воспринимаются на порядок хуже, чем объяснения на пальцах
"есть вот такая хреновина, которая должна крутится вооот так...."
Объяснили бы по-человечески, давно бы и советы получили, и Исполнителя нашли если бы он всё ещё был нужен.
IMAndrew
Jan 20 2014, 18:03
Цитата(MiklPolikov @ Jan 20 2014, 21:37)

Эээх...
Можно говорить что угодно, но задачи в виде "Есть блок А и блок Б, между ними шина данных с разрядностью N ..... " воспринимаются на порядок хуже, чем объяснения на пальцах
"есть вот такая хреновина, которая должна крутится вооот так...."
Объяснили бы по-человечески, давно бы и советы получили, и Исполнителя нашли если бы он всё ещё был нужен.
А какая бредядина весь этот ТАУ с операторными уравнениями?
Мне книжки надело читать. Я вроде простыми словами описываю.
Если кого-то слова ПИД, АЧХ смущают - то извините.
Есть такой мотор, он катает тележку на колесиках. Надо ее катать быстро и точно. Чтобы рукой не столкнуть с 0.
Пытался я с наскока это решить, но без умных слов видимо никак в этом деле.
Цитата(IMAndrew @ Jan 20 2014, 22:03)

А какая бредядина весь этот ТАУ с операторными уравнениями?
Мне книжки надело читать. Я вроде простыми словами описываю.
Если кого-то слова ПИД, АЧХ смущают - то извините.
Есть такой мотор, он катает тележку на колесиках. Надо ее катать быстро и точно. Чтобы рукой не столкнуть с 0.
Пытался я с наскока это решить, но без умных слов видимо никак в этом деле.
"Замечу, впрочем, что та же теорема единственности объясняет, почему заключительный этап швартовки корабля к пристани проводится вручную: при управлении, когда скорость причаливания определяется как гладкая (линейная) функция от расстояния, для причаливания потребовалось бы бесконечное время. Альтернативой является удар о причал (демпфируемый надлежащими неидеально упругими телами). Между прочим, с этой проблемой пришлось всерьез столкнуться при посадке первых же спускаемых аппаратов на Луну и Марс, а также при причаливании к космическим станциям --- здесь теорема единственности работает против нас.
К сожалению, ни подобные примеры, ни обсуждение опасности фетишизирования теорем не встречаются в современных учебниках математики, даже лучших"
Арнольд. Со слов Лидова.
А шаговый двигатель или какой-нибудь иной, кроме Вашего нельзя?
IMAndrew
Jan 21 2014, 04:13
Цитата(Tanya @ Jan 21 2014, 00:48)

А шаговый двигатель или какой-нибудь иной, кроме Вашего нельзя?
Шаговый проигрывает по скорости и точности, у него один плюс - простота управления.
По поводу причаливания - если оснастить корабль или причал радаром (дальномером), то и автоматика справится.
Самолеты автопилотом спокойно сажают. Можно сказать причаливание, но только по вертикали. Да и параметров регулирования немного побольше - скорость, высота, крены, тангаж. Скорость вертикального снижения, курс, глиссада и тд.
Буран еще в 80-е сам сел. Так что не проблема.
Цитата(IMAndrew @ Jan 21 2014, 08:13)

Так что не проблема.
Вы же сами (с)просили. Но не читали и осуждаете.
Вот и покажите на практике, что проблем нет. Вот у Арнольда - есть, а у Вас - нет.
Он, правда, умер.
А Вы не поняли.
Цитата(IMAndrew @ Jan 21 2014, 08:13)

Шаговый проигрывает по скорости и точности, у него один плюс - простота управления.
И тут Вы ошибаетесь - управление там сложнее, а точность зависит от механики. А скорость... Вот какой двигатель у турбомолекулярных насосов?
Цитата(IMAndrew @ Jan 20 2014, 18:19)

Простым подбором/перебором параметров в ПИД получается довольно плохо.
Нужна помощь практика.
SOS получил, но требуется полное ТЗ

Обсуждать будем здесь, если устраивает.
P.S.
С поправками, если согласны.
IMAndrew
Jan 21 2014, 07:03
Спасибо, что готовы помочь!
Мне, конечно, проще по почте - не очень привык к полной публичности.
Общие вопросы можно и здесь.
Главное не уйти от темы (в корабли и самолеты, молекулярные моторы)
Цитата(IMAndrew @ Jan 21 2014, 11:03)

Спасибо, что готовы помочь!
Главное не уйти от темы (в корабли и самолеты, молекулярные моторы)
Про корабли - это я могу, а Таня - про молекулярные моторы
Цитата(IMAndrew @ Jan 21 2014, 11:03)

Главное не уйти от темы (в корабли и самолеты, молекулярные моторы)
Корабли это не просто так.... Вот шаговый двигатель чем хорош - он может в любом месте соорудить "причал".
И не молекулярные моторы, а турбомолекулярные насосы - это такая турбина, которая в вакууме крутится со страшной скоростью.
Цитата(IMAndrew @ Jan 21 2014, 11:03)

Мне, конечно, проще по почте - не очень привык к полной публичности.
Общие вопросы можно и здесь.
Форумная почта у Вас пока не работает.
Вы, случаем, не дифракционную решетку или зеркало хотите крутить? Раз стесняетесь сказать...
Ладно, не будем о страшном и пока пообщаемся с ТС офф-лайн.
IMAndrew
Jan 22 2014, 13:56
Пока вот что есть.
Своими силами настраивал ПИД регулятор положения.
НО ведет себя хорошо только в узком интервале положений, на котором он и был настроен.
Например на 500 шагов ходит хорошо, а на 2000 уже совсем не так.
Видимо нужно вводит контур скорости и тока (так в книжках пишут), только там возникает сомнения.
Производная по положению - это и так скорость. Вроде как уже учитывается в дифф члене ПИД-регулятора.
А вычислять производную от скорости (это уже ускорение) - с точность не получается, сказывается квантование измерение положения через риски энкодера (это уже вторая производная от положения)
Если фильтровать, усреднять - будет заметное отставание, и по сути форсирования не получится, фаза еще больше будет отставать.
Цитата(IMAndrew @ Jan 22 2014, 17:56)

Пока вот что есть.
Своими силами настраивал ПИД регулятор положения.
НО ведет себя хорошо только в узком интервале положений, на котором он и был настроен.
Например на 500 шагов ходит хорошо, а на 2000 уже совсем не так.
Вы хотите из некоторого положения перейти в другое и там стоять? У Вас никакой "пружинки" нет?
Тогда обратите внимание на то, что я уже говорила.
Вот почитайте -
http://electronix.ru/forum/index.php?s=&am...st&p=729816
В дополнение к оговоренным параметрам:
- модель вашего BDC на просторах Инет не найдена;
- что за двигатель? коллекторный или бесколлекторный?
- номинальная и максимальная скорости вращения двигателя?
- передаточное число редуктора;
Такие задачи вообще не решаются с наскока, и только ПИД регулятором тут не обойтись. Поскольку тормозной путь квадратичный а регулятор линейный, на высокой скорости будет проскакивать, либо ПИД будет слишком вялым. Я в похожей ситуации вводил промежуточную координату, которую держал ПИД регулятор, и промежуточная координата плавно сводилась с окончательной координатой перемещения с ограничением ускорения и без обратной связи.
Методов управления сервами достаточно много - например погоня за ведущей точкой.
Вероятно это Вы имели в виду.
Цитата(Timmy @ Jan 23 2014, 16:28)

Такие задачи вообще не решаются с наскока, и только ПИД регулятором тут не обойтись. Поскольку тормозной путь квадратичный а регулятор линейный, на высокой скорости будет проскакивать, либо ПИД будет слишком вялым. Я в похожей ситуации вводил промежуточную координату, которую держал ПИД регулятор, и промежуточная координата плавно сводилась с окончательной координатой перемещения с ограничением ускорения и без обратной связи.
И соглашусь и не соглашусь. Он всегда "вялый" при малых отклонениях - маятник, грузик на пружинке... А про квадратичный путь (от чего?) непонятно.
Только в данном случае, исходя из того скудного, что выдал ТС, мне видится, что это задача не для двигателя постоянного тока, а для двигателя с вращающимся полем. Если я его правильно поняла, то он хочет точно в заданной точке стоять и не дергаться - прийти туда с нулевой скоростью. Тут на пути во весь свой огромный рост встает пресловутая проблема единственности при причаливании.
Вот если бы он хотел скорость регулировать, тогда бы да...
Эта задача спокойно решалась и решается даже с коллекторными, не говоря уже о BLDC.
Разумеется, с учетом ограничений, присущих им.
Цитата(TSerg @ Jan 23 2014, 20:05)

Эта задача спокойно решалась и решается даже с коллекторными, не говоря уже о BLDC.
Разумеется, с учетом ограничений, присущих им.
Вы хотите опровергнуть Арнольда?
Вопрос в точности и скорости позиционирования. BLDC - это ведь тоже "шаговый" двигатель...
Цитата(Tanya @ Jan 23 2014, 20:21)

Вы хотите опровергнуть Арнольда?
Вероятно Вы просто не видели высокоточные ЧПУ с коллекторными двигателями длиной под 2 метра.
Цитата(TSerg @ Jan 23 2014, 20:50)

Вероятно Вы просто не видели высокоточные ЧПУ с коллекторными двигателями длиной под 2 метра.
Нет, не знаю, какие там двигатели. А по сути? А Вы видели процесс стыковки в космосе - там с ударом и амортизаторами.
Теряюсь в догадках.. Савицкую, вроде, Светланой звали?
А по сути, давно разработана теория управления конечным состоянием ( терминальное управление ) и можно реализовать, при отсутствии энергетических ограничений, любой способ управления, как с особенностями в конечной точке, так и без них. Почитайте Батова, к примеру. Это так, просто для информации.
Цитата(TSerg @ Jan 23 2014, 21:05)

Теряюсь в догадках.. Савицкую, вроде, Светланой звали?
А по сути, давно разработана теория управления конечным состоянием ( терминальное управление ) и можно реализовать, при отсутствии энергетических ограничений, любой способ управления, как с особенностями в конечной точке, так и без них. Почитайте Батова, к примеру. Это так, просто для информации.
Почему звали? Она же еще жива. А вот Вам с Батовым не верю. Только Арнольду. И другим (можно сказать, знакомым, из дачного подмосковья).
Как скорость от расстояния зависит? У Батова.
Спорить неохота, т.к. не о чем.
При случае сделаю видео, как трехпластинчато-коллекторный двигатель стоит, бежит и встает как вкопанный с хорошим моментом удержания.
А по Батову ( А.П. Батенко ) как раз таки стыковки аппаратов, полеты строем, при-земления,-лунения и т.д. выполняются
IMAndrew
Jan 23 2014, 18:29
Что-то не пойму причем тут проблема стыковки/причаливания.
Я тоже в руках крутил/держал привод с 0.1 градуса или точнее 360/3400 отклонением в нулевой точке. Причем без нагрузки ШИМ практически=0 ! Дрожания вокруг нуля не было. Смотрел по энкодеру - сигнал не меняется.
При попытке сдвинуть рукой - он уперается и ШИМ растет.
Цитата(Timmy @ Jan 23 2014, 16:28)

Такие задачи вообще не решаются с наскока, и только ПИД регулятором тут не обойтись. Поскольку тормозной путь квадратичный а регулятор линейный, на высокой скорости будет проскакивать, либо ПИД будет слишком вялым. Я в похожей ситуации вводил промежуточную координату, которую держал ПИД регулятор, и промежуточная координата плавно сводилась с окончательной координатой перемещения с ограничением ускорения и без обратной связи.
Вот уже интресно.
А можно подробнее про промежуточную координату?
Квадратичный тормозной путь - это что именно - от времени или ...
Цитата(IMAndrew @ Jan 23 2014, 22:29)

Что-то не пойму причем тут проблема стыковки/причаливания.
Так почитайте. Прекрасный слог. Рекордсмен по цитированию из советских (российских) ученых.
Кратко - скорость линейная функция от расстояния (если мы не хотим врезаться или остановиться раньше - на некотором расстоянии). Такое уравнение имеет решение - расстояние нуль, скорость нуль. Нагляднее всего подумать об инверсии времени. Вот тут-то теорема единственности дифференциальных уравнений возникает и встает на нашем пути непреодолимой преградой.
Цитата(IMAndrew @ Jan 23 2014, 22:29)

Вот уже интресно.
А можно подробнее про промежуточную координату?
Квадратичный тормозной путь - это что именно - от времени или ...
Точнее, проблема в том, что при большой ошибке ПИД выходит из линейного режима, и когда тележка приблизится к цели, и ПИД вернётся в линейный режим, скорость слишком велика и тормозить уже поздно. Надо заставить ПИД регулятор всегда работать в линейном режиме. Для этого и вводится промежуточная координата, на которую наводится ПИД с небольшой ошибкой, а сама промежуточная координата плавно с ограниченным ускорением перемещается к целевой координате.
IMAndrew
Jan 24 2014, 04:36
А, да понятно. Я, кстати, так и делал.
Только назвал это по другому - задатчик идеального пути. Помогает.
Вот только "идеально" работает только для расчетной траектории.
Как уже писал если вместо 500 пойти на 2000 - то уже идеально не получается.
Интегральная часть накапливается и весь привод ведет себя не так как нужно. Пришлось вводить всякие хитрые ограничители, но все это усложняет, и не решает в общем виде.
Цитата(IMAndrew @ Jan 24 2014, 08:36)

Интегральная часть накапливается и весь привод ведет себя не так как нужно. Пришлось вводить всякие хитрые ограничители, но все это усложняет, и не решает в общем виде.
Отчего же у Вас "накапливается" интегральная часть? (Она и должна накапливаться, но понятно, что Вы хотели этим сказать.) Потому, что надо ограничивать скорость нарастания задающего параметра, учитывая максимальную механическую мощность. А еще неприятной особенностью Ваших желания является то, что интегральный член одинаков в начальной и конечной точке. Поэтому рассогласование должно быть разных знаков во время пути.
IMAndrew
Jan 24 2014, 09:06
Сначала привод "хронически" отстает от задания, соответственно Ингер часть постоянно растет.
Чтобы ее обнулить - привод перебегает задание - и медленно сползает к нужной координате.
Вроде все логично, но не так как хотелось.
Цитата(IMAndrew @ Jan 24 2014, 13:06)

Сначала привод "хронически" отстает от задания, соответственно Ингер часть постоянно растет.
Чтобы ее обнулить - привод перебегает задание - и медленно сползает к нужной координате.
Вроде все логично, но не так как хотелось.
Вот, Вы все понимаете. Если бы была пружинка, то этого бы не было. Выход - не включать интегратор до поры... Или ограничить скорость нарастания задатчика и уменьшить "хроническое отставание". Но это не поможет кардинально. Проблема еще осложняется тем, что Вы не контролируете ток мотора, а используете ШИМ по напряжению. Но даже при включении обратной связи по току контролируется момент, - т.е. ускорение. При этом хорошо можно регулировать скорость, но не положение. А положение хорошо управляется шаговыми или иными двигателями с вращающимся полем, для чего они и были придуманы. Их основное преимущество в том, что их можно остановить при ненулевой скорости, чем устраняется проблема причаливания. При этом "внезапно" образуется глубокая потенциальная яма. Возникают высокочастотные колебания относительно малой амплитуды, которые принято гасить с помощью жидкого трения. Есть даже такие специальные устройства с силиконовым маслом.
ANS3008
Jan 25 2014, 08:44
А зачем в контуре положения ПИД-регулятор?
П- регулятор, и никаких проблем и диф. уравнений. будет и быстродействие и точность.
Переходная характеристика-экспонента. Без перерегулирования.
Можно сделать переменный коэффициент усиления-при большом рассогласовании один,
при малом-другой.
Цитата(ANS3008 @ Jan 25 2014, 10:44)

П- регулятор, и никаких проблем и диф. уравнений. будет и быстродействие и точность.
Переходная характеристика-экспонента. Без перерегулирования.
Вот именно- т.е испольнительный механизм никогда не доползет до нужной точки. Именно в силу экспоненты. Для этого и вводят интегральную часть в регулятор. А дифференциальная борется с овершотами (перелетами) и определяет скорость перестройки.
А вот для отсутствия дрожания очень полезна зона нечувствительности. Вопрос- по каким критериям выбирать ее размер и нужне ли гистерезис. Хотелось бы рассмотреть особенности реализации алгоритма и для случая датчика положения без люфта (прямо на валу сервомотора) так и с датчиком положения с упругой связью и люфтом (зубчатый ремень например)
ANS3008
Jan 25 2014, 13:33
Нужной точки не достичь никогда. Погрешность будет определяться
датчиком положения. Да,ещё. Перемещение есть интеграл от скорости.
Наличие интнгратора в контуре перемещения плюс интегральная составляющая регулятора положения дадут фазовый сдвиг более 90 град.
А это уже колебательный переходный процесс. Не исключено, что это
можно устранить регуляторами сложной структуры, но стоит ли игра свеч, если нужно, как я понял, управлять тележкой?
Ещё я думаю, что и контур скорости не помешал бы.
Совершенно нормальным является построение трехконтурной САУ перемещением ( контур тока, охвачен контуром скорости, который охвачен контуром перемещения ).
Для примитивных случаев достаточно одного контура перемещения с П-регулятором.
IMAndrew
Jan 28 2014, 06:02
Это же не адронный коллайдер. Этими вопросами уже лет эдак 50 занимаются.
Хотелось найти готовые алгоритмы синтеза?
Типа: постоянная времени больше того - значит синтез лучше использовать так.
Масса груза больше того-то - тогда лучше так.
К сожалению, в книжках пишут обзорно, общие вопросы.
Погрязли в этом операторном вычислении. И только в свежих книжках стали писать что это примерный способ, что на самом деле нет никаких прямых ЛАЧХ.
Написали пару закарючек - и решили что это и будет регулятор. А реализовывать видимо его никто и не собирается.
Видел пару покупных контроллеров - и там банальный ПИД заложен.
Это Вы о чем?
Если Вы взялись за задачу, так и решайте ее тем методом, который Вам доступен.
Кому-то доступен операторный, кто-то решает дифф.ур-ы, кто-то методом тыка.
Не помогают советы здесь или где - учитесь сами.
Не можете сами - заказывайте работу. На форуме есть раздел "Предлагаю работу".
Не можете ничего из этого - меняйте профессию.
P.S.
Например, иногда делают ссылку на то, как просто реализован сервопривод печатающей головки в принтерах.
А там и нет сервопривода по положению (как правило), там есть контроль прохождения нужного положения, что далеко не одно и то же.
Цитата(IMAndrew @ Jan 28 2014, 10:02)

Неужели нет готовых алгоритмов синтеза?
Типа: постоянная времени больше того - значит синтез лучше использовать так.
Масса груза больше того-то - тогда лучше так.
Не поверите, но именно в книжках и прочих талмудах они (алгоритмы ) и изложены.
Вот, к примеру - читайте, изучайте, используйте:
Нажмите для просмотра прикрепленного файлаПо методам настройки ПИД:
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаПо системам подчиненного регулирования Шрайнера я Вам высылал.
Практически Ваш случай:
Servo control of DC-brush motor
Нажмите для просмотра прикрепленного файла
IMAndrew
Jan 28 2014, 09:13
Спасибо за книжки!
Думаю многим может пригодится!
Заодно посмотрим сколько скачиванием будет. Одно мое уже есть.
Заказ работы уже давно разместил.
Ну и отлично.
За сим - откланиваюсь.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.