Klipper: Бессенсорное наведение — что это такое и как его настроить

Klipper: Бессенсорное наведение

Если вы задаетесь вопросом, что такое бессенсорное наведение Klipper, смотрите дальше! Ознакомьтесь с тем, как настроить Klipper на возврат домой без использования концевиков.

Микрокомпьютер Raspberry Pi 5 На борту Raspberry Pi 5 уже есть четыре порта USB, беспроводные интерфейсы Wi-Fi/Bluetooth и полноценный гигабитный Ethernet, чтобы сразу приступить к работе.

В этой статье мы будем говорить об интересной теме, связанной с тем, как 3D-принтер определяет свое положение. Однако в статье делается предположения о том, что читатель, уже знает.

В частности, вы должны знать, что такое клиппер, концевики, шаговые двигатели и драйверы ШД. Если вы не знакомы с этими терминами, мы рекомендуем вам сначала разобраться в них, а затем вернуться.

Эта статья предназначена для ознакомления, чтобы помочь вам понять концепции и описать общий процесс настройки вашего принтера, работающего с клиппер, чтобы не использовать концевики. Она не претендует на роль полного руководства, заменяющего официальную документацию Klipper по этому вопросу. Скорее, её цель — дополнить документацию Klipper и объяснить, как и почему работает бессенсорное наведение, а не просто как его настроить.

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

Давайте начнем!

Основные термины

Попрощайтесь с этими концевиками!
Попрощайтесь с этими концевиками! (Источник: Instructables)

Прежде чем мы углубимся в эту тему, давайте разберемся в основных терминах, касающихся некоторых элементов:

  • Клиппер: Это продвинутое встроенное программное обеспечение для управления машиной, также известное как прошивка. То есть, это код, который управляет многими 3D-принтерами, станками с ЧПУ или лазерными резаками. Однако он разрабатывался в первую очередь для 3D-принтеров, и другие варианты его использования считаются экспериментальными. Klipper уникален тем, что для работы ему нужны два разных электронных «мозга»: один — быстрый процессор, который работает на компьютере (например, Raspberry Pi, хотя вы можете использовать любую Linux-совместимую платформу), а другой — встроенный процессор (ATMega, STM32 или аналогичный чип), для работы которого требуется специальное программирование. Это позволяет Klipper отделить более тяжелую обработку чисел от выполнения чувствительных ко времени элементов.
  • Бессенсорное самонаведение: Большинство принтеров используют какой-либо датчик для определения исходного положения — домой, которое принтер совершает, чтобы найти свое исходное положение. Бессенсорное самонаведение означает определение исходного положения без подключения к принтеру каких-либо датчиков. Хотя это звучит как волшебство, на самом деле это довольно точный контроль усилий шагового двигателя.
  • Концевики: Это могут быть небольшие электрические контактные переключатели (которые обычно «щелкают» при нажатии); датчики Холла, которые обнаруживают приближение магнита или оптические датчики, которые обнаруживают непрозрачный предмет, блокирующий крошечный свет, который испускает датчик. Последние, как правило, достаточно износостойкие и точные, но при этом более дорогие и требуют больше проводов (пара питания и сигнальные провода). Контактные выключатели — самый дешевый вид и самый простой в установке и как известно, они имеют переменный порог обнаружения около 0,05 мм. В целом приемлемые для хобби-машин, они могут и выходят из строя со временем, либо имея повышенную вариабельность, либо просто переставая переключаться с открытого на закрытый или наоборот.

Описав основных участников, давайте посмотрим, как они работают вместе.

Как работает бессенсорное наведение

Мы получаем техническую информацию с помощью графика StallGuard
Технические подробности на графике StallGuard (Источник: Trinamic)

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

Обзор функций шагового двигателя

Шаговый двигатель, в отличие от постоянного тока, с которым вы можете быть знакомы, не просто вращается, когда вы подаете на него питание. Как правило, вы найдете четыре провода, а иногда и больше, идущих в корпус. Причина в том, что в двигателе обычно есть две отдельные группы электромагнитов, и они соединены так, что все остальные магниты соединены вместе. Так, если внутри восемь катушек, то последовательность магнитов A-B-A-B-A-B-A-B-A-B, где A и B — две фазы двигателя.

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

Скачок тока при остановке шагового двигателя

Хорошо, но зачем нам это нужно знать? Оказывается, если что-то мешает двигателю вращаться (например попытка повернуть шкив, когда другой его конец упирается в край рамы), это вызывает противоток в электромагнитах. Мы не будем углубляться в электромагнитную теорию, поэтому для упрощения считайте, что это закон действия и реакции Ньютона примененный к электричеству и магнитам вместе. По сути, это напряжение и ток, идущие в противоположном направлении.

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

Обнаружение скачка напряжения драйвером

Более современные шаговые драйверы (например драйверы TMC второй серии) обычно включают механизм для измерения этих изменений и отправки обратной связи на плату контроллера. Существуют и другие причины, по которым измерения напряжения и тока могут колебаться во время работы, поэтому механизм управления настроен на отправку сигнала только при пересечении определенного порога. С шаговиками 2208 или 2209 от 0 до 255 (TMC2130 или TMC5160 от -64 до 63) означает, что вы переходите от посылки сигнала при малейшем отклонении (т.е. почти при любом движении шаговика) к менее чувствительному посылу сигнала при отсутствии изменений (если не отключать шаговик от сети, чего никогда не следует делать, пока он находится под напряжением).

Необходимые требования

Плата контроллера Recore со встроенным TMC2209
Плата контроллера Recore со встроенным TMC2209 (Источник: YouTube)

Итак, мы рассмотрели достаточно много теории и в общих чертах описали, как может функционировать бессенсорное самонаведение. Но каковы фактические требования для того, чтобы это работало? Не все принтеры и не все платы управления могут с этим справиться. Поэтому давайте рассмотрим, что вам нужно для его установки.

Klipper

Этот пункт должен быть очевиден, но давайте все равно его озвучим. Вам понадобится достаточно обновленная версия Klipper, особенно учитывая невероятно быстро меняющуюся природу доступности плат контроллеров и новых релизов на рынке. Логистика доступности микросхем сделала практически невозможными большие, непрерывные выпуски хорошо протестированных плат, поэтому материнские платы (MCU) и другие компоненты постоянно меняются. Поэтому вам необходимо убедиться, что версия Klipper, которую вы используете, будет поддерживать имеющийся у вас MCU. Если вы используете более старую плату, ее все равно стоит обновить, поскольку код постоянно совершенствуется. Недостатком является то, что вам может потребоваться обновить конфигурационный файл, так как некоторые параметры были полностью изменены.

Драйверы TMC

На данный момент только драйверы Trinamics имеют встроенные датчики для обнаружения остановки шагового механизма. Эта функция является торговой маркой TMC под названием «StallGuard», «StallDetect» или «StallGuard 2» и как правило, реализована во всех драйверах, выпущенных после 2130 для серии 2 (2208, 2209, 2660 и т.д.). Другие драйверы также могут включать его (например TMC 5160, предназначенный для применения 48 В). На странице основной информации из загружаемого технического описания Trinamics обычно указывается одно из ключевых слов по которому можно определить, поддерживает ли драйвер физически и по какому протоколу. Затем вам нужно ознакомиться с документацией на стики, которые вы купили, чтобы узнать, имеет ли стик достаточно выводов для работы этой функции.

Cигналы выводов UART или SPI, считываемые MCU

Подготовка к установке микропрограммы
Подготовка к прошивке (Источник: V1 Engineering Forums)

Во-первых в зависимости от вашей установки, ваша плата контроллера может иметь связь по шине SPI или UART между MCU и драйвером шагового двигателя. Это важно, потому что, хотя большинство драйверов могут взаимодействовать по обеим шинам (одной или другой, но не обеим одновременно), некоторые поддерживают только один из этих методов связи.

Во-вторых, для работы бессенсорного самонаведения необходимо, чтобы диагностические сигналы посылались обратно в MCU. Если MCU просто отправляет инструкции драйверу и не считывает его состояние, ваша система не сможет нормально работать с бессенсорным самонаведением.

Некоторые старые платы контроллеров (например, устаревшие RAMPS) не имеют возможности подключения диагностических контактов к MCU, поэтому вам придется использовать дополнительные кабели-перемычки, чтобы подключить их к свободным контактам. Зачастую для этого может подойти контакт endstop. Убедитесь, что ваш контроллер имеет встроенную опцию для этого, если нет, то вам придется проявить изобретательность, чтобы подключить их так, чтобы Klipper мог их использовать.

Прочный портал

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

Частично причина, по которой Prusa i3 может использовать бессенсорное наведение, заключается в том, что часть рамы, принимающая удар, представляет собой цельный кусок металла без соединений, которые со временем могут ослабнуть от нагрузки.

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

Ограничения

Biqu Magician - пример дельта-принтера
Biqu Magician — пример дельта-принтера

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

Документация Klipper по бессенсорному самонаведению настоятельно не рекомендует использовать бессенсорное самонаведение на дельта-принтерах. Причина этого вполне понятна: бессенсорное самонаведение не обеспечивает такой точности позиционирования, как сенсор. Хотя в целом оно достаточно точно, чтобы убедиться, что сопло находится над станиной на декартовой или CoreXY машине, вы не сможете добиться такой же точности, которая требуется для дельта-принтера.

Это связано с геометрическими требованиями концепции дельта-принтера в целом; вы не заметите или не будете беспокоиться, если вы нарушите центровку на 0,1 мм на вашей печатной форме, но вы заметите значительную проблему на первом слое дельта-принтера с таким же смещением!

Другое место, где не следует использовать бессенсорное самонаведение, — это ось Z. В подавляющем большинстве принтеров для перемещения по оси Z, будь то перемещение печатной формы вниз или перемещение инструментальной головки вверх, используются винтовые пары или шариковые винты. Это точные, надежные механизмы. Но они также значительно изменяют крутящий момент. Если вы будете использовать их таким образом, вы, скорее всего, повредите компоненты вашего хотенда.

Преимущества и недостатки

Voron Trident с концевыми упорами
Voron Trident с концевыми упорами

Зная об ограничениях, давайте рассмотрим преимущества и недостатки бессенсорного самонаведения, потому что, хотя это звучит здорово, иногда в этом есть и свои минусы. Лучше всего, если у вас будет четкая картина, прежде чем вы решите, двигаться дальше или нет.

ПЛЮСЫ

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

МИНУСЫ

  • Менее точное абсолютное позиционирование: Как уже говорилось выше, это делает бессенсорное самонаведение нежелательным для дельта-принтеров, или если у вас есть машина, где вам нужно регулярно печатать очень близко к краям ложа. В этих случаях вам потребуется более точный контроль положения.
  • Может быть шумнее: В зависимости от настройки порталов вашего принтера и необходимых скоростей и пороговых значений ось, ударяясь о раму, может каждый раз вызывать громкий стук. Это не совсем подходит, например, для начала печати после того, как дети уснули.
  • Износ рамы: Если ваша рама похожа на раму Creality Ender 3, где печатающая головка держится на винтх, повторяющиеся удары по раме могут частично ослабить их. Или, если на раме используются пластиковые детали в местах соединений, может произойти растрескивание из-за приложения нагрузки, превышающей ту, которую должны выдерживать соединения.

В целом бессенсорное самонаведение может быть действительно отличным решением для некоторых принтеров, когда вам нужна надежность — именно поэтому принтеры Prusa i3 делают это с момента выхода оригинального MK3. Но другие принтеры более высокого класса по-прежнему используют концевики, включая принтеры Voron. В конечном итоге все сводится к цене, надежности и тому, насколько прочна рама, а также к тому, сколько времени потребуется для точной настройки чувствительности.

Итак, если для вас плюсы перевешивают минусы, читайте дальше, чтобы узнать, как изменить свою настройку!

Конфигурация клиппера

Изображение: Конфигурация клиппера
Документация по распиновке SKR Pro v1.1 (Источник: TeamGloomy GitHub)

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

Чтобы запустить все это, есть два раздела в файле printer.cfg, которые нам нужно будет просмотреть для каждого шаговика, где мы будем выполнять бессенсорное самонаведение:

  1. [tmcXXXX stepper_?]
  2. [stepper_?]

Затем, чтобы не ошибиться, нам нужно убедиться, что мы точно знаем, какой идентификатор пина нужно дать Klipper. Это будет сильно зависеть от вашей электронной платы, поэтому убедитесь, что вы загрузили именно ту плату, которая у вас есть — не только модель, но и ревизию! Есть различия между SKR E3 Mini v2 и v3, поэтому убедитесь, что схема распиновки точно соответствует версии вашей платы!

На рисунке выше показана распиновка BigTreeTech SKR Pro 1.1, где вам нужно посмотреть на таблицы справа. Используйте контакты в листинге StallGuard, чтобы указать Klipper правильный diag_pin для использования. Разные платы имеют разные типы документации. Например, на вики-странице Recore от Intelligent Agent используется другая иллюстрация, а также полная таблица ниже, чтобы помочь вам разобраться с конфигурацией контактов Klipper.

Итак, что нам нужно включить в разделе TMC?

Если у вас уже был принтер, работающий с датчиками конечного останова, то большинство необходимых разделов конфигурации у вас уже есть. Вам нужно будет только добавить несколько строк в раздел [tmcXXXX stepper_?] и изменить раздел [stepper_?]. Если вы настраиваете новый принтер, вы начнете с общего файла конфигурации, который включает эти строки с предположением об определении конечного останова.

Согласно соответствующей документации Klipper, вот что вам нужно изменить (мы используем TMC2209 в качестве примера, убедитесь в соответствии с вашим оборудованием по мере необходимости!), чтобы были следующие строки:

[tmc2209 stepper_x]

diag_pin: ^PA1 # Set to MCU pin connected to TMC DIAG pin

driver_SGTHRS: 255 # 255 is most sensitive value, 0 is least sensitive

И затем в следующем разделе:

[stepper_x]

endstop_pin: tmc2209_stepper_x:virtual_endstop

homing_retract_dist: 0

Настройка параметров

Изображение: Настройка параметров
Консоль Mainsail’s, пользовательский интерфейс для Klipper

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

Существует процедура настройки, в которой вы устанавливаете значение во время выполнения, а затем сохраняете его в файле конфигурации. Это делается в три этапа.

ШАГ 1

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

SET_TMC_FIELD STEPPER=stepper_x FIELD=SGTHRS VALUE=255

В случае с TMC2130, TMC5160 и TMC2660 диапазон значений отличается, поэтому обязательно прочитайте документацию Klipper, чтобы все сделать правильно.

ШАГ 2

Переместите соответствующую ось в середину объема печати. Например, если у вас принтер 230 x 230 x 250 мм, вам нужно переместить «X» на 115 мм, введя в консоли G1 X115 F4000.

Если вы хотите настроить ось Y, просто измените ‘X’ на ‘Y’.

ШАГ 3

Теперь подайте команду наведения для этой оси: G28 X. Посмотрите, дойдет ли она до рамки или остановится перед этим. Если она останавливается перед ударом о раму, порог слишком чувствителен. Если она скрежещет, пока находится на раме, то порог недостаточно чувствителен.

Выберите другое значение для SGTHRS на шаге 1, затем повторите эти шаги. Обычно быстрее всего работает метод двоичного поиска: Диапазон от 0 до 255, поэтому выберите значение посередине.

В зависимости от того, останавливается ли он слишком рано или слишком поздно, вы знаете, что вам нужно от 0 до 127 или от 128 до 255 соответственно. Выберите середину этого диапазона и уточняйте, пока не получите то, что подходит для вашей машины. Вы остановитесь, когда достигнете точки, где принтер несколько раз перемещается по одной и той же оси в кадре без ложных срабатываний.

Вот и все! Ваш принтер на базе Klipper будет работать с бессенсорным самонаведением.

Николай

Я всегда рад вашим комментариям, предложениям или новостям из первых уст.

Оцените автора
Добавить комментарий