Прошивка 3D-принтера marlin_2.0.X, перевод на китайский язык, подробности конфигурации
Прошивка 3D-принтера marlin_2.0.X, перевод на китайский язык, подробности конфигурации

На основе соответствующей модели из документа конфигурации.,Подавать вместе с Официальной документацией. Если произошла ошибка перевода,Официальная документацияВ основном,Я не несу ответственности :),Однако Официальная документация также довольно беспорядочна.

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

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

  • Класс структуры кадра
    • Подробная информация о каждом механическом аксессуаре,Например, диаметр синхронизирующего колеса, диаметр и шаг、Межцентровое расстояние между двумя отверстиями параллельного рычага
    • Архитектура машины,существоватьconfig/examplesВыберите соответствующую архитектуру машиныиз Конфигурациядокумент,Это сэкономит много времени,если Оглавление Если нескачать
    • Количество экструдерови Выдавливание Способ
    • End Stop позиция (двигатель оси XYZ в начальной или конечной точке)
  • 电子电路类
    • 驱动принтеризпанель модель управления, например RAMPS
    • Подробности устройства Шагового двигателя,Например, ток привода,Минимальный микрошаг
    • Подробные параметры шагового двигателя, такие как угол шага и максимальный ток.
    • Модель термистора (обнаружениегорячий конец/горячая кроватьизтемпература)
    • Модель ЖК-экрана
    • Информация о зонде

Есть два файла конфигурации

Configuration.h Содержит настройки аппаратного ядра, языка и контроллера, а также настройки наиболее распространенных функций и компонентов, где находится основная конфигурация.

Configuration_adv.h Предлагает более подробные параметры настройки, надстройки, экспериментальные функции и другие функции.

В следующей конфигурации в качестве примера используется коссель(дельта) + Arduino Mega2560 + Ramps 1.4.

Оглавление

[TOC]

Конфигурационный файл

контроль версий

Язык кода:javascript
копировать
#define CONFIGURATION_H_VERSION 020004

Основная информация о прошивке

Язык кода:javascript
копировать
#define STRING_CONFIG_H_AUTHOR "(none, default config)"
#define SHOW_BOOTSCREEN
#define SHOW_CUSTOM_BOOTSCREEN
#define CUSTOM_STATUS_SCREEN_IMAGE
  • Автор и прошивка и з информация, Эти сведения будут в Marlin При запуске подключитесь к терминалу, перезапустите и выполните M115 При отображении вы можете использовать для различает различные конфигурации документированных версий
  • Определите его так, чтобы при запуске принтера на ЖК-дисплее отображалась заставка.
  • Определите его, можно использовать настройку из заставки.,Он будет автоматически найден при компиляции.Marlin/_Bootscreen.hрастровое изображениедокумент
  • Определить его можно, используя настройку на экране состояния.,Он будет автоматически найден при компиляции.Marlin/_Statusscreen.hрастровое изображениедокумент

Основная информация об оборудовании

последовательный порт

последовательный портиз параметров конфигурации, на данный момент не знаю, как это сделать.

Язык кода:javascript
копировать
#define SERIAL_PORT 0
#define SERIAL_PORT_2 -1

Скорость передачи данных и Bluetooth

Язык кода:javascript
копировать
#define BAUDRATE 115200
#define BLUETOOTH
  • Скорость передачи данных для настройки, использования компьютера или другого терминального соединения требует проживания
  • Включите функцию Bluetooth, например на базе AT90USB.

панель управления

Язык кода:javascript
копировать
#define MOTHERBOARD BOARD_RAMPS_14_EFB

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

существоватьMarlin\src\core\boards.hпопытаться найтиприезжатьтыпанель Модель управления, используйте ее ID Замените в примере кодаизBOARD_RAMPS_14_EFB(define имя тоже подойдет). Вы можете обнаружить, что ваша макетная плата имеет несколько моделей. ID, вы можете обратиться к

Код следует за комментариями, чтобы выбрать правильный идентификатор. Например:

Язык кода:javascript
копировать
#define BOARD_RAMPS_14_EFB 1020  // RAMPS 1.4 (Power outputs: Hotend, Fan, Bed)
#define BOARD_RAMPS_14_EEB 1021  // RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Bed)
#define BOARD_RAMPS_14_EFF 1022  // RAMPS 1.4 (Power outputs: Hotend, Fan0, Fan1)
#define BOARD_RAMPS_14_EEF 1023  // RAMPS 1.4 (Power outputs: Hotend0, Hotend1, Fan)
#define BOARD_RAMPS_14_SF  1024  // RAMPS 1.4 (Power outputs: Spindle, Controller Fan)

Это RAMPS 1.4 соответствующий ID Нет. Вы можете видеть, что комментарии ниже присваивают разные функции Power out на, например 1020 по назначению имеет экструзионную головку, выдувной вентилятор, нагреватель. кровать,и 1021 Имеются две экструзионные головки, одна горячая. кровать,Вентилятор без выдувных частей.

Именование принтера

Определите имя принтера, которое будет отображаться в LCD на экране и M115

Язык кода:javascript
копировать
#define CUSTOM_MACHINE_NAME "3D Printer"

UUID принтера

настраивать UUID, некоторые программы могут его использовать UUID Чтобы различать разные принтеры, вы можете пройти UUIDTools Получить случайно сгенерированный UUID

Язык кода:javascript
копировать
#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"

Выдавить основную информацию

Количество экструдеров

Язык кода:javascript
копировать
#define EXTRUDERS 1

Здесь вы можете определить 0 - 6 экструдер (Официальный сайт 0 - 6 , комментарий файла конфигурации 1 - 8 Какой из них новый, и цифра здесь не количество форсунок), если это не Одинарный экструдер с одним сопломиз Состояние,будет подробно определено ниже,Но и здесь нужна настройка экструдера по количеству.

диаметр нити

Язык кода:javascript
копировать
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75

Определенный здесь диаметр — это диаметр, указанный на нити. Если на нем указано 1,75, но фактическое значение равно 1,70, введите здесь также 1,75.

> This value is used by Marlin to compensate for Filament Width when printing in volumetric mode (See M200), and by the Unified Bed Leveling command G26 when printing a test grid.

(См. машинный перевод) Когда принтер находится в объемном режиме (см. подробности M200) и используйте единую команду выравнивания кровати (G26) При печати тестовой сетки Марлин Будет использовать Это значение компенсирует ширину нити, ты можешь использоватьM404 WИсправлятьэто значение

ты можешь использовать M404 WИсправлятьэто значение

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

Если ваша машина поддерживает многоканальную экструзию нити,Вот соответствующая конфигурация,Если у вас есть только одно сопло и одна экструзия,Вы можете пропустить эту конфигурацию напрямую

Многократная экструзия из одного сопла
Язык кода:javascript
копировать
#define SINGLENOZZLE

Если вы используете E3D Cyclops Или другие аналогичные многоканальные комплекты повторного использования сопел для материала. (Связь с популярной наукой), тебе нужно дать Возможность Этот вариант

Язык кода:javascript
копировать
#define MK2_MULTIPLEXER
#if ENABLED(MK2_MULTIPLEXER)
  //#define E_MUX0_PIN 40  // Always Required
  //#define E_MUX1_PIN 42  // Needed for 3 to 8 inputs
  //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
#endif

какая-то панель Поддержка одношагового контроля водитель двигателя 2 - 8 Шаговый двигатель, поддерживающий многоканальную экструзию, можно подарить. возможностьMK2_MULTIPLEXER,и КонфигурацияE_MUX0_PINE_MUX1_PINE_MUX2_PIN,Эти Конфигурациявстречакрышкапо умолчаниюиз DIO Селектор настроек контактов. Некоторые модели, указанные в документации по конфигурации, могут уже иметь настроенные соответствующие контакты.

Экструзионная установка Prusa MMU2
Язык кода:javascript
копировать
#define PRUSA_MMU2

Prusa MMU2 комплект для экструзии (Связь с популярной наукой),Предварительное условие: у вас есть свободный последовательный порт.,Вам также понадобится еще несколько вещей:

подробныйнастраивать МожетсуществоватьConfiguration_adv.hпопытаться найтиприезжать

Одинарный экструдер с одним соплом
Язык кода:javascript
копировать
#define SWITCHING_EXTRUDER
#if ENABLED(SWITCHING_EXTRUDER)
  #define SWITCHING_EXTRUDER_SERVO_NR 0
  #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3]
  #if EXTRUDERS > 3
    #define SWITCHING_EXTRUDER_E23_SERVO_NR 1
  #endif
#endif

Если вы его используете, это сингл экструдер с одним сопло Кит (Эталонное устройство),Здесь необходимо настроить соответствующие параметры комплекта конфигурации.

Устройство переключения двигателя двойной экструзии с двойным соплом
Язык кода:javascript
копировать
#define SWITCHING_NOZZLE
#if ENABLED(SWITCHING_NOZZLE)
  #define SWITCHING_NOZZLE_SERVO_NR 0
  //#define SWITCHING_NOZZLE_E1_SERVO_NR 1          // If two servos are used, the index of the second
  #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 }   // Angles for E0, E1 (single servo) or lowered/raised (dual servo)
#endif

Если вы используете два отдельных набора для экструзии и можете использовать переключение двигателей (Эталонное устройство 0:05-0:12),Здесь необходимо настроить соответствующие параметры в соответствии с реальной ситуацией.

Устройство выбора сопла независимого кронштейна по оси X

Если ваша насадка не подключена напрямую к X Он приводится в движение валом двигателя, но косвенно приводится в движение независимым кронштейном, соединенным с соплом. (Эталонное устройство), тебе нужно дать Возможность Эта функция,Вот три разных способа подключения,Просто выберите один в соответствии с реальной ситуацией

Язык кода:javascript
копировать
#define PARKING_EXTRUDER
#define MAGNETIC_PARKING_EXTRUDER
  • использоватьэлектромагнитныйиздавать возможностьPARKING_EXTRUDER
  • использоватьмагнитиздавать возможностьMAGNETIC_PARKING_EXTRUDER

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

Устройство стыковки и замены сопел

если ты E3D Tool Changer Или аналогичное решение для переключения форсунок (Научно-популярное видео), тебе нужно дать Возможность Эта функция,Вот три разных способа стыковки,Просто выберите один в соответствии с реальной ситуацией

Язык кода:javascript
копировать
#define SWITCHING_TOOLHEAD
#define MAGNETIC_SWITCHING_TOOLHEAD
#define ELECTROMAGNETIC_SWITCHING_TOOLHEAD
  • использоватьсервер (Научно-популярное видео isuseserverиз Connect Способ) издавать возможностьSWITCHING_TOOLHEAD
  • использоватьмагнитиздавать возможностьMAGNETIC_SWITCHING_TOOLHEAD
  • использоватьэлектромагнитныйиздавать возможность (Научно-популярное видео)Electromagnetic

Подробная конфигурация следующая: настройте в соответствии с реальной ситуацией.

Язык кода:javascript
копировать
#if ANY(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
  #if ENABLED(SWITCHING_TOOLHEAD)
    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
    #if ENABLED(PRIME_BEFORE_REMOVE)
      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
    #endif
  #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
    #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
  #endif
#endif
Экструзия со смешиванием с одним соплом

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

Язык кода:javascript
копировать
#define MIXING_EXTRUDER
#if ENABLED(MIXING_EXTRUDER)
  #define MIXING_STEPPERS 2        // Number of steppers in your mixing extruder
  #define MIXING_VIRTUAL_TOOLS 16  // Use the Virtual Tool method with [`M163`](/docs/gcode/M163.html) and [`M164`](/docs/gcode/M164.html)
  //#define DIRECT_MIXING_IN_G1    // Allow ABCDHI mix factors in [`G1`](/docs/gcode/G000-G001.html) movement commands
#endif

Этот вариант увеличит использование T инструкциянастраивать (M163), сохранить (M164) и читать (M165) функция смеси

> The extruder still uses a single E axis, while the current mixture is used to determine the proportion of each filament to use. An “experimental” G1 direct mixing option is included.

(Справочник по машинному переводу) Экструдер по-прежнему использует одну ось E, и текущая смесь используется для определения пропорций каждой используемой нити. Содержит «экспериментальную» опцию прямого микширования G1.

Смещение сопла

Язык кода:javascript
копировать
//#define HOTEND_OFFSET_X { 0.0, 20.00 } // (mm) relative X-offset for each nozzle
//#define HOTEND_OFFSET_Y { 0.0, 5.00 }  // (mm) relative Y-offset for each nozzle
//#define HOTEND_OFFSET_Z { 0.0, 0.00 }  // (mm) relative Z-offset for each nozzle

Если у вас есть два или более сопел, вам необходимо настроить эту часть кода. Значение представляет собой значение смещения между N — 1-м соплом и первым соплом (0, 0, 0).

Настройки питания

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

Язык кода:javascript
копировать
#define PSU_CONTROL
#define PSU_NAME "Power Supply"

#if ENABLED(PSU_CONTROL)
  #define PSU_ACTIVE_HIGH false // Set 'false' for ATX (1), 'true' for X-Box (2)

  //#define PS_DEFAULT_OFF      // Keep power off until enabled directly with M80

  //#define AUTO_POWER_CONTROL  // Enable automatic control of the PS_ON pin
  #if ENABLED(AUTO_POWER_CONTROL)
    #define AUTO_POWER_FANS           // Turn on PSU if fans need power
    #define AUTO_POWER_E_FANS
    #define AUTO_POWER_CONTROLLERFAN
    #define AUTO_POWER_CHAMBER_FAN
    //#define AUTO_POWER_E_TEMP        50 // (°C) Turn on PSU over this temperature
    //#define AUTO_POWER_CHAMBER_TEMP  30 // (°C) Turn on PSU over this temperature
    #define POWER_TIMEOUT 30
  #endif
#endif

PS_DEFAULT_OFFпозволятьпанель управленияиспользоватьM80иM81Открытьивыключить питание 12v。нуждаться КонфигурацияPS_ON_PIN

Настройки контроля температуры

Тип датчика температуры

Язык кода:javascript
копировать
#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_3 0
#define TEMP_SENSOR_4 0
#define TEMP_SENSOR_5 0
#define TEMP_SENSOR_BED 0
#define TEMP_SENSOR_CHAMBER 0

Датчик температуры является важной частью 3D-принтера. Выбор правильной модели датчика температуры позволит устройству более точно контролировать температуру.

существоватьConfiguration.hсередина,Для этой части опций имеется сравнительная таблица моделей.,Здесь вам необходимо выбрать правильные параметры в соответствии с вашей моделью датчика температуры и заполнить их.,Если вы не можете найти место проживания, соответствующее параметру,Просто выберите что-то похожее той же марки.,или ВОЗиспользовать100k thermistor - best choice for EPCOS 100k (4.7k pullup),То есть 1 ,Но точность сомнительна。0значит еще нетиспользовать

Куплен на Таобао. NTC/3950/100K Большинство можно выбрать1

Язык кода:javascript
копировать
// Dummy thermistor constant temperature readings, for use with 998 and 999
#define DUMMY_THERMISTOR_998_VALUE 25
#define DUMMY_THERMISTOR_999_VALUE 100

> Marlin provides two dummy sensors for testing purposes. Set their constant temperature readings here.

(ссылка на машинный перевод) В самой прошивке предусмотрены две инструкции, используемые для проверки виртуального датчика температуры, здесь настройки постоянной температуры,

Язык кода:javascript
копировать
#define TEMP_SENSOR_1_AS_REDUNDANT
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10

Включение этой опции позволяет вам Датчик 1 используется как датчик 2 резервные датчики,Это предотвращает выход из строя датчика.,если Два датчикаустройствоиз Разница температур превышаетMAX_REDUNDANT_TEMP_SENSOR_DIFFнаборизчисловое значение,Машина прервет печать и прекратит нагрев.

Настройка стабильности температуры

Язык кода:javascript
копировать
#define TEMP_RESIDENCY_TIME 10  // (seconds)
#define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
#define TEMP_WINDOW 1           // (degC) Window around target to start the residency timer x degC early.

Это конфигурация горячего конца, стабильной температуры в условиях

  • Когда нагрев не завершен,Запуск экструдера может привести к повреждению устройства.,ждатьтемпература СтабилизироватьTEMP_RESIDENCY_TIMEнаборизвремя (секунды), команда успешного нагрева (M109) После этого экструдер может начать работать.
  • TEMP_HYSTERESIS指Стабилизироватьпериод能接受температураиз Диапазон колебаний,Единица измерения — Цельсий
  • TEMP_WINDOWКажется, он устанавливает таймер на запуск при входе в окно.изсостояние,Подробности смотрите в примечаниях
Язык кода:javascript
копировать
#define TEMP_BED_RESIDENCY_TIME 10  // (seconds)
#define TEMP_BED_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
#define TEMP_BED_WINDOW 1           // (degC) Window around target to start the residency timer x degC early.

Этогорячая кровать Конфигурация,такой женачальство

Язык кода:javascript
копировать
#define TEMP_CHAMBER_HYSTERESIS  3  // (°C) Temperature proximity considered "close enough" to the target

настройки Насколько далеко может находиться температура от заданной и при этом считаться подаваемой?

температурный диапазон

Язык кода:javascript
копировать
#define HEATER_0_MINTEMP 5
#define HEATER_1_MINTEMP 5
#define HEATER_2_MINTEMP 5
#define HEATER_3_MINTEMP 5
#define HEATER_4_MINTEMP 5
#define BED_MINTEMP 5

Здесь настраивается датчик температуры от минимальной температуры. Параметр «Эти» помогает предотвратить неисправность датчика температуры, приводящую к перегреву и возгоранию принтера.

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

Язык кода:javascript
копировать
#define HEATER_0_MAXTEMP 285
#define HEATER_1_MAXTEMP 275
#define HEATER_2_MAXTEMP 275
#define HEATER_3_MAXTEMP 275
#define HEATER_4_MAXTEMP 275
#define BED_MAXTEMP 130

Здесь настраивается датчик температуры от максимальной температуры. Если фактическая температура выше этического значения,по соображениям безопасности,принтербудет закрыто немедленно。дляE3D V6горячий конец,Можетиспользовать285как максимум。

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

PID

использование контроля температуры PID (Proportional, Integral, Derivative) Способ (Wikipedia),Правильно и точноиз PID Это значение может стабилизировать и контролировать температуру, уменьшить колебания и предотвратить слишком быстрый рост температуры на этапе нагрева, который может привести к повреждению продукта. конец。

использовать M303 инструкциявстречаавтоматическийтест,и верните правильные параметры изPID,специфическийссылкаRepRap。каждое обновление/Замените цепьсоответствующийэлементчас Рекомендуется отрегулировать PID ценить。горячий конециз PID МожетиспользоватьM301илиLDCнастраивать,горячая кроватьиз PID МожетиспользоватьM304настраивать

горячий конец
Язык кода:javascript
копировать
#define PIDTEMP
#define BANG_MAX 255     // limits current to nozzle while in bang-bang mode; 255=full current
#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
#define K1 0.95

давать возможностьPIDTEMPделатьгорячий конециспользовать PID осуществлять контроль температуры,и Запрещатьвстречаделатьгорячий конец Входить bang-bang модель (только обогрев включен и выключен), в большинстве случаев рекомендуется включать PID имеет лучший эффект поддержания стабильной температуры

Язык кода:javascript
копировать
#if ENABLED(PIDTEMP)
  //#define PID_EDIT_MENU
  //#define PID_AUTOTUNE_MENU
  //#define PID_DEBUG
  //#define PID_OPENLOOP 1
  //#define SLOW_PWM_HEATERS
  //#define PID_PARAMS_PER_HOTEND
  #define PID_FUNCTIONAL_RANGE 10

давать возможностьPID_AUTOTUNE_MENUМожетсуществовать LCD Добавлена ​​возможность запуска цикла автонастройки. (Операция PID ) и автоматически применять результаты. Если у вас несколько экструдеров и они разные по моделям, дайте возможность PID_PARAMS_PER_HOTEND

Язык кода:javascript
копировать
// Ultimaker
  #define  DEFAULT_Kp 22.2
  #define  DEFAULT_Ki 1.08
  #define  DEFAULT_Kd 114

  // MakerGear
  //#define  DEFAULT_Kp 7.0
  //#define  DEFAULT_Ki 0.1
  //#define  DEFAULT_Kd 12

  // Mendel Parts V9 on 12V
  //#define  DEFAULT_Kp 63.0
  //#define  DEFAULT_Ki 2.25
  //#define  DEFAULT_Kd 440

Эти — это всего лишь пример параметра.,Просто занимаю место,M303инструкцияизсоотношение результатов Эти Более точный,Если это новая машина,Рекомендуется сначала записать параметры Эти по умолчанию.,После тестирования для получения точных параметров,Исправить и прошить еще раз

горячая кровать
Язык кода:javascript
копировать
//#define PIDTEMPBED

Если ты горячая кроватьподдерживать PWM,давать возможностьPIDTEMPBEDделатьгорячая кроватьиспользовать PID осуществлять контроль температуры (С приводом экструдера PWM частота та же). использовать по умолчаниюиз PID_dT Когда, ШИМ Частота 7,689 Гц, идеально подходит для подачи прямоугольных импульсов на резистивные нагрузки без повреждения FET Большое влияние оказывает лихорадка.

Если ваша конфигурация существенно отличается от этой конфигурации,и вы не понимаете, о чем идет речь,Прежде чем убедиться, что ваше оборудование может работать правильно,Вам, вероятно, не следует использовать кровати PID。использоватьM303 E-1Настройте эту опциюизпол PID。

Язык кода:javascript
копировать
//#define BED_LIMIT_SWITCHING

давать возможностьBED_LIMIT_SWITCHING

Язык кода:javascript
копировать
//#define MAX_BED_POWER 255

горячая Кроватьиз Максимальная мощность. Различные модели регуляторов температуры (PID, bang-bang, bang-bang with hysteresis) Это требование необходимо соблюдать. Если сипользовать 255 Любое значение, кроме «включит» PWM модель。иPIDTEMPBEDТакой же,Если только ты не изгорячая кровать Можетиспользовать PWM, иначе не включайте эту функцию.

Язык кода:javascript
копировать
#if ENABLED(PIDTEMPBED)

  //#define PID_BED_DEBUG // Sends debug data to the serial port.

  //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
  #define  DEFAULT_bedKp 10.00
  #define  DEFAULT_bedKi .023
  #define  DEFAULT_bedKd 305.4

  //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
  //from pidautotune
  //#define  DEFAULT_bedKp 97.1
  //#define  DEFAULT_bedKi 1.41
  //#define  DEFAULT_bedKd 1675.16

  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
#endif // PIDTEMPBED

То же, что и конфигурация горячего конца. Способность,иинструкцияиспользоватьM303 E-1

Связанные с безопасностью

Холодная экструзия запрещена.
Язык кода:javascript
копировать
#define PREVENT_COLD_EXTRUSION
#define EXTRUDE_MINTEMP 170

Температура не достигла необходимого уровня для размягчения нити. Начало экструзии на этом этапе приведет к повреждению машины. давать возможностьPREVENT_COLD_EXTRUSION,горячий конецизтемператураниже, чемEXTRUDE_MINTEMPнаборизценить,Волязапретить Выдавливание。M302Может Исправлятьэтотиндивидуальныйценить

Длительное выдавливание запрещено
Язык кода:javascript
копировать
#define PREVENT_LENGTHY_EXTRUDE
#define EXTRUDE_MAXLENGTH 200

Длительная экструзия не может повредить машину.,Но это может привести к потере большого количестваиз Расходные материалы。PREVENT_LENGTHY_EXTRUDEВ основном предотвращают G1 В команде допущена опечатка, и набор значений слишком велик. для Bowden настройки, максимальная продолжительность настройки должна быть больше или равна load/eject длина

температурная защита
Язык кода:javascript
копировать
#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
#define THERMAL_PROTECTION_BED     // Enable thermal protection for the heated bed
#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber

температурная Это сделано для того, чтобы избежать непоправимых аварий, которые могут привести к повреждению машины при слишком высокой температуре. Например, термистор может ослабнуть в процессе печати, Марлин. Показания температуры очень низкие, поэтому нагрев можно продолжать до тех пор, пока показания температуры низкие, горячие. конец Он будет продолжать нагреваться,вызывая дым,просачивание воды,Распечатка может быть повреждена или даже загореться.

Marlin предлагает два уровня термозащиты.

  1. При включении обогревателя,проверьте, действительно ли температура повышается. Если температура находится в течение определенного периода времени выключится и отобразит ошибку «Отопление не удалось». Для этого необходимо проверить, не отсоединен ли термистор, не ослаблен ли он и неверна ли конфигурация.,Или отсоединен ли нагревательный стержень.
  2. Следите за термической стабильностью. Если измеренная температура слишком долго отклоняется от целевой температуры, система выключится и отобразит “Thermal runaway” (тепловой побег) ошибка. В этой ситуации необходимо учитывать термистор игорячий. Плохой контакт между концом, PID Параметр неверенилисредатемпература Не способствуетпринтер Работа。Больше тепловой защиты ПараметрысуществоватьConfiguration_adv.hсередина.большинство Состояние,Эти значения можно оставить неизменными.,Но это должно быть скорректировано в соответствии с реальной ситуацией.,Предотвратите ложные срабатывания.

система движения

Marlin Поддерживает четыре типа системы движения (Научно-популярное видео):Cartesian,Core (H-Bot),Delta и SCARA。

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

CoreXY используйте специальную схему ремня для выполнения XY Движение, требующее дополнительной математики (Научно-популярное видео)。

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

SCARA использовать два угловых соединения в XY Двигайте руками в самолете.

Язык кода:javascript
копировать
//#define COREXY
//#define COREXZ
//#define COREYZ
//#define COREYX
//#define COREZX
//#define COREZY

Зеркало флип

Специальные настройки Дельта

Данная настройка предназначена для Delta система Специальные настройки движения должны выполнять множество операций по координации преобразований, эта часть очень важна. Delta Влияние на точность наибольшее, а некоторые размерные значения требуют идеальной точности. В официальной документации об этом не упоминается? Далее мы обратимся к комментариям в файле конфигурации для настройки.

Язык кода:javascript
копировать
#define DELTA

Самый простой стартап Delta настраиватьиз Параметры

Язык кода:javascript
копировать
#define DELTA_SEGMENTS_PER_SECOND 200

потому что Delta Много расчетов, иногда MPU Занят расчетом координат, других вычислительных мощностей для расчета нет. LCD дисплей, например 12864 из LCD,сипользовать будет иметь феномен КАРТтона, когда он поднимется,Вам необходимо уменьшить это значение параметра

Язык кода:javascript
копировать
//#define DELTA_HOME_TO_SAFE_ZONE

Включите эту функцию, Дельта После обнуления сенсорного ограничителя эффектор упадет. XY В пределах диапазона движения. Но некоторые ситуациине могудавать Эта функция обычно автоматически возвращается к нулю после завершения печати. ​​Однако, если модель печатается на большей высоте, возврат к нулю может ударить по модели при ее опускании, что может как минимум повредить модель или повредить ее. модель в худшем случае. Если у вас проблемы с Этими, пожалуйста, не давайте Возможность Эта функция

Язык кода:javascript
копировать
#define DELTA_CALIBRATION_MENU

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

Язык кода:javascript
копировать
#define DELTA_AUTO_CALIBRATION
#if ENABLED(DELTA_AUTO_CALIBRATION)
    #define DELTA_CALIBRATION_DEFAULT_POINTS 4
#endif
#if EITHER(DELTA_AUTO_CALIBRATION, DELTA_CALIBRATION_MENU)
    #define PROBE_MANUALLY_STEP 0.05      // (mm)
#endif
  • DELTA_AUTO_CALIBRATIONдобавить в G33 Автоматическое выравнивание, результат выравнивания будет сохранен в EEPROM , обновление прошивки не повлияет на это значение
  • DELTA_CALIBRATION_DEFAULT_POINTSнодаобнаружениеточкаизколичество
  • PROBE_MANUALLY_STEPЭто процесс исследованияизскорость,Единица измерения мм.

Следующие несколько вариантов являются главным приоритетом.,Избегайте ошибок перевода и интерпретации,Исходный текст будет сохранен

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

Сначала выложи картинку

Язык кода:javascript
копировать
#define DELTA_PRINTABLE_RADIUS 90.0

> Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).

Дельта печатной поверхности обычно круглая.,Это безопасная зона,Параметр — безопасная зона радиуса.,В основном из-за использования материалов другой,Принтер Будет несколько сопел, которые невозможно будет переместить, чтобы добраться до слепых зон.,Нужно распечатать сторонуизрадиус минус Этислепое пятнопозиция。еслинастраиватьне хорошо,Вступление в силу влечет за собой серьезные последствия,Например, если параллельный рычаг сломается。Единица измерения мм.

Язык кода:javascript
копировать
#define DELTA_DIAGONAL_ROD 215.0

> Center-to-center distance of the holes in the diagonal push rods.

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

Язык кода:javascript
копировать
#define DELTA_HEIGHT 250.00

> Distance between bed and nozzle Z home position

Это Сбросить форсунку на ноль игорячая из расстояния между кроватями это значение может быть G33 Модификации автоматического выравнивания

Язык кода:javascript
копировать
define DELTA_ENDSTOP_ADJ {0.0,0.0,0.0}

Это должна быть сумма строгелизкомпенсации.,Вы можете установить оба в начале,этотиндивидуальныйценить Можетодеяло G33 Модификации автоматического выравнивания

Язык кода:javascript
копировать
#define DELTA_RADIUS 105.2

> Horizontal distance bridged by diagonal push rods when effector is centered.

Когда эффектор Это находится в центре,Эффектор параллельного соединения рычага из центра,перемещать шкив соединения параллельных рычагов из центра с горизонтального расстояния,специфический Измерение Расположениесмотретьначальствокартинатакой жеимяпозиция,этотиндивидуальныйценить Можетодеяло G33 Модификации автоматического выравнивания

Язык кода:javascript
копировать
#define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 }

> Trim adjustments for individual towers > > tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0 > > measured in degrees anticlockwise looking from above the printer

некоторые ситуации X Y Z Башня обращена изнаправление и не пересекается ни в одной точке,То есть треугольник, образованный тремя башнями, не является равносторонним.,Даже если вы покупаете литье под давлением/металлические угловые детали на Таобао.,Есть определенный пробел в установке,Виртуальная позиция Этих заключается в том, чтобы облегчить притворство начальством.,Но после установки возникнет ситуация компенсации.

Здесь вы можете отрегулировать три угла башни на уровне программного обеспечения. Это значение можно отрегулировать с помощью G33 Модификации ручной стрельбы.

Язык кода:javascript
копировать
#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 }
#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }

> Delta radius and diagonal rod adjustments

Дельта радиуса и параллельное плечо регулировки,В официальном документе конфигурации по умолчанию эти две строки являются комментариями.,Там не так много объяснений конкретной функции.

> Я хочу поговорить о плюсах и минусах ручного и автоматического нивелирования. > > Внутренние из Некоторые 3d Прошивка принтера зависла Marlin 1 из эпохи, но сейчас уже давно обновился. Марлин 1.x время, Дельта проблемы с выравниванием всегда были очень сложными, и предметы на картинке, требующие измерения, 1.x Версия должна заполнить параметры. Судя по картинке, их легко измерить. На самом деле, слишком много факторов помех. Трудно получить абсолютно точное значение без каких-либо отклонений. > > И теперь из 2.x,Marlin Постарайтесь подумать обо всех факторах, которые могут повлиять на точность. Другой может рассчитать самостоятельно. Можно сказать, что прогресс очень большой, и существует множество параметров, которые можно использовать. G33 Исправляют, разницу можно посчитать и наоборот, а порог уже очень низкий. > > Однако программное обеспечение обрабатывает механическое начальствоиз ограниченных отклонений, некоторых ситуации все еще не могут быть обработаны, например, горячая кроватьотносительнотрииндивидуальный塔不垂直,Как скорректировать эту ситуацию?,При распечатке готовое изделие искажается.,так,Механическое начальство может быть максимально точным,Остальное оставьте программному обеспечению

ограничитель

Язык кода:javascript
копировать
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG

обозначение Каждой оси изограничителем является максимальное или минимальное значение этой оси из. Для большинства принтеров три являются минимальными значениями, но Delta Все использовать макс. Зондами можно делиться Z min Вилку также можно использовать с одним или несколькими дополнительными разъемами.

Язык кода:javascript
копировать
#define ENDSTOPPULLUPS

#if DISABLED(ENDSTOPPULLUPS)
  // Disable ENDSTOPPULLUPS to set pullups individually
  //#define ENDSTOPPULLUP_XMAX
  //#define ENDSTOPPULLUP_YMAX
  //#define ENDSTOPPULLUP_ZMAX
  //#define ENDSTOPPULLUP_XMIN
  //#define ENDSTOPPULLUP_YMIN
  //#define ENDSTOPPULLUP_ZMIN
  //#define ENDSTOPPULLUP_ZMIN_PROBE
#endif

По умолчанию все ограничители являются начальными тянущими резисторами.,чтобы предотвратить плавание,Если вы хотите настроить каждый ограничитель индивидуально,Может ЗапрещатьENDSTOPPULLUPS,Затем настройте его отдельно

Язык кода:javascript
копировать
//#define ENDSTOPPULLDOWNS

#if DISABLED(ENDSTOPPULLDOWNS)
  // Disable ENDSTOPPULLDOWNS to set pulldowns individually
  //#define ENDSTOPPULLDOWN_XMAX
  //#define ENDSTOPPULLDOWN_YMAX
  //#define ENDSTOPPULLDOWN_ZMAX
  //#define ENDSTOPPULLDOWN_XMIN
  //#define ENDSTOPPULLDOWN_YMIN
  //#define ENDSTOPPULLDOWN_ZMIN
  //#define ENDSTOPPULLDOWN_ZMIN_PROBE
#endif

По умолчанию все ограничители не имеют подтягивающих резисторов, настройте Способначальство.

Язык кода:javascript
копировать
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // 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 endstop.

Различные модели изограничителей,Будут выпускаться разные модели,Некоторые из них излучают высокий уровень при закрытии.,Некоторые из них будут излучать низкий уровень,еслитыиспользоватьM119тестчасобнаружение обнаруженияи Реальность противоположна Понятно,Вы активируете один из ограничителей, чтобы обратить сигнал вспять.

Язык кода:javascript
копировать
//#define X_DRIVER_TYPE  A4988
//#define Y_DRIVER_TYPE  A4988
//#define Z_DRIVER_TYPE  A4988
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define E0_DRIVER_TYPE A4988
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988

Выберите Шаговый здесь двигатель из модели и включи Шаговый двигательустройствоизвысокийсорт Параметры。тытакже МожетсуществоватьConfiguration_adv.hсерединакрышкасчитатьчас Параметры。По умолчаниюиспользовать A4988

Язык кода:javascript
копировать
#define ENDSTOP_INTERRUPTS_FEATURE

Если у вас изограничитель есть функция прерывания,Вы можете включить его здесь,Это не нужно CPU Перейти к опросу и сохранить циклы

Язык кода:javascript
копировать
#define ENDSTOP_NOISE_FEATURE

Если вас спровоцировали определенные факторы, которые не должны возникать, вы можете использовать эту функцию.

Шаговый двигатель

Настройте параметры экструдера

Язык кода:javascript
копировать
//#define DISTINCT_E_FACTORS

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

Шаговый двигатель шагов на миллиметр

Язык кода:javascript
копировать
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4000, 500 }

Этотпринтер Точность Из Ключевые параметры,Здесь наладки по миллиметру,Сколько шагов делает шаговый двигатель?,Можетиспользовать M92 крышка Этиценить。ты можешь использоватьPrusa CalculatorПриходитьполучатьчисловое значение

Еще есть такая настройка

Язык кода:javascript
копировать
// variables to calculate steps
#define XYZ_FULL_STEPS_PER_ROTATION 200
#define XYZ_MICROSTEPS 16
#define XYZ_BELT_PITCH 2
#define XYZ_PULLEY_TEETH 20

// delta speeds must be the same on xyz
#define DEFAULT_XYZ_STEPS_PER_UNIT ((XYZ_FULL_STEPS_PER_ROTATION) * (XYZ_MICROSTEPS) / double(XYZ_BELT_PITCH) / double(XYZ_PULLEY_TEETH))
#define DEFAULT_AXIS_STEPS_PER_UNIT   { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 700 }  // default steps per unit for Kossel (GT2, 20 tooth)

Данная настройка Способ не требует использования калькулятора.,Просто введитеXYZ_FULL_STEPS_PER_ROTATIONXYZ_MICROSTEPSXYZ_BELT_PITCHXYZ_PULLEY_TEETHВот и все

Но вам все равно придется обратить внимание на экструдер. E из параметров всегда такие же, как XYZ Нет, вот два измерения

E_{step} = \frac{360°}{angle×microstep×C}

C - окружность колеса подачи проволоки, угол Для шагового двигателя угол шага, микрошаг микрошаг

  • Не торопись, я еще не написал

Максимальная скорость шагового двигателя

Язык кода:javascript
копировать
#define DEFAULT_MAX_FEEDRATE { 500, 500, 2.25, 45 }

Шаговый двигатель с максимальной скоростью,Единица мм/с.,Можетиспользовать M203 Исправлять

максимальное ускорение

Язык кода:javascript
копировать
#define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 10000 }

по умолчаниюмаксимальное ускорение, единица измерения mm/s,Можетиспользовать M201 Исправлять

Ускорение по умолчанию

Язык кода:javascript
копировать
define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration for travel (non printing) moves

Дальнейшее ограничение ускорения,и их можно разделить и распечатать,отступ,Авиаперевозки с ускорением,Можетпроходить M204 Исправлять

Отклонение узла

Язык кода:javascript
копировать
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
  #define JUNCTION_DEVIATION_MM 0.02  // (mm) Distance from real junction edge
#endif

> Use Junction Deviation instead of traditional Jerk Limiting. Jerk settings is overriden with Junction Deviation.

(ссылка на машинный перевод) использовать “Отклонение узла” Вместо традиционного из «Лимит джиттера». Резкие движения вызовут «Отклонение границы» покрытый.

ускоренный джиттер

Язык кода:javascript
копировать
#define DEFAULT_XJERK                 20.0
#define DEFAULT_YJERK                 20.0
#define DEFAULT_ZJERK                  0.4
#define DEFAULT_EJERK                  5.0

Этот шаговый двигатель может ускоряться с места до максимального значения, необходимого для передвижения. Иногда путь печати извилистый.,Постоянно сгибаясь,Если достигается максимальная скорость,Создаваемая сила очень велика,Большая нагрузка на двигатель,Иногда слишком сильно «плывет»,Шелк будет производитькомпенсировать.Среднее здесьссылкапо умолчанию Вот и все。Можетиспользовать M205 Исправлять

S-образное ускорение

Язык кода:javascript
копировать
#define S_CURVE_ACCELERATION

использовать S Функция плавной кривой ускорения

Z-зонд

Язык кода:javascript
копировать
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

Если вы иззонд подключен, приехать Z MIN Где находится контакт, пожалуйста, во всех случаях используйте эту опцию. Дельта изограничитель Конечная точка всегда MAX позиция,так Delta Это также необходимо включить.

Вы можете настроить эту опцию без Z Терминальный изпринтер. В этом случае будет использоваться зонд. для Z ось нуля, и вам нужно будет включить Z_SAFE_HOMING чтобы гарантировать, что Z Расположите датчик над станиной, пока ось обнуляется. (существовать X и Y казнён позже) 。

Язык кода:javascript
копировать
//#define Z_MIN_PROBE_PIN 32

Если вы подключили датчик к чему-либо, кроме Z MIN Используйте этот вариант, кроме издругой булавки. давать Возможность После этой опции по умолчанию Марлин Поместите булавкудокументсерединаобозначениеиз Z_MIN_PROBE_PIN (обычно X или Z MAX, потому что скорее всего их не использовать) 。еслинуждатьсяиспользоватьдругойприколоть,пожалуйстасуществоватьConfiguration.hсерединадля Z_MIN_PROBE_PIN Пользовательский пин-код.

Тип зонда

Зонд обычно относится к датчику автоматического нивелирования Marlin. поддерживать Многоиспользовать Зондиз Способ

Бесполезно
Язык кода:javascript
копировать
//#define PROBE_MANUALLY
//#define MANUAL_PROBE_START_Z 0.2

Если у вас нет зонда, вы все равно можете включить эту опцию, выполнив

использоватьполгладкий AUTO_BED_LEVELING_ *,проходить PROBE_MANUALLY,Команда G29 только перемещает сопло в следующую точку паузы. Используйте лист бумаги, чтобы отрегулировать высоту Z.,,Пусть бумага просто подходит к соплу, не раздавливаясь соплом.,Затем снова отправьте G29, чтобы перейти к следующей точке.

проходить PROBE_MANUALLY,G29 Команда лишь перемещает насадку прибытия к следующей точке паузы. Используйте лист бумаги, чтобы отрегулировать высоту Z.,,Пусть бумага просто подходит к соплу, не раздавливаясь соплом.,затем отправь еще разG29к Продолжатьодинточка。

Вы также можете давать возможностьLCD_BED_LEVELINGПриходить К LCD добавить в “Level Bed” пункт меню,для полностью интерактивногоиз Регулировка уровня。MANUAL_PROBE_START_Zнастраивать Руководствообнаружениепериодпринтеризначально переехалприезжать每индивидуальныйточканачать позжеизвысокий。Запрещатьэтот Функцияназад,Принтер переместится к первой точке обнаружения из Z0, то каждая последующая точка обнаружения будет использовать предыдущую точку обнаружения по высоте.

Зафиксированный
Язык кода:javascript
копировать
#define FIX_MOUNTED_PROBE

Этот вариант подходит для любого зонда, который фиксируется на месте и не требует хранения.

рулевой механизмуправляемый
Язык кода:javascript
копировать
//#define Z_PROBE_SERVO_NR 0       // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES { 70, 0 } // Z Servo Deploy and Stow angles

Если вы из зонда можете использовать рулевую механизмразвертыватьипереработка, Вы хотите изображение рулевой механизминастраиватьразвертыватьипереработкаизугол。использоватьM280проверятьпопытаться найтиоптимальныйизZ_SERVO_ANGLESценить。

BLTouch
Язык кода:javascript
копировать
//#define BLTOUCH

ANTCLABS BLTouch В зонде используется специальная схема и магнит для подъема и опускания, который действует как зонд и металлические штыри. BLTouch использоватьрулевой Механизм приводится в движение и используется под определенным углом. давать Возможность После этой опции автоматически будут настроены другие необходимые настройки. (например, угол настройки не требуется) 。

TOUCH MI
Язык кода:javascript
копировать
//#define TOUCH_MI_PROBE
#if ENABLED(TOUCH_MI_PROBE)
  #define TOUCH_MI_RETRACT_Z 0.5                  // Height at which the probe retracts
  //#define TOUCH_MI_DEPLOY_XPOS (X_MAX_BED + 2)  // For a magnet on the right side of the bed
  //#define TOUCH_MI_MANUAL_DEPLOY                // For manual deploy (LCD menu)
#endif

hotends.fr из Touch-MI Probe Это гениальное устройство, которое X Ось перемещает край кровати из магнитного начального положения, чтобы развернуть и активировать. По умолчанию предполагается, что магнит находится слева и активируется домом. Если магнит находится с правой стороны, то дайте возможностьи Воля TOUCH_MI_DEPLOY_XPOS настраиватьна расширенную позицию。кроме того,возвращатьсянуждатьсяк Вниз Параметры:BABYSTEPPING,BABYSTEP_ZPROBE_OFFSET,Z_SAFE_HOMING,и меньше Z_HOMING_HEIGHT10извысокий。

Электромагнитный
Язык кода:javascript
копировать
//#define SOLENOID_PROBE

использоватьэлектромагнитный (определяется как SOL1_PIN) иззонд。

Отдельный
Язык кода:javascript
копировать
//#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5

Такие датчики устанавливаются в X Дистальный конец стержня является съемным. "база" начальство. До обнаружения X движение каретыкудаленно и забратьзонд。обнаружение完成назад,оно будет подавленозонд。SLED_DOCKING_OFFSET обозначение X Ось должна переместиться на дополнительное расстояние, чтобы захватить зонд. 0 Это очень идеально, но реальная ситуация может потребовать дальнейшего развития.

Механический
Язык кода:javascript
копировать
//#define RACK_AND_PINION_PROBE
#if ENABLED(RACK_AND_PINION_PROBE)
  #define Z_PROBE_DEPLOY_X  X_MIN_POS
  #define Z_PROBE_RETRACT_X X_MAX_POS
#endif

использоватьпохожий Marty Rice Дизайн из Wilson II Механическийзонд Можетиспользовать Этот предмет

Тип шестигранного ключа
Язык кода:javascript
копировать
//#define Z_PROBE_ALLEN_KEY

Выдвижной Z Введите зонд, в качестве зонда используйте шестигранный ключ. Проверьте конкретно RepRap。этопроходитьблизко к z Ремень вала разворачивается и нажимает на зонд, чтобы втянуть его. Более подробная информация будет включена в следующий выпуск. Delta Страница конфигурации середина. (Все 2.0 Официального документа пока не написано

Смещение зонда

Язык кода:javascript
копировать
#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]

Точка обнаружения зонда противоположна кончику сопла координировать,Конкретную конфигурацию можно прокомментировать по ссылке. Можно использовать M851 Z или крышку ЖК-дисплея Ось Z начальноизкомпенсировать,Этикомпенсироватьколичество Можетпроходить M500 сохранить в EEPROM

расстояние от края

Язык кода:javascript
копировать
#define MIN_PROBE_EDGE 10

Некоторые зонды необходимо защищать от ударов о края.

Скорость обнаружения

Язык кода:javascript
копировать
// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 8000

// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2)
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z

// Feedrate (mm/m) for the "accurate" probe of each point
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)

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

несколько зондов

Язык кода:javascript
копировать
//#define MULTIPLE_PROBING 2
//#define EXTRA_PROBING    1

> Probing mutiple times yields better results. Set to 2 for a fast/slow probe - the second probe result will be used. Set to 3 or more for slow probes - the average result will be used.

(ссылка на машинный перевод) несколько зондов даст лучшие результаты. Будет быстрым / Медленная настройка зонда 2 - Будет использован результат второго зонда. для медленного зонда, настройки для 3 или больше - Усредните результаты.

Зонд безопасной зоны

Язык кода:javascript
копировать
#define Z_CLEARANCE_DEPLOY_PROBE   10 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE     5 // Z Clearance between multiple probes
//#define Z_AFTER_PROBING           5 // Z position after probing is done

#define Z_PROBE_LOW_POINT          -2 // Farthest distance below the trigger-point to go before stopping

Zзондсуществоватьразвертывать,При переработке и перемещении требуется разрешение.,Во избежание столкновений приезжайте с базой идругой аппаратуры. рулевая Механизм. Для установки зонда требуется дополнительное пространство для вращения рычага. Индуктивным щупам требуется некоторое пространство, чтобы предотвратить преждевременное срабатывание.

использовать Этинастраивать Приходитьобозначениеподнимать (сложить) зондиз расстояния (mm)。настраиватьизценитьподходящийиспользуется дляпроходитьZ_PROBE_OFFSET_FROM_EXTRUDER,M851 или LCD настраиватьизлюбойзондиз Z компенсировать.Для Этина настройки действительны только целые значения, большие или равные 1из.

Язык кода:javascript
копировать
#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20

использовать M851и LCD Настройка меню Zзондкомпенсироватьиз диапазона.

испытательный зонд

Язык кода:javascript
копировать
#define Z_MIN_PROBE_REPEATABILITY_TEST

Это позволяет вам использовать M48 испытательный зондиз Надежность. Это даст вам стандартное отклонение зондиз. Совет: на работе обычно приемлемо значение 0,02. ммиз отклонения уровня кровати.

Язык кода:javascript
копировать
// Before deploy/stow pause for user confirmation
//#define PAUSE_BEFORE_DEPLOY_STOW
#if ENABLED(PAUSE_BEFORE_DEPLOY_STOW)
  //#define PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED // For Manual Deploy Allenkey Probe
#endif

Требовать подтверждения пользователя перед развертыванием/переработкой

Выключите обогреватель перед обнаружением

Язык кода:javascript
копировать
//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
#if ENABLED(PROBING_HEATERS_OFF)
  //#define WAIT_FOR_BED_HEATER     // Wait for bed to heat back up between probes (to improve accuracy)
#endif
//#define PROBING_FANS_OFF          // Turn fans off when probing
//#define PROBING_STEPPERS_OFF      // Turn steppers off (unless needed to hold position) when probing
//#define DELAY_BEFORE_PROBING 200  // (ms) To prevent vibrations from triggering piezo sensors

Если вы обычно печатаете при нагревании,Затем определите при нагреве стола и экструдера,Воляпроизводить Более точныйизрезультат。еслипотому что отопление, зонд сталкивается с электрическим шумом, пожалуйста, дайте возможностьPROBING_HEATERS_OFF。также Можетдобавить Задержка, позволяющая успокоиться шуму и вибрации.

Основные настройки шагового двигателя

Уровень включения двигателя

Язык кода:javascript
копировать
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

Эти Параметрынастраиватьиспользуется Для включения шагового двигателя из состояния контакта. для активен на низком уровне, наиболее распространенная настройка — 0 (LOW) . для активного высокого уровня, пожалуйста, используйте 1 илиHIGH。

Выключайте двигатель, когда он не в движении

Язык кода:javascript
копировать
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false

Когда нет движения,Опция Использовать Эти временно отключает шаговый двигатель. Это необходимо для запуска шагового двигателя на более высокой скорости, чем нормальный ток.,За счет увеличения крутящего момента,увеличить привод машиныи шагового двигателя из за счет тепла. Отключение шагового двигателя между шаговыми двигателями включает ипривод двигателя. машина имеет шанс остыть.

В теории начальство звучит хорошо, но на практике у него есть недостатки. Отключение шагового двигателя не может стабилизировать температуру. конец. Это приводит к низкой точности и высокой вероятности осевого смещения. (не в ногу) 。 большинство используют 3D-принтеры «Открытый цикл» система контроля, а это означает, что программное обеспечение не может определить, выполняются ли инструкции так, как запланировано. Он просто отправляет приказ и предполагает, что ему подчиняются.

действительныйначальство,для хорошо откалиброван и не оказывает никакого влияния на машину,использовать систему с разомкнутым контуром, что позволяет сэкономить много средств.,и иметь отличныеизкачество。Не рекомендуется здесьиспользоватьздесьиз Способ。Есть много лучшеизметод Приходить Решение шаг за шагомустройство/водить проблема с перегревом машины. Например:шаг/вести машину Тепловыделениеустройство,Активное охлаждение,Начальное управление оси Dual Motor,Уменьшение микрошагов,Ремень слишком натянут?,Учитывайте составляющие: плавность движения и т. д.

Язык кода:javascript
копировать
//#define DISABLE_REDUCED_ACCURACY_WARNING

Возможность дать Эта опция подавляет предупреждения в ситуациях, когда точность может снизиться.

Язык кода:javascript
копировать
#define DISABLE_E false                     // For all extruders
#define DISABLE_INACTIVE_EXTRUDER    false     // Keep only the active extruder enabled

этотиндивидуальный Параметрыизделатьиспользоватьпохожий ВDISABLE_ [XYZ],Управление из экструдера,Но это касается одного и нескольких экструдеров.

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

Направление двигателя

Язык кода:javascript
копировать
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false

#define INVERT_E0_DIR false
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false

Этими можно настраивать каждую ось от обратного движения двигателя. Будьте осторожны при настройке Эти в первый раз. Неправильное движение оси может привести к повреждению. Если возможно,Установите их правильно без ремней. Перед тестированием,Переместите держатель ручки и кровать приедете в середину. Используйте терминал или меню «Переместить ось» на ЖК-дисплее, чтобы проверить, правильно ли движется каждая ось. Если ось перевернута,Затем переверните вилку, чтобы изменить ее обратное направление.

Возврат в нулевую и безопасную зону

Высота после того, как ось Z возвращается к нулю

Язык кода:javascript
копировать
//#define NO_MOTION_BEFORE_HOMING    // Inhibit movement until all axes have been homed
//#define UNKNOWN_Z_NO_RAISE        // Don't raise Z (lower the bed) if Z is "unknown."
                                    //For beds that fall when Z is powered off.
//#define Z_HOMING_HEIGHT 4

Это значение находится в X Ось и Y Прежде чем вернуть ось в ноль, установите Z Вал поднимает высоту обозначения, что предотвращает удар головы о каркас кровати. (например, винты) Очень полезно. Это также относится к автоматическому выравниванию кровати, которое срабатывает только при Z Когда высота оси меньше заданного значения, в противном случае Z Ось не будет двигаться.

Возврат в нулевое направление

Язык кода:javascript
копировать
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

каждая осьиз Возврат в нулевое направление,-1 — минимальное значение, а 1 — максимальное значение. в целом Cartesian и CoreXY Используйте минимальное значение до нуля, в то время как Delta Возврат к нулю с максимальным значением

размер безопасной зоны

Язык кода:javascript
копировать
#define X_BED_SIZE 200
#define Y_BED_SIZE 200

Вы можете напрямую обозначить кровать по размеру. если X/Y Коляска способна передвигаться вне кровати, ее можно перемещать под обозначением для большего радиуса действия. Деталь КонфигурациядокументпрямойиспользоватьDELTA_PRINTABLE_RADIUS

Язык кода:javascript
копировать
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 170

Среднее здесьнастраиватьпринтеризфизические пределы。в целом Воля[XYZ] _MIN _POSценитьнастраиватьдля 0,потому чтоограничительпомещатьсуществоватьполизкрайняя позиция。[XYZ] _MAX_POSдолженнастраиватьдля самого дальнегоиз Можетприезжатьдостигатьточка。По умолчанию,Эти Расположениеиспользуется кактыиз Возврат к нулю специальный Состояние МожетиспользоватьMANUAL _[XYZ] _HOME_POSПараметрыкрышка Эти Параметры。

Можетиспользовать M206 Компенсировать

виртуальныйограничитель (программное обеспечениеограничитель)

Язык кода:javascript
копировать
#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
  #define MIN_SOFTWARE_ENDSTOP_X
  #define MIN_SOFTWARE_ENDSTOP_Y
  #define MIN_SOFTWARE_ENDSTOP_Z
#endif

#define MAX_SOFTWARE_ENDSTOPS
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
  #define MAX_SOFTWARE_ENDSTOP_X
  #define MAX_SOFTWARE_ENDSTOP_Y
  #define MAX_SOFTWARE_ENDSTOP_Z
#endif

давать Возможность Эти опция доступна в программном обеспечении начальства, чтобы ограничить перемещение физическими границами начальства машины. (Зависит от[XYZ]_(MIN MAX)_POSнастраивать)。Например,Может ВоляG1 Z-100Минимальное ограничениеG1 Z0

предположениедавать Возможность Эти опция как функция безопасности. ты можешь использоватьM211 S0запретить Этивиртуальныйограничитель

Язык кода:javascript
копировать
#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
  //#define SOFT_ENDSTOPS_MENU_ITEM
#endif

Эту опцию также можно включить в LCD идтидавать возможность/запретитьвиртуальныйограничитель

Тестирование материалов

Язык кода:javascript
копировать
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
  #define NUM_RUNOUT_SENSORS   1     // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
  #define FIL_RUNOUT_INVERTING false // Set to true to invert the logic of the sensor.
  #define FIL_RUNOUT_PULLUP          // Use internal pullup for filament runout pins.
  //#define FIL_RUNOUT_PULLDOWN      // Use internal pulldown for filament runout pins.

  // Set one or more commands to execute on filament runout.
  // (After 'M412 H' Marlin will ask the host to handle the process.)
  #define FILAMENT_RUNOUT_SCRIPT "M600"

  // After a runout is detected, continue printing this length of filament
  // before executing the runout script. Useful for a sensor at the end of
  // a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.
  //#define FILAMENT_RUNOUT_DISTANCE_MM 25

  #ifdef FILAMENT_RUNOUT_DISTANCE_MM
    // Enable this option to use an encoder disc that toggles the runout pin
    // as the filament moves. (Be sure to set FILAMENT_RUNOUT_DISTANCE_MM
    // large enough to avoid false positives.)
    //#define FILAMENT_MOTION_SENSOR
  #endif
#endif

С помощью этой функции можно использовать механический или оптический концевой выключатель для расчета Тестирование. Есть ли в машине расходные материалы? (Обычно в случае с расходными материалами переключатель выключен). Если расходные материалы закончатся, принтер автоматически запустит режим «изображение». GCode Скрипт (по умолчаниюдляM600)。на основе RAMPS изтарелкаиспользовать SERVO3_PIN。длядругойтарелка,ты Может能нуждаться定义 FIL_RUNOUT_PIN

выравнивание кровати

во многих случаях,Очень полезно измерять изменения высоты грядки. Несмотря на то, что основание 3D-принтера изначально идеально ровное и ровное.,В аппарате начальства еще могут быть дефекты. Например,Машина может иметь очень плоскую станину.,но XY Небольшой кусочек гентри высотой в полмиллиметра. З Конец вала может быть не полностью горизонтальным. Кровать X и/или Y При движении в плоскости кровать может слегка смещаться в плоскости Z. И в Delta да, это XY Траектория может иметь форму затяжной чаши.

компенсация за кровать “ — Bed Leveling” используйте датчик или метод помощи пользователю, который позволяет машине выполнять точные измерения. XY Каждая точка плоскости начальствоиз “полвысокий”。Затем,С помощью Эти данных,Машина может регулировать движение, чтобы лучше выравнивать кровать при изменении наклона или высоты.

Более подробную информацию о функции «Эти» см. MBL из G29 и ABL из G29。наспредположениетысуществоватьиспользоватьполперед тем, как сложить,Постарайтесь сделать свой принтер максимально удобным для проживания.,Потому что все каркасы кроватей могут компенсировать только дефектную фурнитуру.,Но это не будет исправлено.

выравнивание кроватитип

выравнивание кроватей много 3D принтеризстандартный Функция。очень простоиз操делать Можетполучатьхорошийизпервый этажихорошийизпол Адгезия слоя。все формыизполгладкий都использовать ПонятноG29полобнаружение,M420давать возможность/Запрещать,ии Может Воля ЧторезультатпроходитьM500сохранить в ЭСППЗУ. чудесный!

давать возможностьвыравнивание кровати:

  • G28Запрещатьвыравнивание кровать, но оставьте предыдущие данные без изменений.
  • G29автоматическийили Руководствообнаружениеполиз各индивидуальныйточка,Измерьте высоту кровати,Рассчитать сетку или матрицу коррекции,Затем включите компенсацию уровня. Конкретное поведение зависит от конфигурации выравнивания кровати.
  • M500Волявыравнивание кроватиданныесохранить в EEPROM。использоватьM501нагрузкаэто,использоватьM502Прозрачныйэто,ииспользоватьM503Отчетэто。
  • M420 S <bool>Можетиспользуется длядавать возможность/Запрещатьвыравнивание кровати。Например,долженсуществоватьM501послеиспользоватьM420 S1кдавать Возможность загрузки сетки или матрицы,исуществоватьG28послесновадавать уровень, это отключит возможность компенсации уровня.
  • МожетиспользоватьLCD_BED_LEVELINGПараметры Воля “Level Bed” пункт менюдобавить вприезжать LCD。
Язык кода:javascript
копировать
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING

Просто выберите способ прокачки

  • AUTO_BED_LEVELING_3POINT,триточечное спортивные, обнаружить три точки в треугольнике. Плоскость дает матрицу преобразования, подходящую для компенсации плоских, но наклоненных слоев.
  • AUTO_BED_LEVELING_LINEAR,выравнивание сетки,Обнаружение грядок в сетке. использовать метод наименьших квадратов для создания матрицы преобразования,Чтобы компенсировать плоскую, но наклонную кровать.
  • AUTO_BED_LEVELING_BILINEAR,проходить Можетвыбиратьиз Catmull-Rom Тесселяция исследует пласты в сетке. Данные сетки используются дляиспользовать билинейную интерполяцию для регулировки всей кровати по высоте. Адаптируемый для треугольной кровати, большой кровати или неровной кровати.
  • AUTO_BED_LEVELING_UBL (Рекомендуется), сочетает в себе функции трехточечного, линейного, билинейного и сеточного выравнивания. Подобно билинейному выравниванию, UBL генерирует данные сетки. использовать билинейную интерполяцию для регулировки всей кровати Z высокий. текущая потребность LCD контроллер.
  • MESH_BED_LEVELINGпоставлять Понятноодин НастроитьG29Заказ,Высоту станины можно измерить с помощью листа бумаги и щупа в нескольких точках сетки. О полном процессе,ВидетьG29。Этот видтипиз Только прокачкаиPROBE_MANUALLYсовместимый。

толькоAUTO_BED_LEVELING_BILINEARиAUTO_BED_LEVELING_UBLподдерживать Delta。В настоящее время толькоAUTO_BED_LEVELING_BILINEARподдерживать SCARA。MESH_BED_LEVELINGи Delta и SCARA Не совместимо.

G28 восстановить данные нивелирования

Язык кода:javascript
копировать
//#define RESTORE_LEVELING_AFTER_G28

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

отладка выравнивания

Язык кода:javascript
копировать
//#define DEBUG_LEVELING_FEATURE

использовать Эту опцию можно давать Возможность дополнительной изнулевой и выравнивающей отладки. Тогда ты сможешь G28 и G29 V4 ДоиспользоватьM111 S32получатьподробныйиз Журнал процесса диагностики。этот Параметрыдляпопытаться найти出意外行дляизпричинаили К项目Отчет问题час Оченьиспользовать。

выравнивание постепенного исчезновения

Язык кода:javascript
копировать
#define ENABLE_LEVELING_FADE_HEIGHT

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

Этот вариант будет Z параметрдобавить вприезжатьM420,Параметр настройки исчезает на расстоянии,существовать Затухание на расстояниисередина Воля Постепенно уменьшайте уровень。больше, чем даноиз Z высоты, компенсация выравнивания больше не будет применяться. Адаптируемый дляMESH_BED_LEVELING,AUTO_BED_LEVELING_BILINEARиAUTO_BED_LEVELING_UBL

Эта функция существует для того, чтобы предметы неправильной формы на кровати не влияли на всю высоту модели. соревнование постепенного исчезновения также может уменьшить количество вычислительных операций и уменьшить Z осьсуществоватьисчезатьвысокийкначальствоиз Резонанс。для Выравниваниехорошийизмашинаустройство,Эта функция может улучшить результаты печати. Пример: Чтобы компенсация выравнивания исчезла на 10 мм перед печатью слоев.,пожалуйстаиспользоватьM420 Z10。есликаждый этажизвысокийдля 0,2 мм, компенсация выравнивания будет уменьшаться после каждого слоя. 1/50(2%) . При толщине более 10 мм машина не будет иметь компенсации выравнивания.

Режим проверки сетки G26

Язык кода:javascript
копировать
/**
 * Enable the G26 Mesh Validation Pattern tool.
 */
#define G26_MESH_VALIDATION   // Enable G26 mesh validation
#if ENABLED(G26_MESH_VALIDATION)
  #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
  #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
  #define MESH_TEST_HOTEND_TEMP   205   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
  #define MESH_TEST_BED_TEMP       60   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
  #define G26_XY_FEEDRATE         20    // (mm/s) Feedrate for XY Moves for the G26 Mesh Validation Tool.

#endif

использовать любую сеточную систему измерения уровня (1.1.7) час,МожетактивацияG26_MESH_VALIDATIONк Распечататьтесткартина案итонкая настройкасетка。связанныйвесьподробныйинформация,пожалуйста Видеть G26 Проверка сетки. G26 команда принята для Размер сопла, высота слоя и другие параметры. будет использоваться начальное лицо из подопции «изображение» для исключения параметров из значений по умолчанию.

Линейные/билинейные варианты

Язык кода:javascript
копировать
#define GRID_MAX_POINTS_X 3
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

Эти Параметрыобозначениесуществовать G29 При обнаружении установлено количество точек по умолчанию в каждом размере.

Язык кода:javascript
копировать
//#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
//#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))

Этинастраиватьобозначение Понятноиспользовать G29 Зондируйте границы. Скорее всего, это часть слоя, поскольку зонд обычно не может достичь каждой точки, до которой может добраться сопло. настройки Эти границы, пожалуйста, учтите зондиз XY компенсировать.

Язык кода:javascript
копировать
//#define PROBE_Y_FIRST

Включите эту опцию, если сначала необходимо выполнить измерение по размеру Y, а не по размеру X.

Билинейный вариант

Язык кода:javascript
копировать
//#define EXTRAPOLATE_BEYOND_GRID

в целом,Зондируемая сетка не доходит до края грядки. поэтому,За границей сетки обнаружения из,Z Регулировку можно произвести одним из двух способов. З Высота может содержать ближайший из ячеек сетки, определяемый наклоном, который продолжает увеличиваться/уменьшаться. (Желательно, когда большая часть кровати исследована) , или он может следовать за ближайшим краем контура (значение по умолчанию) . Включите эту опцию для вывода.

Язык кода:javascript
копировать
//#define ABL_BILINEAR_SUBDIVISION
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
  // Number of subdivisions between probe points
  #define BILINEAR_SUBDIVISIONS 3
#endif

Если вы хотите сохранить SRAM, тогда этот вариант будетиспользовать Catmull-Rom Метод тесселяции умножает билинейные сетки. Эта опция доступна только для билинейного нивелирования. если значение по умолчанию 3 Слишком дорого, попробуйте 2 или 1. В Марлине 1.1.1середина,Сетка по умолчанию будет храниться в PROGMEM.,Точно так же, как сейчас делает UBL.

Единые возможности выравнивания кровати

Язык кода:javascript
копировать
#define UBL_MESH_INSET 1          // Mesh inset margin on print area
#define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

  #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
  #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500

  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
                                          // as the Z-Height correction value.

Эти Параметрыобозначениеиспользуется для UBL иллюстрации, сетка 3 Точечный треугольник. Обратите внимание, что зонд XY компенсироватьи Ограничения на передвижение могут ограничить видимую площадь кровати.

сетьвыравнивание кровати Параметры

Язык кода:javascript
копировать
#define MESH_INSET 10          // Mesh inset margin on print area
#define GRID_MAX_POINTS_X 3    // Don't use more than 7 points per axis, implementation limited.
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

//#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS

Эти ПараметрыобозначениесуществоватьG29период Волявсегдасуществовать每индивидуальный尺寸серединаобнаружениеизточкачисло。сеткавставлятьиспользуется дляавтоматическийвычислитьзондграница。Эти МожетсуществоватьConfiguration_adv.hсерединаявныйнастраивать。сеткаобнаружение完成назад,MESH_G28_REST_ORIGINВоля Смещение соплакZ_MIN_POSв。если Z компенсировать (Например,потому чтоhome_offsetилидругойпричина) , то это конвертировать Z Хорошая отправная точка для переезда, обычно Z = 0。

3-х точечное выравнивание

Язык кода:javascript
копировать
#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL)
  //#define PROBE_PT_1_X 15
  //#define PROBE_PT_1_Y 180
  //#define PROBE_PT_2_X 15
  //#define PROBE_PT_2_Y 20
  //#define PROBE_PT_3_X 170
  //#define PROBE_PT_3_Y 20
#endif

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

Интерактивное выравнивание ЖК-дисплея

Язык кода:javascript
копировать
//#define LCD_BED_LEVELING
#if ENABLED(LCD_BED_LEVELING)
  #define MESH_EDIT_Z_STEP  0.025 // (mm) Step size while manually probing Z axis.
  #define LCD_PROBE_Z_RANGE 4     // (mm) Z Range centered on Z_MIN_POS for LCD Z adjustment
  //#define MESH_EDIT_MENU        // Add a menu to edit mesh points
#endif

LCD_BED_LEVELINGсуществовать LCD начальстводобавить в “Level Bed” меню,Это меню запускает пошаговое руководство по процедуре измерения уровня.,Никакого зонда не требуется. для выравнивания сетчатой ​​кровати,дляMBLВидетьG29,для PROBE_MANUALLY для ABL ВидетьG29。Можети MESH_BED_LEVELING и PROBE_MANUALLY (все формы автоматического выравнивания кровати) Вместеиспользовать。ВидетьConfiguration.hдокументк Получить подписку Параметры。

выравнивание углов

Язык кода:javascript
копировать
//#define LEVEL_BED_CORNERS
#if ENABLED(LEVEL_BED_CORNERS)
  #define LEVEL_CORNERS_INSET 30    // (mm) An inset for corner leveling
  #define LEVEL_CORNERS_Z_HOP  4.0  // (mm) Move nozzle up before moving between corners
  #define LEVEL_CORNERS_HEIGHT 0.0  // (mm) Z height of nozzle at leveling points
  //#define LEVEL_CENTER_TOO        // Move to the center after the last corner
#endif

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

Сценарий завершения Z-зонда

Язык кода:javascript
копировать
//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10"

существоватьG29Выполнить в концеиз Настроить Скрипт。еслинуждаться多индивидуальный Заказ,пожалуйстаиспользовать\n (перенос строки) Разделите их.

Установка нуля

Центр кровати установлен на (0,0).

Язык кода:javascript
копировать
//#define BED_CENTER_AT_0_0

Если кровать из центра расположена в точке X0 Y0,нодавать Возможность этого варианта. Эта настройка повлияет на автоматическое исходное положение. (еще нетиспользоватьMANUAL_ [XYZ] _POSнастраиватьпозиция) извычислить Способ。Delta Всегда включайте его.

Пользовательские нулевые координаты

Язык кода:javascript
копировать
//#define MANUAL_X_HOME_POS 0
//#define MANUAL_Y_HOME_POS 0
//#define MANUAL_Z_HOME_POS 0 // Distance from nozzle to printbed after homing

Этинастраиватьиспользуется длякрышкаоригинальная локация. Оставьте их неопределенными в автоматических настройках. для Delta из Z ось, должна быть home настройки в самом высоком положении.

Z безопасный возврат к нулю

Язык кода:javascript
копировать
#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)
  #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
  #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
#endif

когдаиспользоватьG28верновсеосьруководитьчас,Z Безопасный возврат к нулю может быть выполнен в Z двигаться до обнуления приехать определениеиз XY координировать (по умолчанию — середина кровати) чтобы предотвратить зонд (или сопло) При расположении за пределами спального места Z Вернитесь к нулю. Побочные эффекты Z Требуется перед обнулением X и Y Вернитесь к нулю. Если время ожидания шагового драйвера истекло, он потребуется снова. X и Y Вернитесь к нулю.

Если зонд (нетограничитель) используется для Z Вернитесь к нулю, затем дайте возможностьэтот Параметры。еслииспользовать Z ограничитель, чтобы выполнить возврат в исходное положение, не требуется Z Безопасное возвращение домой, но его также можно включить Z безопасное происхождение, чтобы XY Всегда перемещается в произвольную позицию после возврата в исходное положение.

Нулевая скорость возврата

Язык кода:javascript
копировать
// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z  (4*60)

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

Установка слишком высокого значения «Эти настройки» может привести к снижению точности и/или пропуску шагов. Уменьшение ускорения может помочь достичь более высокой максимальной скорости.

Язык кода:javascript
копировать
#define VALIDATE_HOMING_ENDSTOPS

Убедитесь, что обнуление срабатывает ограничитель.

Компенсация отклонения кровати

Язык кода:javascript
копировать
//#define SKEW_CORRECTION

#if ENABLED(SKEW_CORRECTION)
  // Input all length measurements here:
  #define XY_DIAG_AC 282.8427124746
  #define XY_DIAG_BD 282.8427124746
  #define XY_SIDE_AD 200

  // Or, set the default skew factors directly here
  // to override the above measurements:
  #define XY_SKEW_FACTOR 0.0

  //#define SKEW_CORRECTION_FOR_Z
  #if ENABLED(SKEW_CORRECTION_FOR_Z)
    #define XZ_DIAG_AC 282.8427124746
    #define XZ_DIAG_BD 282.8427124746
    #define YZ_DIAG_AC 282.8427124746
    #define YZ_DIAG_BD 282.8427124746
    #define YZ_SIDE_AD 200
    #define XZ_SKEW_FACTOR 0.0
    #define YZ_SKEW_FACTOR 0.0
  #endif

  // Enable this option for M852 to set skew at runtime
  //#define SKEW_CORRECTION_GCODE
#endif

правильныйXYZосьначальствоизеще нетверно准Состояние。Видетьconfiguration.hсерединаиз Комментарий。

Самонаведение

Язык кода:javascript
копировать
//#define INDIVIDUAL_AXIS_HOMING_MENU

добавить в варианте «Одноосное самонаведение» (Home X,Home Y и Home Z) приезжать LCD меню.

Дополнительные возможности

EEPROM

Язык кода:javascript
копировать
//#define EEPROM_SETTINGS

Такой какM92и тому подобноеиз Заказ仅встреча更改易失性存储устройствосерединаизнастраивать,иисуществоватьзакрытиевычислитьмашина电源назад Этинастраиватьбудет потерян。давать После этой опции настройки будут сохранены во встроенной программе. EEPROM, загружается автоматически после перезагрузки EEPROM изданные, крышкаоригинальная прошивка внутри изнастройки (Просто крышка энергозависимой памяти, а не настоящая изкрышка прошивки).

Настоятельно рекомендуется использовать этот вариант, поскольку он упрощает управление конфигурацией. Однако обратите внимание, что информация EEPROM сохраняется после обновления прошивки.

Команды, связанные с EEPROM:

  • M500:Волявсекогдавпереднастраиватьсохранить в EEPROM。
  • M501:Воля最назад保存извсенастраиватьнагрузкаприезжать EEPROM。
  • M502:Волявсенастраивать重置для Чтопо умолчаниюценить(Зависит отConfiguration.hнастраивать,То есть конфигурация по умолчанию после программирования)
  • M503:Распечататькогдавпереднастраивать(существовать RAM в, не в EEPROM середина)
Язык кода:javascript
копировать
//#define DISABLE_M503    // Saves ~2700 bytes of PROGMEM. Disable for release!
#define EEPROM_CHITCHAT   // Give feedback on EEPROM commands. Disable to save PROGMEM.

Эти EEPROM Опции должны остаться неизменными, но для 128K Меньшие из досок, их можно использовать для восстановления некоторой памяти программы. Поставщикам настоятельно рекомендуется не использовать DISABLE_M503。хотеть Воляновыйизпо умолчаниюнастраиватьсохранить в EEPROM середина,пожалуйста ПервыйиспользоватьM502,СноваиспользоватьM500

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

Терминал остается в живых

Язык кода:javascript
копировать
#define HOST_KEEPALIVE_FEATURE        // Disable this if your host doesn't like keepalive messages
#define DEFAULT_KEEPALIVE_INTERVAL 2  // Number of seconds between "busy" messages. Set with M113.
#define BUSY_WHILE_HEATING            // Some hosts require "busy" messages even during heating

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

использовать DEFAULT_KEEPALIVE_INTERVALкак сообщение о статусе занятостимеждупо умолчанию秒число。использоватьM113крышка。Marlin 1.1.5и более поздние версии включаютBUSY_WHILE_HEATINGПараметры,используется для имеет требования к протоколу терминала

Посмотреть доступную память

Язык кода:javascript
копировать
//#define M100_FREE_MEMORY_WATCHER

давать возможность Волядобавить в M100 инструкцияиспользуется для Просмотр информации об использовании памяти

Преобразование единиц измерения G-кода

Язык кода:javascript
копировать
//#define INCH_MODE_SUPPORT

добавить в G20 и G21,используется для Исправлятьанализировать G-code изединицы

Преобразование единиц температуры

Язык кода:javascript
копировать
//#define TEMPERATURE_UNITS_SUPPORT

добавить в M149 CM149 KиM149 F,Температура в градусах Цельсия,Кельвин и Фаренгейт. Если эта опция недоступна,Тогда все температуры должны быть в градусах Цельсия.

Предварительные настройки материала ЖК-дисплея

Язык кода:javascript
копировать
#define PREHEAT_1_TEMP_HOTEND 180
#define PREHEAT_1_TEMP_BED     70
#define PREHEAT_1_FAN_SPEED     0 // Value from 0 to 255

#define PREHEAT_2_TEMP_HOTEND 240
#define PREHEAT_2_TEMP_BED    110
#define PREHEAT_2_FAN_SPEED     0 // Value from 0 to 255

Этида Prepare > Preheat меню Параметрыизпо умолчаниюценить。МожетиспользоватьM145или Control > Temperature > Preheat Material X conf Подменю Крышка Эти значение.

Положение форсунки на холостом ходу

Язык кода:javascript
копировать
//#define NOZZLE_PARK_FEATURE
#if ENABLED(NOZZLE_PARK_FEATURE)
  // Specify a park position as { X, Y, Z_raise }
  #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
  #define NOZZLE_PARK_XY_FEEDRATE 100   // (mm/s) X and Y axes feedrate (also used for delta Z axis)
  #define NOZZLE_PARK_Z_FEEDRATE 5      // (mm/s) Z axis feedrate (not used for delta printers)
#endif

настраиватьхолостой ходчас Форсуночная станциясуществоватьпозиция,идавать возможность G27

Очистка форсунок

Язык кода:javascript
копировать
//#define NOZZLE_CLEAN_FEATURE
#if ENABLED(NOZZLE_CLEAN_FEATURE)
  ...
#endif

добавить в G12 Заказк Выполните процедуру очистки форсунок。связанныйдругой Конфигурация Параметры,пожалуйста ВидетьConfiguration.hвнутрииз Комментарий。

Распечатать таймер

Язык кода:javascript
копировать
#define PRINTJOB_TIMER_AUTOSTART

использовать M104,M109 и M190 команда, автоматически запускается и Остановите таймер задания печати.возвращатьсядобавить Для управления таймером используются следующие команды:

  • M75 Запустите таймер задания печати.
  • M76 Приостановить таймер задания печати.
  • M77 Остановите таймер задания печати.

Распечатать статистику

Язык кода:javascript
копировать
//#define PRINTCOUNTER

Статистика печати всего、Количество успехов/неуспехов、总Распечататьвремя,Можетиспользовать M78 Посмотреть этическую информацию

Язык ЖК-дисплея

язык интерфейса

Язык кода:javascript
копировать
#define LCD_LANGUAGE en

выбрать язык интерфейса, последние версии языков поддержки можно найти по адресу src/core/language.h попытаться найтиприезжать

Набор символов HD44780

Язык кода:javascript
копировать
#define DISPLAY_CHARSET_HD44780 JAPANESE

Эта опция доступна только дляна основехарактеризпоказывать。Надо посмотреть повнимательнееConfiguration.hсерединаиз Комментарий

Тип ЖК-дисплея

Язык кода:javascript
копировать
//#define ULTRA_LCD // Character based
//#define DOGLCD    // Full graphics display

Базовый тип ЖК-дисплея основан на характеристикахилиграфикаиз. в целом Marlin Автоматически выберет поддержку из Тип ЖК-дисплея. если ты из LCD Поддержка, подача должна быть избирательной возможность Эти Параметры。

SD-карта

Язык кода:javascript
копировать
#define SDSUPPORT // Enable SD Card Support in Hardware Console

Если вы хотите использовать SD-карта, печать в автономном режиме, обязательно подарите возможностьэтот

Язык кода:javascript
копировать
//#define SPI_SPEED SPI_HALF_SPEED
//#define SPI_SPEED SPI_QUARTER_SPEED
//#define SPI_SPEED SPI_EIGHTH_SPEED

Отмена Комментарий Эти Параметры№1Можетиспользоватьпомедленнееиз SPI Скорость передачи. Это обычно устраняет ошибки инициализации тома.

CRC включена

Язык кода:javascript
копировать
//#define SD_CHECK_AND_RETRY

SD-картапроцесс общенияиспользовать CRC исследовать

Ручка

разрешение

Язык кода:javascript
копировать
//#define ENCODER_PULSES_PER_STEP 1

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

Язык кода:javascript
копировать
//#define ENCODER_STEPS_PER_MENU_ITEM 5

Эта опция перемещает необходимое количество шагов между пунктами меню.

направление

Язык кода:javascript
копировать
//#define REVERSE_ENCODER_DIRECTION
//#define REVERSE_MENU_DIRECTION

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

  • Меню и ценности Исправлять перевернуты, давая возможностьREVERSE_ENCODER_DIRECTION
  • Только меню наоборот, давая возможностьREVERSE_MENU_DIRECTION
  • Только значение Исправлять перевернуто, оба дают возможность.

зуммер

Язык кода:javascript
копировать
//#define SPEAKER

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

Язык кода:javascript
копировать
//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
//#define LCD_FEEDBACK_FREQUENCY_HZ 1000

Звук по продолжительности и частоте. Измените их настройки на 0 Можно отключить LCD Звуковая обратная связь в меню. использовать M300 Тестовый аудиовыход S <частотаHz> P <продолжениевремяms>

ЖК-панель управления

Marlin поддерживает множество интерфейсов управления. Существует два наиболее популярных интерфейса ЖК-дисплея:

REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLERприноситьточка Ударное колесоизмонохромныйна основе128 x Контроллер с 64-пиксельным ЖК-дисплеем. Способен отображать простую растровую графику длиной до 5 строк текста. (верхняя половина изображения).

REPRAP_DISCOUNT_SMART_CONTROLLERодин20 x 4характеристика ЖК-контроллер с циферблатом (нижняя половина изображения).

Большинство других ЖК-контроллеров представляют собой улучшенные версии Этииз. другойтипcanссылка официальная:

характер / графика LCD

Матрица кнопок

I2C характер / графика LCD

Дополнительные возможности

Быстрый ШИМ-вентилятор

Язык кода:javascript
копировать
//#define FAST_PWM_FAN

Добавить вентилятор PWM частота。Можетсуществоватьconfiguration_adv.hдокументсередина Корректированиечастотаи Коэффициент масштабирования。

Использование программного ШИМ для управления вентилятором

Язык кода:javascript
копировать
//#define FAN_SOFT_PWM
#define SOFT_PWM_SCALE 0
//#define SOFT_PWM_DITHER

Использование программного ШИМ для управления вентилятором。этотиспользовать Понятноочень низкийизчастота。есличастотаслишком низко,пожалуйста УвеличиватьSOFT_PWM_SCALE。еслисуществоватьSOFT_PWM_SCALEнастраиватьбольше, чем 0 изценитьчассталкиватьсяприезжатьразрешениепотеря,но МожетиспользоватьSOFT_PWM_DITHERоблегчитьэто。

Индикатор состояния температуры

Язык кода:javascript
копировать
//#define TEMP_STAT_LEDS

использовать LED добавить втемператураиндикация состоянияустройство。

штифт затвора

Язык кода:javascript
копировать
//#define PHOTOGRAPH_PIN     23

использоватьM240Приходить Фотография,И этот штифт используется для срабатывания затвора камеры.

Исправлена ​​ошибка дуги SkeinForge.

Язык кода:javascript
копировать
//#define SF_ARC_FIX

когдаиспользовать Arc Point В качестве процесса сопряжения используйте SkeinForge Фрагмент документа содержит ошибку изARC G-код. Этот параметр устраняет ошибку, но его следует сохранить.

Экструдирование пасты

Язык кода:javascript
копировать
// Support for the BariCUDA Paste Extruder.
//#define BARICUDA

Марлин включает пары Baricuda Extruder изподдержки, Baricuda Extruder также托管существоватьGitHubначальство,используется для 3D-печати сахара и шоколада. Функция добавить вкодM126,M127,M128иM129,используется дляControl Baricuda из насоса и клапана.

Бонус цветного светодиода RGB [Смешно]

Адресный индикатор цвета RGB доступен двумя способами:,этотдвадобрыйметод都использоватьM150 Rr Ug Bbнастраиватьцветкобозначение 0 приезжать 255 между RGB Часть.

Язык кода:javascript
копировать
//define BlinkM/CyzRgb Support
//#define BLINKM

BLINKM для некоторых LCD Контроллер обеспечивает подсветку. использовать I2C информациянастраивать Чтоцвет。

Язык кода:javascript
копировать
//define PCA9632 PWM LED driver Support
//#define PCA9632

Филипс PCA9632 универсален PWM LED водить машину,использовать I2C Управление (Блинк М).

Язык кода:javascript
копировать
//#define RGB_LED
//#define RGBW_LED
#if ENABLED(RGB_LED)  ENABLED(RGBW_LED)
  #define RGB_LED_R_PIN 34
  #define RGB_LED_G_PIN 43
  #define RGB_LED_B_PIN 35
  #define RGB_LED_W_PIN -1
#endif

соединятьприезжать 5V Цифровые контакты RGB(W)LED , или подключение к месту проживания контролируется цифровыми контактами из MOSFETs RGB(W) Световая панель, ее необходимо включить.

Этот назначает цифровые контакты каждому компоненту и может просто использовать RGB ВЕЛ. Если эти вывод способен выполнять аппаратные функции ШИМ, вы можете использовать различные цвета. Если сипользовать простой цифровой пин-код, вы можете использовать только 7 добрыйцвет。добавить вM150ЗаказкнастраиватьLED(илиLEDсветовая полоса)цвет。еслиприколотьиметь PWM функции (например, 4, 5, 6, 11), вы можете изменить значение яркости в диапазоне настроек на 0 к 255。

Светодиодный драйвер Adafruit Neopixel

Язык кода:javascript
копировать
//#define NEOPIXEL_LED
#if ENABLED(NEOPIXEL_LED)
  #define NEOPIXEL_TYPE   NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h)
  #define NEOPIXEL_PIN     4       // LED driving pin
  //#define NEOPIXEL2_TYPE NEOPIXEL_TYPE
  //#define NEOPIXEL2_PIN    5
  #define NEOPIXEL_PIXELS 30       // Number of LEDs in the strip, larger of 2 strips if 2 neopixel strips are used
  #define NEOPIXEL_IS_SEQUENTIAL   // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once.
  #define NEOPIXEL_BRIGHTNESS 127  // Initial brightness (0-255)
  //#define NEOPIXEL_STARTUP_TEST  // Cycle through colors at startup
  //#define NEOPIXEL_BKGD_LED_INDEX  0               // Index of the LED to use
  //#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W
#endif

NEOPIXELS (Чиновники такие ленивые)

Светодиодные индикаторы управления в зависимости от состояния принтера

Язык кода:javascript
копировать
#if ENABLED(BLINKM)  ENABLED(RGB_LED)  ENABLED(RGBW_LED)  ENABLED(PCA9632)
  #define PRINTER_EVENT_LEDS
#endif

Данная опция позволяет установить цветной светодиод, BLINKM или PCA9632. Отправить отзыв о статусе:

Когда температура достигает целевой температуры, она постепенно меняет цвет с синего на фиолетовый.

По мере повышения температуры фиолетовый цвет постепенно меняется на красный.

Измените цвет на белый, чтобы сделать рабочую поверхность ярче.

Загорается зеленым, когда печать завершена.

Закрывается после завершения печати и нажатия пользователем кнопки.

рулевой механизм

Язык кода:javascript
копировать
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command

Можетиспользоватьрулевой Количество механизмов. Обычно появляется в Z Гнездовой зонд, состоящий из вращающегося рычага – начальноеизограничитель. Для подключения одного из разъемов сервопривода используется Для этого типа зонда см. параметры зонда, указанные в разделе «Начальные настройки». Z_ENDSTOP_SERVO_NR。

Язык кода:javascript
копировать
#define SERVO_DELAY 300

Задержка перед началом следующего действия (единица измерения: мм),Чтобы время сервопривода достигло целевого угла. 300 мс — хороший выбор,Но можно попытаться уменьшить задержку. изображение достаточно большое из-за задержки,Это дает серверу достаточно времени для завершения полного перемещения перед деактивацией.

Язык кода:javascript
копировать
//#define DEACTIVATE_SERVOS_AFTER_MOVE

давать возможностьэтотрулевой Механизм питается только во время движения, что предотвращает дрожание. Мы рекомендуем давать Эта опция для предотвращения активной рулевой возможности. Механизм генерирует электронный шум, который мешает работе других компонентов. Высокая сила тока, генерируемая проводкой двигателя экструдера во время движения, также может вызвать колебания в активной сервосистеме. Оставьте этот вариант предоставления Статус возможности позволяет избежать проблем с сервоприводом.

Configuration_adv.h

дайте немного времени


> вестииспользоватьс:「GeanRain Printer

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода