Marlin/ru

From RepRap
Jump to: navigation, search

Template:MARLIN

Crystal Clear action run.png
Марлин

Release status: рабочее

Marlin Logo.png
Description
Прошивка для плат Ардуино и их аналогов
License
GNU GPL v3
Author
Contributors
Based-on
Categories
Прошивки
CAD Models
External Link


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

Текущая версия: 1.0.2:

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


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

Эта прошивка гибрид от 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
  • поддержка ЖК (максимум 20x4 )
  • Система ЖК меню для автономной печати с 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 АЦП измерений температуры усредняются.

AutoTemp:

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

EEPROM:

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

LCD Меню:

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

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

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

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

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

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

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

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

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

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

Movement:

  • G2 - CW ARC
  • G3 - CCW ARC

General:

  • 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 - Завершить все буферизованные движения.

Advance:

  • M200 - Задать диаметр нити
  • M205 - дополнительные настройки: минимальная скорость S = во время печати Т = во время перемещения, B = минимальный временной сегмент X = максимальная ху рывок, Z = максимальная Z рывок

EEPROM:

  • 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. Копировать Marlin\sanguino \hardware\Sanguino

Установить 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

Документация

Документация доступна по адресу http://www.marlinfirmware.org