Продолжение печати после выключения питания
версия для печати
Давно эту фичу ввели, но в Ender 3 она работала глючно. И вот, радость-то какая - это дело работает! Я не знаю точно, когда пофиксили. Редко обновляю прошивку и не слежу за новостями Marlin. Да и сам блок настроек случайно на глаза попался при очередном обновлении и я решил проверить, как и что. Рассказываю. |
Блок настроек нужно искать по POWER_LOSS_RECOVERY в Configuration_adv.h. Вот мой конфиг (лишнее удалено):
#define POWER_LOSS_RECOVERY
#if ENABLED(POWER_LOSS_RECOVERY)
#define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500)
#define POWER_LOSS_PIN -1 // Pin to detect power loss. Set to -1 to disable default pin on boards without module.
// Without a POWER_LOSS_PIN the following option helps reduce wear on the SD card,
// especially with "vase mode" printing. Set too high and vases cannot be continued.
#define POWER_LOSS_MIN_Z_CHANGE 0.2 // (mm) Minimum Z change before saving power-loss data
#endif
В материнке третьего Ender нет пина для отслеживания выключения питания (даже в версии от BIQU), поэтому придется работать с brute-force вариантом. А именно: писать на карту текущее положение при смене высоты. Исходя из того, что я печатаю обычно слоем 0.2, его и возьму за отметку. В теории, это может создать проблему, если слой уже был частично напечатан. Но излишек пластика все же меньшее из зол.
Что особо радует, в решении заложено отключение фичи продолжения печати, когда она не нужна. При печати всякой мелочи на 2-3 часа фичу можно не включать, но когда расчетное время 10+ часов, все же лучше пожертвовать некоторым износом карты.
Как это работает: через меню принтера включаем Configuration > Power outage on. Это можно сделать даже во время печати и будет работать. Сохранять изменения конфига не надо, сразу записывается в EEPROM. Т.е. теперь при следующем включении питания выбранный режим останется.
Когда фича включена, на время печати в корне карты появляется файл "PLR". Если при включении принтера этот файл обнаружен, будет предложено продолжить печать.
Ну-кась, давайте-ка проверим. Без заправки пластика выбрал тестовую модель (полый кубик 20x20). Сбросил температуру стола в ноль, хотенд на какие-то низы, разницы нет. Подождал, пока высота поднимется до 0.4 и вырубил принтер. Включил, получил приглашение продолжить. Ок, валяй. Принтер ушел в парковку и начал печать заново.. М-да, что-то пошло не так :)
Короче, фича работает, просто я рано выключил питание. На высоте от 1мм и больше уже правильно отрабатывает: соглашаюсь продолжить, хотенд приподнимается, паркуется, потом возвращается обратно, опускается и печатает, как задумано.
Еще из любопытного: запоминаются настройки температуры стола и сопла. Если сопло остыло, сначала подогревается до нужного значения. Но если температура была задана ниже 180С, то при восстановлении печати сопло греется именно до 180С. На практике вы не будете печатать ниже этой температуры, это я для ускорения теста так низко задавал. Вообще значение 180 - это HOTEND_IDLE_MIN_TRIGGER. Можете поискать в Configuration_adv.h, если интересно, что это.
Итого: фича продолжения печати после выключения питания наконец-то работает и работает, как надо. Радости нет предела :)
[1oo%, EoF]Понравилась статья? Расскажите о ней друзьям: