ESP, IoT Как остановить шаговый в нужном месте?

Михалычч

✩✩✩✩✩✩✩
25 Фев 2026
2
0
Всем привет, есть задача, шаговый мотор крутит ленту и она тянет продукцию, на продукции есть метка, датчик ее видит и после этого надо очень точно остановить изделие для сверления, сейчас 0,1-0,4 мм перелет недолет. Какие алгоритмы посоветуете. Сейчас сделано так, крутим бесконечно мотором отправляя шаги в драйвер, как только увидели метку запускаем торможение на нужное количество шагов. Где проблема? у китайцев это работает прекрасно и очень точно. Подскажите какие алгоритмы еще возможны. Пропуска шагов нет, проверяли алгоритмами разными.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,337
1,325
Москва
Странный вариант, шаги точные, а положение нет. Ну тогда , возможно, ошибка при считывании датчика идет.
Я делал что то подобное с фотодатчиком: было 6 прорезей на вращающемся диске, и надо было точно выставлять нужную прорезь. Делал примерно так же как с концевиками 3д принтеров:получил сигнал с датчика - остановился, откатился, и медленно дошел до датчика, а потом сделал число шагов - получалось достаточно точно позиционировать в одном и том же месте.
 

EugeneFrol

✩✩✩✩✩✩✩
17 Апр 2024
63
9
50
Если допустить, что на один шаг мотора перемещает изделие на 0.3мм, то попасть точно не вариант.
Однако некоторые драйвера позволяют управлять микрошагом.
Т.е. после срабатывания датчика сделать шаг назад, уменьшить микрошаг раз в 8, например, довести до края метки и далее уже отсчитывать шаги от края метки.
 

Михалычч

✩✩✩✩✩✩✩
25 Фев 2026
2
0
Так, всем спасибо, похоже микролюфт на соединении мотор - шкив, устраняю.

@EugeneFrol, не вариант, надо без остановки и на высоких скоростях. и так стоит 6400 шагов на оборот. мотор фланец 86 мм, вал мотора 14 мм.