Кремень FMZ Реклама
Kremen FMHM Реклама

Утилита калибровки 3D принтеров. Часть 3. Жажда скорости.

vadik1000
Идет загрузка
Загрузка
07.07.2018
11859
34
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

44
В продолжение постов:

Утилита калибровки 3D принтеров Утилита калибровки 3D принтеров. Часть 2.Продолжаю дорабатывать эту утилиту.

На этот раз появилась функция автоматического поиска максимальных скоростей принтера:
Утилита калибровки 3D принтеров. Часть 3. Жажда скорости.
Небольшое вступление по этому поводу.

Как я раньше говорил, идея этой утилиты родилась как раз с желания автоматизировать поиск максимальных скоростей и ускорений механики принтера. Но из-за некоторых технических проблем, трудоёмкости алгоритма этого поиска, а так же в связи с тем, что точное знание предельных скоростей и ускорений, как оказалось, это не самая большая проблема при печати, я это дело отложил и разрабатывал утилиту, вставляя в неё функции, которые действительно нужны и нужны не один раз, а периодически.

Но выложив эту программку в открытый доступ, оказалось, что всё таки потребность в функции автоматического поиска скоростей и ускорений у людей есть. Поэтому я решил попробовать её реализовать.

Несмотря на появление в программке всего одной новой закладки, потрудиться пришлось серьёзно. Всплыли разные неприятные и неожиданные моменты технического плана, с которыми пришлось бороться. Результаты моей борьбы, как обычно, выкладываю в открытый доступ.

И так, что появилось.

Появилась закладка -Скорости-. На ней можно выбрать размеры печатной области вашего принтера, на которой программа будет гонять двигатели со всем тем, что на них навешано.

Так же можно выбрать начальные скорости, с которых программа начнёт подбор.

Для каждой оси свой набор параметров.

Так же можно выбрать оси, скорости на которых необходимо подобрать.

Результат работы функции отобразится в окошке справа.

Теперь немного об алгоритмах поиска, чтобы было понимание, что, почему и зачем происходит при работе программы и чем это грозит.

Основа алгоритма проста. Программа гоняет движки на разных скоростях и ловит пропуски шагов. Поскольку программа написана для прошивок и принтеров, которые не имеют обратной связи по пропущенным шагам, то ловить их приходится хитро. Это, а так же некоторые другие технические моменты приводят к не очень быстрой работе функции поиска максимальных скоростей.

Вторая часть алгоритма ловит, скажем так, фейковые скорости. Т.е. вы например, можете задать в принтере скорость 1000 мм/с и печатать на ней и даже не будет пропусков шагов и вы будете считать, что у вас реально такая скорость и говорить об этом на всех форумах. Но это может быть не так. По разным причинам. Ну например, будет недостаточно производительности платы, при этом ни ошибок ни пропусков может не быть.

Вот вторая часть алгоритма учитывает такие вещи. В результате на выходе отображается именно реально возможная скорость перемещения.

Про ограничения.

На данный момент это первая версия этой функциональности, имеющая некоторые ограничения. Будет ли эта функциональность в дальнейшем дорабатываться зависит от уровня заинтересованности пользователей в этом.

Ограничения пока следующие:

Поиск производится только скоростей, ускорения используются текущие.

Концевики должны быть min и на XY без смещения нуля, на Z отработка смещения нуля реализована.

Результат ни автоматически ни в ручную не применяется к прошивке, выводится просто как информация.

Ну и главное. Пока эта функциональность тестировалась только мной и на одном принтере, поэтому возможны глюки, сбои, ошибки со всеми вытекающими.

Кроме того, хочу напомнить, что последствием отсутствия в принтере отлова пропуска шагов, которые возникают на запредельных скоростях/ускорениях будут удары механизмов друг о друга, что может привести к поломкам, а может и не привести. Но я должен об этом предупредить.

Кого это всё не пугает, кому интересно потестировать новый функционал - доработанная версия утилиты доступна по ссылке из первого поста.

Ещё мелки доработки:

Кто-то в комментариях говорил, что недостаточны таймауты, я их изменил, можно потестить.

И скрыты в коде некоторые моменты, которые мы обсуждали с SergeyR7.

Всем спасибо.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

44
Комментарии к статье