Понятия "нулевая начальная скорость" не существует. Равно как и "нулевая начальная частота".
ШД двигается импульсами.
Ну невозможно подавать импульсы с нулевой частотой. Хоть тресни, но с нулевой частотой невозможно.
Вот вопрос: какая скорость в момент подачи первого импульса?
С технической точки зрения, интервал между первыми фронтами (первым и вторым) импульсов в случае min_speed=0 равен sqrt(2/accel_ramp)*0.676 сек
1 / (sqrt(2/30)*0.676) ~= 6Гц
1 / (sqrt(2/300)*0.676) ~= 18Гц
1 / (sqrt(2/3000)*0.676) ~= 60Гц
Последний раз редактировалось Владимир Ситников; 04.10.2016 в 12:25.
Посмотрел ФБ PRU_STEPPER. Не понял почему PULSES_GENERATED объявлен как DWORD.
Как зачем?
Для плавного запуска/останова и для избегания резонанса ШД.
Разумеется, физически невозможно выдрежать min_speed=0. Хоть ты тресни, но генерировать импульсы с частотой 0 Гц невозможно.
Тем не менее, ШД подаёт импульсы так, что фактический закон вращения вала ШД становится близким к "идеальному равноускоренному движению из 0 частоты".
Посмотрите на график разгона от 0 до 5кГц (1-ая картинка)
Там видно, что в начале скорость меняется ступеньками. Ступеньками т.к. большие интервалы между импульсами. Т.е. каждая ступенька это отдельный импульс.
Переименуйте MIN_SPEED и MAX_SPEED в MIN_FREQ и MAX_FREQ чтобы не сбивать людей с толку.