Marlin программа что это

Содержание

Обновление прошивки Marlin — Пошаговое руководство

Примечание: Этот вопрос предназначен как вики-страница для включения всех шагов, необходимых для обновления вашего принтера с помощью самонастраиваемой версии прошивки Marlin. Ответ-это wiki, которая в настоящее время находится в разработке и может быть просмотрена (и отредактирована) всеми пользователями.

У меня есть принтер, и мне нужно обновить прошивку Marlin , чтобы сделать кое-что по своему вкусу, особенно убедиться, что у меня есть TRP, есть восстановление потерь энергии, а затем сделать PID-настройку. Я также не уверен, что загрузчик прошит. Итак, мне нужно пошаговое руководство, чтобы:

  • подготовьте мой принтер к перепрошивке
  • настройте мою прошивку Marlin
  • поставьте мою новую прошивку Marlin на мой принтер

1 ответ

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

Шаг 0: извлечение старых настроек и настройка

Первый шаг-это получить себе печать программное обеспечение, которое имеет консоль или терминал , как в Repetier-хост, Pronterface (в рамках тираж программный пакет), OctoPrint или любой другой инструмент (например, последовательное соединение замазкой также строительство), что позволяет взаимодействовать с принтером, чтобы извлечь параметры у нас уже есть. Как только мы установим программное обеспечение и подключим принтер, отправьте M503 и скопируйте старые настройки в файл для последующего использования.

Как установить Marlin 2 на 32-битные платы? На примере VSCode и SKR 1.3

Далее, нам нужно наше окружение развития. Как правило, вы хотите использовать среде разработки Arduino (но PlatformIO плагин как часть Visual Studio кода может быть использован как для Ардуино на основе микропроцессоров, как 32-разрядных процессоров), но для этого нужно знать, какие борту платы управления принтера выводится из-за некоторых советов родной Иды, которые работают лучше для них.

Шаг 1: Выбор прошивки

По некоторым показателям начала 2020 года около 80% всех отгруженных машин, работающих под управлением Marlin, так или иначе нуждаются в цитировании . Наиболее плодовитые версии Marlin на тот момент часто упоминаются как 1.1.9 и 2.x. Поскольку все, что было до 1.1.9, очень устарело и в любом случае нуждается в обновлении, мы рассмотрим только 1.1.9 и 2.x. Версия 2.x была разработана для включения 32-битных микропроцессоров, но совместима с 8-битными микропроцессорными печатными платами. Однако, как показывает скачок версии, 2.x-это в значительной степени полная переписка, так что сделайте свой выбор и перейдите к правильному следующему шагу.

Марлин 1.1.x

Как правило, вы начинаете с того, что хватаете пустой Marlin 1.1.9. Следующий шаг — изменить статические настройки принтера, чтобы они соответствовали вашим в конфигурации.h -лучше всего использовать настройки из того, что мы вытащили ранее через M503 в качестве старта. Кроме того, вы можете искать конфигурацию вашего принтера между известными конфигурационными файлами. Вам нужно, по крайней мере, настроить их:

Для связи и диаметра нити:

[Устарело] Конфигурация и установка прошивки Marlin 1.1.9


#define BAUDRATE 250000 // Generally expected filament diameter (1.75, 2.85, 3.0, . ). Used for Volumetric, Filament Width Sensor, etc. #define DEFAULT_NOMINAL_FILAMENT_DIA 3.0

Выберите правильные температурные таблицы и обязательно включите ту, что стоит за столом, если она у вас есть!

#define TEMP_SENSOR_0 1 [. ] #define TEMP_SENSOR_BED 0

Далее идут два блока, которые устанавливают температурную зону «это нормально» для хотендов и стола соответственно (только хотенд показан здесь).

// Extruder temperature must be close to target for this long before M109 returns success #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.

Следующий слот является важной функцией безопасности: Mintemp и Maxtemp. Если вы серьезно, положительно знаете, что ваш hotend может сделать больше, чем 275 °C (что означает, что у вас есть цельнометаллический hotend), НЕ трогайте Maxtemp, но вы можете установить Mintemp в 0 °C, если хотите.

Далее идут настройки PID-тюнинга, с ними нужно работать только в том случае, если вы знаете, что делаете.

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

#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders #define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed

Если ваш принтер CoreXY или аналогично использует 2 ремня для перемещения вдоль 2 оси, вы смотрите на вкладку Механические настройки и изменяете ее там, в противном случае мы переходим дальше к настройкам Endstop. Включите (удалите ведущий // ) max-endstops, если они у вас есть, остальные обычно не нужны на большинстве машин потребительского класса, затем перейдите к настройкам движения. Из нашего M503 мы берем настройки, чтобы заполнить следующее:

#define DEFAULT_AXIS_STEPS_PER_UNIT < 80, 80, 4000, 500 >#define DEFAULT_MAX_FEEDRATE

Если у вас есть зонд, вы просматриваете Параметры Z-зонда и следуете руководству 0scar здесь, в противном случае пропускаете его, пока не найдете следующий фрагмент. Закрепите его так, чтобы он соответствовал вашему столу и зоне движения. Возможно, вам придется установить значения для конечного упора на исходное расстояние стола. Эти смещения, X_MIN_POS и Y_MIN_POS , должны содержать правильные значения для центрирования стола; см. раздел «Как центрировать мои отпечатки на платформе сборки? (Повторная калибровка смещения самонаведения) «.

// Размер печатного стола #define X_BED_SIZE 200 #define Y_BED_SIZE 200 // Ограничения хода (мм) после самонаведения, соответствующие позициям упора. #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 200

Затем раскомментируйте (удалите ведущую // ) следующую строку:

//#define EEPROM_SETTINGS // Enable for M500 and M501 commands

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

//#define NOZZLE_PARK_FEATURE #if ENABLED(NOZZLE_PARK_FEATURE) // Specify a park position as < X, Y, Z >#define NOZZLE_PARK_POINT < (X_MIN_POS + 10), (Y_MAX_POS — 10), 20 >#define NOZZLE_PARK_XY_FEEDRATE 100 // X и Y оси скорость подачи в мм/с (также используется для дельта принтеров Z оси) #define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (не используется для дельта-принтеров) #endif

Мы на финишной прямой, осталось всего несколько вещей в этом файле! Выберите свой язык с помощью строки:

#define LCD_LANGUAGE en

Включите слот SD-карты, раскомментировав

//#define SDSUPPORT

Последний шаг, который нам нужно изменить в конфигурации.h -это выбор правильного ЖК-контроллера. Раскомментируйте строку, соответствующую вашему принтеру — возможно, вам потребуется использовать общий параметр.

Марлин 2.x

Снова возьмите 2.x marlin, либо пустую базу, либо предварительно настроенную версию. Для некоторых стилей принтера (например, Delta) вы должны взять специализированный набор. Затем мы смотрим на наш выход M503 и устанавливаем скорость связи и нашу материнскую плату (или плату, из которой она получена), затем количество экструдеров и диаметр нити филамента:

#define BAUDRATE 250000 #ifndef MOTHERBOARD #define MOTHERBOARD BOARD_RAMPS_14_EFB #endif #define EXTRUDERS 1 #define DEFAULT_NOMINAL_FILAMENT_DIA 3.0

Далее переходим к тепловым настройкам! Нам нужна правильная таблица датчика температуры для hotend и стола, возможно, мы могли бы снизить MINTEMP до 0. Не трогайте MAXTEMP, если вы не знаете, что делаете, и у вас есть полная металлическая настройка, и вы знаете, что ваша машина может взять больше.

#define TEMP_SENSOR_0 1 [. ] #define TEMP_SENSOR_BED 0

Наш следующий шаг-убедиться, что ГТО включен. Убедитесь, что в этих строках нет ведущих //

#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

Если принтер CoreXY или похож, включите стиль в области механические настройки.

Включите (удалите ведущий //) max-endstops, если они у вас есть, остальные обычно не нужны на большинстве машин потребительского класса, затем перейдите к настройкам движения. Из нашего M503 мы берем настройки, чтобы заполнить следующее:

#define DEFAULT_AXIS_STEPS_PER_UNIT < 80, 80, 4000, 500 >#define DEFAULT_MAX_FEEDRATE

Если у вас есть зонд, вам нужно настроить его — 0scar имеет частичную направляющую — и все это находится в области параметров зонда Z! В противном случае продолжайте. Нам нужно спуститься, и в середине установки зонда мы находим настройки стола. Настройте их так, чтобы они соответствовали вашему принтеру и, возможно, смещению от домашних переключателей до угла объема сборки.

// The size of the print bed #define X_BED_SIZE 200 #define Y_BED_SIZE 200 // Ограничения хода (мм) после самонаведения, соответствующие позициям упора. #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 200

Переходим к Дополнительным функциям! Давайте включим EEPROM, раскомментировав (удалив // ).

//#define EEPROM_SETTINGS // Постоянное хранилище с M500 и M501

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

#define LCD_LANGUAGE en //#define SDSUPPORT

Наша последняя остановка при настройке основы-выбор ЖК-дисплея / контроллера. Нам нужно раскомментировать правильный вариант здесь. Если вы не найдете свой, используйте общий.

Шаг 2: Подготовка платы

Здесь есть 2 варианта: либо вы используете загрузчик, либо готовите .hex-файл для перезаписи всей прошивки. В любом случае, нам нужно знать, какая плата у нас есть, чтобы мы могли скомпилировать с правильной кодировкой и настройкой. Возможно, вам потребуется установить соответствующее расширение!

2.1 — Загрузчик

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

Читайте также:
Гугл таблицы что за программа

Для прошивки загрузчика вам нужно иметь Arduino и несколько кабелей или другой инструмент программирования ISP или AVR. Полные инструкции можно найти здесь Greenonline и здесь Robert Lo Giacco и jpa.

Или вы берете свою панель управления в локальное пространство производителя и просите кого — то там помочь вам прошить загрузчик-в большинстве пространств производителя есть по крайней мере кто-то, у кого есть Arduino и может помочь вам!

2.2 — .hex файл

В этом случае нам не нужно ничего делать на этом этапе. Однако у нас будет другой процесс установки.

Шаг 3: Компиляция и установка прошивки

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

3.1 — Загрузчик

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

M301 P##.## I#.## D##.## M500

Источник: 3d-printery.ru

Marlin/ru

Ведущие разработчики Марлин в настоящее время EvdZ и bkubicek, многие другие вносят свой вклад в виде патчей. Это прошивка для однопроцессорных плат типа Ардуино. Марлин также работает на платах Ultimaker. Поддерживает печать с карты памяти SD, в том числе и с вложенных папок, имеет упреждающее планирование траекторий.

Эта прошивка распространяется по лицензии GNU GPL v3 или (по желанию пользователя) любой более поздней версии. Она основана на прошивке Sprinter , которая была лицензирована под GPL v2.

Работает на RAMPS 1.4, Ultimaker и Sanguinololu. Возможно работает на Generation_6_Electronics, и других аналогичных платах.

Contents

  • 1 Общая информация
  • 1.1 Отличия и дополнения от Спринтер
  • 1.2 Не стандартные M-Коды, Не совпадающие со старой версией Спринтера:

Общая информация

Эта прошивка гибрид от Sprinter и grbl со множеством оригинальных деталей и дополнений.

Основа прошивки — Sprinter и Grbl. Спринтер разработали Климент и caru. Ведущим разработчиком Grbls является Симен Svale Skogsrud. Sonney Чон (Chamnit) улучшил некоторых части grbl для Ultimaker , и дальнейшее развитие опиралось на него. Некоторые функции были добавлены: Lampmaker, Брэдли Фельдман и другими .

Особенности:

  • Ступенчатое движение на основе реальных ускорений
  • Высокая частота шага
  • Анализ следующих шагов (Позволяет поддерживать высокую скорость, когда это возможно.)
  • Прерывание движение, основанное на реальных линейного ускоренияч
  • Защита по температуре
  • Поддержка алгоритма Мэттью Робертс Подробнее см. : http://reprap.org/pipermail/reprap-dev/2011-May/003323.html
  • Полная поддержка концевиков
  • Поддержка SD карт
  • Поддержка папок SD Card
  • Поддержка автоматического запуска SD Card
  • поддержка ЖК (максимум 20×4 )
  • Система ЖК меню для автономной печати с SD карты , управляется клик- кодера .
  • EEPROM память для хранения макс — скорость , максимального ускорения, и подобных переменных.
  • Температура передискретизация
  • Динамический Температура setpointing ака » AutoTemp «
  • Поддержка QTMarlin , очень бета GUI для ПИД -тюнинга и тестирования скорость ускорения . https://github.com/bkubicek/QTMarlin
  • Фиксатор триггер отчетности в программном обеспечении .
  • Обновлено sdcardlib
  • Нагреватель отчетности питания . Полезно для ПИД мониторинга .
  • ПИД тюнинг
  • CoreXY кинематика ( www.corexy.com / theory.html )
  • кинематика Delta
  • Поддержка двух X- каретка для нескольких систем экструдера
  • Настраиваемые последовательный порт для поддержки подключения беспроводных адаптеров .
  • Автоматический режим работы вентиляторов экструдер / холодной конец охлаждения на основе температуры сопла

RC серво Поддержка , угол или длительность непрерывных сервоприводов вращения указать .

  • Постельное Авто Выравнивание .

The default baudrate is 250000. This baudrate has less jitter and hence errors than the usual 115200 baud, but is less supported by drivers and host-environments.

Отличия и дополнения от Спринтер

Marlin обеспечивает упреждающий просчет рывков. Без этого происходила бы полная остановка с последующим ускорение в каждом углу. Lookahead will only decelerate and accelerate to a velocity, so that the change in vectorial velocity magnitude is less than the xy_jerk_velocity. This is only possible, if some future moves are already processed, hence the name. It leads to less over-deposition at corners, especially at flat angles.

Поддержка дуги:

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

Устранения шума дискретизации:

Для устранения шума дискретизации, чтобы сделать PID точнее, 16 АЦП измерений температуры усредняются.

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

Теперь это можно сделать при помощи функций AutoTemp . Вы можете включить режим AutoTemp путем указания M109 без указания значения F. Когда режим активирован максимальная скорость шагов экструдера высчитываться, и называется «maxerate» шаг/сек. Требуемая температура затем будет рассчитана как Т = tempmin+factor*maxerate, и ограниченна между tempmin и tempmax. Если температура устанавливается вручную или с помощью GCode в значение менее tempmin, она будет сохраняться без изменений. В идеале, ваш Gcode может быть полностью свободным от указания температуры , кроме M109 S T F в начале, и M109 S0 в конце gcode.

Позволяет хранить данные о скорости, ускорениях, значениях PID в EEPROM. Откуда они будут прочитаны после загрузки, независимо от того, что сказано у вас Configuration.h (позволяют менять и сохранять значения без компиляции прошивки).

Если ваше оборудование позволяет, вы можете использовать LCD + CardReader+ Энкодер. Это позволит менять в реальном времени температуру, ускорения, скорости перемещения, печатать с SD карты без помощи компьютера, и.т.д. Пример рабочего железа можно посмотреть например тут: http://www.thingiverse.com/thing:12663.

Поддержка папок на SD карте:

Если у вас есть кардридер, вы можете использовать папки. Листинг файлов в pronterface покажет «/путь/подпуть/file.g» . Вы можете поместить файл в папку. (Скрываются резервные копии различных операционных систем, а также файлы которые не заканчиваются на «.g» ).

Уведомление срабатывания концевика:

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

Парадигма программирования:

Не важно для пользователя, но Марлин был разделен на тематические куски, и попытался по возможности применяются локальные переменные. Это сделано для того, чтобы сделать код более понятным, что с чем взаимодействует, это приводит к более высокому уровню модульности. Мы считаем, что это является предварительным шагом для портирования этой прошивки на платформу ARM в будущем. Много оперативной памяти (с поддержкой LCD ~ 2200 байт ) было сохранено путем хранения строк сообщений в памяти программы. В последовательном соединение, #define-based уровень абстракции был осуществлен, таким образом, ясно что, некоторая передача информации (обычно начинающийся с «echo:»), ошибка «error:», или как нормальный протокол, необходимый для обратной совместимости.

Измерение температуры основанное на прерываниях:

Для АЦП измерений используются прерывания. Это позволяет сократить блокировку в процедуре управления нагревателем.

Не стандартные M-Коды, Не совпадающие со старой версией Спринтера:

  • G2 — CW ARC
  • G3 — CCW ARC
  • M17 — Включить питание на всех шаговых двигателях. Введена для совместимости с ReplicatorG.
  • M18 — Отключить все шаговые двигатели; то же что M84.Введена для совместимости с ReplicatorG.
  • M30 — Print time since last M109 or SD card start to serial
  • M42 — Изменить состояние пина через gcode
  • M80 — Включить электропитание
  • M81 — Выключить электропитание
  • M114 — Показать текущую позицию
  • M119 — Показать состояние концевых выключателей

Movement variables:

  • M202 — Установить максимальное ускорение в единицы/с^2 для перемещений. (M202 X1000 Y1000) Не используется в Marlin!!
  • M203 — Установить максимальные скорости перемещения (M203 X200 Y200 Z300 E10000) в мм/с
  • M204 — Установить ускорения по умолчанию: S нормальные движения T filament only moves (M204 S3000 T7000) в мм/сек^2 также устанавливает минимальное время сегмента в мс (B20000) для предотвращения опустошения буфера и минимальный подачи M20
  • M220 — set build speed mulitplying S:factor in percent ; aka «realtime tuneing in the gcode». So you can slow down if you have islands in one height-range, and speed up otherwise.
  • M301 — Установить параметры PID, P I и D
  • M303 — Автонастройка PID, S = необходимая температура.
  • M400 — Завершить все буферизованные движения.
  • M200 — Задать диаметр нити
  • M205 — дополнительные настройки: минимальная скорость S = во время печати Т = во время перемещения, B = минимальный временной сегмент X = максимальная ху рывок, Z = максимальная Z рывок
  • M500 — Сохранить параметры в EEPROM
  • M501 — Считать параметры из EEPROM (если вам необходимо восстановить параметры после того как вы их вручную изменили).
  • M502 — Вернуть настройки к «заводским» (прописанным в прошивке).
  • M503 — Отобразить текущие настройки (из памяти, не из eeprom)

Настройка и компиляция:

Скачать и установить программу Arduino IDE v0.22 http://www.arduino.cc/en/Main/Software (последняя доступная версия 1.6.5)

Для плат Gen6 и Sanguinololu папку Sanguino в папке Marlin нужно скопировать в Arduino environment. Копировать Marlinsanguino hardwareSanguino

Установить Ultimaker’s RepG 25 build http://software.ultimaker.com для поддержки SD и как лучшая замена (apart from stl manipulation) download the very nice Kliment’s printrun/pronterface https://github.com/kliment/Printrun

Скопировать Ultimaker Marlin firmware https://github.com/ErikZalm/Marlin/tree/Marlin_v1 (Use the download button)

Запустить Arduino IDE. Выберите меню «Tools -> Board -> Arduino Mega 2560» или ваш микроконтроллер. Выберите правильный серийный порт в меню «Tools ->Serial Port». Откройте Marlin.pde (для Arduino IDE версии выше 1.0 файл Marlin.ino)

Кликнуть на кнопку Verify/Compile

Кликнуть на кнопку Upload. Если все будет хорошо то прошивка загрузиться.

Start Ultimaker’s Custom RepG 25. Убедитесь что Show Experimental Profiles включен в «Preferences -> Select Sprinter as the Driver»

Нажмите кнопку Connect.

Отчеты об ошибках

ИЗВЕСТНЫЕ ПРОБЛЕМЫ: RepG пишет на экране: Unknown: marlin x.y.z

Для сообщения о новых ошибках используйте Issue tracker on github

Источник: reprap.org

Настраиваем прошивку Marlin и заливаем её в 3D принтер

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

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

Многие 3D принтеры работают под управлением популярной прошивки Marlin. Прошивка изначально сконфигурирована для Ultimaker Original. Разберём основные настройки для других 3D принтеров.

Прошивка лежит по этому адресу. Качаем. Давим на кнопку Download ZIP. Скачивается архив Marlin-Development.zip. Распаковываем его в выбранную папку.

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Теперь скачиваем Arduino IDE для исправления и загрузки прошивки в 3D принтер. Ссылка. Давим на Windows Installer. Скачивается установщик arduino-1.6.0-windows.exe. Запускаем его и устанавливаем среду Arduino IDE.

Переходим в папку с прошивкой и запускаем файл Marlin.ino.
Открывается среда Arduino IDE с прошивкой. Нам нужна вкладка Configuration.h.

В начале мы видим ссылки на калибровку 3D принтера. Пролистываем дальше и читаем: ‘Это конфигурационный файл с основными настройками. Выберите тип контроллера, тип температурного датчика, откалибруйте перемещения по осям и сконфигурируйте концевые выключатели.’

Начнём с выбора контроллера (MOTHERBOARD). Список контроллеров находится во вкладке boards.h. Давим на треугольник в правом верхнем углу и выбираем boards.h.

Читайте также:
Asus splendid что это за программа

Теперь посмотрим на установленную электронику. Вот некоторые типы плат:

Настраиваем прошивку Marlin и заливаем её в 3D принтер

RAMPS 1.4

Настраиваем прошивку Marlin и заливаем её в 3D принтер

У меня стоит RAMPS 1.4.

Заменяю в configuration.h ‘MOTHERBOARD BOARD_ULTIMAKER’ на ‘MOTHERBOARD BOARD_RAMPS_13_EFB’.

#define MOTHERBOARD BOARD_RAMPS_13_EFB

Следующим выбираем датчик температуры — термистор. Видим большой список ‘//// Temperature sensor settings:’. У меня стоит хотэнд E3D-v5 и китайский термистор на столе. Для E3D-v5 я выбираю ‘// 5 is 100K thermistor — ATC Semitec 104GT-2’, для стола ‘// 1 is 100k thermistor — best choice for EPCOS 100k’. Если тип термистора неизвестен можно выбрать 1, а если температура не понравится можно выбирать любой и тестировать.

Меняю.

100K thermistor — ATC Semitec 104GT-2

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Обычный китайский термистор 100К

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Ограничение максимальной температуры хотэнда ‘#define HEATER_0_MAXTEMP 275’.

Ограничение минимальной температуры хотэнда ‘#define EXTRUDE_MINTEMP 170’.

Если концевой выключатель подключен не стандартно и его состояние нужно инвертировать, то это можно сделать в прошивке, не перепаивая провода. Значения false или true. Команда M119 (например в Pronterface) показывает состояние концевых выключателей. У меня концевые выключатели стоят только в позиции HOME на MAX.

В положении HOME

В положении отличном от HOME по всем осям

Мне ничего менять не потребовалось.

const bool X_MIN_ENDSTOP_INVERTING = true;

const bool Y_MIN_ENDSTOP_INVERTING = true;

const bool Z_MIN_ENDSTOP_INVERTING = true;

const bool X_MAX_ENDSTOP_INVERTING = true;

const bool Y_MAX_ENDSTOP_INVERTING = true;

const bool Z_MAX_ENDSTOP_INVERTING = true;

Изменение направления вращения шаговых двигателей, значения false или true. Правильные перемещения сопла относительно стола:

— По оси X — влево ‘-‘, вправо ‘+’.

— По Y — вперёд ‘+’, назад ‘-‘.

— По оси Z — сближение ‘-‘, удаление ‘+’.

— Экструдер. Extrude — выдавливание нити, Reverse (retract) — откат, втягивание нити.

#define INVERT_X_DIR false

#define INVERT_Y_DIR false

#define INVERT_Z_DIR false

#define INVERT_E0_DIR true

Дальше идёт настройка концевых выключателей. Нам нужно узнать где они расположены. Как это узнать? Начало координат находится в ближнем левом углу на поверхности стола, если сопло вывести в эту точку, то сработали бы концевики MIN, если в правую дальнюю верхнюю — сработают MAX. У меня в положении HOME находятся три концевых выключателя MAX, поэтому мои установки

// Sets direction of endstops when homing; 1=MAX, -1=MIN

#define X_HOME_DIR 1

#define Y_HOME_DIR 1

#define Z_HOME_DIR 1

Установка габаритов перемещения, после инициализации в положении HOME. Здесь мы задаём габариты рабочей зоны по X и Y, а также настройку сопла относительно стола.

Если при касании стола соплом срабатывает концевой выключатель (MIN), как у Ultimaker Original, то поднастройка сопла относительно стола выполняется перемещением концевого выключателя, а в ‘#define Z_MAX_POS’ записываем значение координаты при максимальном удалении сопла от стола. Координату можно узнать по команде М114 или посмотрев на экран дисплея.

Если концевой выключатель по Z срабатывает при максимальном удалении сопла от стола (MAX), то нужно найти габарит по Z самостоятельно. Устанавливаем значение ‘#define Z_MAX_POS’ изначально больше нормы, например 250 при габарите 200 мм. Опускаем сопло до касания стола и на дисплее (или по команде M114) видим координату больше нуля, теперь вычтем из установленного большого значения полученную координату и получим габарит по Z, который теперь запишем в ‘#define Z_MAX_POS’. По итогам печати первого слоя можно будет подкорректировать это значение.

// Travel limits after homing

#define X_MAX_POS 215

#define X_MIN_POS 0

#define Y_MAX_POS 215

#define Y_MIN_POS 0

#define Z_MAX_POS 200

#define Z_MIN_POS 0

Можно подкорректировать скорость перемещения в положение HOME.

#define HOMING_FEEDRATE // set the homing speeds (mm/min)

Переходим к самому важному. Настройка шагов перемещения по осям. Экструдер тоже ось. Мои настройки.

Теперь посмотрим, как я их получил. По всем осям стоят шаговые двигатели 200 шагов на оборот, 16 микрошагов на шаг (устанавливается перемычками на плате). По осям X и Y стоит приводной ремень GT2 с шагом 2 мм и 20-ти зубые шкивы, итого получаем формулу (200*16)/(2.0*20). По оси Z стоят шпильки М8 с шагом резьбы 1,25 мм, итого формула 200*16/1.25.

Находим спецификации (даташит) на установленные шаговые двигатели. Видим, что за один шаг вал поворачивается на 1,8 градуса, а это значит 360/1,8=200 шагов на полный оборот. Этот параметр одинаковый у большинства шаговых двигателей устанавливаемых в домашние 3D принтеры.

Профили ремней, обычно используемых на 3D принтерах и их шаг. Оригинал здесь, страница 61.

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Как померить шаг винта? Замеряем участок винта и считаем на нём витки, затем длину участка в миллиметрах делим на количество витков 20/16=1.25 мм. Для более точного результата замеряем участок максимальной длины.

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Настройка экструдера зависит от коэффициента редукции и диаметра подающей шестерни. Подберём экспериментально, после первой заливки прошивки в 3D принтер. Откручиваем сопло и уменьшаем ограничения минимальной температуры сопла до 5 градусов ‘#define EXTRUDE_MINTEMP 5’. Теперь экструдер будет работать при холодном сопле, что нам и нужно. Пока не меняем настройки экструдера.

Для настройки я использую программу Pronterface. Для начала ставим 50 мм и скорость 100 мм/сек. 50 мм — это длина прутка, проходящего через экструдер. Измеряем длину прутка прошедшего через экструдер линейкой или штангенциркулем.

Подбирая настройку экструдера добиваемся точной цифры на разумной длине прутка, например 300 мм. После настройки вернём ограничения минимальной температуры ‘#define EXTRUDE_MINTEMP 170’.

Следующие цифры — это ограничение максимальной скорости перемещения по осям. На X и Y я ставлю 200 мм, остальные не трогаю.

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

#define DEFAULT_ACCELERATION 1500

Осталось активировать LCD дисплей с SD картой. Свой дисплей я нашёл на RepRap.org и идентифицировал как RepRapDiscount Smart Controller.

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Раскомментируем (уберём двойные слэши) следующие строки:

Есть ещё один твик для повышения точности срабатывания некоторых концевых выключателей. При настройке нуля по Z столкнулся с тем, что после каждой инициализации HOME положение сопла над столом немного менялось. Порывшись в прошивке нашёл параметр отвечающий за инициализацию концевых выключателей. Переходим во вкладку Configuration_adv.h и ищем строку ‘#define Z_HOME_RETRACT_MM 2’, меняем значение 2 на 5 и больше не вспоминаем про этот параметр.

Пора заливать прошивку в контроллер. Для этого нужно в Arduino IDE правильно выставить тип платы и номер COM порта. Внизу окна отобразится тип платы и номер порта. Не забываем сохранять изменения (Ctrl+S).

Для выбора нужной платы в Arduino IDE нужно скопировать с заменой всё из папки с прошивкой ‘Marlin-DevelopmentArduinoAddonsArduino_1.5.xhardwaremarlinavr’ в папку Arduino IDE ‘C:Program Files (x86)Arduinohardwarearduinoavr’. После этого появляется возможность выбрать плату Sanguino (базовая плата для Melzi) и нужный тип процессора. У меня нет платы Melzi, поэтому проверить не могу.

Для заливки прошивки нажимаем на круг со стрелкой.
Прогресс заливки прошивки отображается индикатором

После того, как всё заработает нужно откалибровать PID нагрева хотэнда и стола. Для этого я использую Pronterface. Вводим команду ‘M303 E0 C8 S260’. Где M303 — команда калибровки, E0 — хотэнд, C8 — количество циклов нагрева-охлаждения, S260 — типичная температура работы сопла.

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

#define DEFAULT_Kp 12.22

#define DEFAULT_Ki 0.58

#define DEFAULT_Kd 64.08

По такой же схеме калибруем PID стола. Команда ‘M303 E-1 C8 S110’. Где E-1 — стол, S110 — типичная температура нагрева стола. Последние результаты записываем в прошивку. У меня стол нагревается очень медленно и поэтому приходится перезапускать команду из-за ошибки Timeout.

#define DEFAULT_bedKp 105.94

#define DEFAULT_bedKi 4.97

#define DEFAULT_bedKd 564.11

Как узнать уже прошитые в 3D принтер параметры чтобы не калибровать повторно?

Параметры установленные в прошивке можно узнать в программе Repetier-Host через меню КонфигурацияКонфигурация EEPROM. Предварительно нужно указать COM порт в настройках и нажать кнопку ‘Подсоединить’.

При подключении 3D принтера к программе Pronterface в правой части окна выводится список параметров прошивки

Также параметры можно увидеть на LCD дисплее. Через меню ControlMotion.

Хотелось бы увидеть подобные инструкции для Delta принтеров, CoreXY и H-Bot 3D принтеров.

Критические замечания настоятельно приветствуются, так как впоследствии инструкция будет размещена в 3D-Вики. Также очень важно мнение новичков, так как всё это делается именно для Вас!

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

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

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

Источник: 3dtoday.ru

Marlin

Marlin

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

При первом открытии может действительно показаться, что это просто аналог Nautilus (точнее Nautilus Elementary). Поддерживаются вкладки, манипуляции с файлами (копирование, удаление, переименование, перемещение и т.д.), открытие файлов одним кликом, интеграция с интерфейсом Unity и многое другое. На самом деле Marlin имеет ряд интересных и полезных функций и в целом отличается от Nautilus.

Marlin запускается намного быстрее Nautilus и в целом работает быстрее.

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

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

Дополнительно в Marlin можно открыть контекстную панель (Context Pane), в которой отображаются данные о файле (папке), на которую наведен курсор мыши.

Еще одна интересная функция Marlin — это выделение названий папок и файлов цветом. Для этого нужно щелкнуть по папке/файлу правой кнопкой мыши и в открывшемся меню выбрать цвет, которым будет выделено название.

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

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

Функциональность программы можно расширить с помощью дополнительных плагинов (расширений). Например, доступны плагины для интеграции Ubuntu One и Dropbox в Marlin.

К недостаткам Marlin можно отнести малое количество доступных настроек программы.

Marlin пока не полностью переведен на русский язык.

Установка файлового менеджера Marlin в Ubuntu

Программы Marlin нет в официальных репозиториях Ubuntu. Поэтому, чтобы установить Marlin в Ubuntu, выполните последовательно следующие команды:

sudo add-apt-repository ppa:marlin-devs/marlin-daily sudo apt-get update sudo apt-get install marlin light-themes-marlinesqu

Для установки плагинов для Dropbox и Ubuntu One выполните команду:

sudo apt-get install marlin-plugin-dropbox marlin-plugin-ubuntuone

Источник: pingvinus.ru

¶ Marlin 3D Printer Firmware for Flying Bear 4S and 5

Это конфигурация официального Marlin для принтера Flying Bear Ghost 4S и 5 (плата MKS Robin Nano 1.x).

Читайте также:
Программа аванпост что это

Эта ветка содержит дополнительный код для работы с модулем MKS WIFI, установленным в FB4S и FB5. Загрузка файлов через стандартный plugin в Cura.

Прошивка работает на принтерах Flying Bear Ghost 4S и 5. Экран работает. WIFI работает.

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

¶ MKS WIFI модуль

¶ Работает

  • Отображение температуры в Cura
  • Просмотр содержимого SD карты
  • Удаление файлов с SD карты
  • Загрузка файлов на SD карту
  • Автоматический запуск печати при загрузке файла.
  • Настройка WIFI модуля (сеть и пароль)

¶ Не работает

  • Имена файлов на русском Переименуйте файл в Cura
  • Работает только с картами стандарта SD card v2.0 и новее. Это все карты от 1Гб и больше.
  • Отображение состояния принтера (печатает, не печатает) в Cura

¶ Как работает, как настроить

¶ Варианты прошивки

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

Вернуть стандартную прошивку можно в любой момент. Просто запишите ее на SD и включите принтер.

Для настройки под свои нужды, прошивку нужно собрать самостоятельно.

¶ Первое, что нужно сделать, после прошивки

Первое, что нужно сделать после прошивки, это проинициализировать EEPROM (память внутри принтера), сбросив настройки по-умолчанию. После прошивки там находится мусор, который может привести к совершенно необъяснимому поведению.

Делается это через меню Configuration -> Advanced settings -> Initialize eeprom.

¶ Как собрать прошивку самому

Нужная плата, Robin Nano, уже выбрана в качестве платы по-умолчанию. В меню Platformio можно не выбирать плату, а использовать сочетание клавиш Ctrl+Alt+B.

После компиляции, готовая прошивка лежит в .pio/build/mks_robin_nano35/Robin_nano35.bin

На SD карту нужно записывать именно Robin_nano35.bin, а не firmaware.bin

¶ Что нужно настроить, если собираете сами

Нужно настроить направления движения по осям под свои драйвера в файле Configuration.h (параметры INVERT_?_DIR, строка 1125).

По умолчанию стоят настройки под драйвера 2208/2209 на всех осях. В файле Configuration.h уже есть несколько готовых наборов настроек:

  • ALL_DRV_2208 — если установлены драйвера TMC 2208 или TMC 2209 на всех осях
  • FB_4S_STOCK — если установлены драйвера A4988 на всех осях. Это конфигурация для FB4S с стандартными драйверами.
  • FB_5_STOCK — конфигурация для FB 5 (2208 на осях X,Y и A4988 на Z,E)

В строке 1098 нужно выбрать только один из вариантов:

#define ALL_DRV_2208 //#define FB_4S_STOCK //#define FB_5_STOCK

¶ Настройки WIFI, если вы используете готовую прошивку

Настройки сети хранятся в самом ESP-модуле. Есть несколько вариантов настройки:

  • Если модуль уже был настроен, то возможно никакая настройка не понадобится
  • Если модуль не был настроен, либо по какой-то причине не смог подключиться к сети, то он запустится в режиме точки доступа с именем сети MKSWIFI. (вместо ? будут произвольные символы). Подключитесь к этой сети, откройте страницу по адресу 192.168.4.1 и установите нужные настройки сети.
  • Если вы собираете прошивку сами, есть возможность передать модулю настройки при запуске. Для этого в файле mks_wifi_settings.h можно задать параметры WIFI сети.
    Для того, чтобы эти настройки применялись при включении, «MKS_WIFI_ENABLED_WIFI_CONFIG» должен быть включен.

¶ Состояние WIFI

При успешном подключении к сети (или создании сети в режиме точки доступа) в стандартный UART, который выведен на USB разъем принтера, будет выведен IP адрес и название сети, а так же IP адрес будет отображен на экране принтера.

¶ Как понять, что WIFI работает

При включении принтера, на экране отобразится статус «WIFI init»

Если ESP модулю удалось подключиться к сети, на экране будет IP адрес.

При старте передачи файла отображается «Upload file», в процессе загрузки отображается прогресс в процентах.

Если файл успешно принят отобразится «Upload done» и прозвучит один звуковой сигнал

Если во время приема файла были ошибки, отобразится надпись «Upload Failed» и прозвучит три звуковых сигнала

¶ Отключение кода связанного с WIFI модулем

Для отключения всего кода, который связан с WIFI модулем нужно в файле Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h отключить «#define MKS_WIFI». После этого в коде останутся только несколько незначительных изменений, которые не должны влиять на стабильность работы. Если нужен абсолютно чистый код, без каких либо изменений, взять его можно из оффициального репозитория Marlin и использовать файлы Configuration.h и Configuration_adv.h как образец.

¶ BLTouch

¶ Firmware retract

Без использования опции «firmware retract» слайсер делает ретракты командами движения G1. В том месте, где нужно выполнить ректракт вставляются команды:

G1 E-2 F2100 ; «Откатить» 2мм со скоростью 35мм/с (2100 мм/мин) команды движения G1 E2 F2100 ; Вернуть обратно 2мм со скоростью 35мм/с (2100 мм/мин)

Для ректрактов в Marlin поддерживаются специальные команды — G10 и G11. В слайсере нужно включить поддержку firmware retract и тогда в том месте, где нужно «откатить» пластик будет вставлена команда G10, а там, где нужно его вернуть G11. Если никакие дополнительные параметры не установлены, будут использованы параметры из прошивки (2мм, 35мм/с).

Установить параметры можно командами M207 и M208.

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

Firmware retract позволяет изменять значения ректракта из меню принтера прямо во время печати.

В Marlin есть функция автоматического распознования ректрактов командами G1 и замена их на G10/G11. Это функция отключена.

Если в слайсере не включена поддержка firmware retract, все будет работать как обычно.

¶ Драйвера TMC2209

По-умолчанию прошивка настроена на работу с драйверами шаговых двигателей без программного управления. В случае применения драйверов TMC 2209 или TMC 2208 можно включить управление по UART. Подробнее о настройке и подключении.

¶ EEPROM

На FB4S установлена плата MKS Robin Nano v.1.1. На плате установленно 2 микросхемы флеш памяти: AT24C16 (2кб, подключена по I2C) и W25Q64 (подключена по SPI).

Размер данных, которые сохраняются в EEPROM зависит от включенных опций. При сохранении настроек командой M500, в ответе есть размер сохраняемых данных.

В качестве места хранения EEPROM в Marlin доступны несколько вариантов:

  • SD карта
  • I2C EEPROM. Этот вариант не используется, драйвер отключен.
  • SPI_EEPROM. Хранение в W25Q64BV подключенной по SPI. Этот вариант используется по-умолчанию.
  • FLASH_EEPROM_EMULATION. Это хранение EEPROM в flash памяти STM32. Этот вариант не работает.
  • SRAM_EEPROM_EMULATION. Этот вариант не работает.

Для включения в Configuration.h в разделе EEPROM нужно указать нужный define. Возможные варианты указаны в комментарии. Пример:

#if ENABLED(EEPROM_SETTINGS) /* MKS Robin EEPROM: EEPROM_SD EEPROM_W25Q */ #define EEPROM_W25Q #if ENABLED(EEPROM_W25Q) #undef SDCARD_EEPROM_EMULATION #undef USE_REAL_EEPROM #undef FLASH_EEPROM_EMULATION #undef SRAM_EEPROM_EMULATION #undef I2C_EEPROM_AT24C16 #define SPI_EEPROM_W25Q #define SPI_EEPROM #define SPI_EEPROM_OFFSET 0x700000 #define USE_WIRED_EEPROM 1 #define MARLIN_EEPROM_SIZE 2048 #endif #if ENABLED(EEPROM_SD) #define SDCARD_EEPROM_EMULATION #undef USE_REAL_EEPROM #undef FLASH_EEPROM_EMULATION #undef SRAM_EEPROM_EMULATION #undef I2C_EEPROM_AT24C16 #undef SPI_EEPROM_W25Q #undef USE_WIRED_EEPROM #define MARLIN_EEPROM_SIZE 4096 #endif #define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors. #endif

Для изменения места хранения EEPROM нужно заменить «#define EEPROM_W25Q» на другой вариант.

¶ Загрузка прошивки по WIFI

Есть возможность отправлять прошивку на принтер через WIFI. Для этого в файле platformio.ini в разделе [env:mks_robin_nano35] нужно указать IP адрес принтера в опции upload_flags.

Передача файла происходит при помощи curl, поэтому надо или добавить curl в $PATH, либо указать полный путь в файле mks_robin_nano35.py в строке 43.

После настройки, для отправки прошивки на принтер, в меню platformio нужно выбрать Upload или нажать Ctrl+Alt+U.

После успешной передачи файла принтер перезагрузится автоматически.

¶ Выбор графического интерфейса

В коде Marlin есть 3 варианта графического интерфейса, которые работают на FB4S и FB5. Для выбора интерфейса нужно выбрать тип экрана и тип интерфейса в Configuration.h, в разделе Graphical TFTs (около 2270 строки).

Для экрана на FB4S и FB5 тип экрана — MKS_ROBIN_TFT35:

/** * TFT Type — Select your Display type * * Available options are: * MKS_TS35_V2_0, * MKS_ROBIN_TFT24, MKS_ROBIN_TFT28, MKS_ROBIN_TFT32, MKS_ROBIN_TFT35, * MKS_ROBIN_TFT43, MKS_ROBIN_TFT_V1_1R * TFT_TRONXY_X5SA, ANYCUBIC_TFT35, LONGER_LK_TFT28 * TFT_GENERIC * * For TFT_GENERIC, you need to configure these 3 options: * Driver: TFT_DRIVER * Current Drivers are: AUTO, ST7735, ST7789, ST7796, R61505, ILI9328, ILI9341, ILI9488 * Resolution: TFT_WIDTH and TFT_HEIGHT * Interface: TFT_INTERFACE_FSMC or TFT_INTERFACE_SPI */ #define MKS_ROBIN_TFT35

Есть 3 варианта интерфейса, которые можно выбрать:

  • Классический Marlin, «текстовый» интерфейс. Включение:

#define TFT_CLASSIC_UI

  • Новый, графический интерфейс, расчитанные под тач-экраны:

#define TFT_COLOR_UI

  • Графический интерфейс от MKS. Подробнее про сборку этого варианта. У компании Makerbase также есть своя прошивка на Marlin 2.0

¶ WIFI модуль, отправка команд и файлов

Для отправки команд и файлов на принтер не обязательно использовать Cura. Для отправки можно использовать простые инструменты — curl и netcat.

Для отправки команд используется tcp socket на порт 8080. Пример с netcat:

nc 192.168.0.105 8080

Вместо netcat можно использовать telnet.

Можно отправлять g-код команды, и получать ответ.

Для отправки файлов можно воспользоваться curl:

  • sd_file.gcode — имя файла под которым будет сохранение на sd карте
  • local_file.gcode — имя файла для отправки

В данном примере на принтер с IP 192.168.0.105 будет отправлен файл local_file.gcode, который будет сохранен на sd карте под именем sd_file.gcode

¶ Загрузка настроек в EEPROM из файла

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

M502 ;Сброс настроек M500 ;Сохранить настройки (аналог Initialize eeprom) M92 X80 Y80 Z400 E421 ;Установка шагов Step/mm по осям M301 P19 I1 D64 ;PID сопла M304 P26 I4 D102 ;PID стола M851 X37 Y-20 Z-0.95 ;Probe offset M906 X700 Y800 Z800 ;Ток драйверов шаговых двигателей M906 T0 E450 M603 L150 U150 ;Длина загрузки-выгрузки филамента M500 ;Сохранить настройки

¶ Отслеживание состояния печати по WIFI

Во время печати прием данных от WIFI модуля отключен. Это сделано для того, чтобы в очередь команд не попал никакой мусор от от esp. Однако в обратную сторону, от МК к esp, передача работает. Поэтому если нужно отслеживать состояние печати удаленно, в стартовый код нужно добавить команду M155 для отображения температуры и M27 для отображения прогресса печати в байтах.

В этом случае МК сам, через указанное в параметрах количество секунд, будет слать отчеты. Получать их можно подключившись к сокету на порт 8080. Модуль MKS WIFI поддерживает только одно соединение одновременно, поэтому Cura должна быть закрыта.

Для получения информации о текущей высоте, нужно добавить пост-процессинг в слайсере. В Cura это можно сделать в Extentions->Post processing->Modify G-code. Добавить скрипт на «Insert at layer change» и команду M114.

Источник: flyingbear.info

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru