- Настройка 3dTouch или BlTouch в Marlin
- Давайте приступим к настройке 3dTouch или BlTouch.
- Порядок настройки 3dTouch или BlTouch в Marlin:
- Вот теперь зонд настроен и готов к работе.
- Но нам еще нужно выставить Z OFFSET в Marlin:
- Anet A8 Plus: как прикрутить автоуровень BLTouch (и прошить принтер на Marlin 2.0)
- Подпишитесь на автора
- Дополнительные настройки в Marlin
- Подпишитесь на автора
- Подпишитесь на автора
Настройка 3dTouch или BlTouch в Marlin
При покупке практически любого 3D принтера приходится его доработать. У одних рама не очень жёсткая, у других есть люфт и пр. Но, кроме необходимой доработки, можно повысить комфорт работы при 3D печати. Для этого ставят датчики для автоколибровки стола 3D принтера. Самыми распространёнными датчиками являются 3dTouch и BlTouch. У данных датчиков одинаковый принцип действия, но стоимость значительно отличается. А какой ставить, решать вам.
У некоторых моделей 3D принтеров уже предусмотрены крепежи для установки датчиков данного типа. Но чаше всего крепление приходиться печатать самостоятельно, благо модель для печати можно найти для любого распространённого принтера.
Надеюсь, что у вас не возникло сложностей при установке 3dTouch или BlTouch.
Подключить к плате данные датчики не так и сложно. В datasheet к 3dtouch есть вот такие схемы подключения к плате 3D принтера.
Давайте приступим к настройке 3dTouch или BlTouch.
Порядок настройки 3dTouch или BlTouch в Marlin:
- Поднимаем сопло выше уровня стола на 10-20мм.
- Если зонд мигает (в аварийном состоянии), через слайсер вводим команду M280 P0 S160 , или через меню принтера выбираем Control/BLTouch/ Reset BlTouch. Зонд успокоится и светодиод погаснет.
- Берем шестигранник, вставляем в регулировочный винт зонда и плавно крутим против часовой стрелки до момента включения светодиодной индикации. Ловим именно тот момент, когда загорится светодиод и на 1мм или 1градус, кому как удобнее, доворачиваем против часовой стрелки. Также делаем, если у зонда после сброса горит светодиод, только крутим по часовой стрелке до момента его выключения и возвращаем его обратно как писал выше.
- Тестируем командой M280 P0 S10 — щуп опускается и светодиод тухнет;
- Команда M280 P0 S90 — втягивает щуп и светодиод загорается;
- Автоматический тест M280 P0 S120 — будет опускать и поднимать щуп пока не сделаете сброс командой M280 P0 S160 или через меню принтера Control/BLTouch/ Reset BlTouch
Вот теперь зонд настроен и готов к работе.
Но нам еще нужно выставить Z OFFSET в Marlin:
- Запускаем принтер и через меню настроек производим инициализацию EEPROM;
- Подключаем слайсер и отправляем команду M851 Z0 ;
- Вводим G28 ;
- Вводим команду G1 X110 Y110 — сопло переместится в центр стола;
- G1 Z0 F500 -Опускаем сопло до нужной высоты, проверяя расстояние листом бумаги А4 между столом и соплом;
- G91 — Относительные координаты
- G1 Z-0.1 – движение по оси Z.
- M114 – Вывести текущие координаты.
- После выставления нужной высоты, смотрим на дисплей принтера и записываем получившуюся отрицательную высоту по оси Z, к примеру, у меня Z-1,29 .
- Вписываем значение в команду M851 Z-1,29 .
- Проверяем правильность установки офсета. Отправляем команду G28 , после возвращения в позицию «Дом», кладём листок на центр стола, отправляем команду G1 Z0 и проверяем листочком высоту сопла.
- G29 – Проверка карты стола.
- Сохраняем вписанные значения в EEPROM командой М500 ;
Вот и все, теперь можно пользоваться принтером. Многие делают составление карты высот в стартовом коде, что приводит к составлению карты высот перед каждой печатью. Я же считаю, что карту высот можно составлять 1 раз в неделю. А как будете пользоваться вы, — это уже вам решать.
Понравился статья Настройка 3dTouch или BlTouch в Marlin ? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Источник
Anet A8 Plus: как прикрутить автоуровень BLTouch (и прошить принтер на Marlin 2.0)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Статья относится к принтерам:
Решил поставить китайский BLTouch (он же 3D Touch) на свой принтер, но конкретно для Anet A8 Plus мануалов не нашёл. Мне, как новичку, было непросто разобраться, поэтому собрал всё в кучу.
Чтобы заставить работать датчик автоуровня, нужно сделать несколько вещей:
1. Повесить датчик и подключить электрику.
2. Прошить принтер на Marlin, предварительно поправив файлы конфига.
3. Настроить всё это добро.
1. Физическая часть
Перед всеми манипуляциями крайне желательно выставить стол вручную.
Я распечатал вот это крепление с Thingiverse из ABS, датчик крепится слева от экструдера под вентилятор охлаждения. В сложенном состоянии концевик оказался ниже сопла, пришлось подложить гайки под крепление.
Сам датчик я купил на Али вот здесь с доставкой из России, кстати привезли очень быстро. В описании указана распиновка:
- Чёрный — земля
- Белый — Z min
- Коричневый — земля
- Красный — +5 Вольт
- Оранжевый — сигнал
На деле провода оказались другого цвета:
- Чёрный — земля
- Белый — Z min
- Зелёный — земля
- Красный — +5 Вольт
- Жёлтый — сигнал
Электрику я подключал, посмотрев вот это видео:
Только на видео простой A8, не Plus. У нас сигнальный провод подключается к седьмому пину дисплея, а не к шестому (в прошивке это будет пин 29). Сделать это можно разными способами, я скрутил конец провода в петлю, залудил и просто накинул на пин, поверх воткнув разъём дисплея. Остальные провода я подключил вместо концевика оси Z по схеме:
2. Прошивка и конфиг
Прошивал вот по этому мануалу. Не знаю, как у других, в моей плате уже есть бутлоадер и прошиваться можно просто через USB кабель. Если загрузчика нет, то его можно залить с помощью ардуинки, вот хороший мануал. Короче:
- Качаем последнюю версию Arduino IDE
- Качаем Anet A8 board definition
- Распаковываем board definition, как указано в ридми (Мои документы\Arduino\hardware)
- Качаем последнюю версию марлина, распаковываем архив в какую-нибудь папку
- Качаем файлы конфига для Anet A8 Plus, копируем с заменой эти файлы в папку \Marlin
- Открываем файл \Marlin\Marlin.ino в Arduino IDE
Теперь надо сразу отредактировать конфиг. Некоторые параметры подбираются опытным путём, мне пришлось заливать прошивку в плату не один десяток раз. На сайте марлина есть подробное описание всех параметров. Старые мануалы не актуальны для второй версии марлина, теперь некоторые параметры называются по-другому. Я читал инструкцию на странице товара на Али, вот этот и этот мануалы, приходилось гуглить и исправлять, вот что у меня получилось. Файл Configuration.h:
- #define Z_MIN_PROBE_ENDSTOP_INVERTING false
- #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
- #define BLTOUCH
- #define SERVO0_PIN 29
- #define AUTO_BED_LEVELING_BILINEAR
- #define GRID_MAX_POINTS_X 4 // количество точек, по которым происходит калибровка. Я поставил 4, то есть калибровка будет по 16 точкам, всё-таки стол немаленький. Можно выставить разные значения для X и Y.
- #define Z_SAFE_HOMING
- #define REVERSE_ENCODER_DIRECTION // У меня почему-то оказалось инвертированным направление энкодера. Чтобы пофиксить, пришлось раскомментировать эту строчку.
- #define NOZZLE_TO_PROBE_OFFSET // расстояние по осям X и Y от концевика до сопла
- #define EEPROM_SETTINGS
- #define MIN_PROBE_EDGE 15 // отступы от краёв стола до точек, по которым будет проводиться калибровка. Я поставил 15 мм, чтобы сопло не задевало скрепки на стекле, а вот справа нужно оставить 75 мм, иначе каретка упрётся в раму — для этого в файле Configuration_adv.h укажем #define MIN_PROBE_EDGE_RIGHT 75
В таком виде прошивка не лезет в память принтера, я для экономии места выпилил возможность работы с SD-картой и PID-регулятор стола:
Сразу скажу, что у меня после перепрошивки начала плавать температура сопла на 10 градусов вверх и вниз, калибровка PID не дала результатов, в итоге я подсмотрел значения коэффициентов у такого же принтера:
и записал их в прошивку:
- #define DEFAULT_Kp 22.2
- #define DEFAULT_Ki 1.08
- #define DEFAULT_Kd 114.0
Температура держится более-менее стабильно. Также эти коэффициенты можно записать в EEPROM.
Продолжаем процесс перепрошивки:
- Выбираем «Инструменты -> Плата -> Anet V 1.0 (Optiboot)
- Устанавливаем библиотеку u8glib: жмём «Скетч -> Подключить библиотеку -> Управлять библиотеками», ищем в поиске «u8glib», ставим
- Подключаем наш принтер через USB кабель (включать блок питания не обязательно), жмём зелёный круг со стрелкой и ждём, пока скетч скомпилится и загрузится в принтер. В процессе компиляции могут вылезать ворнинги, ничего страшного.
После запуска принтер может ругаться разными ошибками на EEPROM:
После каждой перепрошивки нужно сбрасывать EEPROM, я прямо через меню жму Configure -> Restore Settings, затем Store Settings и перезагружаю принтер. Если всё получилось, главный экран выглядит вот так:
Нужно настроить Z Offset, то есть расстояние от края сопла до края концевика по оси Z. Делать это нужно на заранее выровненном столе. Я сделал просто: поставил через меню Configuration -> Probe Z Offset значение смещения -1.00 мм, чтобы принтер разрешил нам опускать сопло ниже концевика. Сделал Auto Home, потом в меню Motion -> Move Axis — Move Z и начал опускать экстудер по 0.1 мм, просовывая лист бумаги между соплом и столом. Получившееся значение (например, -0.27) вычел из Probe Z Offset, полученный результат (например, 0.73) выставил в Configuration -> Probe Z Offset. Потом повторил процедуру. Короче, наша цель такая: после Auto Home и опускания экстудера до Z=0 между соплом и столом должна пролезать бумажка, как при ручной настройке — это и будет высота первого слоя. Не забываем сохранить настройки в EEPROM: Configuration -> Store Settings. Вот тут чувак показывает с 5:52:
Настраиваем все остальные параметры (ускорения, джерки и т.д.) и можно печатать. Осталось добавить в стартовый G-code команду G29 (автокалибровка стола) после G28 (автохоум), если хотим, чтобы калибровка происходила перед каждой печатью.Могу сказать, что мне повезло и китайский датчик работает прекрасно, никаких багов не замечено. Вот тут видно, как при печати крутится ось Z, компенсируя кривизну стола:
Раньше, чтобы напечатать вот такую деталь для металлоискателя во всю область печати 300х300, приходилось потратить немало нервов, я задолбался крутить эти барашки и перезапускать печать — один угол впечатывается в стол, другой висит в воздухе.
Теперь об этой проблеме можно не думать, первый слой ложится ровно даже на больших деталях:
Источник
Дополнительные настройки в Marlin
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Статья относится к принтерам:
На ресурсе есть практически исчерпывающий материал по основным настройкам Marlin. Но дополнительные настройки там затронуты вскользь, и я решил восполнить это упущение. В английский умеют не все, поэтому представляю авторский перевод.
Некоторые настройки включены по умолчанию, и я опущу их описание, кое-какие выкинул из-за крайней редкости (на мой взгляд) использования. Также я не стал описывать настройки отдельных редких драйверов ШД — те, кто покупают такие драйверы, уже точно знают, чего хотят и как их настраивать. Большинство настроек все равно довольно специфичны, но часть из них может пригодиться и рядовому пользователю. Наиболее интересные будут перечислены в конце статьи. Настройки будут обозреваться по порядку их следования в configuration_adv.h. Поехали.
Дополнительные настройки термоконтроля горячего стола:
#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-оси
Раскомментируйте, если есть необходимость, чтобы ШД по 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)
#define X2_ENABLE_PIN 29
#define X2_STEP_PIN 25
#define X2_DIR_PIN 23
Есть несколько режимов движения для двойной Х-каретки, которые можно выбирать через команду 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 при снятии с парковки экструдера
Смещение по умолчанию для оси Х в режиме дупликации (обычно устанавливается в половину ширины печатной области)
#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 и т.д.
#define SOFT_PWM_SCALE 0
Еще одна функция для съемки процесса печати (активация командой 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’а не стал включать потому, что им будет посвящена отдельная статья.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Источник