Marlin/ru

From RepRap
Revision as of 02:13, 25 August 2015 by Xelaform (talk | contribs) (Отличия и дополнения от Спринтер)
Jump to: navigation, search

Template:MARLIN

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

Release status: рабочее

No image available.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 байт ) было сохранено путем хранения строк сообщений в памяти программы. In the serial communication, a #define-based level of abstraction was enforced, so it's clear that some transfer of information (usually beginning with "echo:"), an error "error:", or just normal protocol, necessary for backwards compatibility.

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

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

Не стандартные 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)

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

Install the arduino software IDE/toolset v22 http://www.arduino.cc/en/Main/Software

For gen6 and sanguinololu the Sanguino directory in the Marlin dir needs to be copied to the arduino environment. copy Marlin\sanguino \hardware\Sanguino

Install Ultimaker's RepG 25 build http://software.ultimaker.com For SD handling and as better substitute (apart from stl manipulation) download the very nice Kliment's printrun/pronterface https://github.com/kliment/Printrun

Copy the Ultimaker Marlin firmware https://github.com/ErikZalm/Marlin/tree/Marlin_v1 (Use the download button)

Start the arduino IDE. Select Tools -> Board -> Arduino Mega 2560 or your microcontroller Select the correct serial port in Tools ->Serial Port Open Marlin.pde

Click the Verify/Compile button

Click the Upload button If all goes well the firmware is uploading

Start Ultimaker's Custom RepG 25 Make sure Show Experimental Profiles is enabled in Preferences Select Sprinter as the Driver

Press the Connect button.

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

KNOWN ISSUES: RepG will display: Unknown: marlin x.y.z

For bug reporting please use the Issue tracker on github