Jump to content

    
Sign in to follow this  
dimka76

Калибровка линейного привода

Recommended Posts

Есть линейный привод. Шаговый двигатель (ШД) вращает вал шариково-винтовой передачи (ШВП) и тем самым перемещает платформу.

Есть желание калиброваться об упор. Т.е. на ШД подаем количество шагов заведомо больше чем требуется для полного перемещения

от края до края. И получившуюся позицию принимаем за ноль.

Соответственно, после того как платформа упрется, а на ШД все еще продолжают поступать импульсы, то ШД

просто должен пропускать шаги.

Но в реальности он не просто пропускает шаги, а немного колеблется туда-сюда. Как-будто часто меняем направление вращения.

Из-за этого нет однозначности.

Как то можно избежать этих колебание или это принципиально не возможно ?

Share this post


Link to post
Share on other sites

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

Вы вращаете поле. Если магнит ротора зафиксировать, поле проскочит 180 градусов и потянет магнит в обратном направлении. Но поле всё ещё вращается в прямом, потому магнит после отскока снова будет двигаться вперёд.

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

Share this post


Link to post
Share on other sites
6 minutes ago, man with no name said:

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

Вы вращаете поле. Если магнит ротора зафиксировать, поле проскочит 180 градусов и потянет магнит в обратном направлении. Но поле всё ещё вращается в прямом, потому магнит после отскока снова будет двигаться вперёд.

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

Спасибо.

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
4 minutes ago, _pv said:

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

У нас примитивный дешевый китайский драйвер STEP-DIR.

Share this post


Link to post
Share on other sites

Собственно таким методом все матричные принтеры при включении головку позиционировали. 

1 час назад, dimka76 сказал:

Из-за этого нет однозначности.

Если упор достаточно жесткий, то сделав в конце один шаг назад, вы всегда будет попадать в одно и то же положение (я так думаю). Можно для надежности делать два шага.

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

PART_3.PDF

Share this post


Link to post
Share on other sites
13 minutes ago, Сергей Борщ said:

Собственно таким методом все матричные принтеры при включении головку позиционировали. 

Если упор достаточно жесткий, то сделав в конце один шаг назад, вы всегда будет попадать в одно и то же положение (я так думаю). Можно для надежности делать два шага.

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

PART_3.PDF 856.52 kB · 0 downloads

Спасибо, но как пишет Таня,

36 minutes ago, Tanya said:

Неизбежно один шаг в худшем случае.

Получатся мы может прекратить выдачу шагов на двигатель в любой момент и до "отскока" и после. Т.е. у следуя этой логике получается ошибка +- 1 полный шаг даже если мы идем в микрошаге.

1 hour ago, _pv said:

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

А вот это могло бы быть интересно. Т.е. ловить перескок фазы между током и напряжением ?

Но тогда нам придется свой драйвер ШД разрабатывать. Сейчас мы готовые покупаем. И они без какой-либо обратной связи между задатчиком шагов.

Share this post


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

Т.е. следуя этой логике получается ошибка +- 1 полный шаг

Посидел, подумал, порисовал - да, вы правы.

Share this post


Link to post
Share on other sites
13 minutes ago, Tanya said:

Микрошаг ничего не даст.

Я про другое имел ввиду.

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

Share this post


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

И вот тут отскок будет происходить на полный шаг, а не на микрошаг.

Отскок произойдет на полный шаг от упора. Т.е. если расстояние полного шага S, а от последнего устойчивого положения до упора deltaS, то после отскока мы окажемся в положении  S - deltaS  до устойчивого положения. 

Share this post


Link to post
Share on other sites
13 minutes ago, Сергей Борщ said:

Отскок произойдет на полный шаг от упора. Т.е. если расстояние полного шага S, а от последнего устойчивого положения до упора deltaS, то после отскока мы окажемся в положении  S - deltaS  до устойчивого положения. 

Согласен

Share this post


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

А вот это могло бы быть интересно. Т.е. ловить перескок фазы между током и напряжением ?

Но тогда нам придется свой драйвер ШД разрабатывать. Сейчас мы готовые покупаем. И они без какой-либо обратной связи между задатчиком шагов.

разрабатывать не придётся, они даже в таком же форм факторе бывают (отдельная плата "широкий DIP с 2.54мм") только на ногах вместо конфигурации мирошага spi висит для чтения/записи регистров.

TMC2130 , stallguard вроде эта фича у них называется.

 

и бывают в виде платы на задницу мотору даже с магнитным энкодером на ось для обратной связи.  https://www.trinamic.com/products/pandrive-smart-motors/

но стоят конечно "несколько" дороже чем А4998 за 2$.

 

Share this post


Link to post
Share on other sites
1 hour ago, Сергей Борщ said:

Отскок произойдет на полный шаг от упора. Т.е. если расстояние полного шага S, а от последнего устойчивого положения до упора deltaS, то после отскока мы окажемся в положении  S - deltaS  до устойчивого положения. 

только на deltaS/2. На горку синуса нас закатила стенка, мы в неустойчивом положении равновесия. Скатываемся вниз на полпериода.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this