dimka76 13 October 22, 2020 Posted October 22, 2020 · Report post Есть линейный привод. Шаговый двигатель (ШД) вращает вал шариково-винтовой передачи (ШВП) и тем самым перемещает платформу. Есть желание калиброваться об упор. Т.е. на ШД подаем количество шагов заведомо больше чем требуется для полного перемещения от края до края. И получившуюся позицию принимаем за ноль. Соответственно, после того как платформа упрется, а на ШД все еще продолжают поступать импульсы, то ШД просто должен пропускать шаги. Но в реальности он не просто пропускает шаги, а немного колеблется туда-сюда. Как-будто часто меняем направление вращения. Из-за этого нет однозначности. Как то можно избежать этих колебание или это принципиально не возможно ? Quote Share this post Link to post Share on other sites More sharing options...
man with no name 0 October 22, 2020 Posted October 22, 2020 · Report post Принципиально невозможно. В ЧПУ станках поиск концевиков делается на малых скоростях. Если мы знаем примерную координату, можем пробежать большую часть пути на высокой скорости, но до встречи с концевиком начинаем тормозить. Не знаем положение - черепашьим шагом движемся в сторону концевика. Вы вращаете поле. Если магнит ротора зафиксировать, поле проскочит 180 градусов и потянет магнит в обратном направлении. Но поле всё ещё вращается в прямом, потому магнит после отскока снова будет двигаться вперёд. Если врезаться в концевик - вынужденная мера, то логично при срабатывании концевика делать полный стоп без плавного торможения. Quote Share this post Link to post Share on other sites More sharing options...
dimka76 13 October 22, 2020 Posted October 22, 2020 · Report post 6 minutes ago, man with no name said: Принципиально невозможно. В ЧПУ станках поиск концевиков делается на малых скоростях. Если мы знаем примерную координату, можем пробежать большую часть пути на высокой скорости, но до встречи с концевиком начинаем тормозить. Не знаем положени - черепашьим шагом шагаем в сторону концевика. Вы вращаете поле. Если магнит ротора зафиксировать, поле проскочит 180 градусов и потянет магнит в обратном направлении. Но поле всё ещё вращается в прямом, потому магнит после отскока снова будет двигаться вперёд. Если врезаться в концевик - вынужденная мера, то логично при срабатывании концевика делать полный стоп без плавного торможения. Спасибо. Но идея как раз была в том, чтобы обойтись без концевика, а намеренно биться о жесткий упор. Quote Share this post Link to post Share on other sites More sharing options...
_pv 21 October 22, 2020 Posted October 22, 2020 · Report post некоторые драйвера, вроде тринамика, умеют измерять токи и соответственно момент упора в стенку наверное можно и с микрошагом отследить, до того как у токов фаза на больше чем 180градусов уползёт, что ШД в обратную сторону шагнёт. Quote Share this post Link to post Share on other sites More sharing options...
dimka76 13 October 22, 2020 Posted October 22, 2020 · Report post 4 minutes ago, _pv said: некоторые драйвера, вроде тринамика, умеют измерять токи и соответственно момент упора в стенку наверное можно и с микрошагом отследить, до того как у токов фаза на больше чем 180градусов уползёт, что ШД в обратную сторону шагнёт. У нас примитивный дешевый китайский драйвер STEP-DIR. Quote Share this post Link to post Share on other sites More sharing options...
Tanya 3 October 22, 2020 Posted October 22, 2020 · Report post Неизбежно один шаг в худшем случае. Quote Share this post Link to post Share on other sites More sharing options...
Сергей Борщ 46 October 22, 2020 Posted October 22, 2020 · Report post Собственно таким методом все матричные принтеры при включении головку позиционировали. 1 час назад, dimka76 сказал: Из-за этого нет однозначности. Если упор достаточно жесткий, то сделав в конце один шаг назад, вы всегда будет попадать в одно и то же положение (я так думаю). Можно для надежности делать два шага. В приложении документ от switec для шаговых двигателей стрелок приборных панелей - там используется тот же принцип. Почитайте, возможно найдете что-нибудь полезное для себя. На странице 12 даже алгоритм нарисован. PART_3.PDF Quote Share this post Link to post Share on other sites More sharing options...
dimka76 13 October 22, 2020 Posted October 22, 2020 · Report post 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градусов уползёт, что ШД в обратную сторону шагнёт. А вот это могло бы быть интересно. Т.е. ловить перескок фазы между током и напряжением ? Но тогда нам придется свой драйвер ШД разрабатывать. Сейчас мы готовые покупаем. И они без какой-либо обратной связи между задатчиком шагов. Quote Share this post Link to post Share on other sites More sharing options...
Tanya 3 October 22, 2020 Posted October 22, 2020 · Report post Микрошаг ничего не даст. Даже устранив отскок (червячный привод)... Если бы был измеритель силы.. Стандартный драйвер держит ток. Quote Share this post Link to post Share on other sites More sharing options...
Сергей Борщ 46 October 22, 2020 Posted October 22, 2020 · Report post 30 минут назад, dimka76 сказал: Т.е. следуя этой логике получается ошибка +- 1 полный шаг Посидел, подумал, порисовал - да, вы правы. Quote Share this post Link to post Share on other sites More sharing options...
dimka76 13 October 22, 2020 Posted October 22, 2020 · Report post 13 minutes ago, Tanya said: Микрошаг ничего не даст. Я про другое имел ввиду. Изначально мы идет в микрошаге. Достигли упора, но продолжаем идти в микрошаге. И вот тут отскок будет происходить на полный шаг, а не на микрошаг. Quote Share this post Link to post Share on other sites More sharing options...
Сергей Борщ 46 October 22, 2020 Posted October 22, 2020 · Report post 4 минуты назад, dimka76 сказал: И вот тут отскок будет происходить на полный шаг, а не на микрошаг. Отскок произойдет на полный шаг от упора. Т.е. если расстояние полного шага S, а от последнего устойчивого положения до упора deltaS, то после отскока мы окажемся в положении S - deltaS до устойчивого положения. Quote Share this post Link to post Share on other sites More sharing options...
dimka76 13 October 22, 2020 Posted October 22, 2020 · Report post 13 minutes ago, Сергей Борщ said: Отскок произойдет на полный шаг от упора. Т.е. если расстояние полного шага S, а от последнего устойчивого положения до упора deltaS, то после отскока мы окажемся в положении S - deltaS до устойчивого положения. Согласен Quote Share this post Link to post Share on other sites More sharing options...
_pv 21 October 22, 2020 Posted October 22, 2020 · Report post 1 hour ago, dimka76 said: А вот это могло бы быть интересно. Т.е. ловить перескок фазы между током и напряжением ? Но тогда нам придется свой драйвер ШД разрабатывать. Сейчас мы готовые покупаем. И они без какой-либо обратной связи между задатчиком шагов. разрабатывать не придётся, они даже в таком же форм факторе бывают (отдельная плата "широкий DIP с 2.54мм") только на ногах вместо конфигурации мирошага spi висит для чтения/записи регистров. TMC2130 , stallguard вроде эта фича у них называется. и бывают в виде платы на задницу мотору даже с магнитным энкодером на ось для обратной связи. https://www.trinamic.com/products/pandrive-smart-motors/ но стоят конечно "несколько" дороже чем А4998 за 2$. Quote Share this post Link to post Share on other sites More sharing options...
man with no name 0 October 22, 2020 Posted October 22, 2020 · Report post 1 hour ago, Сергей Борщ said: Отскок произойдет на полный шаг от упора. Т.е. если расстояние полного шага S, а от последнего устойчивого положения до упора deltaS, то после отскока мы окажемся в положении S - deltaS до устойчивого положения. только на deltaS/2. На горку синуса нас закатила стенка, мы в неустойчивом положении равновесия. Скатываемся вниз на полпериода. Quote Share this post Link to post Share on other sites More sharing options...