Marlin и Mega: частота сигнала STEP
Сегодня построил 'тестовый стенд', подключил логический анализатор, и стал экспериментировать. 'Стенд' представляет собой классический бутерброд 'Mega+RAMPS' с переделанным пятивольтовым питанием, установлен один драйвер DRV8825 (1/32). Двигатель и ток упоминать смысла нет - результаты полностью идентичны при 'полном' подключении, при наличии драйвера и отсутствии двигателя, при отсутствии и драйвера и двигателя.
Анализатор - китайский клон Saleae Logic, подключен к пину STEP драйвера. Прошивка Marlin 1.0.2 настроена следующим образом: максимальная скорость 1000 мм/с на ось, CoreXY, 160 шагов на мм (это для двигателя с шагом 1.8', 20-зубого шкива, ремня GT2 и дробления 1/32).
Методика эксперимента
Задаем маленькое ускорение (100 мм/с) и запускаем перемещение по оси X на 1000 мм с различными целевыми скоростями. Например, G-код G1 X1000 F20000. 20000 - это скорость в мм/мин, 333.3(3) мм/с. И смотрим, что у нас с импульсами STEP.
Общие результаты
Marlin хитрая. Она где-то внутри прикидывает, хватит ли частоты выдачи сигнала STEP при одном импульсе на прерывание. Если не хватает - то начинает выдавать по два импульса на прерывание. Эффективная частота увеличивается, но импульсы следуют не через равный промежуток. А если опять не хватает - то уже по четыре на прерывание. Выглядит это примерно так.То есть, отталкиваясь от частоты прерываний в 10 КГц, мы получаем эффективную частоту до 40 КГц. Применив к этому немножко арифметики, получаем вот что:
до 62.5 мм/с - один шаг на прерывание;
до 125 мм/с - два шага на прерывание;
до 250 мм/с - четыре шага на прерывание.
Это теория. А что на практике? А если задать больше 250 мм/с? Ну, хорошо, даю G1 X1000 F20000 (333.3(3) мм/с) и анализирую полученное. Измеренная частота импульсов при этом составляет почти 40 КГц (250 мм/с). Логично.
ХреньНа скорости выше 10000 мм/мин (166,6(6) мм/с) я стабильно получаю провалы в тактировании. На обоих движках синхронно (напомню, CoreXY). Длятся они 33 мс, находятся примерно за 0.1 с до начала снижения скорости. Иногда такой же провал есть в начале движения - через 0.1 после завершения набора скорости. Вообще, есть подозрение, что он устойчиво пропадает на скорости до 125 мм/с - то есть, когда не применяются 4 шага на прерывание, но это только подозрение.
Как интерпретировать 'хрень' - я не знаю. С какими-то внешними воздействиями она не коррелирует - с общением по последовательному порту не совпадает, прошивка собрана без поддержки всяких дисплеев и SD-карт.
Мысли
1. Если не пытаться что-то нашаманить с Marlin, потолок скорости (1.8', 1/32, 20 зубов, GT2) - 250 мм/с.
2. На скоростях выше 125 мм/с (гипотетически) есть глюк с провалом тактирования. Где и как он будет проявляться в реальной работе - я предсказать не могу.
3. В более сложных условиях (когда процессор что-то усиленно считает) точно будет не лучше, а скорее - хуже. Насколько - вопрос для куда более монументального исследования, ведь придется сопоставлять запланированные программой перемещения с реально выданными (и захваченными) импульсами - на это у меня пороху не хватит.
Вывод
Не будет вывода. Очень надеюсь на обсуждение.
Еще больше интересных статей
Подключение мощного диодного лазера к 3D-принтеру
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Появилось у меня как-т...
Дистанционное управление питанием 3D-принтера. Настройка Klipper и BTT Relay
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Мне вот некогда рассказывать о...
Почему если рассказывают о сво...
Спасибо! С удовольствием поста...
Друзья! Требуется отклик...
Всем привет. Такая проблема. С...
Купил ремкомплект для принтера...
Здравствуйте!Ни так давно стал...