Коэффициент продвижения marlin: Избавляемся от наплывов на углах или Linear Advance
Содержание
Проблема с экструзией? Вам сюда / Хабр
Вот вы знаете, что такое настоящий вселенский факап? Недавно я полностью ощутил это на своей шкуре. Надеюсь, текст будет полезен начинающим 3D печатникам, так как проблема не единичная, но найти решение было непросто и даже я, старый атеист, чуть не поверил в чудеса. Простите за изложение, так как я не писатель и не блогер, а простой инженер — фирмварщик.
Кроме того, текст рассчитан на людей, имеющих минимальный опыт с 3D печатью.
Исключительно по причине не раздувать статью и не объяснять назначение разных деталей и сленговых словечек. Начну с предыстории. Чуть меньше года назад купил себе недорогой 3D принтер. Один из самых популярных (не на правах рекламы, а что бы было понятно о чем речь) — Ender 3. Сборка была несложная, в Сети есть много рекомендаций. Конечно, собирая его по инструкции — получил бы нерабочий агрегат, но предварительно «покурив мануалы», удалось выполнить первую пробную печать на 5 с плюсом для такой простой машинки! Все было хорошо до определенного момента. Но дальше началось…
Если интересно что, добро пожаловать.
Для тех, кому лень читать:
Сломался рычаг прижимного ролика экструдера.
Принтер нужен был для конкретной задачи — печать нестандартных корпусов для различных мелкосерийных электронных поделок. После того, как наигрался с готовыми моделями и обеспечил дочку различными зверюшками и человечками, освоил «по верхам» FreeCAD и начал делать полезные вещи. Все шло хорошо… По большому счету, печать запускалась «с ноги», ставил и шел спать. Разве что первый слой контролировал. Но появились первые «звоночки».
Где то часть слоя выпадет, где то пластик подгорит. Калибровал стол «по бумажке», грешил на пластик и сопло, менял настройки в слайсере, пластики и сопла — проблемы исчезали. Пока…
В один «прекрасный» момент столкнулся с «неразрешимой» проблемой. Конец марта, плавный перевод на удаленку (я удачно переехал из Подмосковья в Минск 2 годами раньше), решил собрать отдельный компьютер для работы из того, что было. В загашниках лежала неплохая материнская плата, процессор, пару мониторов и 2 корпуса. Один — огромный полноценный ATX, другой — barebone. Решил собрать в маленьком, чтоб места меньше занимал. Корпус нестандартный. С кредлом на 1 CD привод и 3.5 дюймовый винчестер. У меня же нашлось 3x 2.5 SATA SSD небольшого объема, под систему и одного хватит «более чем» и 1x на 1Tb 2.5 HDD.
Вся эта «живность» размещалась в большом корпусе на самодельном переходнике из старых банковских карт. Но, раз уже появился принтер, неплохо бы им воспользоваться. Создал модельку держателя, поставил на печать и пошел заниматься своими делами. Когда посмотрел, как печатает — увидел только лапшу… С этого момента пошел путь ремонта, длинною в 2 месяца. Постараюсь расписать по полочкам, что помогало, а что нет и в чем была первопричина.
Шаг 1. Настройка роликов {профилактика — всегда полезно}
В очередной раз настроил стол «по бумажке», запустил — пластик не липнет. Менял настройки, пластики — без результата. Вместо того, чтоб клеиться к столу, загибается на сопло. Когда перепроверял настройки зазора сопла, обнаружил, что разболтались ролики и стол люфтит почти на 5мм по краям. Странно, как он вообще до этого печатал… Казалось, причина найдена. Отрегулировал. Но лучше почти не стало. С горем пополам напечатал деталь, но качество оставляло желать лучшего:
Видны явные пропуски в печати.
А вот и расслоения…
Шаг 2. Песнь о Зе[ль]де {неплохо, когда все идет, как по маслу}
Первое, что пришло в голову — проблема в приводе оси Z. И все советы на форумах по проблеме, похожую на мою, указывали на это. Разобрал, проверил плавность хода. Гайка немного закусывала резьбу и нашел «баг» в паре роликов. При перемещении без винта привода, рельса «X» немного залипала на 1 оборот ролика. Заказал приводную гайку, ролики (запчасти — всегда хорошо, но дело было не в этом). Методом комбинаторики и какой то матери распределил ролики оси по нагрузкам так, чтобы на бракованные приходилось минимальное усилие. «Закусывание» пропало. Очистил и смазал винт привода. Отрегулировал положение его двигателя. В результате — легкого прикосновения пальца хватает, чтобы опустить каретку вниз. Результат — отрицательный.
Шаг 3. Слайсер {тюнинг, но не решение проблемы}
Обновил слайсер. Тем более, что в новом релизе как раз было улучшение, связанное именно с качеством печати для моего принтера. Поигрался с потоком и скоростью, толщиной слоев и т. д. Даже успешно напечатал несколько простых небольших корпусов и деталей. Но настройки были откровенно дикие: поток — +10%, скорость — -5%. Учитывая, что после сборки получалась отличная печать на настройках «по умолчанию». Проблема печати сложных деталей не исчезла…
По мотивам этой статьи: https://habr.com/ru/post/494058/ сделал для дочки таймер чистки зубов. По нему готовлю отдельное описание. Спойлер: восьминогий контроллер, прошивка — 119 ассемблерных команд.
Шаг 3. Экструдер {а счастье было так близко…}
Логика подсказывает, раз по геометрии и приводам осей проблем нет, должно быть что то с подачей. Снял шестерню подачи филамента, почистил. Видимого износа не наблюдается. Вернул на место, немного сместив по вылету, для выравнивания износа. Результат — 0. Эх, посмотри я тогда чуть правее, сэкономил бы месяц нервов и 200$.
Шаг 4. Проверка драйверов ШД {без комментариев}
Отличная геометрия, нет проблем с механикой. На момент первой сборки все было гораздо хуже. Куча изученных материалов, доработок и настроек, а результат — нулевой. Я в чудеса не верю, осталась электроника. Тем более форумчане часто жалуются на сгоревшие драйверы. Понятно, что полностью выгоревшее плече моста можно обнаружить «на глаз» сразу, подумал про «плавающую» неисправность. Ведь пластик ложиться нормально, потом — пропуски, нить утончается, волосы и остальные прелести. Заказал улучшенную плату управления на ARMе, но, чтоб не терять время, решил проверить имеющуюся. Снял плату, двигатель оси Z в качестве индуктивной нагрузки, собрал стенд на столе, резистором установил температуру хотэнда, чтобы и экструдер можно было покрутить. Посмотрел осциллограммы на катушках ШД. Все отлично. Грел драйвер феном (дефект кристалла или разварки иногда проявляется), механически воздействовал на ИС драйвера, охлаждал пропан бутаном (газ для зажигалок). Примечание. Вполне себе неплохо охлаждает до -20, не обязательно для этого дорогой фризер покупать. Все отлично. Сбоев не видно!
Шаг 5. Обновление «прошивки» {а я почти поверил в чудо и теорию заговора}
Нет, я точно уверен, что чудес не бывает. Бывают баги, глюки, фокусы, недостаток информации, субъективное восприятие реальности, в конце концов. Но не чудеса! Но как объяснить, что при исправной механике и электронике печать ведет себя крайне странно? Китайцы сделали закладку в FW чтобы платами дополнительно барыжить? Делается элементарно, но, думаю, уже давно бы обнаружили и торговой марке пришла бы белая пушистая лисица. Баг в прошивке? Все может быть, только как то странно он проявился.
Сбились настройки в EEPROM или «подглючивает» FLASH*? Наиболее вероятно. Ладно, раз плата на столе, ничего не мешает ее перепрошить. Обновился до «ванильного» Марлина 1.1.9, собрал все обратно. Результат — чуда не произошло.
*Чисто теоретическое обоснование возможности связи проблемы с FLASH памятью:
Допустим, у нас есть следующий фрагмент кода:
…
const uint8_t step = 0x18;
…
position += step;
…
На каждой итерации к текущей позиции прибавляется уставка «step». Так так как программа выполняется на микроконтроллере (МК), код и константы размещены в ПЗУ и изменяться могут только при внешней процедуре программирования (опустим возможности перепрограммирования FLASH памяти внутренними средствами МК). Процедура эта выполняется 1 раз изготовителем. Теперь 2 важных момента: процессор контроллера каждый раз читает команды и константы из ПЗУ, забудем про кэши, у Атмеги их нет. То есть, если цикл прошел 1000000 итераций, то и константа была прочитана тот же миллион раз. При каждом чтении FLASH немного деградирует. Не знаю, каков критический порог чтений для NOR, думаю, десятки миллиардов, но TLC NAND уже неплохо так деградирует после 10-20К чтений… Второй момент — не факт, что наши узкоглазые друзья не использовали отбракованные контроллеры. Мне реально один раз пришли такие. PICи. Не паяные, но на корпусе — странные пометки. FLASH оказалась не стертой, при 3.6В ни стереться ни прошиваться не хотели. Пришлось до 5В поднимать, после чего запись / верификация стали проходить. Допустим, наша константа была записана в бракованную ячейку. Пока устройство новое — 0x18 стабильно читалось. Но от времени (а для Атмег гарантированное время сохранения данных не самое большое) и деградации, в какой то момент стало читаться не 0x18, а 0x08. Не каждый раз, но все же. Знаю, скорее не 1 в 0 деградирует, а наоборот, это — исключительно для примера. Так вот, пока стабильно читается нужное число, перемещение происходит корректно, но когда происходят сбои, к результату прибавляется неверная уставка, что приводит к сбоям подачи. Это самый простой и маловероятный пример. Могут быть другие глюки, например, в команде сложения источник R6 изменится на R7. Ассемблерная команда остается валидной, процессор ее выполнит, но результат будет неверен…
Шаг 6. Промываем «горло» {держи голову в холоде, а хотэнд — в чистоте, рекомендую сделать это сразу после покупки принтера}
Подарком «небес» была ссылка на одном из форумов на ролик от производителя. Там они честно признаются, что не все хотэнды одинаково полезны, то есть хорошо собраны.
Тефлоновая трубка не до конца запрессована, срез не ровный. Следствие — образование пробки и экструдер не может нормально продвигать пластик. Вот оно — мой случай!
Ненормальные значения потока и ретракта, все сходится. Несмотря на поздний вечер Субботы и посещение пивного ресторана, решил проверить. Точно. Гуана там немерено, вплоть до остатков пластика, которым печатал месяц назад (тот самый зеленый держатель). Очень вероятно — победа! Прочистил «горло», обрезал трубку ровно, запрессовал до упора, так же зафиксировал второй конец трубки поплотнее, многие используют изоленту, но я намотал немного провода 0. 7, что позволяет свободно откручивать держатель:
А вот и «убитый» конец трубки, видно, что обрезан криво:
Модель режется на слои с настройками по умолчанию. Печать… Кайма пошла, контур пошел, соплей при ретракте нет. Ура!!! Победа!!! Уже собрался написать статью, чтобы другие не мучились, но… Полное фиаско. Утончение и разрывы пластика, пропуски при печати. Уже готов сдаться. Жена подбадривает, да выкинь ты его, купи новый! Не могу так. Должна же быть причина. Вот только где??? Разумных (и цензурных) мыслей уже не было…
Ремарка про чистку «горла»:
Все операции с хотэндом делаются только «на горячее», иначе есть шанс все сломать. После прогрева, первым делом снимается сопло и очищается от остатков «пробки». Я делал это, нагрев сопло на пламени газовой плиты и аккуратно удалил пластик. Внутренности не чистил. Потом, так же на нагретом хотенде, откручивается фиксатор трубки. Двигаться он может только вверх. После отвода фиксатора, трубка аккуратно, но с усилием должна быть извлечена из «горла». Снимаем все фиксаторы, так как испорченный конец все равно не сохранить, аккуратно, возвратно — поступательным движением вычищаем всю грязь, постоянно снимая ее с трубки. В результате, трубка должна спокойно проходить через горло насквозь. Сборка производилась последовательности FIFO. Вначале установил сопло, потом фиксатор трубки в хотэнде, но не затягивал его полностью, оставив где то 1 оборот. Изношенная часть трубки обрезается под прямым углом и до упора устанавливается в горло. После чего затягивается держатель и устанавливается второй, на противоположную сторону «тефлона».
Шаг 7. Калибровка подачи {при исправной механике, скорее всего не понадобится, если только после замены деталей приводов или перепрошивке}
В инструкции по обновлению до «ванильного» Марлина было сказано, что для заводского принтера все настройки — идеальные, но может немного уйти точность подачи пластика. Ладно, будем калибровать. Вытащил пластик, разогрел хотэнд (в прошивке блокировка, на холодный не позволяет перемещать «E»). Открутил трубку от механизма подачи, обрезал пластик заподлицо и выполнил команду экструзии 300мм. Линейка у меня на 350. Экструзия длиться достаточно долго, по завершению измерил длину вышедшего филамента и глазам своим не поверил 226мм. Понимаю разницу в 3-5%, но не в 25%! попробую другой пластик…
Примечание. Видел, как подачу регулируют по нанесенным маркером отметкам на прутке, Но с отрезанием, ИХМО, точнее.
Подготовка к тестовой экструзии:
После экструзии:
Измеряем линейкой, в моем случае (после ремонта) получилось 292мм. Далее идем в меню: control / motion / step mm, смотрим, сколько шагов на мм установлено для экструдера. В моем случае — 93. Выполняем простое вычисление:
>>> (300*93)/292
95.54794520547945
Изменяем уставку и сохраняем настройку. Повторная экструзия — погрешность на уровне измерения.
Шаг 8. Победа!
Вначале я проверял на PETG, решил поменять на PLA. Первый я немного перегрел при сушке, неадекватный разброс списал на возможное залипание на катушке. Обрезание, экструзия. И ничего. Пластик вообще не подается. Ось привода вращается, медленно, но по винтам видно, что движение есть. Посмотрел, пруток неправильно лег между шестерней и прижимным роликом. Ладно, правлю. Что то ролик немного болтается. Надо подтянуть. А фиг! Вот он виновник всех моих бед:
Рычаг прижимного ролика треснул. При этом сила прижима осталась достаточной для частичного продвижения прутка. Следы от шестерни оставались и прижимной ролик вращался.
Соответственно, все игры с настройкой прижимной пружины оказались безуспешны. Проскоки прутка были незаметны на глаз, а трещину невозможно было увидеть на собранном механизме. Все! Экстаз инженера получен! Рычаг был склеен, заказан алюминиевый механизм, на всякий случай напечатан запасной (если сломается, пока буду ждать новый). Вот ссылка на модель. Конечно, неприятно из за такой мелочи столько времени и денег потратить, но это помогло мне намного более глубоко погрузиться в процессы печати и отлова глюков.
Собственно, первая деталь после ремонта. Прижимной рычаг:
Наконец, мой датчик присутствия обрел «морду». Корпус печатался еще до поломки:
Попытки напечатать «морду» на неисправном принтере (после чистки «горла»):
Надеюсь, данный материал хоть кому то поможет не совершить столько глупых попыток поиска примитивной неисправности и сэкономит деньги. Конечно, я не каждый вечер занимался проблемой, но в общей сложности — сутки, наверное, были потрачены. По деньгам — около 200$ на запчасти. Цена устранения неисправности — 15 минут и пару капель «суперклея». Обидно? Скорее нет, так как опыт и запчасти останутся со мной!
Всем гладкой печати и отменной адгезии!
Механическая, автоматическая КПП и вариатор: плюсы и минусы
Деление трансмиссий на механические и автоматические уже не такое однозначное — последние успели обзавестись сразу тремя разновидностями. Поэтому мы расскажем подробнее о плюсах и минусах каждого типа коробок передач.
Механическая трансмиссия
Этот вариант предусматривает ручной переключение передач. Двигая рычаг в салоне, вы приводите в движение специальные муфты. Последние соединяют между собой шестерни первичного и вторичного вала. Разница в размерах шестерён позволяет регулировать величину крутящего момента, который передаётся колёсам. Выбирая нужное передаточное число, вы можете плавно трогаться с места, уверенно разгоняться и снижать нагрузку на двигатель при равномерном движении.
Основные преимущества механической коробки передач (МКПП) — простота конструкции и возможность контролировать процесс переключения на 100%. Отсюда следуют все плюсы такого типа трансмиссии:
-
Надёжность. Большинство МКПП сравнимы с двигателем автомобиля по сроку службы.
-
Меньшие расходы на обслуживание. Периодичность замены масла — до 100–150 тысяч километров пробега. Некоторые модели вовсе обходятся без этой процедуры.
-
Сниженный расход топлива. Простая конструкция снижает механические потери в трансмиссии и повышает коэффициент полезного действия.
-
Лучшая динамика при сравнимых характеристиках двигателя — по причине, описанной в предыдущем пункте.
-
Прогнозируемое поведение автомобиля — вы сами отвечаете за переключение, и потому можете выбрать оптимальную передачу перед обгоном, при экстренном торможении или при выполнении другого манёвра.
-
Механическая коробка передач повышает проходимость машины. Она позволяет использовать такие приёмы, как раскачка и пробуксовка до очистки твёрдой поверхности.
-
Стоимость автомобилей с МКПП на 5–10% ниже, чем у конкурентов с автоматическими трансмиссиями любого типа.
Главный минус «механики» — это необходимость ручного переключения передач. Даже опытные водители отвлекаются при этом на доли секунды, не говоря уже о новичках. А при долгом движении в городских пробках постоянное движение рычага попросту утомляет.
Автоматическая трансмиссия
Ещё лет 20 назад так называли только один тип коробок передач. Сейчас это целая группа, в которую входит по меньшей мере три вида механизмов. У всех автоматических коробок передач есть общий плюс — это комфорт передвижения. Процесс переключения возложен на бортовую электронику, тогда как вы можете следить за дорогой и получать максимум удовольствия от вождения. Другие преимущества и недостатки автоматических коробок передач мы рассмотрим более внимательно.
Гидромеханический «автомат»
Этот тип трансмиссии часто называют классической или планетарной коробкой передач. Последнее — от используемого механизма. Планетарная передача позволяет изменять крутящий момент, фиксируя определённые шестерни друг относительно друга. Результат будет зависеть от того, какая часть механизма подключена к вторичному валу.
Обязательный элемент автоматической коробки передач (АКПП), определяющий большинство плюсов и минусов — гидротрансформатор. Мотор автомобиля крутит насосное колесо, которое приводит в движение масло, а через него — турбинное колесо. Для повышения коэффициента полезного действия могут использоваться ещё два элемента — реакторное колесо и фрикционное сцепление. Первое повышает скорость циркуляции жидкости, а второе жёстко блокирует механизм, снижая потери при равномерном движении.
Теория кажется сложной, но современным водителям не обязательно разбираться во всех нюансах работы узла. Куда важнее плюсы автоматической коробки передач:
-
Удобство — переключение происходит без участия водителя. Хотя в некоторых автомобилях с АКПП это можно делать вручную. Для этого трансмиссию нужно перевести в режим Manual или Sport.
-
Надёжность по сравнению с другими видами автоматических коробок передач. «Гидромеханика» спокойно выдерживает до 200–250 тысяч километров пробега.
-
Выносливость — большинство автоматических трансмиссий устойчиво к пробуксовкам и резким разгонам.
-
Меньший риск перегрузить двигатель и другие узлы. Даже в коробках передач с ручным переключением есть защитный механизм, который допускает автоматическую смену ступени в экстренной ситуации.
-
Простота освоения — управляться с двумя педалями легче, чем с тремя. С другой стороны, если вы учитесь на «автомате», то для управления машиной с МКПП придётся сдавать дополнительный экзамен.
Конечно, у автоматической коробки передач есть свои минусы. Главный — более дорогое обслуживание, которое выражается в частой замене масла и высоких ценах запчастей. Кроме того, АКПП ограничивают динамику машины за счёт сложной конструкции. Некоторые водители жалуются и на отсутствие полного контроля — механизм может переключить передачу в неподходящий момент. Хотя для них созданы адаптивные «автоматы», которые приспосабливаются к определённому стилю езды.
Вариатор
Достаточно простая трансмиссия. Крутящий момент в ней передаётся пластинчатым ремнём, скользящим по двум коническим шкивам. Такой механизм позволяет плавно регулировать усилие, которое передаётся колёсам. Передаточное число меняется при смещении ремня на миллиметры — это можно делать на ходу, не разрывая поток мощности. Иногда вместо ремня используется цепь. Плюс таких вариаторов в надёжности, а минус — в высокой цене коробки передач.
Подобно классическому «автомату», вариатор не может обойтись без гидротрансформатора. Он поглощает избыточную нагрузку на старте и позволяет останавливаться с работающим двигателем. При равномерном движении узел также блокируется, повышая коэффициент полезного действия.
Плюсы вариатора в качестве автомобильной коробки передач:
-
Плавность движения в городских пробках — крутящий момент регулируется плавно, переключения передач и потери мощности нет.
-
Вариатор снижает нагрузку на двигатель. Он всегда выбирает оптимальные обороты и поддерживает их при незначительном изменении скорости.
-
Доступная цена по сравнению с гидромеханическим «автоматом» — ненамного больше, чем у машин с МКПП.
Главный минус вариатора по сравнению с другими коробками передач — чувствительность к перегреву. Езда по бездорожью и резкие рывки на старте сильно снижают ресурс трансмиссии. Зимой узел нужно долго прогревать — сначала на стоянке, а потом при движении с минимальной скоростью. По стоимости ремонта и обслуживания вариатор сравним с классической АКПП. Многим водителям также не нравится шум мотора, работающего на постоянных оборотах. Но они могут выбрать вариаторы с «виртуальными передачами», ступенчато изменяющие крутящий момент.
Роботизированная трансмиссия
Фактически, в основу этого гибрида положена механическая коробка передач. Но сцеплением и перемещением фрикционных муфт занимаются электронные приводы. Роботизированная коробка передач объединяет плюсы «механики» и «автомата»:
-
Быстрее ускорение, выше максимальная скорость.
-
Меньше расход топлива по сравнению с АКПП и вариатором.
-
Можно выбирать автоматическое или ручное переключение.
-
Есть защита от перегрузки двигателя и других узлов.
-
Нет педали сцепления, обучение намного проще.
К сожалению, у «робота» есть минусы по сравнению с другими коробками передач — внедрение электроники не решило всех проблем. По стоимости обслуживания он сравним с гидромеханическими АКПП или обходится дороже. Многие агрегаты чувствительны к резким ускорениям и долгой езде на высоких оборотах. В бюджетных машинах часто встречаются роботизированные коробки передач с одним сцеплением, у которых есть дополнительный минус. Они работают грубо и медленно, из-за чего автомобиль дёргается в момент переключения. Более дорогие модели с двумя сцеплениями лишены этого недостатка.
Заключение
Какую коробку передач выбрать?
-
Механическая трансмиссия снизит стоимость автомобиля и обойдётся дешевле. А ещё она улучшит динамику машины.
-
Гидромеханический «автомат» порадует сроком службы и выносливостью, хотя увеличит цену автомобиля и расходы на его обслуживание.
-
Вариатор обеспечит плавное передвижение в городе и снизит нагрузку на двигатель, но потребует аккуратного обращения.
-
Роботизированная трансмиссия сочетает удобство автоматической и экономичность механической. Но у неё самые высокие расходы на ремонт и обслуживание.
04.10.2021
Линейное продвижение | Прошивка Marlin
В условиях по умолчанию движение оси экструдера обрабатывается так же, как линейные оси XYZ. Двигатель экструдера перемещается линейно пропорционально всем остальным двигателям, поддерживая точно такой же профиль ускорения и точки начала/остановки. Но экструдер не является линейной системой, поэтому такой подход, скорее всего, приводит к выдавливанию дополнительного материала в конце каждого линейного движения.
В качестве примера возьмем обычный тестовый куб. Даже при самой лучшей настройке углы обычно не острые, а размытые. Верхнее сплошное заполнение имеет шероховатости в местах изменения направления печати по периметру. Эти проблемы незначительны или даже незаметны при низкой скорости печати, но они становятся более заметными и проблематичными по мере увеличения скорости печати.
Настройка потока может помочь, но это может привести к недостаточной экструзии при запуске новых линий. Некоторые слайсеры включают возможность преждевременного завершения экструзии на каждом шаге, но это усложняет G-код и требует перенастройки для разных температур и материалов.
Поскольку основной причиной является давление, LIN_ADVANCE
отделяет экструзию от других осей, чтобы создать правильное давление внутри сопла, адаптируясь к скорости печати. Как только Linear Advance правильно настроен, кровоточащие края и шероховатая твердая заливка должны быть почти устранены.
- Повышенная точность размеров благодаря уменьшению кромок стекания.
- Возможна более высокая скорость печати без потери качества печати, если ваш экструдер может обрабатывать необходимые изменения скорости.
- Видимое и осязаемое качество печати повышается даже при более низких скоростях печати.
- Нет необходимости в высоких значениях ускорения и рывка для получения острых краев.
Список изменений
- K теперь является значимым значением с единицей [мм сжатия нити, необходимой для скорости экструзии 1 мм/с] или [мм/мм/с].
- Нагрузка внутри шагового ISR уменьшена, так как там больше не нужны вычисления. Вместо этого экструдер работает с фиксированной скоростью во время регулировки давления. Поэтому эта версия работает быстрее.
- LIN_ADVANCE теперь учитывает аппаратные ограничения, установленные в Configuration.h, а именно рывок экструдера. Если для коррекции давления требуется более быстрая регулировка, чем разрешено пределом рывков экструдера, ускорение для этого движения печати ограничивается значением, которое позволяет использовать скорость рывков экструдера в качестве верхнего предела.
- Движения регулировки давления не приводят к дребезжанию экструдера, как это было в версии 1.0: теперь экструдер работает с плавной скоростью, а не рывками между кратными скоростями печати экструдера.
- Эта плавная работа экструдера и соблюдение ограничений по рывкам гарантируют, что ни один шаг экструдера не будет пропущен.
Требуется новое значение К
Поскольку единица измерения К изменилась, необходимо повторить процедуру калибровки К. Подробнее см. следующую главу. В то время как старые значения K v1 для PLA могли быть между 30-130, теперь вы можете ожидать, что K будет около 0,1-2,0.
LIN_ADVANCE может снизить ускорение печати
В v1, если для K было установлено высокое значение, которое не может быть обработано вашим принтером, то принтер терял шаги и/или использовал всю свою вычислительную мощность для выполнения шагов экструдера . В версии 1.5 это реализовано гораздо умнее. LIN_ADVANCE
теперь будет проверять, может ли он выполнить дополнительные шаги по мере необходимости. Если необходимая скорость экструдера превышает предел рывка экструдера, это уменьшит ускорение печати для напечатанной строки до значения, которое удерживает скорость экструдера в пределах ограничения.
Хотя вы, скорее всего, не столкнетесь с этим на принтерах с прямым приводом с филаментами, такими как PLA, это, скорее всего, произойдет на боуденовских принтерах, поскольку им требуются более высокие значения K и, следовательно, более быстрая адаптация скорости. Если это произойдет с суммой, которую вы не хотите принимать, у вас есть следующие варианты:
- Проверьте настройку рывка экструдера. Если вам кажется, что для него установлено очень консервативное значение, попробуйте увеличить его.
- Поддерживайте низкое ускорение экструдера. Этого можно добиться, уменьшив высоту слоя или ширину линии, например,
- Держите K как можно ниже. Может укоротить боуденовскую трубку?
Замечание о боуденовских принтерах по сравнению с LIN_ADVANCE
При разработке LIN_ADVANCE
довольно часто отмечалось, что боуденовские системы (и особенно дельта-принтеры) должны работать быстрее из-за меньшей движущейся массы. Поэтому снижение ускорения печати, как описано выше, было бы неадекватным решением. С другой стороны, боуденовские системы больше всего нуждаются в функции повышения давления, поскольку они обычно имеют больше всего проблем с изменением скорости.
Ну, LIN_ADVANCE
был разработан, потому что я (Sebastianv650) не был удовлетворен качеством печати, которое я получил от своего принтера с прямым приводом. Хотя можно сказать, что снижение ускорения на боуденовском принтере (который должен быть быстрым) — это плохо, я вижу это по-другому: если вас устраивает качество печати, которое дает вам установка боудена, вы не будет читать о способе коррекции давления, не так ли? Так что, возможно, в этом случае максимально возможная максимальная скорость совершенно бесполезна. Боудены — это вариант для поддержания низкой движущейся массы и, следовательно, обеспечения более высоких скоростей движения, но не ожидайте, что они дадут такую же точную способность укладки нити, как прямой привод. . Это как рисовать картину: попробуйте рисовать кистью длиной 1 метр, взявшись за задний конец резиновой ручки. Даже если вы попытаетесь компенсировать шаткий кончик кисти (а это, в принципе, и есть LIN_ADVANCE
), это никогда не будет так хорошо, как использование обычной кисти. С другой стороны, если вам нужно быстро распечатать деталь без особых требований к качеству, нет причин вообще включать LIN_ADVANCE
. Для этих отпечатков вы можете просто установить K равным 0.
Генерация тестового шаблона
Документация Marlin содержит генератор калибровочного шаблона K-Factor. Этот скрипт сгенерирует файл G-кода, который поддерживает определение правильного значения К-фактора. Сгенерированный G-код напечатает тестовый шаблон, как показано на следующем рисунке:
Начиная с выбранного начального значения для K
, отдельные строки будут печататься слева направо. Каждая линия состоит из 20 мм экструзии с использованием Slow Printing Speed
, за которой следуют 40 мм Fast Printing Speed
и, наконец, завершаются еще 20 мм Slow Printing Speed
.
Для каждой новой строки K-Factor будет увеличиваться на значение K-Factor Stepping
до предоставленного End Value для K
.
Общие сведения о настройках тестового шаблона
- Боуденовским экструдерам требуется более высокий К-фактор, чем прямым экструдерам. Рассмотрим начальное значение
для K
примерно от 0,1 до конечного значениядля K
примерно 2,0 для LIN_ADVANCE v1.5 или примерно от 30 до конечного значениядля K
примерно 130 для v1.0. - От чего зависит наилучшее соответствие К-фактора для использования в производстве.
- Тип нити. Чрезвычайно гибкие нити, такие как Ninjaflex, могут вообще не работать.
- Температура печати.
- Характеристики экструдера: Боуден по сравнению с прямым экструдером, длина Боудена, длина свободной нити в экструдере и т. д.
- Размер и геометрия сопла.
- Значение шагов/мм экструдера должно быть точно откалибровано. Калибровка рекомендуется на низких скоростях, чтобы избежать дополнительных воздействий.
- Свести к минимуму люфт, вызванный зубчатым зацеплением экструдера или нажимными фитингами. Поскольку это не повлияет на К-фактор, это может привести к странным шумам экструдера из-за контроля давления.
Повторите калибровку, если какой-либо из вышеуказанных параметров изменится.
Оценка шаблона калибровки
Переход между фазами Slow Printing Speed
и Fast Printing Speed
представляет интерес для определения наилучшего соответствия К-фактора. На следующем рисунке показано увеличенное изображение линии со слишком низким К-фактором:
Фаза | Описание |
---|---|
1 | Низкая скорость печати |
2 | Начало Высокая скорость печати 900 12 . Повышение давления в сопле (= количество экструдированного материала) отстает от ускорения печатающей головки. Это приводит к тому, что материала становится слишком мало, а линия истощается. К концу этой фазы давление достигает заданного значения. |
3 | Выдавливание и движение печатающей головки синхронизированы. Номинальная ширина линии экструдирована |
4 | Начало замедления до Низкая скорость печати . Здесь можно наблюдать противоположность фазы 2: снижение давления в сопле отстает от замедления печатающей головки. В результате экструдируется слишком много материала. |
5 | Начало фазы Низкая скорость печати . Тем не менее, давление в сопле не синхронизировано с предполагаемой величиной экструзии, и линия страдает от чрезмерной экструзии. |
6 | Низкая скорость печати стабилизировалась. |
Слишком высокий К-фактор существенно меняет вышеприведенную картину на противоположную. Объем выдавливания будет превышен в начале ускорения и остановится в фазе замедления.
Тестовая линия, которая имеет плавный и едва заметный или даже невидимый переход между различными фазами скорости, представляет собой наилучшее соответствие К-фактора.
Рекомендации перед использованием Linear Advance
- Некоторые слайсеры имеют опции для управления давлением сопла. Общие названия: Повышение давления , Выбег в конце , Дополнительная длина перезапуска после отвода . Отключите эти параметры, так как они будут мешать линейному продвижению.
- Также отключите такие параметры, как стирание при втягивании или расчесывание . Как только будет найден правильный К-фактор, тины почти не должно быть.
- Повторно проверьте расстояние отвода после того, как линейное продвижение откалибровано и работает нормально. Оно может быть даже равно 0, поскольку контроль давления снижает давление материала в конце линии почти до нуля.
Следующие соображения больше не являются проблемой для LIN_ADVANCE версии 1.
5
- Эта функция увеличивает нагрузку на ЦП (и, возможно, увеличивает износ экструдера). Рекомендуется использовать скорость связи 115200 бод или ниже, чтобы предотвратить ошибки связи и «странные» движения.
- Программное обеспечение узла печати должно использовать номера строк и контрольные суммы. (по умолчанию отключено, например, в Simplify3D)
- Теоретически не должно быть «лишних» движений, создаваемых
LIN_ADVANCE
. Если бы производились дополнительные движения, это привело бы к увеличению износа более хрупких деталей, таких как печатные шестерни экструдера Wade.
Сохранение К-фактора в прошивке
Если используется только один материал нити, лучше всего установить К-фактор внутри Configuration_adv.h
и перепрошить прошивку:
/** * Реализация линейного контроля давления * * Предположение: продвижение = k * (дельта-скорость) * K=0 означает, что продвижение отключено. * Инструкции по калибровке см. в документации Marlin. */ #define LIN_ADVANCE #если ВКЛЮЧЕН(LIN_ADVANCE) #define LIN_ADVANCE_K <ваше_значение_здесь>
Добавление K-фактора в сценарий запуска G-кода
Стартовые сценарии G-кода поддерживаются различными слайсерами. Большим преимуществом установки К-фактора с помощью этих методов является то, что его можно легко изменить, например, при переходе на другой материал. K-фактор определяется путем добавления команды M900 Kxx
в конец сценария запуска, где xx — это значение, определенное с помощью приведенного выше тестового шаблона.
В следующей главе кратко описано, где найти соответствующие настройки в популярных слайсерах.
Примечание 1:
При использовании метода сценария запуска G-кода эту функцию необходимо активировать в прошивке, как описано в разделе Сохранение коэффициента К в прошивке. Рекомендуется установить для #define LIN_ADVANCE_K
значение 0, что эффективно отключает жестко заданное значение микропрограммы. В этом случае используется только K-Factor, установленный через сценарий запуска.
Примечание 2:
Показанные стартовые сценарии G-кода индивидуальны для каждого принтера и личного вкуса. Это предназначено только для демонстрации того, где можно применить настройку К-фактора.
Cura
Настройки —> Принтер —> Управление принтером —> Настройки машины
Slic3r
Настройки —> Настройки принтера —> Пользовательский G-код
Simplify 3D
Изменить параметры процесса —> Показать дополнительные —> Скрипты —> Пользовательский G-код
Сила, необходимая для проталкивания нити через отверстие сопла, частично зависит от , от скорости, с которой материал проталкивается в сопло. Если материал проталкивается быстрее (=быстрая печать), нить необходимо сжать сильнее, прежде чем давление внутри сопла станет достаточно высоким, чтобы начать выдавливание материала.
Для одиночной линии с быстрой печатью это приводит к недостаточной экструзии в начальной точке линии (нить сжимается, но давление недостаточно велико) и чрезмерной экструзии с образованием пятна в конце линии ( нить все еще сжимается, когда двигатель E останавливается, что приводит к просачиванию).
Для полной печати это приводит к просвечиванию краев в углах (углы являются точками остановки/конечными точками линий) и, в крайних случаях, даже к зазорам между периметрами из-за недостаточной экструзии в их начальных точках.
Версия 1.5
Версия 1.5 корректирует давление несколько иначе, чтобы достичь следующих целей:
- учитывать рывки экструдера
- обеспечивать плавное движение экструдера без дребезжания
- уменьшить нагрузку внутри шагового двигателя ISR
Да это путем расчета смещения скорости экструдера в планировщике для данного сегмента. Если у нас есть истинное линейное ускорение, то это выполнит необходимые шаги продвижения как раз вовремя, поэтому мы достигли всех наших необходимых шагов продвижения как раз, когда часть ускорения закончилась. Поскольку Marlin использует приближение для расчета ускорения внутри ISR, это не совсем так, мы вернемся к этому позже. Если необходимое смещение скорости превышает допустимый рывок экструдера, ускорение печати для этого сегмента уменьшается до более низкого значения, чтобы рывок экструдера больше не превышался. Это сравнимо с проверкой, которую Marlin делает для каждой оси, например, если у нас есть ускорение печати 2000 мм/с², но ось X макс. ускорение установлено на 500 мм/с², ускорение печати снижено до 500 мм/с². При расчете трапеции LIN_ADVANCE
вычисляет необходимое количество шагов опережения на крейсерской скорости и на конечной скорости (= скорость в блоке и блока).
Когда этот блок выполняется шаговым ISR, экструдер устанавливается на частоту, которая представляет расчетное смещение скорости. Шаг продвижения выполняется вместе с обычными шагами e. Во время выполнения блока давление будет увеличиваться до тех пор, пока не будет достигнуто предварительно рассчитанное необходимое количество дополнительных шагов или не начнется замедление. Во время замедления мы уменьшаем величину шага продвижения до тех пор, пока не достигнем величины для конечной скорости или пока блок не подойдет к концу. Эти проверки необходимы, поскольку Marlin использует аппроксимацию для расчета ускорения, как указано выше. Поэтому, например, мы можем не достичь конечного давления в конце движения идеально, но это не важно, так как эта ошибка не будет накапливаться.
Следующее обновление может включать улучшенную обработку перемещений переменной ширины. На пути с переменной шириной возможно, что нам нужно истощить давление во время ускорения, например, когда следующая линия намного уже, чем предыдущая. Следовательно, LIN_ADVANCE
должен проверить фактическое необходимое направление экструдера. Другой случай, который следует рассмотреть, — это заполнение зазора до вершины треугольника: в этом случае Марлин будет двигаться с постоянной скоростью, но скорость экструдера и, следовательно, необходимое давление становятся все меньше и меньше, когда мы приближаемся к вершине треугольника. Мы должны адаптировать давление форсунки к макс. возможная скорость (скорость рывка экструдера) тогда. Поскольку большинство слайсеров заполняют промежутки на довольно низких скоростях, мы должны решить, стоит ли эта дополнительная нагрузка эффекта. На 32-битных платах, где производительность вычислений, скорее всего, не проблема, в любом случае это имеет смысл.
Версия 1.0
Регулятор давления LIN_ADVANCE
обрабатывает эту свободную длину нити как пружину, где K
— жесткость пружины. Когда сопло начинает печатать линию, в качестве эталона используется скорость экструзии. В дополнение к необходимой длине экструзии для сегмента линии, которая определяется слайсером, он вычисляет необходимое дополнительное сжатие нити для достижения необходимого давления в сопле, так что длина экструзии, определенная слайсером, действительно экструдируется. Это делается в каждом цикле шагового ISR.
Во время замедления сжатие нити снова снимается по той же формуле: шагов продвижения = дельта_скорости_экструзии * K
. Во время замедления delta_extrusion_speed
имеет отрицательное значение, поэтому значения advance_steps
являются отрицательными, что приводит к втягиванию (или замедлению) движения, снова расслабляя нить.
Основная формула ( шагов продвижения = дельта_скорость_экструзии * K
) такая же, как и в знаменитом контроле давления JKN, но с одним важным отличием: JKN вычисляет сумму всех необходимых шагов продвижения экструдера внутри цикла планировщика и равномерно распределяет их по каждое ускорение и замедление шагового ISR-цикла. Это приводит к неправильному распределению шагов продвижения, что приводит к несовершенному результату печати. LIN_ADVANCE
вычисляет дополнительные шаги на лету в для каждого цикла шагового ISR , поэтому требуемые шаги применяются именно там, где это необходимо.
Более подробную информацию и графики см. в этой презентации, слайды 7-9.
В Marlin вся работа выполняется в степпере . *
и планировщик .*
файлов. В цикле планировщика LIN_ADVANCE
проверяет, нуждается ли перемещение в контроле давления. Это относится только к перемещениям печати, а не к перемещениям и перемещениям только экструдера (например, втягиванию и заправке).
В методе Stepper::isr
параметр LIN_ADVANCE
вычисляет количество дополнительных шагов, необходимых для достижения требуемого давления в сопле. Чтобы избежать пропуска шагов, он не выполняет их все сразу, а распределяет их между будущими вызовами процедуры обслуживания прерывания.
В v1.0 нет проверки превышения ускорения, скорости или рывка экструдера пределов, установленных в Configuration.h!
Шаблон линейной предварительной калибровки | Прошивка Марлин
Используйте эту форму для создания G-кода, который можно использовать для калибровки К-фактора линейного продвижения. Значения по умолчанию применяются к стандартному PLA с соплом 0,4 мм.
Нажмите кнопку Generate G-code , а затем Download as file , чтобы сохранить результат.
Настройки | G-код | ||
Информация о принтере | |||
Имя принтера | |||
---|---|---|---|
Нить | |||
Диаметр нити | Диаметр используемой нити (мм) | ||
Диаметр сопла | 9014 8 Диаметр сопла (мм) | ||
Температура сопла | Температура сопла (° C) | ||
Температура стола | Температура стола (°C) | ||
Расстояние втягивания | Расстояние втягивания (мм) | ||
Высота слоя | Высота слоя (мм) | ||
Экструдер | Индекс экструдера (0...) | ||
Скорость вентилятора (%) | |||
Печать Кровать | |||
Форма кровати | ПрямоугольнаяКруглая | Прямоугольная или круглая кровать. Круглые кровати активируют Origin Bed Center | |
Размер кровати X | Размер (мм) кровати в X | ||
Размер кровати по оси Y | Размер (мм) кровати по оси Y | ||
Исходное положение по центру кровати | Установить исходное положение (X0 Y0) по центру кровати вместо переднего левого угла 9014 9 | ||
Скорость | |||
Использовать мм/с | Использовать мм/с вместо мм/мин | ||
Медленная скорость печати | Медленная скорость печати 90 149 | ||
Высокая скорость печати 92) | |||
Рывок X | Установите Рывок для оси X. -1 для использования прошивки по умолчанию | ||
Jerk Y | Установите Jerk для оси Y. -1 для использования прошивки по умолчанию | ||
Jerk Z | Установите Jerk для оси Z. -1 для использования прошивки по умолчанию | ||
Jerk E | Установите Jerk для экструдера. -1 для использования прошивки по умолчанию | ||
Шаблон | |||
Lin Advance Version | 1.01.5 | Выберите версию 1.0 для Marlin 1.1.8 и более ранних версий. Выберите 1.5 для Marlin 1.1.9 / 2.0 и выше | |
Тип шаблона | StandardAlternate | Выберите стандартный или альтернативный шаблон | |
Начальное значение для K | Начальное значение К-фактора | ||
Конечная Значение для K | Конечное значение К-фактора | ||
Шаг К-фактора | Шаг К-фактора в тестовом образце. Должен быть точным делителем диапазона К-фактора (конец-начало) | ||
Длина на малой скорости | Длина тестовой линии на низкой скорости (мм) | ||
Длина на высокой скорости | 90 148 Длина тестовая линия Fast Speed (мм) | ||
Расстояние между тестовыми линиями | Расстояние между тестовыми линиями. Это повлияет на размер печати | ||
Рамка привязки печати | Добавляет рамку вокруг начальной и конечной точек тестовых линий. Может улучшить адгезию | ||
Направление печати | Слева направо (0°)45°Спереди назад (90°)135°Справа налево (180°)225°Сзади наперед (270°)315° | Поворот печать с шагом 45° | |
Нумерация строк | Печатает значение К помимо каждой второй тестовой строки | ||
Дополнительно | |||
Соотношение линии сопла | Соотношение между шириной экструдированной линии и диаметром сопла. Должно быть от 1,05 до 1,2. Загрузить сетку УБЛ 0Загрузить сетку УБЛ 1Загрузить сетку УБЛ 2Загрузить Сетка UBL 3 | Выровняйте поверхность или загрузите сохраненную сетку (например, для UBL) перед печатью. Выравнивание кровати должно быть активировано в Configuration.h! Загрузка сетки требует активации UBL! | |
Использовать втягивание FW | Использовать втягивание прошивки. Необходимо активировать в Marlin. | ||
Prime Extrusion Multiplier | Значение по умолчанию 2,5 приводит к примерно 1 мм нити для линии длиной 10 мм | ||
Основная скорость печати | Скорость основного хода | ||
Время выдержки | Вставьте паузу в x секунд перед запуском тестового шаблона, чтобы стравить остаточное давление в сопле | ||
Выравнивание по оси Z | Выровняйте Z-портал, запустив команда G34 | ||
Имя файла |
Примечания к настройкам:
- Быстрая скорость печати и 9 0253 Низкая скорость печати должен значительно отличаться, иначе эффект К-фактора будет едва заметен.
- Используйте для выравнивания кровати требуется датчик.
- Для круглых кроватей опция Origin Bed Center активируется автоматически.
- Общая ширина (в направлении X) отпечатка зависит от параметров Fast Speed Length и Slow Speed Length плюс 5 мм для линии грунтовки. Длина (направление Y) зависит от настроек К-фактора и межстрочного интервала .
- Скрипт проверяет, помещается ли отпечаток на кровати. Проверьте это с помощью программного обеспечения хоста, такого как Printrun или Repetier Host.
- Начальное и Конечное значение для К-фактора определяет диапазон, который будет охватывать тестовый образец. Например, начальное значение , равное 50, и конечное значение , равное 150, будут тестировать диапазон 100.
- Шаг К-фактора определяет, сколько тестовых строк печатается для вышеуказанного диапазона. Например, шаг 10 и диапазон 100 приводят к 10 тестовым строкам. Шаг 3 не будет работать в этом примере, так как 100 нельзя точно разделить на 3.
Всего комментариев: 0