Установка klipper на ноутбук

Обновлено: 04.07.2024

Klipper - это очень мощное дополнение к прошивке для большинства 3D-принтеров.

Прежде чем перейти к Klipper-у, сначала важно понять вычислительную технологию, обычно используемую в настольных 3D-принтерах. Наиболее распространенные конфигурации включают плату микроконтроллера, такую ​​как Arduino, Duet или другую модель. Эти устройства напрямую соединяются с шаговыми двигателями, которые приводят в движение систему перемещения, с нагревателями и другими элементами системы.

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

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

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

Более быстрая скорость печати
Лучшее качество печати


Часто они связаны между собой: если вы печатаете слишком быстро, качество страдает. Если вы печатаете медленнее, печать получается лучше, но за счёт времени.

Klipper может предложить решение этих проблем, представив новые возможности. Их проект объясняет:

«Klipper - это прошивка для 3D-принтера. Он сочетает в себе мощность универсального компьютера с одним или несколькими микроконтроллерами».

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

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

Но есть еще одна проблема: когда вы так быстро поворачиваете инструмент, придётся преодолеть большой импульс. Этим же занимается и Клиппер. Они объясняют:

«Каждое шаговое событие планируется с точностью до 25 микросекунд или быстрее. Программное обеспечение не использует кинематические оценки (такие как алгоритм Брезенхема) - вместо этого оно вычисляет точное время шага на основе физики ускорения и физики кинематики машины. Более точное шаговое движение обеспечивает более тихую и стабильную работу принтера».

Klipper использует возможности обработки для других функций, одна из которых называется «Smooth Pressure Advance». Это расширенное вычисление для учета потока давления жидкости в горячем конце экструдера.

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

Функция Smooth Pressure Advance выполняет расширенные вычисления для управления этими эффектами. Другими словами, экструзии должны начинаться и останавливаться именно тогда, когда они должны. Это должно обеспечить меньше зазоров и пятен на отпечатках, а также значительно уменьшить растягивание слизи из сопла.

Еще одна интересная особенность - «Формирование входного сигнала», в котором устранен «звон». Звон возникает в виде повторяющихся волн на углах предметов. Рисунок отражает вибрации, возникающие при резком изменении направления печатной головки.

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

Klipper предлагает множество других функций, которые вы можете увидеть на их странице «Возможности».

Klipper доступен бесплатно через GitHub и может быть установлен с помощью OctoPrint. Обратите внимание: если вы используете OctoPrint, у вас, вероятно, есть все дополнительное оборудование для обработки, готовое к работе.

Концепция Klipper кажется настолько мощной, что мне интересно, почему все больше производителей 3D-принтеров не пользуются ею. Можно было бы настроить конструкцию машин так, чтобы легче было приспособить дополнительную вычислительную мощность этого типа, или даже включить «опцию Klipper» для тех, кто желает выйти за рамки возможного.

Klipper может быть запущен на любом устройстве, на котором установлен Linux и Python. С некоторыми особенностями подойдут и одноплатные компьютеры других производителей, например Orange Pi или Banana Pi. А с большим количеством особенностей - даже устройства на Android (смартфоны, планшеты или TV-боксы) или виртуальные машины на ноутбуках и ПК. Но под каждый случай нужна своя отдельная инструкция.

¶ Почему Raspberry Pi?

Самые распространённые устройства для установки Klipper и управления принтером - одноплатные компьютеры Raspberry Pi. Для них имеется подробная документация от производителя, а большинство проблем с которыми может столкнуться пользователь уже имеют решения, которые описаны в интернете благодаря обширному сообществу пользователей.

Некоторые производители даже встраивают поддержку установки и подключения Raspberry Pi в свои принтеры.

В руководстве (в разделе «Дополнительно») будет так же инструкция по использованию Orange Pi на примере Orange Pi 3, которая позволяет заменить RPi в рамках основной задачи управлением печатью, но скудная документация и отсутствие информации о реализации некоторых задач не позволяют сделать эту замену на 100%.

¶ Какой именно Raspberry Pi?

В FAQ указано, что технически Klipper может быть запущен и на слабых одноплатниках, но их мощности не хватит для беспрерывной генерации команд. Поэтому распространёнными устройствами для установки Klipper на данный момент являются Raspberry Pi Zero W, Raspberry Pi 3 Model B+ и Raspberry Pi 4. Есть пользователи, которые подтверждают стабильную работу на Raspberry Pi 2 Model B.

Raspberry Pi Zero W

  • Одноядерный процессор 1ГГц
  • 512МБ RAM
  • 1 порт microUSB с поддержкой OTG - для подключения периферии
  • 1 порт microUSB для питания
  • Можно подключить внешний дисплей через mini-HDMI
  • Есть возможность подключить камеру по CSI
  • ➕ Значительно дешевле RPi3 и RPi4
  • ➕ Небольшой размер и компактное размещение
  • ➕ Мощности достаточно для работы Klipper + Fluidd
  • ➕ Можно подключить к принтеру по USB через OTG-переходник или по UART через GPIO
  • ➕ Питание можно подключить от БП принтера через модуль понижения напряжения
  • ➕ Мощности хватает для видеонаблюдения в среднем разрешении как через CSI-2, так и через USB
  • ➖ Klipper + Octoprint только с минимумом плагинов, но зачем вам Октопринт?
  • ➖ Процессор не тянет калибровку Input Shaping с помощью акселерометра
  • ➖ WiFi только с частотой 2.4Гц, 5Гц отсутствует
  • ➖ Видеотрансляция могут тормозить из-за мощности и невысокой пропускной способности WiFi (прим.авт. Я с этим пока на сталкивался на RPiZW на Fluidd, но на Окте видео иногда идёт с ощутимой задержкой и на RPi4). Скорее всего будут проблемы с таймлапсами.
  • ➖ Подключение GPIO требует паяльник (в продаже встречаются платы с уже припаянными контактами GPIO)
  • ➖ Подключение к проводной LAN только через Ethernet-OTG адаптер

Raspberry Pi 3 Model B+

  • 4-ядерный 64-битный процессор 1.4ГГц
  • 1ГБ RAM
  • 4 порта USB
  • Можно подключить внешний дисплей через HDMI, GPIO или DSI
  • Есть возможность подключить камеру по CSI
  • ➕ Мощности достаточно для большинства задач, в том числе видеонаблюдения и таймлапсов
  • ➕ Можно подключить принтер через USB или UART(GPIO)
  • ➖ Подключение дисплея по GPIO занимает пины GPIO14 и GPIO15, необходимые для подключения по UART, в этом случае потребуется дисплей, подключаемый через HDMI или DSI
  • ➖ Полноценный UART требует отключения Bluetooth (прим.авт. зачем он вам на принтере?) и консоли
  • ➖ Производитель рекомендует мощный блок питания на 5.1V с силой тока 2.5А, лучше завести отдельный, чем подключать к БП принтера через модуль понижения напряжения

Raspberry Pi 4

  • 4-ядерный 64-битный процессор 1.5ГГц
  • 2ГБ/4ГБ/8ГБ RAM
  • 4 порта USB (2*3.0)
  • Можно подключить внешний дисплей через micro-HDMI, GPIO или DSI
  • Есть возможность подключить камеру по CSI
  • ➕ Мощности достаточно для всех задач, считается, что больше 2ГБ RAM не нужно
  • ➕ Можно подключить принтер через USB или UART(GPIO)
  • ➕ Подключение полноценного UART5 использует обычно свободные пины и не мешает подключению других модулей, например экрана
  • ➖ Разницу в производительности по сравнению с RPi3B+ вы не заметите, в отличие от разницы в цене
  • ➖ Производитель рекомендует мощный блок питания на 5.1V с силой тока 3А, лучше завести отдельный, чем подключать к БП принтера через модуль понижения напряжения

¶ Карта памяти MicroSD

Все перечисленные выше Raspberry Pi используют карту памяти MicroSD для работы в качестве основного носителя данных. Требования к MicroSD высокие, так как от скорости чтения-записи будет зависеть скорость работы Raspberry Pi и ваш комфорт. Некачественные и медленные MicroSD станут бутылочным горлышком для вашего Raspberry Pi.

Наилучшие результаты показывают карты с классом скорости 10 (цифра в кружке) или UHS 1 или 3 (цифра внутри буквы U)

Со временем RPi вполне может вывести карту памяти из строя, поэтому, если вам не нужен объем памяти для таймлапсов, лучше приобрести несколько карточек объемом 8 или 16 ГБ, чем одну большого объема. Регулярно делайте бэкапы. «Люди делятся на две категории: кто еще не делает бэкапы, и кто их уже делает» (с)

Speed Class 10
UHS Speed Class 3

¶ Блок питания

Если вы собираетесь встраивать Pi в корпус и подключать по UART, то стоит взять встраиваемый блок питания на 5В и в районе 3А, и регулятором настроить на 5.1В

Power Supply

¶ Кард-ридер

Лучше всего MicroSD-USB. Например, как в комплекте с принтером.

Кард-ридер

¶ Кабель USB или Соединительные провода

Кабель USB обычно идет в комплекте с принтером или платой принтера.

Соединительные провода нужны, если будете подключать по UART вместо USB. Это обычные провода для соединения пинов, коннекторы DuPont.

Разрабатывая открытый проект 4-х экструдерного принтера Z-Bolt, мы столкнулись с проблемой выбора экрана для управления принтером. Из имеющихся экранов лишь решение от Duet Wifi умеет управлять более чем 2-мя экструдерами. Решение, мягко говоря, не бюджетное, да и интерфейс на любителя. Так что мы решили поискать альтернативный вариант с преферансом и куртизанками. Эта история о нем…

image

На просторах интернета существует масса информации о применении Octoprint. Чуть больше чем пол года назад и мы стали пользователями данного решения, сразу оценив его преимущества. Возможность управления принтером через веб-лицо, действительно трудно переоценить. У Octoprint множество плагинов, а главное для нас — Octoprint отлично управляется с количеством экструдеров, большим чем 2. Но оставалось решить еще один вопрос.

Многие любители Octoprint уверенно утверждают, что экран им больше не нужен от слова “совсем”, что это абсолютно лишняя часть принтера, которая им только мешает.

Однако я убежден, что есть и другая часть пользователей OctoPrint. У всех свои привычки и требования к повседневному использованию 3D принтера, и есть операции выполнять которые удобнее, имея экран:

  • Замена филамента
  • Калибровка уровня стола
  • Запуск печати файла, который уже печатался раньше
  • Включение преднагрева принтера
  • Возможность увидеть статус печати

Передо мной обозначилась цель найти/сделать/настроить экран для Octoprint, способный управлять более чем 2-мя экструдерами.

Погуглив немного я наткнулся на плагин TouchUI.


Первое впечатление было: вот оно — решение.

Я сразу установил плагин и открыл Octoprint c телефона. Интерфейс TouchUI тупил :/. Иногда кнопки нажимались нормально, иногда тормозили, а порой и вовсе не нажимались с первого раза. С подключенного экране TouchUI вел себя также плохо как и с телефона.

Параллельно было найдено другое решение.


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

Установка и настройка проблем не вызвали. Интерфейс действительно работал намного предсказуемее и отзывчивее.


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

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

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

Вот что у нас получилось:

  • Подобраны оптимальные экраны для проекта
  • Сделан “hard-fork” от Octoprint-TFT
  • Пересмотрен взгляд на программно-аппаратную архитектуру принтера
  • Создана своя тема для интерфейса Octoprint

Выборы экранов

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

Главными критериями были:

  • IPS матрица
  • размер 4 — 5 дюйма
  • емкостной экран (желательно)
  • приемлемая цена



2. Вариант побогаче. 4.3’’ IPS емкостной Touchscreen

Оба экрана имеют разрешение 800х400. У обоих великолепная картинка, цветопередача и угол обзора. Главное их отличие — это емкостной touchscreen. К нему (как и ко всему хорошему) очень быстро привыкаешь и пользоваться им намного приятнее, чем резистивным. Тем не менее, экран с резистивным touchscreen’ом также вполне жизнеспособен.

Это Hard-Fork, детка!


Приложение было серьезно доработано. И почти перестало напоминать своего родителя. Поэтому (а также потому, что создатель Octoprint-TFT официально заморозил развитие своего детища) было принято решение сделать hard-fork и назвать новый проект Octoscreen.

  • В первую очередь была полностью устранена проблема зависания экрана, которой страдал Octoprint-TFT.
  • — Заметно изменился дизайн и компоновка:

Также есть подробная инструкция под экран 3.5, за что отдельное спасибо нашему соратнику Денису (@negativ72rus).

Пересмотр взглядов на программно-аппаратную архитектуру принтера или переобувание на ходу


Изначально мы планировали использовать Marlin в нашем многоэкструдерном принтере, однако в итоге выбор пал на Klipper. Причин несколько:

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

Klipper в этом плане полная противоположность Marlin. Во-первых все конфигурирование Klipper вынесено из программного кода. Сам код хорошо структурирован. Но что самое важное, Klipper предусматривает модульность. Можно добавлять свою логику в прошивку, не внося изменение в ее ядро, и тем самым колоссально упрощать дальнейшую поддержку своего кода.

2. Всю настройку прошивки можно осуществляется прямо через web интерфейс OctoPrint. И при этом возможности настройки на много мощнее чем у Marlin или Smootheiware.

3. Как же тут не сказать о битах, за которыми в последнее время все гонятся )). Сама архитектура Klipper предполагает, что вычислительная нагрузка ложится на Raspberry PI. Функция платы управления MKS Gen L (в случае с принтерами Z-Bolt) остается в передаче сигналов к/от периферии (двигателям, сенсорам, нагревателям, элементам управления).

А ведь Raspberry Pi 3 Model B+ оснащен 64-х битным, 4-х ядерным чипом Broadcom BCM2837B0 A53 1.4GHz.

По сути Octoprint + Klipper, запущенные на Raspberry Pi + тот же MKS Gen L —
на порядок более функциональное и прогрессивное решение, чем Marlin, запущенный на каком-нибудь 32-х битном чипе.

Конфигурационные файлы для Klipper’а под принтеры Z-Bolt также можно найти тут.

Небольшой бонус напоследок!

Так же мы сделали свою тему для интерфейса Octoprint:


Шапку можно настроить нативным пунктом выбора цвета в разделе Appearance:


Инструкция как установить тему вы можете найти у нас на GitHub.

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

Klipper, идет большой рефакторинг статей возможно, wiki что то сломается (Скорей всего все почти. ).

Что такое Klipper [ ]

Klipper программный это комплекс для 3D принтеров, который своей для работы требует отдельного компьютера, всего чаще используются одноплатные компьютеры из семейств Orange Pi и Raspberry Pi (Далее будет использоваться сокращение управляет), и ROpi подключенными платами принтера. Принципиально что все требуется для работы Klipper компьютер это (хост) с установленной операционной системой так, а Linux же Python 2.7 и подключенная и соответствующим образом плата прошитая принтера.

Другая отличительная черта заключается Klipper в его модульности и гибкости настроек. настройки Все размещены в текстовом файле printer.для. И cfg изменения настроек не нужно перепрошивать каждый устройства раз, достаточно перезагрузить сам части. А в Klipper модульности у Klipper нет ограничений на плат количество, которыми он может управлять одновременно. принтер Например Voron 2.4 для своей работы шаговых 7 использует двигателей, и до недавнего времени не мог одной на размещаться плате, поэтому для своей использовались работы две платы BTT SKR 1.3 BTT или SKR 1.4. Таким образом Klipper Эту. мультиконтроллерный взаимосвязь можно определить следующим MCU:

образом - это micro-controller unit. То это есть устройство через которое в дальнейшем получить можно доступ к его портам, шинам, Сами. GPIO MCU подключаются к Klipper следующими USB: вариантами, UART, CAN bus. У каждого подключения типа есть свои плюсы и минусы, но детально это будет рассмотрено в статьях посвященных или тем иным видам подключения.

Каждый предоставляет MCU Klipper свои порты ввода-так, а вывода же шины данных, таких как i2c, SPI. То есть к каждой MCU можно различные подключить устройства и управлять ими централизованно. рассматривая Например подключение распространенного принтера Creality Klipper 3 к Ender можно подключить:

  • Плату принтера;
  • компьютер Одноплатный ROpi - для подключения датчика света, ADXL345, экрана, датчиков влажности или Arduino;
  • температуры Nano - для подключения датчика филамента размера;

Но так же, потеря связи с любым из MCU подключенных приведет к ошибке, которая потребует всех перезагрузки MCU и прервет печать. Именно рекомендуется не поэтому отключать платы принтера по завершению без печати выключения хоста Klipper - так это как приведет к ошибке которую можно устранить будет только включив все платы выполнив и обратно на хосте команды FIRMWARE_RESTART. Но и всегда не это гарантирует возвращение работоспособности, без Klipper перезагрузки целиком.

Программная же составляющая Klipper быть может представлена следующим образом:

  • Klipper_software host - сам сервис установленного Klipper на Klipper;
  • компьютере_MCU software - прошивки, которые MCU на устанавливаются для работы с Klipper;
  • Moonraker Дополнительное - API программное обеспечение, которое позволяет Klipper с взаимодействовать по сети. Как пример такого это взаимодействия Web Interface и Telegram bot;
  • interface Web - Представляет из себя сервер nginx и распространенных из один интерфейсов Fluidd или Mainstall.

Klipper Установка [ ]

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

  • Установка в ручном режиме этой в описана статье
  • Установка с использованием утилиты данный, KIAUH вариант установки подходит для кого, у тех уже есть установленная операционная Linux система.
  • Установка с использованием преднастроенной сборки, FluiddPi например, данный вариант установки подходит тех для, у кого для установки Klipper использоваться будут одноплатные микрокомпьютеры семейства Raspberry Pi.
  • версии Откат в случае каких-то проблем с обновлением и хитрые другие действия упрощающие жизнь содержатся в Для


FAQ иных одноплатных микрокомпьютеров основной установки вариант будет является установка образа системы операционной Armbian, с последующей установкой Klipper утилиту через KIAUH

Подключение MCU к Klipper [ ]

подключения Для плат принтера как MCU два используются основных варианта, это USB и USB:

К плюсам подключению по USB можно Простота:

  • выделить подключения
  • Возможность использовать DFU прошивки режим плат
  • Из разъема торчит Зависит
  • штекер от качества USB кабеля

Подключение Klipper к устройств работающих по USB рассмотрены в статье: USB по Подключение

К плюсам подключению по UART выделить можно:

  • Отсутствие проводов на лицевой панели
  • устройств Подключение у которых отсутствует USB
  • наличие Требует GPIO пинов для подключения, возможно не что на х86 компьютерах и ноутбуках
  • Требует настройки дополнительной одноплатных компьютеров
  • Отсутствие доступа к что, DFU приводит в ряде случаев к невозможности плату перепрошить без SD карты

Подключение устройств к работающих Klipper по UART рассмотрены в статье: Подключение по Подключение

UART периферийных устройств к Klipper [ ]

устройств Подключение к Klipper работающих по шине SPI статье в рассмотрены: Подключение SPI устройств

устройств Подключение к Klipper работающих по шине i2c статье в рассмотрены: Подключение i2c устройств.

ROpiHost [ ]

Klipper к Подключение платы микрокомпьютера ROpi для доступа получения к GPIO рассмотрен в статье: ROPi mcu host

Probe [ ]

Подключение к Klipper датчиков BFPTouch, BFTouch и других рассмотрены в статье: Подключение Релейные

Probe [ ]

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

Читайте также: