Как "работают" ускорения в прошивке GRBL

Viktor1980

МЕСТНЫЙ
ПРОВЕРЕННЫЙ
Регистрация
20.06.2025
Сообщения
19
Реакции
1
Баллы
13
Возраст
45
Адрес
Самара
Город
Самара
Область
Самарская
Имя
Виктор
Станок
CNC3018Pro
Прошивка
1.1
Добрый день всем. Вопрос у меня теоретического плана. Как "работают" ускорения в прошивке GRBL? Как их обрабатывает прошивка, как они реализуются на выходе? И ещё вопрос работают ускорения при всех видах перемещения? И холостых и рабочих?
 
И холостых и рабочих?
Да.
Как "работают" ускорения в прошивке GRBL?
Плавное по математическим законам (читайте ТАУ) увеличение от 0 Гц до номинала частоты сигнала STEP (на выводе МК). Аналогию можно привести ДВС при наборе оборотов, там тоже увеличением импульсов в сек (тактов горения) достигается необходимое количество оборотов.
 
Да.

Плавное по математическим законам (читайте ТАУ) увеличение от 0 Гц до номинала частоты сигнала STEP (на выводе МК). Аналогию можно привести ДВС при наборе оборотов, там тоже увеличением импульсов в сек (тактов горения) достигается необходимое количество оборотов.
Таким образом увеличивая значение ускорения мы уменьшаем время выхода на заданную скорость. А что будет если в значение ускорения поставить 0?
 
Таким образом увеличивая значение ускорения мы уменьшаем время выхода на заданную скорость.
правильно.
А что будет если в значение ускорения поставить 0?
В теории объект (ось) не начнет движение. Потому что из законов физики (7й класс школы) следует, что появление мгновенной скорости возможно только в двух случаях, масса равно нулю или ускорение равно бесконечности. Попробуйте поставить 0 и посмотрите (по идее должна стоять защита от установки настройки в 0 в коде МК).
 
по идее должна стоять защита от установки настройки в 0 в коде МК
Нет такой защиты. Уже вопрошали: "почему нет движения?". $120-122 по нулям были. Тема давнишняя, но ежели поискать....
 
  • Последнее редактирование:
Последнее редактирование:
Добрый день всем. Вопрос у меня теоретического плана. Как "работают" ускорения в прошивке GRBL? Как их обрабатывает прошивка, как они реализуются на выходе? И ещё вопрос работают ускорения при всех видах перемещения? И холостых и рабочих?
Правильный алгоритм такой. Синяя линия - непрерывное увеличение скорости (теория), красная - дискретное (реальность). Выбирается дискретное приращение скорости ΔV таким образом, чтобы все интервалы ΔV были одинаковы. Затем вычисляется Δt.
1752775182331.png
В grbl используется неоптимальный алгоритм ускорений/торможений. Задается фиксированное Δt=5ms, и с этим периодом включается таймер. Когда приходит очередной тик таймера, прошивка вычисляет к-во импульсов и их новую частоту. Но из-за фиксированного Δt последний интервал изменения скорости получается плавающим. Что приводит к существенным расхождениям с теорией. Кроме того, правильный алгорим работает намного быстрее, чем grbl-евский. Из-за чего возникает доп. ошибка. И чем медленнее МК, тем больше эта ошибка. Вот так эта ошибка выглядит на практике, измерял на 3018.
1752775964783.png
 
Сверху Снизу