Jump to content

    

Алгоритм закрытия позиционной разности моторов.

8 минут назад, jenya7 сказал:

то есть в этот момент

нужно бы включить какой нибудь PID по хорошему - регулировать дельту скорости в зависимости от от дельты позиции а не тупо

 

Наш метод - метод тыка?

Share this post


Link to post
Share on other sites
1 hour ago, Tanya said:

Наш метод - метод тыка?

вот я и спрашиваю - есть у кого опыт в реализации такого PID ?

Edited by jenya7

Share this post


Link to post
Share on other sites
8 minutes ago, jenya7 said:

вот я и спрашиваю - есть у кого опыт в реализации такого PID ?

Да опыт-то  есть. Исходных данных нет.  

Share this post


Link to post
Share on other sites
1 hour ago, AlexandrY said:

Да опыт-то  есть. Исходных данных нет.  

а какие исходные данные нужны?

Share this post


Link to post
Share on other sites
7 minutes ago, jenya7 said:

а какие исходные данные нужны?

Да мне не нужны, у меня просто любопытство.
А вообще без точного чертежа механики и всех массогабаритных показателей такое не считают. 

Общего подхода типа - подкрутите коэффициент P, а потом K - нет.
Стркутура компенсатора (не обязательно PID) подбирается долгим и упорным моделированием.   

Share this post


Link to post
Share on other sites
9 минут назад, jenya7 сказал:

а какие исходные данные нужны?

Сначала о себе... Можете нарисовать зависимость положения и скорости для одного Вашего мотора от времени в самом быстром варианте?

А также ток и напряжение...

Share this post


Link to post
Share on other sites

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

мы можем закрыть что то одно - current loop, velocity loop, position loop.

в данном случае мы закрываем position loop.

зашли две позиции - что нужно сделать чтоб сохранить позиции равными? что вы можете изменить в регулировке мотора кроме PWM?  вы будете крутить болты в механике?

 

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

Edited by jenya7

Share this post


Link to post
Share on other sites
30 minutes ago, jenya7 said:

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

Это как раз делаете Вы со своим изобретением - "алгоритмикой регуляции". Люди целые библиотеки книг написали по ТАУ, а у Вас всё просто...

 

1 hour ago, jenya7 said:

вот я и привел алгоритм - всего две переменных - позиция против скорости.

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

А ничего, что там один параметр - скорость вращения? Его контролируют, его и изменяют. Какой же это "Ваш" случай с определением положения ("позиции")?!

 

 

1 hour ago, jenya7 said:

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

Ага, хороший подход. Так и сквозит в ответах: это не я должен думать, а кто-то.

Share this post


Link to post
Share on other sites
18 minutes ago, jenya7 said:

товарищи вы жжете нипадецки. речь идет об алгоритмике регуляции разницы в позиции. какие чертежи? какая механика?
в данном случае мы закрываем position loop.

зашли две позиции - что нужно сделать чтоб сохранить позиции равными? что вы можете изменить в регулировке мотора кроме PWM?  вы будете крутить болты в механике?

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

Share this post


Link to post
Share on other sites
1 hour ago, AlexandrY said:

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

смотрите - на али экспрес китайцы продают столик - с двумя моторчиками по бокам. он ездит вверх вниз и стакан не сползает на пол. я не знаю включили они износ механики и трение в алгоритм или нет. судя по цене нет.

 

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

Edited by jenya7

Share this post


Link to post
Share on other sites
37 minutes ago, jenya7 said:

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

Вот и думайте. У вас дискретные датчики, которые имеют неравные длительности импульсов и на малых оборотах вы теряете информацию о скорости и позиции. 
А еще редуктор с люфтом.
И чем тут PID поможет? 
И кто мне говорит что я усложняю? 
Я наоборот упрощаю говоря что задача решаема в Stateflow,  а ведь она может быть и нерешаема с такой комплектацией. :negative:

 

Share this post


Link to post
Share on other sites
1 hour ago, AlexandrY said:

Вот и думайте. У вас дискретные датчики, которые имеют неравные длительности импульсов и на малых оборотах вы теряете информацию о скорости и позиции. 
А еще редуктор с люфтом.
И чем тут PID поможет? 
И кто мне говорит что я усложняю? 
Я наоборот упрощаю говоря что задача решаема в Stateflow,  а ведь она может быть и нерешаема с такой комплектацией. :negative:

 

а вы мне как то на симулинк неплохой алгоритм подкинули. может и этот случай можно через матлаб разрулить?

то есть это даже не вопрос. я уверен вы можете :)))

Edited by jenya7

Share this post


Link to post
Share on other sites

Интересует причина возникновения разницы в положении. Проскальзывание, разница в нагрузке или еще что-то?

Share this post


Link to post
Share on other sites
1 hour ago, yamantau said:

Интересует причина возникновения разницы в положении. Проскальзывание, разница в нагрузке или еще что-то?

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

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

 

Edited by jenya7

Share this post


Link to post
Share on other sites

Увидеть бы структуру электропривода.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now