Смешивающий экструдер, реализация в Repetier-firmware
Смешивающий экструдер
Определение.
Комбинация из одного сопла и подачи от 2 до 6 прутков пластика, каждый из которых имеет индивидуальный привод, формирует смешивающий экструдер. Причем данная комбинация не обязана смешивать цвета. Вполне возможна печать любым одним цветом из подаваемых в сопло вариантов.
Эта комбинация дает нам один физический экструдер, который теоретически может печатать множеством различных комбинаций цветов. С помощью команды М163 можно изменить соотношение пластиков в любое время. Т.к. слайсеры не поддерживают такой режим, прошивка вводит концепцию виртуальных экструдеров. Смешивающий экструдер эмулирует для слайсера 16 виртуальных экструдеров(доступных под именами Т0-Т15) с заданными соотношениями смешивания. текущее соотношение может быть задано как виртуальный экструдер командой М164.
Настройка прошивки.
Настройте NUM_EXTRUDER равным количеству физических прутков. Дополнительно установите MIXING_EXTRUDER равным 1 в файле Configuration.h
Настройки экструдера, такие как число шагов на мм и управление температурой для всех экструдеров(физических) будут одинаковы и задаются только для нулевого экструдера. Настройки других экструдеров при этом игнорируются.
Прим. переводчика: Это приводит нас к двум выводам:
1. Все двигатели экструдеров желательно иметь одинаковыми.
2. Нельзя иметь одновременно смешивающее сопло для основной печати и одиночное сопло для материала поддержек.
Теория
Все N экструдеров имеют вес Wx, двигатели при этом делают такое число шагов, чтобы сохранить этот вес с оптимальной погрешностью(впрочем неуказанной). Поэтому у каждого виртуального экструдера есть счетчик ошибок Ex, который инициализируется вместе с весом Wx, также мы считаем сумму S всех весов.
Для каждого шага экструзии мы:
* делаем шаг с максимальным значением и вычитаем S из этого значения, затем добавляем Wx к Ex
* Экструдеры с весом 0 в расчет не берем.
Пример: 3 экструдера(физических) с соотношением 20/30/50
Шаг 1: E1=20, E2=30, E3=50 => E3
Шаг 2: E1=40, E2=60, E3=0 => E2
Шаг 3: E1=60, E2=-10,E3=50 => E1
Шаг 4: E1=-20,E2=20, E3=100=>E3
Шаг 5: E1=0, E2=50, E3=50 => E2
Шаг 6: E1=20, E2=-20,E3=100=> E3
Шаг 7: E1=40,E2=10, E3=50 => E3
Шаг 8: E1=60,E2=40, E3=0 => E1
Шаг 9: E1=-20,E2=70, E3=50 => E2
Шаг 10:E1=0, E2=0, E3=100=> E3
Таким образом за 10 физических шагов двигателей для формирования детали Е1 сделает 2 шага, Е2 сделает 3 шага, Е3 сделает 5 шагов.
На примере первого шага распишу:
С указанным соотношением 20/30/50 максимальный вес имеет Е3, поэтому именно он сделает шаг, а другие будут стоять. При этом к следующему шагу Е3 будет иметь вес 0. Формула веса экструдера ExN+1 = ExN – S + Wx, S= W1 + W2 + … +WX (*)
Сумма S у нас всегда равна 100. Так что на шаге 2 вес Е3= 50 – 100 +50 = 0.
Формула (*) применяется только для экструдера, который сделал шаг. Для остальных просто плюсуется их вес.
Обратный ход:
Выбирается наименьшее значение ошибки для экструдера с весом >0. К нему прибавляется сумма S.
Далее для всех экструдеров вычитаются их веса.
Пояснение отсутствует, но я понимаю это так. Если к моменту отката экструдер сделал меньше шагов, чем положено, то и откатывать его надо на меньшее расстояние, что учитывает «ошибка экструдера».
Команды прошивки:
M163 S
M164 S<0..15> - сохранить текущее соотношение смесей как виртуальный экструдер S
Еще больше интересных статей
Модернизация EasyThreed K10 v2.1: Сборка Marlin 2.1.2.8, адаптация под Type-C PD и управляемый обдув платы
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Ender 3 neo, Skr pico и мои злоключения
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
GCODE: Основы
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
GCODE: Плюшки от ПавлушкиПосле написания предыдущей...

Комментарии и вопросы
Что-то этот мужик навел меня н...
Возьму на заметку, хороший спо...
15к алиэкспрес, норм тема
Коллеги. Потихоньку восст...
The secret to getting the most...
Уважаемые коллеги, кто имеет д...
Один отрезок как минимум полча...