Библиотека AccelStepper: Как перейти на позицию, не замедляясь?

Когда я заставляю двигатель двигаться на определенное расстояние с помощью setMaxSpeed(), setAcceleration() и moveTo(), он всегда ускоряется и замедляется. Есть ли способ отключить замедление?

, 👍0

Обсуждение

Ускорение и замедление вызывают меньшее механическое напряжение. Почему ты этого не хочешь?, @Jot

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


1 ответ


1

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

setAcceleration() устанавливает скорость в шагах в секунду. Если ваша максимальная скорость составляет 200 шагов в секунду, то установка ускорения на 200*10 означает, что все ускорение закончится за 1/10 секунды. Можно подняться выше и т. д.

,