Я работаю над кодом Python (ниже), который ускоряет шаговый двигатель, пока не достигнет определенного количества шагов.Stepper Motor Lineair Acceleration 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 = количество шагов, в течение которого должно произойти ускорение
проблема заключается в том, что скорость возрастает в шаг за секунду на шаг вместо шаг в секунду, и поэтому увеличивается экспоненциально вместо линии. Я нашел статью this, в которой математические термины объясняются тем, как можно добиться увеличения линии с помощью Stepper Motor, но мне не удалось перевести это в мой код на Python.
Я очень признателен, если кто-то может помочь мне с этим, и я думаю, что было бы очень полезно для людей, использующих степперы на Raspberry Pi в целом (я только нашел решение для Arduino here)
Заранее большое спасибо.
К сожалению, я забыл увеличиваем steps_done, что сделает это займет немного слишком много времени, чтобы закончить ... :( – TextGeek
Привет, спасибо, я сделаю некоторые испытания с этим. Я думаю, что это определенно шаг в правильном направлении. Я думаю, что по мере того, как ускорение изменяет общую продолжительность, мне нужно будет угадать, как долго происходит ускорение, но я хотел бы это предсказать. В моей старой формуле я был способен сказать, ускорить более 20 из 200 (всего) шагов (= 20% от всего). Теперь я в конечном итоге догадываюсь, что, возможно, x секунд должно быть достаточно. – LuukS
Хорошая точка. Возможно, вы можете измерить это достаточно надежно от фактического установленного двигателя (конечно, это будет зависеть от множества физических переменных). BTW, если заинтересована проверка stackExchange для 3D-печати, который пытается начать работу по адресу http://area51.stackexchange.com/proposals/82438/3d-printing – TextGeek