Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нужна помощь в реализации сервопривода постоянного тока.
Форум разработчиков электроники ELECTRONIX.ru > Силовая Электроника - Power Electronics > Электрические машины, Электропривод и Управление
IMAndrew
Есть мелкий мотор постоянного тока (2 ампера 40 вольт), редуктор, энкодер для вычисления положения. Микроконтроллер и силовая схема управления.
Нужно помочь рассчитать/подобрать/синтезировать регулятор положения.
Есть переходные характеристики, снимал АЧХ/ФЧХ, есть оценка постоянных времени.

Простым подбором/перебором параметров в ПИД получается довольно плохо.
Нужна помощь практика.
Готов оплатить.
MiklPolikov
На мой взгляд, приведённой информации явно не хватает для того что бы можно было помочь.
Надо описывать что именно делаете и что при этом происходит на много подробнее.
IMAndrew
Цитата(MiklPolikov @ Jan 20 2014, 20:08) *
На мой взгляд, приведённой информации явно не хватает для того что бы можно было помочь.
Надо описывать что именно делаете и что при этом происходит на много подробнее.

Ищу человека, с которым можно все подробно обсудить.

Электроника работает, в привод в позицию встает. Но довольно вяло и есть склонность к возбуждению.
Чувствую что параметры не оптимальные. Просто подбирал параметры ПИД по разным методикам.

Например, при дальнейшем увеличении пропорциональной части - еще больше склонность к возбуждению.
При уменьшении - очень "резиновый" в районе 0.
Есть только контур положения. Контура скорости и тока - нет.
Моих познаний по ТАУ как раз и не хватает, чтобы рассчитать закон управления.

MiklPolikov
Эээх...
Можно говорить что угодно, но задачи в виде "Есть блок А и блок Б, между ними шина данных с разрядностью N ..... " воспринимаются на порядок хуже, чем объяснения на пальцах
"есть вот такая хреновина, которая должна крутится вооот так...."
Объяснили бы по-человечески, давно бы и советы получили, и Исполнителя нашли если бы он всё ещё был нужен.
IMAndrew
Цитата(MiklPolikov @ Jan 20 2014, 21:37) *
Эээх...
Можно говорить что угодно, но задачи в виде "Есть блок А и блок Б, между ними шина данных с разрядностью N ..... " воспринимаются на порядок хуже, чем объяснения на пальцах
"есть вот такая хреновина, которая должна крутится вооот так...."
Объяснили бы по-человечески, давно бы и советы получили, и Исполнителя нашли если бы он всё ещё был нужен.


А какая бредядина весь этот ТАУ с операторными уравнениями?
Мне книжки надело читать. Я вроде простыми словами описываю.
Если кого-то слова ПИД, АЧХ смущают - то извините.

Есть такой мотор, он катает тележку на колесиках. Надо ее катать быстро и точно. Чтобы рукой не столкнуть с 0.

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

Есть такой мотор, он катает тележку на колесиках. Надо ее катать быстро и точно. Чтобы рукой не столкнуть с 0.

Пытался я с наскока это решить, но без умных слов видимо никак в этом деле.

"Замечу, впрочем, что та же теорема единственности объясняет, почему заключительный этап швартовки корабля к пристани проводится вручную: при управлении, когда скорость причаливания определяется как гладкая (линейная) функция от расстояния, для причаливания потребовалось бы бесконечное время. Альтернативой является удар о причал (демпфируемый надлежащими неидеально упругими телами). Между прочим, с этой проблемой пришлось всерьез столкнуться при посадке первых же спускаемых аппаратов на Луну и Марс, а также при причаливании к космическим станциям --- здесь теорема единственности работает против нас.

К сожалению, ни подобные примеры, ни обсуждение опасности фетишизирования теорем не встречаются в современных учебниках математики, даже лучших"
Арнольд. Со слов Лидова.

А шаговый двигатель или какой-нибудь иной, кроме Вашего нельзя?
IMAndrew
Цитата(Tanya @ Jan 21 2014, 00:48) *
А шаговый двигатель или какой-нибудь иной, кроме Вашего нельзя?


Шаговый проигрывает по скорости и точности, у него один плюс - простота управления.

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

Вы же сами (с)просили. Но не читали и осуждаете.
Вот и покажите на практике, что проблем нет. Вот у Арнольда - есть, а у Вас - нет.
Он, правда, умер.
А Вы не поняли.

Цитата(IMAndrew @ Jan 21 2014, 08:13) *
Шаговый проигрывает по скорости и точности, у него один плюс - простота управления.

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


SOS получил, но требуется полное ТЗsm.gif

Обсуждать будем здесь, если устраивает.

P.S.
С поправками, если согласны.
IMAndrew
Спасибо, что готовы помочь!

Мне, конечно, проще по почте - не очень привык к полной публичности.

Общие вопросы можно и здесь.

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


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

Корабли это не просто так.... Вот шаговый двигатель чем хорош - он может в любом месте соорудить "причал".
И не молекулярные моторы, а турбомолекулярные насосы - это такая турбина, которая в вакууме крутится со страшной скоростью.

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

Форумная почта у Вас пока не работает.
Вы, случаем, не дифракционную решетку или зеркало хотите крутить? Раз стесняетесь сказать...
TSerg
Ладно, не будем о страшном и пока пообщаемся с ТС офф-лайн.
IMAndrew
Пока вот что есть.

Своими силами настраивал ПИД регулятор положения.
НО ведет себя хорошо только в узком интервале положений, на котором он и был настроен.
Например на 500 шагов ходит хорошо, а на 2000 уже совсем не так.

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

А вычислять производную от скорости (это уже ускорение) - с точность не получается, сказывается квантование измерение положения через риски энкодера (это уже вторая производная от положения)

Если фильтровать, усреднять - будет заметное отставание, и по сути форсирования не получится, фаза еще больше будет отставать.
Tanya
Цитата(IMAndrew @ Jan 22 2014, 17:56) *
Пока вот что есть.

Своими силами настраивал ПИД регулятор положения.
НО ведет себя хорошо только в узком интервале положений, на котором он и был настроен.
Например на 500 шагов ходит хорошо, а на 2000 уже совсем не так.


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

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

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


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

Нет, не знаю, какие там двигатели. А по сути? А Вы видели процесс стыковки в космосе - там с ударом и амортизаторами.
TSerg
Теряюсь в догадках.. Савицкую, вроде, Светланой звали?

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

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

Почему звали? Она же еще жива. А вот Вам с Батовым не верю. Только Арнольду. И другим (можно сказать, знакомым, из дачного подмосковья).
Как скорость от расстояния зависит? У Батова.
TSerg
Спорить неохота, т.к. не о чем.
При случае сделаю видео, как трехпластинчато-коллекторный двигатель стоит, бежит и встает как вкопанный с хорошим моментом удержания.

А по Батову ( А.П. Батенко ) как раз таки стыковки аппаратов, полеты строем, при-земления,-лунения и т.д. выполняютсяsm.gif

IMAndrew
Что-то не пойму причем тут проблема стыковки/причаливания.

Я тоже в руках крутил/держал привод с 0.1 градуса или точнее 360/3400 отклонением в нулевой точке. Причем без нагрузки ШИМ практически=0 ! Дрожания вокруг нуля не было. Смотрел по энкодеру - сигнал не меняется.
При попытке сдвинуть рукой - он уперается и ШИМ растет.

Цитата(Timmy @ Jan 23 2014, 16:28) *
Такие задачи вообще не решаются с наскока, и только ПИД регулятором тут не обойтись. Поскольку тормозной путь квадратичный а регулятор линейный, на высокой скорости будет проскакивать, либо ПИД будет слишком вялым. Я в похожей ситуации вводил промежуточную координату, которую держал ПИД регулятор, и промежуточная координата плавно сводилась с окончательной координатой перемещения с ограничением ускорения и без обратной связи.


Вот уже интресно.
А можно подробнее про промежуточную координату?
Квадратичный тормозной путь - это что именно - от времени или ...
Tanya
Цитата(IMAndrew @ Jan 23 2014, 22:29) *
Что-то не пойму причем тут проблема стыковки/причаливания.

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

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

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

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

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

Вот именно- т.е испольнительный механизм никогда не доползет до нужной точки. Именно в силу экспоненты. Для этого и вводят интегральную часть в регулятор. А дифференциальная борется с овершотами (перелетами) и определяет скорость перестройки.
А вот для отсутствия дрожания очень полезна зона нечувствительности. Вопрос- по каким критериям выбирать ее размер и нужне ли гистерезис. Хотелось бы рассмотреть особенности реализации алгоритма и для случая датчика положения без люфта (прямо на валу сервомотора) так и с датчиком положения с упругой связью и люфтом (зубчатый ремень например)

ANS3008
Нужной точки не достичь никогда. Погрешность будет определяться
датчиком положения. Да,ещё. Перемещение есть интеграл от скорости.
Наличие интнгратора в контуре перемещения плюс интегральная составляющая регулятора положения дадут фазовый сдвиг более 90 град.
А это уже колебательный переходный процесс. Не исключено, что это
можно устранить регуляторами сложной структуры, но стоит ли игра свеч, если нужно, как я понял, управлять тележкой?
Ещё я думаю, что и контур скорости не помешал бы.
TSerg
Совершенно нормальным является построение трехконтурной САУ перемещением ( контур тока, охвачен контуром скорости, который охвачен контуром перемещения ).
Для примитивных случаев достаточно одного контура перемещения с П-регулятором.
IMAndrew
Это же не адронный коллайдер. Этими вопросами уже лет эдак 50 занимаются.
Хотелось найти готовые алгоритмы синтеза?
Типа: постоянная времени больше того - значит синтез лучше использовать так.
Масса груза больше того-то - тогда лучше так.

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

Видел пару покупных контроллеров - и там банальный ПИД заложен.
TSerg
Это Вы о чем?

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

P.S.
Например, иногда делают ссылку на то, как просто реализован сервопривод печатающей головки в принтерах.
А там и нет сервопривода по положению (как правило), там есть контроль прохождения нужного положения, что далеко не одно и то же.


Цитата(IMAndrew @ Jan 28 2014, 10:02) *
Неужели нет готовых алгоритмов синтеза?
Типа: постоянная времени больше того - значит синтез лучше использовать так.
Масса груза больше того-то - тогда лучше так.


Не поверите, но именно в книжках и прочих талмудах они (алгоритмы ) и изложены.
Вот, к примеру - читайте, изучайте, используйте:
Нажмите для просмотра прикрепленного файла

По методам настройки ПИД:
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла


По системам подчиненного регулирования Шрайнера я Вам высылал.

Практически Ваш случай:
Servo control of DC-brush motor
Нажмите для просмотра прикрепленного файла
IMAndrew
Спасибо за книжки!
Думаю многим может пригодится!
Заодно посмотрим сколько скачиванием будет. Одно мое уже есть.

Заказ работы уже давно разместил.
TSerg
Ну и отлично.
За сим - откланиваюсь.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.