我正在编写一个 Python 代码(如下),它可以加速步进电机,直到它达到特定的步数。
for s in range (steps):
if s < accelerationsteps:
lateststep = self.oneStep(direction, stepstyle)
time.sleep(s_per_s)
s_per_s = s_per_s - ((astart - aend) / accelerationsteps)
s_per_s
= 每一步之间的时间
astart
= 以秒/步为单位的起始速度(例如 0.5)
aend
= 加速停止的速度(例如 0.05)
accelerationsteps
= 加速应该发生的步数
问题是速度以每步每秒步数而不是每秒步数每秒增加,因此呈指数增加而不是线性增加。我发现这篇文章用数学术语解释了如何使用步进电机实现线性增长,但我还没有设法将其转换为我的 Python 代码。
如果有人能帮我解决这个问题,我将不胜感激,我认为这对于在 Raspberry Pi 上使用 Steppers 的人来说通常非常有用(我在这里只找到了 Arduino 的解决方案)