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. В более сложных условиях (когда процессор что-то усиленно считает) точно будет не лучше, а скорее - хуже. Насколько - вопрос для куда более монументального исследования, ведь придется сопоставлять запланированные программой перемещения с реально выданными (и захваченными) импульсами - на это у меня пороху не хватит.
Вывод
Не будет вывода. Очень надеюсь на обсуждение.
Еще больше интересных статей
Дневник Tronxy Crux-1. Дисплей, Klipperscreen, шейперы
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Выравнивание стола Elegoo Neptune 3 PRO: по мотивам SkittlesL0ve, но без напильника
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
В этой статье я поделюсь с вами своим успешным опытом выравнивания сто...
Сопла и сопли
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сколько раз этот вопрос поднимался. Сколько тем...
Комментарии и вопросы
Когда-то гнул под круглыми (ди...
Производитель добавляет туда е...
Там без молотка и какой то мат...
сдох драйвер экструдераимеется...
FlyingBear Ghost 5, MKS Robin...
Возможно ли добавить поддержки...
Здравствуйте,подскажите пожалу...