Creality K1: замена шкивов - программная часть, root, Mainsail, разблокировка шейперов
Вторая часть о замене шкивов - программная.
По механике посмотрите это: Первая часть - механическая (замена самих шкивов)
Итак, шкивы поменяны, но чтобы они работали как надо, нужно изменить Rotation Distance, Homing Speed, отклибровать Sensorless Homing, а раз мы туда залезли - убрать ограничение на измерение Input Shaping - с завода он измеряется только по оси X, а ось Y не измеряется никак, к ней тупо применяется резонанс от X, а шейпер (алгоритм компенсации резонанса) может быть только типа ei, тогда как у меня после разблокировки получилось что нужны zv и mzv.
В общем, оно того стоит, тем более это все абсолютно бесплатно! 😉
Все что было в стоке - так и останется. Ничего не изменится ни в меню, ни в родном web-интерфейсе принтера.
Итак! Начнем!
Для начала вам нужно знать ip адрес своего принтера - его адрес в вашей домашней локальной сети.
Проще всего открыть слайсер Creality Print, и там во вкладке Device посмотреть адрес принтера:
Тут даже кнопочка "скопировать" сразу есть!
У меня адрес 10.0.1.43, у вас будет другой, может какой-нибудь типа 192.168.1.12.
И не важно, подключен ли принтер к роутеру по Wi-Fi или проводом - адрес у него все равно будет. Скопируйте его, или сфотографируйте.
Так же можно посмотреть адрес в самом принтере: в меню "Шестеренка" вкладка "Network" (Сеть).
Учтите - адрес может быть не постоянным! Если вы выключите ваш роутер, и снова включите, он вновь начнет выдавать всем вашим девайсам в доме адреса, и не факт, что принтер может снова получить адрес именно 10.0.1.43.
Он может получить адрес 10.0.1.17 или 10.0.1.22 - ну вы поняли. Creality Print все равно его найдет, и в самом принтере можно будет посмотреть его текущий адрес, но это неудобно, так что я в настройках своего роутера зарезервировал для своего принтера постоянный адрес 10.0.1.43 - теперь хоть 100 раз он будет переподключаться, все равно он получит адрес 10.0.1.43, и никакой другой. Это удобно.
С этим разобрались!
Теперь делаем root
Что такое этот root? На этом принтере установлена операционная система Linux. В Linux есть главный, корневой пользователь (root - переводится как корень), который может вообще все: установить и удалить любые приложения, что угодно добавлять и удалять, хоть раздел с самим Linux. Это аналог пользователя "Системный администратор" в Windows.
А есть все остальные пользователи, которые ограничены в своих правах, и, например, не могут что-то добавить или удалить в системных папках, и им разрешено работать только с тем, что уже установлено, и только в своих пользовательских папках, и только с правами, которые дал им root.
Сейчас мы на уровне таких пользователей, и чтобы произвести необходимые нам действия, нам нужны привелегии пользователя root.
Так что root - это не какое то там действие, а просто получение доступа к более высоким правам, типа как в Windows выполнить от имени администратора.
Получив root доступ, мы получим права на редактирования документов, и сможем отредактировать значение Rotation Distance, Homing Speed. А так же получим право устанавливать самим любые программы в Linux, и установим Moonracker, Mainsail или Fluid, и вообще все, что захотим.
Убедитесь что у вашего принтера последняя прошивка.
На данный момент это 1.3.3.5
Если у вас не последняя прошивка - обновляемся.
После в принтере идем в меню с шестеренкой, и там выбираем пункт Root account information
После чего там появляется предупреждение, мол, получая Root доступ вы потенциально рискуете, и сами отвечаете за все эти риски.
И кнопка ОК с таймером - чтобы вы точно все прочитали, и не нажали случайно!
После того, как таймер истечет, и вы нажмете галочку что со всем согласны, кнопка ОК станет активной, и вы сможете ее нажать.
После чего вы получите полный доступ ко всему, и на экране вам покажут ваш логин и пароль:
Он у всех одинаков:
Логин root (с маленькой буквы)
Пароль creality_2023
Теперь принтер доступен для подключения по сети через Secure Shell Protocol (SSH)
SSH - это защищенный удаленный доступ к командной строке компьютера в сети.
То есть вы со своего компьютера сможете выполнять команды на другом компьютере (в нашем случае - в принтере), даже не подходя к нему.
В Linux и Mac OS поддержка SSH уже встроена, вам нужно только открыть Terminal
В Windows 10 и 11 SSH скорее всего тоже есть - откройте Command Prompt (Командная строка)
В более старых версиях Windows не было поддержки SSH, и ее либо можно установить (погуглите как), либо просто установить PuTTY - https://www.putty.org
Открываем терминал, и вводим:
ssh root@ip адрес вашего принтера
У меня адрес 10.0.1.43, поэтому я ввожу:
ssh root@10.0.1.43
ssh - команда подключения, после нее пробел, после пробела - имя пользователя (у нас это root), после знак @ (at) после адрес нашего принтера.
at — значит "в"
Vasia at home — Вася в доме (Вася дома) 😁
Адрес vasia@google.com значит: Вася в почтовом сервере по адресу google.com (vasia at google.com).
А root@10.0.1.43 значит: пользователь с именем root по адресу 10.0.1.43 (root at 10.0.1.43).
В Windows это будет выглядеть так:
В первый раз оно ругнется - мол, я не могу понять что это за новый хост 10.0.1.43 - будем ему доверять? Напишите yes или no.
Напишите yes (полностью) и нажмите Enter.
Далее нужно ввести пароль - creality_2023
Причем во время ввода пароль не будет виден, курсор не будет двигаться, никаких звездочек не появится - просто ничего. Но он вводится! 😁
Введите, и нажмите Enter.
root@K1-03DA /root значит что все удалось - мы в нашем принтере, в папке пользователя root!
Если все получилось, идем на https://github.com/CrealityOfficial/K1_Series_Annex
K1_Series_Annex - это готовая преднастроенная сборка c web интерфейсами Mainsail и Fluid от Creality - именно для нашего принтера.
Нажимаем на зеленую кнопочку Code, из нее выпадает меню, где выбираем Download ZIP.
Нам скачивается ZIP архив, разархивируем его.
Вот его содержимое:
Там есть небольшое руководство - root guide, но мы это уже сделали.
А в pin out фотографии с платами принтера, где подписано для чего какой порт на плате.
Берем USB флэшку.
Выбираем оболочку Mainsail или Fluid - кому что больше нравится.
Выбранную папку копируем на флэшку.
Я выбрал Mainsail, и скопировал папку "mainsail" на флэшку. Ничего другого копировать не надо!
Вставляем флэшку в принтер.
В выбранной вами папке есть README_en - туториал по установке на китайском и на английском языках.
Открываем, заходим в терминале в наш принтер, и копируем команды.
cp /tmp/udisk/sda1/mainsail/* /usr/data/
cp - copy, команда "копировать" из папки на флэшке по адресу /tmp/udisk/sda1/mainsail/ в папку на принтере /usr/data/
У меня не получилось сначала: он сказал - нет такого файла!
Оказалось, что на моей флэшке было два раздела, и нужно было не из sda1, а из sda2 копировать.
Поменял - все скопировалось.
Флэшку можно вынуть.
Теперь, когда папка с флэшки скопирована в принтер, вводим команду:
/usr/data/mainsail.sh install
Что собственно значит - установить mainsail из папки /usr/data/.
Все! Дел на 5 минут, включая скачивание! 🤷🏻♂️
Теперь ваш Mainsail интерфейс будет доступен на порте 4409
То есть по адресу:
ip_адрес_вашего_принтера:4409
В моем случае это адрес:
http://10.0.1.43:4409
Обратите внимание, порт указывается через : - двоеточие.
Вводим адрес в браузере, и мы в Mainsail.
Вспомниаем, ради чего все это! 😆
Нам нужно:
- Поменять значения Rotation Distance, Homing Speed под новые шкивы!
- Отклибровать Sensorless Homing
Переходим в раздел Machine:
И ищем файл c именем printer.cfg - в этом файле находятся почти все настройки для нашего принтера.
cfg - это сокращенно от configuration - конфигурация принтера, в общем.
Ищем именно и только printer.cfg - никаких printer.cfg1 или printer-20240207_113309.cfg, это все резервные копии, на случай если вы что-то сломаете.
Если нужного файла нет, обратите внимание что там несколько страниц, а внизу стрелочки, чтобы эти страницы листать (показал стрелкой в правом нижнем углу):
Открывам это файл.
- Находим [stepper_x], меняем rotation_distance на 40, а homing_speed на 20.
2. Находим [stepper_y], и делаем то же самое - меняем rotation_distance на 40, а homing_speed на 20.
После этого жмем SAVE & RESTART - принтер перезагрузится, чтобы применит новые настройки!
Sensorless Homing - парковка без всяких датчиков и концевиков. У нашего принтера нет никаких концевиков.
Когда печатающая головка упирается в препятствие, мотор испытывает повышенную нагрузку, пытаясь его преодолеть, и его потребляемый ток возрастает. В этом принтере стоят драйверы моторов tmc2209 - они умеют видеть ток мотора, и по нему определяют - а не уперлись ли мы во что-то? 😁
По ссылке описана процедура настройки и калибровки этой чедесной функции драйвера tmc2209, можете ознакомиться, если интересно:
После замены шкивов я обнаружил, что по оси Y у меня все паркуется нормально, а вот по оси X паркуется с треском - то есть таки высоко усилие!
Усилие парковки, при котором Sensorless Homing понимает, что мы уперлись во что-то, указывается в параметре driver_SGTHRS
Для оси X он находится в разделе [tmc2209 stepper_x]
Для оси Y - в разделе [tmc2209 stepper_y]
По умолчанию там стоит значение driver_SGTHRS: 65.
Я попробовал, и у меня получилось что X хорошо паркуется со значением 75.
Его я и оставил, а Y и не трогал. 🤷🏻♂️
Можете попробовать сделать так же:
У меня с этим значением все паркуется как надо!
Поздравления - шкивы установлены! Делов то! 👍🤣
Разблокировка шейперов
Раз мы так далеко зашли, можно еще немного улучшить принтер - убрать ограничение на измерение Input Shaping!
Как оказалось, с заводскими настройками принтер почему-то измеряет резонанс только по оси X, а ось Y не измеряется никак, к ней тупо применяется резонанс от X, а шейпер (алгоритм компенсации резонанса) может быть только типа ei, тогда как у меня после разблокировки получилось что нужны zv и mzv.
Вот что у меня было с заводскими настройками:
На X и Y все одинаково, а тип шейпера - только ei
После разблокировки стало так:
Кто уже с Klipper имел дело - поймет!
Чтобы убрать ограничение, нужно установить Helper Script
Написано, что перед его установкой нужно выполнить сброс принтера к заводским установкам!
Я этого не делал. 🤷🏻♂️
Подключаетесь к своему К1 через SSH, и вводите это:
cd && wget --no-check-certificate https://raw.githubusercontent.com/Guilouz/Creality-K1-and-K1-Max/main/Scripts/installer.sh
Оно скачивает вам в папку root файлик инсталлера - installer.sh
После этого запускаем его командой:
cd && sh ./installer.sh
cd перенесет вас в папку root откуда угодно, поэтому можно запускать этот инсталлер откуда хочешь!
sh запускает сам installer.sh
Выбираем 1 - меню инсталляций. И жмем Enter.
Это меню со списком того, что этот инсталлер умеет устанавливать.
Выбираем номер 13 - пишем "13" и жмем Enter.
Improved Shapers Calibration устанавливается.
Вот здесь можно почитать о нем:
После установки можете выйти из программы (q и Enter).
Все готово!
Теперь заново откалибруйте принтер! Можно сделать это через Console (консоль) Mainsail, введя в нее:
INPUT_SHAPER_CALIBRATION
А после окончания процедуры калибровки обязательно введите:
SAVE_CONFIG
Это сохранит результаты калибровки.
Или можно через меню настроек принтера сделать - через него теперь тоже калибровка полноценная проводится, я проверил!
Теперь будут тестироваться и X и Y, и будут применятся наиболее подходящие шейперы, а не только шейпер ei.
Чтобы проверить, применились ли у вас новые шейперы, загляните в printer.cfg, как было описано выше.
Прокрутите его в самый низ, до раздела [input_shaper], и там должны быть разные названия шейперов и разные цыфры:
Это значит, что все получилось!
Вот что это дало лично мне:
По факту в некоторых местах с завода было эхо, которое исчезло после разблокировки и нормальной калибровки по всем осям (один и тот же файл и филамент, до и после):
Так же на другой детальке я заметил, что угол, которые ранее слегка выступал, стал более ровными. Не смог никак это сфотографировать.
Вот так примерно (рисунок утрированный, на глаз это почти незаметно):
То есть делать стоит однозначно! 👍😎
В этом Helper Script есть и другие фишечки.
Например, Klipper Adaptive Meshing & Purging - KAMP
Но у меня он не установился. Вернее, для его установки сначала нужно установить Supervisor Lite, после установки которого у меня Mainsail перестал подключаться.
Как удалишь через тот же Helper Script - вновь подключается! 😁
Возможно это потому, что я не вернул принтер к заводским настройкам после установки! 🤷🏻♂️
Ну может потом разберусь.
А на данном этапе мы и так получили максимум от принтера - качество печати заметно улучшилось!
У меня лапки, и я все сломал! Родители убьют! Что делать?!!!!1111
Невозможно все сломать - это просто комп на Linux, на который залита прошивка.
Все установленное можно удалить через Helper Script, и можно переустановить официальную прошивку - при переустановке все это сотрется.
Но если прям вообще ничего не работает, Creality предлагает специальный инструмент для экстренного восстановления прошивки:
Плату принтера нужно подключить к компу через USB, возможно поставить драйвера, и прошить по инструкции.
Тут дел на 15 минут, а я писал эту статью 4 часа! Очень надеюсь, она хотя бы пятерым людям поможет! 😁
Over and out! 😆
Еще больше интересных статей
Застрял филамент в 3D ручке
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Elegoo Neptune 4 Plus альтернативный и более простой способ замены сопла
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Тут отчасти всё верно написано...
Ну у меня с Вашими задачами пр...
Добрый день! Принтер перестал...
Коллеги, вопрос на засыпку: ес...
Добрый день!Пытаюсь печатать э...
Цель: - пол...