!!!!!!!!!!!!!!!!!!!!!!!! На момент выхода видео макросы были 100% рабочие и были тщательно протестированы. Но к 24 году из-за изменений в прошивке, они перестали работать. Пока у меня нет времени, чтобы заниматься написанием и тестированием новых макросов, так что оставляю забагованные, авось кто-то из сообщества их поправит под современные реалии. !!!!!!!!!!!!!!!!!!!!!!!! ======================================= Макросы для klipper: ======================================= [gcode_macro M207] gcode: {% if params.S is not defined %} {% set S = printer.configfile.settings.firmware_retraction.retract_length|float %} {% endif %} {% if params.F is not defined %} {% set F = printer.configfile.settings.firmware_retraction.retract_speed|float %} {% endif %} SET_RETRACTION RETRACT_LENGTH={S} RETRACT_SPEED={F} [gcode_macro M208] gcode: {% if params.S is not defined %} {% set S = printer.configfile.settings.firmware_retraction.unretract_extra_length|float %} {% endif %} {% if params.F is not defined %} {% set F = printer.configfile.settings.firmware_retraction.unretract_speed|float %} {% endif %} SET_RETRACTION UNRETRACT_EXTRA_LENGTH={S} UNRETRACT_SPEED={F} ======================================= Скрипты для Prusaslicer: ======================================= Если вы используете Marlin, то скорости отката и возврата надо указывать в мм\мин (в 60 раз больше, чем мм\с). То есть не M207 S5 F30, а M207 S5 F1800. В клиппере такого не надо. {if printer_notes=~/.*printer1.*/} M207 S5 F30 M208 S0 F30 {elsif printer_notes=~/.*printer2.*/} M207 S3 F30 M208 S0 F30 {elsif printer_notes=~/.*printer3.*/} M207 S5 F30 M208 S0 F30 {endif} ======================================= Скрипты для Cura: ======================================= Если вы используете прошивку Marlin, то скорость отката и возврата придётся указывать в команде вручную в мм\мин (в 60 раз больше, чем мм\с) M207 S{retraction_amount} F1800 M208 S{retraction_extra_prime_amount} F1800 Если вы используете прошивку Klipper с моими макросами команд М207, то можно использовать ввод скорости отката и возврата из настроек куры в мм\с. M207 S{retraction_amount} F{retraction_retract_speed} M208 S{retraction_extra_prime_amount} F{retraction_prime_speed}
Марлин можно исправить, чтоб он использовал скорость секундную, а не минутную. Нужно всего отредактировать файл, по относительному пути Marlin\src\feature\fwretract.cpp. Всё что нужно сделать, удалить все MMM_TO_MMS
Ну и более удобные g-code для prusia slicer с установкой значений из GUI: ; Retraction M207 S[retract_length] F[retract_speed] M208 S0 F[retract_speed]
Эт уж для профи. Допустим я пропечатал только две бобины пла с настройками в куре печати и принтера из коробки. Теперь пробую печатать abs. Соплей пипец. Мне посоветовали этот канал типо чувак профи. Но он профи для профи. Я новичёк понял из этого видео процентов 5. Будем искать видео для чайников.
Ещё замечу, что в PrusaSlicer при включении Firmware retraction нужно не забыть проверить отключение перемещения во время ретракта (wipe). Т.к. параметры находятся на разных вкладках, а слайсер проверяет доступность и активность параметров при переходе на вкладку, то у меня вайп остался включенным. Это добавило головной боли в процессе разбирательства "почему после смены слоя (или большого перемещениия) не давится пластик". В итоге оказалось, что включение ретрактов прошивки не блокирует вайп и он замечательно откатывает пластик, после (или перед) отрабатывает G10, затем один раз вызывался G11, что не компенсировало вайп.
Уточнение. Не знаю как в других, но в прюше в командах М207 и М208 ускорение писать в мм/мин. Т.е. вместо F30 надо писать F1800 (30*60). Кстати, если марлин с ЛА, то еще удобно тут же вписывать типо M900 К0.08 (ну т.е. правильное значение коэффициента для этого пластика).
Спасибо за инструкцию, как всегда на уровне! Кажется, осталась легкая недосказанность относительно возможностей klipper для калибровки. Там есть встроенный макрос TUNING_TOWER для различных калибровок. Для калибровки температуры сопла он задается вот так TUNING_TOWER COMMAND="SET_HEATER_TEMPERATURE HEATER=extruder" PARAMETER=TARGET START=*начальная температура - половинка инкремента* FACTOR=*инкремент/band* BAND=*шаг в мм, через который идет изменение*. Например, для TUNING_TOWER COMMAND="SET_HEATER_TEMPERATURE HEATER=extruder" PARAMETER=TARGET START=250 FACTOR=-1 BAND=10 печать начнется с 245 градусов и через каждый напечатанный см высоты температура сопла будет падать на 10градусов (ступенькой, а не постепенно). Аналогично можно и с ретрактами. Например, после команды TUNING_TOWER COMMAND=SET_RETRACTION PARAMETER=RETRACT_LENGTH START=2.95 FACTOR=0.02 BAND=5 печать начнется с ретракта в 3 мм, который будет меняться по 0.1мм каждые 5 мм высоты модели. Описание скрипта тут github.com/Klipper3d/klipper/blob/master/docs/G-Codes.md
Надо еще заметить, что на платах лердж скорость ретракта/подачи из прошивки указывается в мм/мин. Т.е. например в прюшеслайсере в нужной графе сразу указывать пересчитанную скорость, либо умножать скорость на 60 в скрипте.
О, внятное объяснение зачем нужны FR. Давно поглядывал на них, нужды большой нет, но буду как-нибудь настраивать принтер, озадачусь, иногда и вправду удобно. А в тему с калибровкой ретракта стоит добавить одну неприятную тему - подсос воздуха в сопло при ретрактах и формирование пузырька. Симптом - когда через несколько сантиметров экструзии после ретракта (или серии ретрактов) происходит небольшой хлопок. 90% невидимы - попадают во внутренние области. Зависят от скорости ретракта и длины холостого перемещения. Вашим тестом не обнаруживаются и не калибруются, но знать стоит.
@@SorkinDmitry 15мм/с на директе с длиной ретракта 1,2мм? ^_^ Не, это не отрыв прутка от расплава, проблема немножко глубже. Сопло, скорее всего, хотя на разных натыкался.
Привет Дмитрий. Такие мысли появились, не обязательно башенки для ретракта расставлять далеко, можно расположить башенки на расстоянии в двое меньшем, но скорость перемещения уменьшить в два раза, тем самым время бездействия экструдера по идее будет одинаковым.
Не первое, а примерно спустя месяц после моего видео и статьи на 3Dtoday. А самое занятное, что Дмитрий предложил безбожно задрать длину ретракта в максимум в любой ситуации, "чтобы точно хватило", да еще увеличив скорость отката до околосветовой. Хорошая, универсальная полумера, которая спасет от соплей за счет излишней работы принтера. Прежде чем проверять ретракт из видео - загляните в настройки принтера, и проверьте максимальную скорость ретракта, которая там прописана.
1. Вы утверждаете, что я у вас сплагиатил видео, правильно я понял? 2. Именно так откат и калибруются, по самому сложному случаю, а не самому простому. 3. При чем тут задирание скорости отката до космической? Откуда вы это взяли?
@@SorkinDmitry 1) Странное понимание. Нигде я ничего такого не утверждал. Лишь ответил, что видео не первое. 2) А вот тут соглашусь, на вашем канале это первое такое видео, где ретракт калибруется по "сложному случаю". 3) 30 мм\сек - это космическая скорость для ретракта. Хотя тут нет ничего страшного - всё сообщество скорость ретракта выбирает в произвольном порядке(пальцем в небо) без привязки к чему-либо объективному. Так что может для вас, эта скорость не "космическая". А для моего принтера 25 мм\сек - уже предел, если не ковырять прошивку, но без надобности, пользы от таких скоростей ретракта все равно ноль.
@@sakkralk 1. Я просто уточнил, нет ли там намёка на такое. Если нет, то и проблем никаких 2. В предыдущем видео показывалась модель, на которой расстояние было фиксированным, но большим. Отличие этого метода - что тут расстояние не фиксированное. В целом же, это повтор той же методики плюс-минус, просто через другие инструменты. 3. 30мм/с - это не космическая скорость, а самая что ни на есть средненькая. То, что ваш принтер и 25мм/с не может, говорит скорее о каких-то проблемах с хотэндом или фидером. Мб ток маловат на моторах, мб как-то странно настроили ускорения экструдера и т.д.
Дмитрий, ваш макрос у меня на клиппере не завелся. Выдавал ошибку. Думаю, что у меня есть более простой, но выполняющий все те же функции макрос (если не заданы отдельно величины переменных, то их значения берутся из конфигфайла раздела [firmware_retraction]: [gcode_macro M207] gcode: {% set length = params.S|default(printer.configfile.settings.firmware_retraction.retract_length)|float %} {% set speed = params.F|default(printer.configfile.settings.firmware_retraction.retract_speed)|float %} SET_RETRACTION RETRACT_LENGTH={length} RETRACT_SPEED={speed}
FW retraction это мастхев, да. Но для универсального g-кода их таки не достаточно, потому что параметры обдува слоев/мостов у разных пластиков таки разные, и при смене пластика нужно таки сгенерить другой g-код. Чет пока не придумал как перенести эту настройку в принтер и там уже рулить обдувами при выборе филамента.
добавил в куру чтоб устанавливалось значение из "Перемещений" в самой куре и прописывалось в M207. не знаю правильно ли организована, может проще как то можно, но я вообщем сделал так: 1. в стартовом G-коде вставил "M207 F{retraction_speed} S{retraction_amount} Z{retraction_hop_enabled}" тем самым подтягиваем из самого слайсера, но суть в том что {retraction_speed} - в мм/сек, а надо с мм/мин да и Z true/false. 2. прописал несколько строк в файл "StartSliceJob.py" после "490ст. settings["machine_start_gcode"] = self._expandGcodeTokens(settings["machine_start_gcode"], initial_extruder_nr)" следующее: pattern = r"(M207 F)(\d+\.\d+|\d+)( S)(\d+\.\d+|\d+)( Z)(True|False)" matches = re.findall(pattern, settings["machine_start_gcode"]) for match in matches: original_string = "".join(match) converted_value = float(match[1]) * 60 z_value = float(settings["retraction_hop"]) if match[5] == "True" else "0" new_string = f"M207 F{converted_value}{match[2]}{match[3]} Z{z_value}" settings["machine_start_gcode"] = settings["machine_start_gcode"].replace(original_string, new_string) здесь мы по сути вытаскиваем F и умножаем на 60, дальше вытаскиваем Z и если там True подставляем из переменной в слайсере, а если False ставим 0 главное работает) если что пользуйтесь, а если знаете другой способ пишите в ответе))))
using hardware retract is step backwards.. when using it, you can't do retract while wiping, etc... but you can still do same procedure that "harware retract" does, by moving the axis (retracting) manually.
КААААК сделать откат до того как сопло дойдёт до точки перемещения. Чтобы при приближении к точке перемещения сопла (например на шве или на окончании заполнения) подачу пластика остановить заранее. Сейчас приходится или комбинг включать везде, но он при определённых условиях сопли делает, так как откатов нет совсем. Или откат есть, но пока он 4 мм откатит под соплом уже лужа натекла, которая становится больше с каждым слоем.
Здравствуйте, спасибо за ваше творчество, очень качественный контент. Завтра придет Ender 3, есть мысль увеличить жесткость дополнительными профилями, потом поставить на него двухамперные шаговики. Вопрос, потянут ли драйвера и даст ли такая модификация возможность увеличивать скорость печати? Еще имеется в наличии lerdge x без linear advance с TMC2208, стоит ли менять плату вместе с более мощными шаговиками? Спасибо.
Приветствую. Есть вопрос по связке cura и marlin, а точнее по скрипту. Cura принимает параметр retraction_retract_speed и retraction_prime_speed в миллиметрах в минуту и вставляет в g-code как есть, а marlin считает, что это параметр передан в миллиметрах в минуту. Откаты получаются в 60 раз медленнее. Как можно поменять скрипт для cura, чтоб в g-code получить адекватные значения? То есть к примеру при скоростях в cura 50, в g-code получить F3000.
Вы правы, это проблема. В конфиге они указывают скорость в миллиметрах в секунду именно. Не понятно зачем они для г-кодов это поменяли. Тогда придется скорость вбивать вручную в скрипт, кура не режет, если вбить скорость в мм\мин в настройки печати, математики в скриптах куры тоже нет.
Смотрю, что-то тормозит принтер при ретракте... дико тормозит. Глянул описание команды M207: [F] Retract feedrate (units/min). Полез исправлять в слайсере :) А ведь в прошивке "(mm/s) Default feedrate for retracting". Полез в комменты и смотрю не я один такой :))
Подскажите пожалуйста. Все нормально,но в пронтерфейсе в центр координат едет без срывов только при укорениях и скоростях = 10 . Хотя при команде G1 x50 y50 едет нормально. Куда копать?
А как быть пользователям куры и принтерами с сенсорными экранами? В экране, поменять параметры данного значения нельзя а в куре непонятно, как такие башни слайсить.
А такой вопрос, в gcode нельзя выполнять математические функции, по типу умножения, чтобы можно было использовать в cura вместе с marlin-ом настройку скорости не вписывая значения в стартовый gcode?
Дмитрий, на стриме я спрашивал, может ли квадрокоптер попасть в вихревое кольцо. Я имел в виду крупные многовинтовые аппараты, способные перевозить людей (см. "пассажирский дрон"). Вопрос: может ли аппарат с такой массой и таким диаметром винтов попасть в вихревое кольцо и, если может, то как должен из него выходить?
вопрос лузера: при относительно одинаковой цене ульти стил и уни - какой всё же лучше выбрать и пичиму? склоняюсь к уни - у него портал чуть удобней для директа...
Юни может таскать почти любые директы и область печати побольше. Работа ульти с директами под вопросом, не понятно на данный момент как валы будут изнашиваться.
Но разве длины ретракта и возврата не должны быть равными? Будет странно если мы сделали ретракт, например 4 мм, а возврат 1 мм. Или я чего-то не понимаю?
ппц, принтер у меня в руках уже года 4, прошивку перелопатил в свое время вдоль и поперек, а узнал о такой функции только сейчас, может она появилась не так давно?))
Через экран открыть меню настроек и посмотреть, есть ли там такие пункты. Если экран - какое-нибудь цветное барахло, то экспериментально только или по выдаче команды M503 мб
@@SorkinDmitry 5й Мишка, прошивка от производителя. Не хочу пока экспериментировать с кастомной прошивкой, мне бы сперва решить проблемы печати, а "рюшечки" уже потом...
Как раз таки стоковая прошивка - это рюшечки в виде кривой китайской прошивки с цветным интерфейсом, а установка марлина - это про решение проблем, контроль и стабильность.
Как сделать через слайсер откаты, как же через 5мм ? То есть не трогая прошивку хочу через слайсер настроить и понять какой откат при какой скорости мне нужен
Эм.... Два эскиза(круги), две операции выдавливания. Или один эскиз, и операция вращения. Сохранить в STL. В чем проблема сделать цилиндр и еще один цилиндр на нем?
@@Diamond8822 при чем тут монтаж вообще? В Мерседесах детали со всего мира используются, в том числе и из Китая. По вашей логике это китайские автомобили? Вот и с платой такая же логика. Если МК не российский, это не значит, что плата не российская.