niko191 писал(а): ↑05.03.2023{, 03:07}
Шаговый двигатель 400 шагов на оборот. Режим полшага- 800 шагов.
800:53= 15.09433962264151 шага на один зуб. 15 шагов сделать не проблема, а что делать с цифрами после запятой, они будут накапливаться на каждом зубе
Какой двигатель? Какой драйвер? Какая передача(редуктор)?
1. Без редуктора шаговик не удержит. А с коэффициентом хотя бы 10 ошибка уменьшается.
2. У нормального драйвера есть деление не только на полушаг, а на много больше. К примеру какой нибудь DM556 имеет на борту делитель 256 - а это, (если у Вас двигатель действительно с шагом 0,9гр) будет 102400 микрошагов на оборот. Получается разрешение 0,0035... градуса на микрошаг и это еще без редуктора.
3. Есть в нем и другие (не бинарные) делители. Самый большой 200. А это с вашими двигателем 80000 шагов на оборот. При этом микрошаг будет четко 0,0045 градуса.
4. С таким делителем получается что максимум погрешности на каждом зубе будет 0,0045 : 2 = 0,00225 гр (по закону округления). А это на диаметре 100мм меньше 2 микрон. И это ещё без редуктора!
Да Вы на люфтах и термо расширении в десятки раз больше "согрешите".
Ну и последнее. Самое важное. Если рассматривать накопительную ошибку при постоянном вращении, то ЕЁ НЕ СУЩЕСТВУЕТ!
Сделав 400 или 800 шагов или 102400 микрошагов, шаговик вернется в НУЛЕВУЮ точку БЕЗ ПОГРЕШНОСТИ. То же самое произойдет и при следующем обороте и через 1000 оборотов.
Погрешность может накапливаться если только у Вас редуктор "кривой". (Имеет дробный коэффициент)
Отправлено спустя 2 часа 27 минут 8 секунд:
---------------------------------------------------
И к стати. Почитайте то, что написал
Abay1, повнимательнее. Он хоть и сложно (через Фурье
) но простые принципы объясняет.
Если в двух словах и на пальцах, то выглядит это так.
Нельзя.
360 градусов разделить на количество шагов и потом этот "кривой" дробный угол использовать для расчета перемещения простым умножением. Это ересь. Здесь и кроется Ваша "накопительная погрешность".
Можно.
Сначала взять соотношение угла положения к полному обороту (360 / угол) а потом умножить это на количество шагов (микрошагов) в обороте. Только так!