Меню

Датчик филамента в прошивке марлин

Обзор PAT9125 оптического датчика филамента для 3d печати

Добрый день друзья. Сегодня я хотел бы рассказать вам про датчик филамента PAT9125, а также про мой опыт общения с ним.

PAT9125 это оптический датчик который применяется на 3d принтерах Prusa. Этот датчик может отслеживать не только момент окончания филамента но и момент его застревания. Например если у вас возникла тепловая пробка.

Главная проблема датчика, его нельзя подключить напрямую к плате с Marlin. Поскольку Marlin поддерживает только подключение энкодера, а этот датчик должен быть подключен по интерфейсу I2C. Чтобы разрешить эту проблему я использовал attiny85 digispark. Датчик подключается к Attiny а уже Attiny в свою очередь эмулирует работу энкодера.

Настройка Marlin

В файле Configuration.h нужно раскомментировать параметр #define FILAMENT_RUNOUT_SENSOR . А вот параметр #define FIL_RUNOUT_PULLUP лучше закомментировать поскольку у нас ненастоящий енкодер то подтяжка attiny к линии питания будет только мешать работе.

Кроме того нужно раскомментировать параметр #define FILAMENT_RUNOUT_DISTANCE_MM это скажет Marlin что у нас не концевой выключатель, а энкодер. Значение параметра надо уменьшить по умолчанию там стоит 25мм. Чтоб вы понимали сколько это, принтер успеет уложить два слоя калибровочного куба воздухом прежде чем заметит что что-то не так. Я поставил там 5мм можно и меньше но тогда можно столкнутся с ложными срабатываниями.

В файле Configuration_adv.h нужно раскомментировать #define ADVANCED_PAUSE_FEATURE

В файле Pinout вашей платы надо задать пин к которому будет подключен датчик в параметре #define FIL_RUNOUT_PIN.

Особенности работы датчика

Во первых я очень надеялся что поскольку я использую прозрачную трубку для филамента то датчик можно будет одеть прямо на неё и он будет видеть только филамент. Но оказалось, что датчик прекрасно видит эту прозрачную трубку и мне пришлось делать в ней окно.

Следующая особенность касалась уже Attiny. Сначала я подключил принтер к пину P3 и Attiny просто не стала запускаться. То есть без подключения к принтеру все прекрасно работает, а стоит подключить Attiny не стартует. После этого я подключил принтер к пину P5, Attiny загрузилась но порт просто не работал на нем всегда был высокий потенциал, возможно у меня оказалась бракованная Attiny. Все заработало только когда я подключил принтер к пину P1, пин на котором располагается диод.

Также я хочу отметить что датчик отслеживает отдельно движение по оси X и по оси Y. В моем случае используется ось X, но если вы захотите расположить датчик по другому. Например расположить его перпендикулярно движению филамента, то надо в прошивке Attiny заменить ось X на Y.

Источник

Датчики окончания филамента в прошивке.

У меня стоит два датчика окончания филамента.

Что не так у меня прописано в прошивке?

#define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500.

#define NUM_RUNOUT_SENSORS 2 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.

#define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT present.

#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.

#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins.

#define WATCH_ALL_RUNOUT_SENSORS // Execute runout script on any triggering sensor, not only for the active extruder.

// This is automatically enabled for MIXING_EXTRUDERs.

// Override individually if the runout sensors vary

#define FIL_RUNOUT1_STATE LOW

#define FIL_RUNOUT_PIN P1_28

#define FIL_RUNOUT1_PIN P1_27

In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:788,

Marlin\src\HAL\LPC1768\../../inc/../pins/pins_postprocess.h:480: warning: «FIL_RUNOUT1_PIN» redefined

480 | #define FIL_RUNOUT1_PIN FIL_RUNOUT_PIN

In file included from Marlin\src\HAL\LPC1768\../../inc/../pins/pins.h:383,

Marlin\src\HAL\LPC1768\../../inc/../pins/lpc1768/pins_BTT_SKR_V1_3.h:98: note: this is the location of the previous definition

98 | #define FIL_RUNOUT1_PIN P1_27

In file included from Marlin\src\HAL\LPC1768\../../inc/MarlinConfig.h:49,

Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:682:4: error: #error «Enable only one of FIL_RUNOUT_PULLUP or FIL_RUNOUT_PULLDOWN.»

682 | #error «Enable only one of FIL_RUNOUT_PULLUP or FIL_RUNOUT_PULLDOWN.»

Marlin\src\HAL\LPC1768\../../inc/SanityCheck.h:854:6: error: #error «You can’t enable FIL_RUNOUT1_PULLUP and FIL_RUNOUT1_PULLDOWN at the same time.»

854 | #error «You can’t enable FIL_RUNOUT1_PULLUP and FIL_RUNOUT1_PULLDOWN at the same time.»

Источник

Подключение и настройка SKR 1.4 +TMC2209 +mini UPC v2.0 +датчик филамента для CORE XY

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

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

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

Возникла цель — сделать принтер тише и стабильнее.

Решил поменять RAMPS 1.4 на 32 бита. Увидел SKR 1.4, приобрел.

Так же нужны будут разъемы XH2.54 для подключаемых элементов, в комплект с платой не входят. Нужны те что сверху на картинке.

Столкнулся с тем, что не нашел полной информации, для подключения и настройки, собранной в одном месте, использовал несколько источников:

так же использовал видео инструкции по прошивке и настройки от Dmitry Sorkin и Sergey Irbis, спасибо им за подробные инструкции.

редактировал прошивку в Visual Studio Code с установленным Platform io

Передо мной стояли следующие задачи:

1. Настроить в прошивке кинематику

2. Включить срабатывание на обрыв филамента.

3. Настроить подключение дисплея 128х64

4. Подключить и настроить mini UPS

5. Настроить управление вентилятором хотэнда

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

настраиваем прошивку. По настройкам марлина рекомендую посмотреть

// Choose the name from boards.h that matches your setup пишем имя платы, список плат в файле boards.h

#define MOTHERBOARD BOARD_BIGTREE_SKR_V1_4_Turbo

#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 //выставляем диаметр прутка

настройка концевиков. у меня включены только min

Читайте также:  Датчик распредвала киа сид что такое

#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.

#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.

#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.

#define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop

#define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.

#define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.

#define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe

Указание драйверов для двигателя

Настройка направления вращения двигателей, для моей кинематики. Если перемещается не в ту сторону по х или y нужно поменять двигателя х и у местами. Двигатель z стоит снизу. Стол опускается (значит сопло поднимается z увеличивается). Драйвера работают только при подключенном питании и двигателями. Без питания у меня 24v, при подключении платы по USB на экране появится ошибка TMC драйвера.

Она исчезнет когда включите с подключенным питанием и двигателями. Так же я откусил DIAGN пин на драйверах X Y Z как показано в инструкции и установил перемычки.

Включение датчика обрыва филамента видео( Нужно сделать всё как в видео иначе будет ошибка связаная с неизвестным скриптом «M600». т.е. что принтер делает при обрыве филамента.

Подключение стандартного дисплея:

#define DISPLAY_CHARSET_HD44780 CYRILLIC

Говорят что вентиляторы станут тише от этого:

Тут пришлось немного подумать.

Подключение mini_UPS без танцев с бубном не обошлось. А именно пришлось пин переопределить. на плате:

место подключения датчика mini UPC E1DET, там пин 1.25 в прошивке указал это в файле pins и в configurations_adv.

#define POWER_LOSS_RECOVERY #if ENABLED(POWER_LOSS_RECOVERY)

#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss

#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS) расстояние на которое поднимится Z.

#define POWER_LOSS_PIN P1_25 // Pin to detect power loss указал пин

//#define POWER_LOSS_STATE HIGH // State of pin indicating power loss

//#define POWER_LOSS_PULL // Set pullup / pulldown as appropriate

#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume

#define POWER_LOSS_RETRACT_LEN 10 // (mm) Length of filament to retract on fail. Requires backup power.

// 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.05 // (mm) Minimum Z change before saving power-loss data #endif

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

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

#define EXTRUDER_AUTO_FAN_TEMPERATURE 50

#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed

#define CHAMBER_AUTO_FAN_TEMPERATURE 30

#define CHAMBER_AUTO_FAN_SPEED 255

В процессе написания статьи понял, что тут нет оформления кода, по этому оставлю ссылки на видео.

настройка драйверов только тип TMC 2209 и по току я оставил 800 mA и ещё

#define X_HYBRID_THRESHOLD 255 // чтобы всегда в тихом режиме работали.

Далее компилируем, прошиваем и готово!

Вывод: открытость даёт возможность 1. переназнчаить хоть все пины на усмотрение. 2. использовать для чпу станков, почему большинство на Match3 сидят не понятно. Хотя бурное развитие 3d печати даст новый виток развития самодельных чпу. Уже шаговые двигатели с обраной связью стали легко доступны, куда катится мир.

Двигатели стали работать тихо, их почти неслышно. Не пожалел что поменял драйвера drv8825 и Ramps на TMC 2209 и SKR 1.4.

Осталось подключить модуль управления питанием. Модуль планирую делать сам из ардуинки или esp wifi, реле и блока 5v. Может быть есть проект где ESP8266 используется в качестве принт сервера? Управляет питанием, и позволяет загрузить файл на принтер и запустить из интернета?

P.S. может быть что то забыл, или непонятно написал, но 4х источников которые указал вначале для настройки вполне должно хватить.

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

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

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

Источник

Дополнительные настройки в Marlin

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

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

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

Статья относится к принтерам:

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

Некоторые настройки включены по умолчанию, и я опущу их описание, кое-какие выкинул из-за крайней редкости (на мой взгляд) использования. Также я не стал описывать настройки отдельных редких драйверов ШД — те, кто покупают такие драйверы, уже точно знают, чего хотят и как их настраивать. Большинство настроек все равно довольно специфичны, но часть из них может пригодиться и рядовому пользователю. Наиболее интересные будут перечислены в конце статьи. Настройки будут обозреваться по порядку их следования в configuration_adv.h. Поехали.

Читайте также:  Датчик дмрв гранта 8 клапанная признаки неисправности

Дополнительные настройки термоконтроля горячего стола:

#define BED_HYSTERESIS 2 //просто выключает подогрев стола, если T>*целевая температура*+BED_HYSTERESIS и включает его, если T B F

Целевая температура устанавливается в значение мин_температура+фактор*se[шагов/сек] и ограничивается в пределах мин_температуры и макс_температуры

Отключается с помощью ввода команды М109 без F. Также, если температура установлена в ‘мин_температура’, то она не меняется с помощью этой функции

#define AUTOTEMP_OLDWEIGHT 0.98

Показ ADC-значений температуры. Команда M105 вместо привычной информации выдаст ADC-значения, прочитанные с датчиков температуры

Предотвращение износа экструдера. Если принтер простаивает, и температура выше, чем MINTEMP, экструдер будет выдавливать некоторое количество филамента с периодом, указанным в параметре SECONDS

#define EXTRUDER_RUNOUT_MINTEMP 190

#define EXTRUDER_RUNOUT_SECONDS 30.

#define EXTRUDER_RUNOUT_ESTEPS 14. //мм филамента

#define EXTRUDER_RUNOUT_SPEED 1500. //скорость экструзии

#define EXTRUDER_RUNOUT_EXTRUDE 100

Это поможет откалибровать датчик AD595, в случае, если он неправильно измеряет температуру.

измеряемая температура определяется как ‘текущая_температура = (измеренная температура * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET’

#define TEMP_SENSOR_AD595_OFFSET 0.0

#define TEMP_SENSOR_AD595_GAIN 1.0

Эта функция отвечает за контроль над вентилятором охлаждения драйверов ШД. Как подключить доп.вентиляторы читайте здесь. Вентилятор будет включаться тогда, когда хотя бы один из драйверов будет активен и выключаться через установленное время после отключения последнего драйвера.

#define CONTROLLERFAN_PIN -1 // Пин управления вентилятором (-1 для отключения)

#define CONTROLLERFAN_SECS 60 //Сколько секунд будет вращаться вентилятор после отключения последнего драйвера

#define CONTROLLERFAN_SPEED 255 // == полная скорость. Можно поставить меньше, если задействованы выходы с PWM.

При первом старте вентилятора он запускается на полной скорости на некоторое время. Это дает уверенный старт перед установлением пониженного PWM-значения (не работает с программным PWM на Sanguinololu). Примечание: это правило, возможно, действительно только для того вентилятора, который включается по команде M106

#define FAN_KICKSTART_TIME 100 //кол-во мс полной скорости

Вентиляторы охлаждения тепловых барьеров экструдеров. Настройте пины-выходы для автоматического включения/выключения, когда соответствующий экструдер достигает температуры выше/ниже указанной в параметре EXTRUDER_AUTO_FAN_TEMPERATURE. Несколько экструдеров могут быть назначены на один и тот же пин, и вентилятор будет включаться тогда, когда любой из экструдеров достигает указанной температуры. О подключении доп.вентиляторов, опять же, смотрите здесь.

#define EXTRUDER_0_AUTO_FAN_PIN 4 (-1 для отключения)

#define EXTRUDER_1_AUTO_FAN_PIN -1

#define EXTRUDER_2_AUTO_FAN_PIN -1

#define EXTRUDER_3_AUTO_FAN_PIN -1

#define EXTRUDER_AUTO_FAN_TEMPERATURE 50

#define EXTRUDER_AUTO_FAN_SPEED 255 // == полная скорость. Можно поставить меньше, если задействованы выходы с PWM.

При включении этой настройки концевые выключатели используются только для парковки

Включает драйвер ШД оси Z в последний момент. Нужна в случае перегрева соответствующего драйвера ШД.

Обычно используется один драйвер ШД для управления двумя моторами на оси Z. Раскомментируете для использования раздельных драйверов на каждый ШД Z-оси. Такую функцию поддерживают лишь некоторые платы, например, RAMPS, у которой есть поддержка 2 экструдеров (используется второй, обычно неиспользуемый драйвер ШД) Пины управления указаны для RAMPS, в случае другой платы исправьте их на свои. На 5-драйверной плате включение этой функции ограничит вас возможностью использования только одного экструдера

Раскомментируйте, если есть необходимость, чтобы ШД по Y врашались в разные стороны

#define INVERT_Y2_VS_Y_DIR true

Функция поддержки принтеров с двойной Х-кареткой. Подобная конструкция имеет преимущество, т.к. неактивный экструдер может быть запаркован, что предотвратит вытекание горячего пластика из сопла, который загрязняет печать. Также это снижает общий вес каждой Х-каретки, позволяя печатать с более высокими скоростями

Конфигурация для второй Х-каретки

Примечание: первая Х-каретка — это та, которая паркуется в концевой выключатель минимального положения, а вторая всегда паркуется в концевой выключатель максимального положения.

#define X2_MIN_POS 80 // устанавливает минимальное расстояние, при котором вторая Х-каретка не задевает запаркованную первую Х-каретку

#define X2_MAX_POS 353 // максимальное расстояние между соплами, когда обе каретки запаркованы

#define X2_HOME_DIR 1 // вторая каретка всегда паркуется в концевой выключатель максимальной позиции

#define X2_HOME_POS X2_MAX_POS // позиция парковки по умолчанию — это максимальная позиция второй каретки

Однако в этом режиме значение EXTRUDER_OFFSET_X для второго экструдера предоставляет программное переопределение для X2_HOME_POS. Это также позволяет выполнить рекалибровку расстояния между концевыми выключателями без модификации прошивки (через команду M218 T1 Xn).

Помните: вы должны установить смещение второго экструдера равным нулю в вашем слайсере.

Пины для драйвера ШД второй Х-каретки (задаются здесь, чтобы не усложнять pins.h)

Есть несколько режимов движения для двойной Х-каретки, которые можно выбирать через команду M605 S

Режим 0: Полный контроль. Слайсер полностью контролирует обе Х-каретки и может достичь оптимальных траекторий, но только если он поддерживает двойные X-каретки. (M605 S0)

Режим 1: режима авто-парковки. Прошивка будет автоматически парковать и снимать с парковки Х-каретки при ‘смене инструмента’, поэтому отдельная поддержка слайсером не требуется. (M605 S1)

Режим 2: режим дупликации. Прошивка будет копировать все действия первой каретки второй кареткой. Это позволяет печатать 2 одинаковых модели одновременно. (смещение по X и разница температур задается как M 605 S2 [Xnnn] [Ryyy]. Обратите внимание, что параметр R, отвечающий за температуру, задается в относительных величинах. Например, при значении R2 второй объект будет напечатан пластиком, нагретым на 2 градуса выше).

Эта строка определяет режим по умолчанию для двойной Х-каретки, который может быть позже сменен командой М605.

#define DEFAULT_DUAL_X_CARRIAGE_MODE 0

Настройки по умолчанию в режиме авто-парковки

#define TOOLCHANGE_PARK_ZLIFT 0.2 // величина подъема Z при парковке экструдера

#define TOOLCHANGE_UNPARK_ZLIFT 1 // величина подъема Z при снятии с парковки экструдера

Смещение по умолчанию для оси Х в режиме дупликации (обычно устанавливается в половину ширины печатной области)

Читайте также:  Ультразвуковой датчик 3 мгц

#define DEFAULT_DUPLICATION_X_OFFSET 100

При парковке каретка каждой из осей активирует концевой выключатель, а затем отъезжает обратно на указанную ниже дистанцию прежде, чем медленно запарковаться снова:

#define X_HOME_RETRACT_MM 5

#define Y_HOME_RETRACT_MM 7

#define Z_HOME_RETRACT_MM 3

#define QUICK_HOME //при активации этого параметра по команде G28 X Y оси одновременно совершат парковку, а не по отдельности.

Отсчет в относительных величинах для осей X, Y, Z, E

По умолчанию драйверы на основе А4988 требуют сигнал высокого уровня для шага. Однако, некоторые мощные драйверы могут требовать сигнал низкого уровня. Инверсия сигналов делается установлением параметра в true:

#define INVERT_X_STEP_PIN false

#define INVERT_Y_STEP_PIN false

#define INVERT_Z_STEP_PIN false

#define INVERT_E_STEP_PIN false

Время, по истечению которого отключаются драйверы ШД в простое. Выставьте 0 для отключения.

#define DEFAULT_STEPPER_DEACTIVE_TIME 60

Подачи для ручных движений с панели (X Y Z E) (для ultipanel)

#define MANUAL_FEEDRATE // устанавливает скорость для ручных движений (мм/мин)

Если файл распечатан, то функция отключает все шаговики

#define SD_FINISHED_STEPPERRELEASE true

Возможно, ось Z нужно будет удерживать, поэтому оси можно отключить по отдельности

#define SD_FINISHED_RELEASECOMMAND ‘M84 X Y Z E’

Функция для съемки процесса печати

#define CHDK 4 //пин для срабатывания CHDK, чтобы сделать фото. Как этим пользоваться см. здесь.

#define CHDK_DELAY 50 //насколько долго в мс пин будет находиться в логической единице перед переходом в ноль

Показывать полосу прогресса печати на дисплеях HD44780 при печати с SD

(только для функции #define LCD_PROGRESS_BAR)

Определяет, сколько времени в мс будет показыватьсяполоса

#define PROGRESS_BAR_BAR_TIME 2000

Определяет, сколько времени в мс будет показываться сообщение статуса

#define PROGRESS_BAR_MSG_TIME 3000

Время (мс) удержания статус-сообщения (0=навсегда)

#define PROGRESS_MSG_EXPIRE 0

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

Аппаратный ‘наблюдатель’ перезагрузит контроллер и отключит все выходы, если прошивка зависнет и не сможет выполнять регулировку температуры

Если у вас случилась перезагрузка ‘наблюдателем’ в Arduino Mega2560, то устройство будет висеть ‘вечно’, т.к. перезагрузка ‘наблюдателем’ оставляет самого ‘наблюдателя’ включенным. Функция ‘WATCHDOG_RESET_MANUAL’ обходит это, не используя аппаратную перезагрузку. Однако, ЭТА ФУНКЦИЯ НЕБЕЗОПАСНА и будет работать только в том случае, если прерывания отключены. И код может зависнуть при выполнении прерывания с отключенными прерываниями.

Включает опцию остановки печати с SD при срабатывании концевых выключателей, требует включения через меню LCD-экрана при активации в прошивке.

Babystepping позволяет пользователю двигать осями в небольших пределах независимо от обычного процесса печати. Например, это может быть использовано для смены высоты по Z в реальном времени. Не зависит от концевых выключателей!

#define BABYSTEP_XY //не только по Z, но также и по XY в меню

#define BABYSTEP_INVERT_Z false //true для инверсии движений по Z

#define BABYSTEP_Z_MULTIPLICATOR 2 //более быстрые движения по Z

Адванс-константа экструдера. Или Velocity-режим экструдера. (Extruder advance constant (s2/mm3)) Эта настройка должна помочь избавиться от капель на периметрах детали при печати, может быть полезна для Bowden-экструдеров. Подробнее здесь, здесь, здесь и здесь Вкратце о ее работе: экструдер начинает и прекращает давить пластик несколько раньше, чтобы давление в сопле успевало нарастать и спадать в нужное время. Подобная функция есть в Slic3r и, возможно, других сласерах.

#define EXTRUDER_ADVANCE_K .0 — адванс-константа

#define D_FILAMENT 2.85 — диаметр филамента

#define STEPS_MM_E 836 — кол-во шагов на 1мм филамента(?)

#define EXTRUSION_AREA (0.25 (диаметр сопла) * D_FILAMENT * D_FILAMENT * 3.14159) — площадь экструзии

#define STEPS_PER_CUBIC_MM_E (количество шагов экструдера/площадь экструзии)

И еще несколько интересных строк из configuration.h:

Увеличение частоты ШИМ вентилятора. Убирает назойливый звук, гл увеличивает нагрев мосфета/микроконтроллера

Светодиоды статуса температуры, которые показывают температуру сопла и стола. Если температура всех сопел и стола меньше 54°С, то горит синий светодиод, в ином случае — красный. Точность — плюс-минус 1°С. Только для платы Azteeg Х3(?). Кажись, баг в прошивке.

Использование программного PWM для управления вентилятором, как и для подогревателей. При этом используется очень низкая частота, которая не так раздражает (звуком). С другой стороны, если частота слишком мала, ее нужно увеличить параметром SOFT_PWM_SCALE.

Увеличение этого параметра до 1 удвоит программную частоту ШИМ, которая управляет нагревателями и вентилятором, если включен FAN_SOFT_PWM. Однако, разрешение контроля будет сокращено вдвое для каждого увеличения. Для нулевого масштаба есть 128 эффективных контрольных значений, для 1 — 64 и т.д.

Еще одна функция для съемки процесса печати (активация командой M240) через эмуляцию Canon RC-1 Remote. Подробнее здесь #define PHOTOGRAPH_PIN 23

Поддержка кондитерского экструдера BariCUDA #define BARICUDA

Наиболее полезные, на мой взгляд, функции:

С помощью этих функций (и других, к ним относящихся) можно организовать полностью автоматическое охлаждение периферии — контроллера, тепловых барьеров и шаговых двигателей.

#define CONTROLLERFAN_PIN -1

#define EXTRUDER_0_AUTO_FAN_PIN 4

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

#define FAN_KICKSTART_TIME 100

Можно поиграться с величиной ретракта при парковке, чтобы чуточку ускорить этот процесс

#define X_HOME_RETRACT_MM 5

#define Y_HOME_RETRACT_MM 7

#define Z_HOME_RETRACT_MM 3

Эта команда значительно ускоряет парковку

Уже неоднократно перезапускал печать из-за неправильного значения z-offset. С помощью этой функции можно будет в реальном времени опустить каретку и не перезапускать печать снова

Эта функция, вероятно, поможет побороться с рассинхроном Z-оси на Prusa i3

Настройки filament sensor’а не стал включать потому, что им будет посвящена отдельная статья.

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

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

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

Источник

Adblock
detector