3D принтер у меня появился в начале карантина по ковиду, то есть миллион лет назад, плюс-минус. Игрушка зашла и довольно быстро к ней были докуплены всякие свистелки и перделки типа:
-
BLTouch, с выравниванием столика у меня всегда проблемы были, с этим девайсом проблема была решена самым правильным способом — автоматически.
-
Плата 4.2.2, уже тогда хотел собрать Marlin, но что-то не хватило времени и желания разобраться. А может просто брался за это дело в моменты oтупления. В общем прошивку я пользовал родную, довольно старую, и не жужжал. Попытки собрать Marlin заканчивались одним и тем же — 1. нефига не работает 2. нефига не понятно почему
-
https://octoprint.org/ на raspberry pi 3
А тут 3 дня назад сначала попробовал собрать klipper, оно собралось, но после загрузки принтер показал чистый голубой экран и отказался работать напрочь. Потом полез на официальный сайт https://www.creality.com/pages/download-ender-5-pro а там уже собранные marlin, даже относительно недавно выложенные. Скачал Ender-5 ProMarlin2.0.6HW4.2.2BLTouch, который вроде по названию похож на то что нужно, залил на SD карту, включил принтер, прошивка поставилась, вроде работает, отправляю 3х минутную мелочь на печать и ухожу. В телегу приходит уведомление от принтера — ‘я сделаль’. Иду смотреть, а там …. вообще ничего нет. Выражаю недоумение. Замечаю что пластик почему-то не упирается в экструдер. Допихиваю пластик, запускаю снова печать. И теперь уже своими глазами наблюдаю «движение есть, прогресса — нет». И тут замечаю что мотор подающий пластик крутиться в обратную сторону. Такой вот баг в официальной прошивке которую выложили в ноябре прошлого года. И всем пофик. На некоторых форумах (ну ладно, в одном посте) люди советуют поменять 1 и 2 пин моторе. В общем жизнь подает знаки — собири, блин, свой marlin. Далее беллетристика заканчивается и начинается инженерия
Тулзы для сборки.
Инструкция в виде видосика о том как на маке с помощью гравицапы VSCode заюзать PlatformIO и Auto Build Marlin для сборки всего нужного барахлишка. https://www.youtube.com/watch?v=_tnVl4X2p20.
Готовим исходники.
Гулять так гулять, берем что есть, без выписывания релизных тегов.
mkdir ~/src/Marlin git clone https://github.com/MarlinFirmware/Marlin ~/src/Marlin/Marlin git clone https://github.com/MarlinFirmware/Configurations \ ~/src/Marlin/Configurations cd ~/Marlin/ cp /* \ Marlin/Marlin/
Редактируем и собираем
Открываем ~/src/Marlin/Marlin как PlatformIO как показано в видосике ссылка на который была выше и генерируем среду сборки как там показно.
в VS Code открываем ~/src/Marlin/Marlin/Marlin/Configuration.h и правим там тупо всего 4 строки
-
Комментим два error в начале
-
Раcкоменчиваем `#define ENDER5_USE_BLTOUCH`
-
Коментим `#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN` (потому что плата 4.2.2 с 5-pin header)
на всякий случай прикладываю diff
Hidden text
❯ diff ~/src/Marlin/Configurations/config/examples/Creality/Ender-5\ Pro/CrealityV422/Configuration.h ~/src/Marlin/Marlin/Marlin/Configuration.h 23,24c23,24 < #error "Don't build with import-2.1.x configurations!" < #error "Use the 'bugfix...' or 'release...' configurations matching your Marlin version." --- > // #error "Don't build with import-2.1.x configurations!" > // #error "Use the 'bugfix...' or 'release...' configurations matching your Marlin version." 26c26 < //#define ENDER5_USE_BLTOUCH --- > #define ENDER5_USE_BLTOUCH 1352c1352 < #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN --- > //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
говорят можно еще поправить NOZZLE_TO_PROBE_OFFSET, но я еще не добрался попробовать.
Далее идем в Auto Build Marlin, жамкаем Build напротив STM32F103RE_creality (512K), выглядит это примерно так

и получаем .bin файл который пишем на SD карту, втыкаем в принтер и включаем его с ним, что приводит к заливке прошивки.
Калибровки
Сначала столик, все тупо, как описано в https://marlinfw.org/docs/features/auto_bed_leveling.html#first-time-bed-leveling. Команды в вводим в терминале в octoprint. Так проще чем вертеть ручку и выбирать меню. # и все за ним не вводим, это типа комментарии
M111 S247 # включаем дополнительный логинг G28 # делаем Auto Home G29 # калибруем уровень столика M500 # сохраняем все откалиброванное в EEPROM
Marlin, кстати, молодец и сохраняет все в EEPROM, родная прошивка хранила все на SD. И раз, выдернув SD, включив без него, и пытаюсь что-то распечатать я пропахал экструдером столик.
Пробуем печатать. Скорее всего получим мы паутинку вместо ожидаемой детали потому что BLTouch при калибровке делает рельеф стола, но точно выставить расстояние до стола он не может. Это приводит к тому что печать начинается выше чем надо, деталь не крепится дном и елозит по всему столу. Вообще в Marlin есть и визард (c wizard) на эту тему и еще описание https://marlinfw.org/docs/gcode/M851.html, но у меня не получилось визардом. Практически получилось вывести вот такие работающие шаги:
-
G28 (Auto Home), эта процедура отведет голову по оси Z на 10 мм примерно от 0
-
Выводим аккуратно голову по оси Z, меняя шаг, так что бы между экструдером и столом можно было провести бумажку, но она немного цеплялась (классика, да). У меня получилось что это было выше нуля и на экране было -1.75.
-
Когда я пытался через меню ввести в z probe offset -1.75 — ничего хорошего не получалось, потом я попробовал в терминале загнать ‘M851 Z-1.75 и потом M500 и все заработало. в меню z probe offset при этом показывало +1.75.
Поздравляю вас, если вы все сделали правильно то вы можете снова печатать весьма полезные и необходимые вещи. Например такие

Всем мира и здоровья.
ссылка на оригинал статьи https://habr.com/ru/articles/739032/
Добавить комментарий