Я так понимаю, константа 10мкс ещё в сам блок зашита, ведь сам блок Stepper_light не использует "текущее время".
Полагаю, если уменьшать эту константу, то точность "accel_period" испортится (т.к. деление 100000/accel целочисленное)
Некий минус, что тут нет "минимальной скорости". Т.е. стартует блок с нулевой скорости и это может приводить к пропускам импульсов на резонансных частотах.
На оборудовании такого не наблюдалось?
Для порядка попробовал Stepper_Light на "разных скоростях".
Честно говоря, не берусь судить, но, наверное, выше 15кГц на "10мкс цикле" вряд ли разумно крутить.
На картинке чёрными точками (их много и они слились просто) отмечены импульсы, выдаваемые блоком, а красная линия это "идеальная траектория" для указанных параметров движения.
accel=10кГц/сек, max_speed=50кГц, quantity=251000
При таком ускорении максимальная скорость должна набираться за 5 секунд и за эти 5 секунд ШД должен проехать 10000*5*5/2==125'000 импульсов.
Ещё столько же на торможение и 1000 посредине.
В целом, конечно, не так-то и плохо, но скачки между 20кГц, 25кГц, 33кГц, 50кГц (по сути это эффект того, что импульсы квантуются по 10мкс) выглядят сурово и едва ли ШД сможет перепрыгнуть с одной скорости на другую.
stepper_light50.png
В режиме accel=1кГц/сек, max_speed=5кГц, quantity=26000 выглядит ровнее
stepper_light5.png
В режиме accel=0.1кГц/сек, max_speed=0.5кГц, quantity=2560 ещё ровнее
stepper1.png