Как прошивка Marlin использует данные датчика ширины нити для управления потоком?

sensors filament-sensor filament-width filament-diameter width-sensor

Я нашел этот замечательный DIY 'датчик диаметра нити' или 'датчик ширины нити'. Он называется Inline Filament Diameter Estimator Lowcost (InFiDEL), как показано ниже. В проекте GitHub говорится:

Недорогой, но точный датчик диаметра нити, предназначенный для компенсации отклонений диаметра нити в режиме реального времени.

Датчик диаметра/ширины нити InFiDEL

Источник модели: Printables.com или Youmagine.co m

По сути, его можно использовать для управления потоком. В видео на YouTube создатель (Томас Санладерер) говорит:

... затем прошивка может компенсировать любые различия в диаметре нити и площади поперечного сечения нити, по сути, путем регулировки множителя экструзии...

В видео также объясняется, как три сверла разного размера используются для калибровки измерения.

Насколько я понимаю, он использует принцип, по которому датчик Холла измеряет магнитную силу, которая преобразуется в напряжение, отражающее диаметр, например, 1,78 В для 1,78 мм. Я планирую реализовать что-то подобное, однако я не знаю, как это реализует Marlin, и хотел бы сначала это понять. В документации Marlin есть несколько G-кодов для датчика ширины нити, таких как M405, M406 и M407, но я не могу найти ничего о том, как это реализует Marlin. Кроме того, разве прошивка не должна знать расстояние между соплом и датчиком ширины нити, чтобы знать, когда компенсировать? Расстояние, похоже, не реализовано Marlin полностью.

Наконец, я думаю, что этот датчик также может служить датчиком износа нити накала, поскольку его диаметр просто близок к 0 мм.

, 👍1


1 ответ


Лучший ответ:

1

Прошивка Marlin готова для подключения такого датчика филамента. Вам необходимо настроить конфигурацию (Configuration_adv.h), чтобы включить определение FILAMENT_WIDTH_SENSOR (удалите // перед #define FILAMENT_WIDTH_SENSOR):

Расстояние от места измерения до плавильной камеры должно и должно учитываться.

Разве прошивка не должна знать расстояние между соплом и датчиком ширины нити, чтобы знать, когда выполнять компенсацию

Прошивка делает это. Вы можете задать расстояние либо во время компиляции прошивки (что довольно безопасно, поскольку расстояние не сильно меняется, если только у вас нет настройки Боудена, где вы меняете трубку на трубку другой длины или используете устройство смены инструмента/несколько инструментальных головок с разной длиной трубок), либо через G-код:

M405 D<cm> указывает это расстояние через G-код, в противном случае используется значение, заданное прошивкой:


,