Металл2024 Реклама
Метобр2024 Реклама

UBL Bed autoleveling, хардварные концевики по всем направлениям и турбовентиляторы 5015 на 24В.

admlaz
Идет загрузка
Загрузка
03.06.2018
3526
17
Техничка

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

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

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

10
Собственно начну с последнего...

Наткнулся я в свое время на сайте треугольников на любопытный хотэнд, отличающийся от привычных всем кубиков. Решил, при постройке нового принтера, попробую использовать его. Однако по умолчанию он рассчитан на 24В. ОК, значит пусть будет 24В БП у нового принтера! На столе силиконовая грелка на 220В, движкам все равно, хотэнд на 24В, остаются вентиляторы. Ну пускай тоже на 24В будут, решил я... На радиаторе хотэнда обычный осевой 4020, а на обдув модели запроектировал турбинку 5015. Заказал у уже проверенного продавца вентиляторы ровно той же фирмы и размеров, что покупал и использовал ранее, только на 24В. Получил и даже проверять не стал, продавец проверенный, да и вентиляторы(фирма) тоже. Собрал принтер, включаю, осевой вентилятор работает отлично, а вот обдув не хочет. Проверил напряжение, все нормально поступает. Ладно, думаю, не повезло, зря не проверил... Беру второй такой же (покупал пару), ставлю и тоже тишина... Что делать, разбираю из любопытства один из вентиляторов, вроде все целое, горелым не пахнет...:)

На платке всего одна микросхема, напрямую подключенная к входному питанию. Ищу на нее даташит и... в нем четко написано, что микросхема работает в диапазоне входных напряжений 3-18В. А ушлые китайцы ее в 24В вентиляторы ставят.

В общем свою проблему я решил понижающим DC-DC преобразователем 24/12В на данный вентилятор. Остальным же на заметку...:) Дело еще в том, что при поиске 24В 5015 турбинок Алиэкспресс выдает 90% вентиляторов именно данной фирмы и остальные без маркировки. В общем будьте бдительны...
UBL Bed autoleveling, хардварные концевики по всем направлениям и турбовентиляторы 5015 на 24В.
UBL Bed autoleveling, хардварные концевики по всем направлениям и турбовентиляторы 5015 на 24В.
UBL Bed autoleveling, хардварные концевики по всем направлениям и турбовентиляторы 5015 на 24В.
Теперь о UBL и концевиках...

В общем без малого неделю провозился с этими проблемами, даже пытался спрашивать в 'Вопросы и ответы', но видимо мои вопросы прошли мимо людей способных на них ответить...:)

Скажу сразу - документацию на прошивку Марлин читал, статью о UBL, публиковавшуюся на данном ресурсе - тоже. Кстати в статье довольно много неточностей и недоговоренностей. Те с которыми мне удалось разобраться попробую затронуть...

Сначала о проблемах которые привели меня к необходимости более глубокого 'копания' в прошивке.

У мня есть второй принтер на котором я давно и без проблем печатаю через octoprint, при чем скорость передачи стоит 250000. На новом принтере я так и не смог победить обрывы связи, хотя и скорость понизил до 115200 и шнурок где-то уже 40см поставил(экранированый). Octoprint тот же, порт тоже. Может часов 5 печатать без проблем, а может через 10 минут отвалиться.

Самое обидное если отвалится в конце многочасовой печати(и такое случалось). И это не только обидно, но и опасно, ибо при отвале связи сопло останавливается в точке печати(в контакте с печатаемой моделью) не отключает нагревы, ни стола , ни сопла...

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

В процессе печати, при превышении координатой Х некоего значения, печать прерывается и стол начинает движение вниз. Если внизу нет хардварного концевика(активированного на постоянную работу), стол доходит до упора и начинает прощелкивать шаговиком до бесконечности. Если есть концевик - то ударившись о него стол начинает движение вверх. А поскольку вместо хардварного концевика Zmin, стоит Zprobe 3D-Touch, то сопло пытается со всей дури продырявить стекло стола...:(

За эту неделю я перебрал все возможные варианты настроек концевиков в прошивке, 'копал', правда, только config и config_adv. Разумеется, каждый раз чистил EPROM. Ничего не помогало.

И тут я вспомнил, что на старом принтере я пользовался билинейной системой автовыравнивания стола, а на новом решил сразу UBL поставить... Отключил G29A в стартовом скрипте - сразу пошла печать на всю область стола без проблем...

Во всяком случае нашел причину. Засел за более пристальное изучение UBL.

Во-первых, хочу отметить ошибочное заявление о том, что для активации системы UBL достаточно в стартовой скрипте написать G29A после G28. Система, конечно активируется, но сам мэш при этом не будет загружен в оперативную память

контроллера, даже если Вы сохранили его в слот 0, а стало быть 'подруливать' ось Z не будет. Правильная последовательность команд в стартовом скрипте будет G28 G29 Ln G29A, где n - номер слота в который Вы записали мэш при зондировании.

Поэтому, лучше и в команде G29 Sn указать слот в явном виде. G29 S = M500 = G29 S0. Все команды одинаково запишут мэш в слот 0. А вот команде G29 Ln, указание номера обязательно, даже если это 0.

Во-вторых, и это прямо указано в документации, раздельная установка отступов в config_adv, для UBL , в отличии от той же билинейной, устанавливает отступы для сопла, а не для зонда!!! И работает это довольно криво..., в моем случае не работает совсем...:(

Возможно где-то в конфигах есть еще установки для UBL? Я так сходу найти не смог. Так для билинейной системы, если мне память не изменяет, была установка по интерполяции за пределами зоны замера. Для UBL я ничего похожего не нашел.

Итак, что же я имею на данный момент.

1. Движение по осям

Xmin=0 Xmax=262

Ymin = -9 Ymax=243

Это возможные координаты именно сопла.

2. Размеры стола(печатной области)

240х240

центр 120,120

3. Отступы для Zprobe

X= - 46(левее сопла)

Y= + 5 (дальше сопла)

4. Мэш строится с отступом 0(пробовал разный, в том числе и 22)

координаты соответственно

0,240 216, 240

0, 0 216, 0

Вообще мэш строится правильно при любых установках в конфигах.

5. В config_adv Xmax для сопла указана

MESH_MAX_X (X_BED_SIZE - (MESH_INSET) + 22)

Однако при попытке печати в зоне X >= 216, я получаю реакцию принтера описанную выше. При этом я не могу именно печатать в данной зоне, холостой проход - пожалуйста...

То что я не имею никаких ошибок ни на этапе компиляции, ни в момент зондирования поверхности стола, ни при печати в зоне X < 216, а так же довольно дикая реакция принтера, говорит скорее об ошибке в коде, либо об отсутствии обработчика данной ситуации.

216 = Xmax - X_PROBE_OFFSET_FROM_EXTRUDER = 262 - 46

В общем если у кого будут какие-либо соображения, с благодарностью выслушаю и опробую.

Теперь вернемся к концевикам.

В той же статье было довольно 'мутное' описание по переносу концевика Y на Xmax именно как бы с целью включения работы концевиков по прерываниям для снижения нагрузки на микроконтроллер от включения UBL.

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

Сам факт возможности снижения нагрузки заинтересовал меня именно в связи с потерями соединения принтера с Octoprint, описанными выше. Есть подозрение что отвал связи может происходить по тайм-аут-у из-за загрузки контроллера, в том числе и обработкой UBL(которым раньше я не пользовался). Кстати, в Octoprint есть настройки тайм-аут-ов связи, Если кто подскажет какие и до какой величины можно подкрутить, буду благодарен.

Итак, у меня установлены механические концевики(платки с подтяжкой) по всем направлениям кроме Zmin. На Zmin подключен Zprobe 3d-touch.

Соответственно в config я раскомментирую все хардварные концевики, Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, и отключаю все софтовые концевики кроме Zmin.

В config_adv включаю опцию ALWAYS_ON для хардварных концевиков, чтобы они работали те только в момент автохоума.

И пробую в config включить работу концевиков по прерываниям.

Что получаем?

1. Автохоум работает правильно.

2. При наезде на концевик движение останавливается и его невозможно продолжить в том же направлении. Однако при этом крутя ручку энкодера можно дальше менять координату в недопустимом диапазоне. При движении в обратном направлении отсчет идет уже от этой недопустимой координаты и не приходит в соответствие реальности даже при наезде на противоположный концевик. Все равно необходимо сделать автохоум, чтобы привести координаты в соответствие с действительностью. Что совсем нелогично...:( Зачем спрашивается тогда нужны хардовые концевики...

3. У меня материнка MKS GEN v1.4. В плане распиновки концевиков ничем не отличается от классического RAMPS. Стало быть по прерываниям могут работать только концевики по оси X и Z. Часто в процессе тестов приходилось прерывать печать ресетом. И вот пару-тройку раз, автохоум после ресета, умудрялся проскакивать именно срабатывание концевика Xmin, который должен работать по прерываниям. Возможно сам концевик(микрик) дурит и его следует поменять, но тем не менее осадок остался...

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

На этом у меня пока все, надеюсь на дискуссию в комментариях...:)

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

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

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

10
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама