Это руководство в основном посвящено прошивке Klipper на принтерах Flying Bear (далее FB) ревизий Ghost 4S и Ghost 5 (далее FBG), Flying Bear Reborn (далее FBR) и всему, что сопутствует: оборудованию, ПО и настройкам.
Перед чтением и выполнением инструкций рекомендуется ознакомиться с информацией из:
- видео Дмитрия Соркина Как установить Klipper. Вариант для Raspberry PI и Fluidd/Mainsail
- видео Сергея Ирбиса 3Д-Печать: Установка Octoprint на Debian и прошивка Klipper
В принтеры FB Ghost 4S и Ghost 5 (до середины 2021 года) устанавливалась 32-битная управляющая плата Flying Bear Reborn V2.0, которая является ребрендом платы MKS Robin Nano 1.1 (ссылка на схемы). Её микроконтроллер занимается обработкой команд G-code и управлением принтером.
В последнее время принтеры FB поставляются с платами MKS Robin Nano V1.3 на процессоре STM32F103 (в последнее время не встречаются), MKS Robin Nano V1.3 на STM32F407 со съёмными драйверами TMC2225 и MKS Robin Nano-S V1.3 на STM32F407 с распаянными драйверами.
FB, как многие другие принтеры, используют прошивку Marlin для управления печатью. Все вычисления, необходимые для подачи команд шаговым двигателям для передвижения экструдера и подачи пластика, производятся микроконтроллером управляющей платы принтера (далее MCU). Marlin читает G-code из файла и конвертирует в команды шаговым двигателям. Преимущества такой конфигурации в малом количестве отдельных узлов, что упрощает схему и увеличивает надёжность.
Если к управляющей плате на Marlin подключить Raspberry Pi (далее Pi) и запускать печать через Octoprint, то передача G-code происходит между Pi и MCU, а конвертация кода в шаги всё равно должна происходить на микроконтроллере принтера. Преимущества такой связки в том, что на Pi можно проводить модификацию кода перед отправкой, что обеспечивается богатой функциональностью Octoprint и его плагинов (например, можно блокировать печать отдельных деталей уже в процессе). Но недостатком такой связки является то, что вычислительные мощности Pi используются недостаточно, а нагрузка на MCU остаётся такой же, как и при обычной печати. Иногда в такой связке возникают ситуации, когда Octoprint шлёт слишком много команд со сложным перемещением в течение короткого периода, в результате чего MCU не успевает их обработать, что приводит к переполнению буфера и дефектам печати. На FB эффект этих проблем можно уменьшить корректными настройками кастомного Marlin. Цепочка взаимодействия в этом случае:
В случае Klipper все вычисления и конвертация G-code в шаги перенесены на Pi, на которую ложится почти вся нагрузка, а микроконтроллер управляющей платы является просто мостом для передачи команд на передвижение между Raspberry Pi и шаговыми двигателями. Преимущества такой связки в том, что Pi гораздо мощнее любой MCU. Цепочка взаимодействия следующая:
Наибольший эффект от переноса вычисления с MCU на Pi наблюдается на старых 8-битных платах. Например, 8-битный RAMPS может выполнять более 100 тысяч шагов в секунду на Klipper и всего около 10 тысяч на Marlin.
Мощности современных 32-битных управляющих плат, в том числе и MKS Robin Nano 1.1 хватает для скоростной обработки G-code. Поэтому при переводе FB на Klipper вы не получите прироста скорости печати именно за счёт скорости конвертации в шаги. Разве что вы собираете принтер типа VORON с семью одновременно двигающимися шаговыми двигателями.
Одно из удобств Klipper - управление через веб-интерфейс. Либо мощный, но неповоротливый Octoprint, либо быстрый и отзывчивый Fluidd/Mainsail, который потянут даже старые телефоны и планшеты. Правка настроек Klipper доступна через веб-интерфейс и не требует перепрошивки принтера.
В принципе, это в значительной мере компенсирует то, что Klipper поддерживает далеко не все дисплеи. Навороченные тач-дисплеи, как на FB или те, что обладают собственными контроллерами и прошивками, как на FBG 4 (без S). Поддерживаются такие дисплеи, как 12864.
Look-ahead. Алгоритм изучает последовательность сразу нескольких команд G-code и учитывает характер нескольких будущих перемещений. Smoothed look-ahead сглаживает скорость коротких зигзагообразных движений.
Pressure Advance - аналог Linear Advance на Marlin и Pressure Advance на RepRap. Чтобы избежать мгновенных изменений скорости движения экструдера в алгоритм добавлено сглаживание - Smooth Pressure Advance. Это улучшает результат печати, углы печатаются чётче и с меньшим количеством наплывов.
Также у SPA нет проблемы с зависанием драйвера TMC2208 на экструдере, которая возникает в Marlin.
Специфический для Klipper алгоритм - Input Shaping. Гасит вибрации, что позволяет печатать на бóльших скоростях и ускорениях с меньшим количеством проблем, которые возникают из-за резонансных колебаний экструдера, таких как звон/эхо/т.д.. Настроить можно не только с помощью тестовой печати, но и подключив акселерометр к Pi.
Итак, к преимуществам Klipper можно отнести
К ощутимым недостаткам Klipper можно отнести
В итоге, с одной стороны вы получите качественную печать на больших скоростях, с другой стороны пожертвуете экраном и деньгами. Комьюнити Marlin самое большое, в то время как комьюнити Klipper только набирает темпы роста. Поэтому переход на Klipper я бы рекомендовал только энтузиастам.
Ссылки:
Изменения в руководстве (летопись ведётся не с самого начала ):
printer.cfg
и bltouch.cfg
, поправлены printer.cfg
от FBG4S и FBG5, macros.cfg
, добавлены инструкции и конфиги для «BLTouch»;