Металл2024 Реклама
Метобр2024 Реклама

Смешивающий экструдер, реализация в Repetier-firmware

mikevlz
Идет загрузка
Загрузка
14.02.2016
12075
14
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

10


Смешивающий экструдер


Определение.

Комбинация из одного сопла и подачи от 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 P - Задать вес P для двигателя экструдера S

M164 S<0..15> - сохранить текущее соотношение смесей как виртуальный экструдер S

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

10
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама