Marlin: различия между версиями

Материал из wolfram
Перейти к навигации Перейти к поиску
 
(не показаны 3 промежуточные версии этого же участника)
Строка 13: Строка 13:


  #define SERIAL_PORT_2 0
  #define SERIAL_PORT_2 0
Этот параметр определяет скорость передачи данных принтера.
Этот параметр определяет скорость передачи данных принтера.
  #define BAUDRATE 250000
  #define BAUDRATE '''250000'''
 
 
Выберите имя из boards.h, которое соответствует вашей настройке
Выберите имя из boards.h, которое соответствует вашей настройке
  #ifndef MOTHERBOARD
  #ifndef MOTHERBOARD
   #define MOTHERBOARD BOARD_BTT_SKR_V1_3
   #define MOTHERBOARD '''BOARD_BTT_SKR_V1_3'''
  #endif
  #endif
Имя отображается на ЖК-дисплее в сообщении «Готово» и в информационном меню.
Имя отображается на ЖК-дисплее в сообщении «Готово» и в информационном меню.
  #define CUSTOM_MACHINE_NAME "Wolfram_2.1"
  #define CUSTOM_MACHINE_NAME "Wolfram_2.1"
Это определяет количество экструдеров.
Это определяет количество экструдеров.
  #define EXTRUDERS 1
  #define EXTRUDERS 1
Обычно ожидаемый диаметр нити (1,75, 2,85, 3,0, ...). Используется для измерения объема, датчика ширины нити и т. Д.
Обычно ожидаемый диаметр нити (1,75, 2,85, 3,0, ...). Используется для измерения объема, датчика ширины нити и т. Д.
  #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
  #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
Температурные настройки
Температурные настройки


Строка 31: Строка 43:


  #define TEMP_SENSOR_BED 1
  #define TEMP_SENSOR_BED 1
Максимальная температура хотэнда и стола
Максимальная температура хотэнда и стола
  #define HEATER_0_MAXTEMP 300
  #define HEATER_0_MAXTEMP 320


  #define BED_MAXTEMP      150
  #define BED_MAXTEMP      150
Настройки PID регуляции
Настройки PID регуляции


Строка 41: Строка 57:
Команда:
Команда:
  M303 E0 S250 C8
  M303 E0 S250 C8
Получаем данные и вписываем
Получаем данные и вписываем, но лучше выполнить пид, потому вставляю данные по умолчанию, делать калибровку через настройки в меню с сохранением в памяти.
  #define DEFAULT_Kp 19.05
  #define DEFAULT_Kp 22.20
  #define DEFAULT_Ki 1.79
  #define DEFAULT_Ki 1.08
  #define DEFAULT_Kd 50.61
  #define DEFAULT_Kd 114.00
 
 
PID регуляция для стола
PID регуляция для стола


Включаем для стола если скорость нагрева до 110 меньше 8 минут.  
Включаем для стола если скорость нагрева до 110 меньше 8 минут.
  #define PIDTEMPBED
  #define PIDTEMPBED
Выполняем калибровку
Выполняем калибровку
  M303 E-1 S110 C8
  M303 E-1 S110 C8
Вписываем результат
Вписываем результат, так же получать через экран настрок с сохранением настроек.
  #define DEFAULT_bedKp 26.65
  #define DEFAULT_bedKp 10.00
  #define DEFAULT_bedKi 5.33
  #define DEFAULT_bedKi .023
  #define DEFAULT_bedKd 88.93
  #define DEFAULT_bedKd 305.4
 
 
Предотвратите выдавливание, если температура ниже EXTRUDE_MINTEMP.
Предотвратите выдавливание, если температура ниже EXTRUDE_MINTEMP.
  #define PREVENT_COLD_EXTRUSION
  #define PREVENT_COLD_EXTRUSION
  #define EXTRUDE_MINTEMP 170
  #define EXTRUDE_MINTEMP 170


Раскомментируйте одну из этих опций, чтобы включить кинематику CoreXY, CoreXZ или CoreYZ в обычном порядке или в обратном порядке.
Раскомментируйте одну из этих опций, чтобы включить кинематику CoreXY, CoreXZ или CoreYZ в обычном порядке или в обратном порядке.
  #define COREXY
  #define COREXY
Настройка концевиков.
Настройка концевиков.


Строка 67: Строка 90:
  //#define USE_YMIN_PLUG
  //#define USE_YMIN_PLUG
  #define USE_ZMIN_PLUG
  #define USE_ZMIN_PLUG
...
  #define USE_XMAX_PLUG
  #define USE_XMAX_PLUG
  #define USE_YMAX_PLUG
  #define USE_YMAX_PLUG
  //#define USE_ZMAX_PLUG
  //#define USE_ZMAX_PLUG
...
Настройка типа концевика, нормально замкнутый (true) или нормально разомкнутый (false)
Настройка типа концевика, нормально замкнутый (true) или нормально разомкнутый (false)
...
#define Y_MIN_ENDSTOP_INVERTING true
  #define Z_MIN_ENDSTOP_INVERTING true
  #define Z_MIN_ENDSTOP_INVERTING true
...
  #define X_MAX_ENDSTOP_INVERTING true
  #define X_MAX_ENDSTOP_INVERTING true
  #define Y_MAX_ENDSTOP_INVERTING true
  #define Y_MAX_ENDSTOP_INVERTING true
...


<br />
===Выбор драйверов шаговых двигателей===
===Выбор драйверов шаговых двигателей===
Раскоментровав сроки с нужными осями и вписав драйвер который устанавливаем, мы определением прошивкой работу с типом подключения. SPI, UARD, так же у разных драйверов может отличится распиловка. Настройка драйвера осуществляется как прошивкой, так и аппаратно, перемычками и регулятором тока.
Раскоментровав сроки с нужными осями и вписав драйвер который устанавливаем, мы определением прошивкой работу с типом подключения. SPI, UARD, так же у разных драйверов может отличится распиловка. Настройка драйвера осуществляется как прошивкой, так и аппаратно, перемычками и регулятором тока.
'''Я перепробовал множество драйверов, [[Драйверы для 3D принтеров|описание и характеристики по каждому тут]].'''
  #define X_DRIVER_TYPE  TMC5160
  #define X_DRIVER_TYPE  TMC5160
  #define Y_DRIVER_TYPE  TMC5160
  #define Y_DRIVER_TYPE  TMC5160
  #define Z_DRIVER_TYPE  TMC2208_STANDALONE
  #define Z_DRIVER_TYPE  TMC2130


  #define E0_DRIVER_TYPE TMC2130
  #define E0_DRIVER_TYPE TMC2130
<br />
Шаги по оси на единицу по умолчанию (шаги / мм)
====TMC2208====
 
Драйвер UARD типа, может работать и в режиме STANDALONE, без программной надстройки.
По всем осям стоят шаговые двигатели '''200''' шагов на оборот, '''16''' микро-шагов на шаг (это устанавливается перемычками на плате). Двигатель 1.8 градуса.
 
 
По осям X и Y стоит приводной ремень GT2 с шагом 2 мм и шкивы с 20 зубьями.
 
Получается:
 
'''(200 * 16) / (2.0 * 20) = 80'''
 
Для шкива 16 зубьев
 
'''(200 * 16) / (2.0 * 16 ) = 100'''
 
 
Расчет оси Z (ходовой винт)
 
'''Шпилька М8 с шагом резьбы 1,25 мм, тогда формула: 200 * 16 / 1.25 = 2560'''
 
'''Трапецеидальный винт диаметром 8 мм с шагом 2 мм  и заходностью 4, тогда формула: 200 * 16 / 2 * 4 = 400'''
 
У меня шаговый винт 1204, при 16 микрошаге 800 шагов на 1мм
 
 
В зависимости от выставленного микрошага , меняется число шагов на миллиметр
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 200, 200, 800, 415 }
 
 
Максимальная скорость подачи по умолчанию (мм / с)
#define DEFAULT_MAX_FEEDRATE          { 300, 300, 20, 50 }


В его особенностях:


- Сверх тихая работа на любых скоростях.
Максимальные скорости воспринимаемые принтером
#define MAX_FEEDRATE_EDIT_VALUES    { 600, 600, 20, 50 }


- В программном режиме позволяет работать с 256 субшагами


- В режиме STANDALONE перемычками можно установить до 16 субшагов.
Изменение максимального ускорения (изменение / с) по умолчанию = мм / с
[[Файл:Marlin MS0.png|центр|Указывает местоположения для установки перемычек для режима STANDALONE|альт=|безрамки]]
#define DEFAULT_MAX_ACCELERATION      { 3400, 3400, 100, 3400}
[[Файл:Marlin режимы перемычкой.png|центр|Таблица показывающая в какое положение установить перемычки для получения нужного количества микро шагов. |альт=|безрамки|679x679px]]
Так же видно что, у данного драйвера есть постоянно включена интерполяция, на точности это не скажется.


- В программном режиме позволяет управлять током драйвера
#define MAX_ACCEL_EDIT_VALUES       { 6000, 6000, 200, 6800 }


- В STANDALONE позволяет регулировать ток резистором.
[[Файл:Marlin измерения драйвера 2208.png|мини|Указание мест для измерений и настройки tmc2208]]


По умолчанию изменение ускорения (изменение / с) = мм / с


Подстройка тока (Спасибо [https://3dtoday.ru/blogs/defekt/the-current-setting-of-the-stepping-motors-on-the-drivers-tmc2100tmc21/ этой статье])
X, Y, Z и E ускорение для печати движений
#define DEFAULT_ACCELERATION          3500


#define DEFAULT_RETRACT_ACCELERATION  3500


Например нам нужен ток 1A на драйвере
#define DEFAULT_TRAVEL_ACCELERATION   3500


Вращаем резистр (3) измеряя напряжение между (1) и (2 - землёй) Расчет идет по следующей формуле:


'''Изм. напряжение = (1A * 2.5) / 1.77 = 1.41V'''
Предел рывка по умолчанию (мм / с)


То есть между (1) и (2 - землёй) должно быть 1.41V
«Рывок» определяет минимальное изменение скорости, при котором требуется ускорение.
//#define CLASSIC_JERK


<br />Или мы хотим узнать какой ток подаётся в данный момент:


Измеряем напряжение между (1) и (2 - землёй), например это 1.65V
Рывки по умолчанию, для прочных принтеров 15 -20, для обычных до 10
#define DEFAULT_EJERK    15.0


'''Ток двигателя = (1.65 * 1.77) / 2.5 = 1,1682A'''


Подаваемый ток 1,1682A
Коэффициент отклонения соединения


Высчитывается по формуле :


TMC меняют ток в зависимости от нагрузки, хотим задать своего рода максимум.
d = 0.4 15 * 15 / 2200 = 0,0409
#define JUNCTION_DEVIATION_MM 0,025


К примеру максимальный ток для двигателя 1.4A
S-Curve Acceleration - Эта опция устраняет вибрацию во время печати, адаптируя кривую Безье для ускорения перемещения, обеспечивая более плавное изменение направления.
#define S_CURVE_ACCELERATION


1.4A / 1.41 = 0,99A


Теперь получим напряжение которое нужно выставить
Измените направление шага. Замените (или поменяйте местами разъем двигателя), если ось идет в неправильном направлении.


(0,99A * 2,5) 1.77 = 1,4V
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
#define INVERT_E0_DIR false


Итого получили нужное нам напряжение


Направление упоров при наведении; 1 = МАКС, -1 = МИН


Не забываем что постоянный ток выдаваемый драйвером не должен превышать '''1.2A.'''
Нужно указать положительное число если у нас концевики в максимумах
#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR -1


==== TMC2130 ====
Драйвер SPI, особенностью драйвера является свойство определения перегрузки и пропуска шагов. Что позволяет использовать его как концевой выключатель, для поиска домашнего положения.


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


В его особенностях:
Тут очень много путаницы, самый простой способ определить максимальные координаты это указать с запасом, затем отправить принтер домой, и ручной подачей передвинуть сопло до самого края стола по XY. Координаты на экране и будут максимальными размерами области движения. Это удобно тем что, при указании области печати, ничего никуда не съедет. Так как область печати опирается на максимальные точки.
#define X_BED_SIZE 237
#define Y_BED_SIZE 232
Но в реальности стол 220*220


- Сверх тихая работа на любых скоростях.
<br />Пределы хода (мм) после возврата в исходное положение, соответствующие конечным положениям.
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
Указываем ход ля оси Z
#define Z_MAX_POS 200


- В программном режиме позволяет работать с 256 субшагами


- В режиме STANDALONE перемычками можно установить до 16 субшагов.
Скорость похода домой в миллиметрах в минуту, поэтому умножение на 60.
[[Файл:Marlin таблица перемычек для 2130.png|центр|безрамки|250x250пкс|Таблица настройки перемычек для 2130]]
#define HOMING_FEEDRATE_XY (80*60)
Как видно можно установить 2 режима Spreadcyle и Stealthchop1. Первый за тихость, второй за скорость.
#define HOMING_FEEDRATE_Z  (17*60)


- В программном режиме позволяет управлять током драйвера


- В STANDALONE позволяет регулировать ток резистором, так же как и для 2208
Пресеты печати, можно настроить свой температурный режим
#define PREHEAT_1_LABEL       "PLA"
#define PREHEAT_1_TEMP_HOTEND 220
#define PREHEAT_1_TEMP_BED    70
#define PREHEAT_1_FAN_SPEED    0 // указывать от 0 до 255


Максимальный ток 1.2A
#define PREHEAT_2_LABEL       "ABS"
#define PREHEAT_2_TEMP_HOTEND 250
#define PREHEAT_2_TEMP_BED    110
#define PREHEAT_2_FAN_SPEED    0 // указывать от 0 до 255


Не маловажный факт, данные '''2208, 2130''' драйверы не способны в тихом режиме работать на скоростях печати более 110 мм/с. Отключение тихого режима решает данную проблему, но возникают проблемы на низких скоростях связанные с появлением резонансов в конструкции принтера. Казалось бы для решения проблемы был придуман гибридный режим. Но это решает проблему очень кустарно. Так как ускорения не линейны, максимальные при разгоне, происходит множественное переключение режимов, при разгоне и торможении, что вызывает стук при печати в лучшем случае. В большинстве случаев срывы шагов.


==== TMC5160 ====
SD карта
Драйвер SPI, призван решит все проблемы предыдущих 2208 и 2130, ток до 3A все режимы, полный контроль пропусков щагов.


На практике - это лучшие драйверы. Пропуск шагов настолько за пределами рабочих нагрузок, что даже иногда не вперится, что двигатель способен удерживать такие нагрузки.
По умолчанию поддержка SD-карты отключена. Если на вашем контроллере есть слот для SD, вы должны раскомментировать следующий параметр, иначе он не будет работать.
#define SDSUPPORT


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


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


Самый большой минус - Цена. Еще один минус, совместим с ними только marlin.
Если у вас есть динамик, который может воспроизводить звуки, включите его здесь.
#define SPEAKER


- Субшаги выставляются только программно до 256


- Ток управляется только программно.
Экран


Настоятельно рекомендуются для установки на принтеры с прочной и жесткой конструкцией на оси XY
Я пользовался только RepRapDiscount FULL GRAPHIC Smart Controller, точнее устройствами его эмулирующими.
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

Текущая версия от 19:01, 16 июня 2023

Ну описалочка для настройки прошивки Marlin для 32 плат, и не дельта принтеров. В данном случае SKR 1.3.

platformio.ini

Указываем тип процессора LPC1768

[platformio]
default_envs = LPC1768

Configuration.h

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

Последовательный порт -1 - это последовательный порт, эмулируемый USB, если он доступен.

#define SERIAL_PORT -1
#define SERIAL_PORT_2 0


Этот параметр определяет скорость передачи данных принтера.

#define BAUDRATE 250000


Выберите имя из boards.h, которое соответствует вашей настройке

#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_BTT_SKR_V1_3
#endif


Имя отображается на ЖК-дисплее в сообщении «Готово» и в информационном меню.

#define CUSTOM_MACHINE_NAME "Wolfram_2.1"


Это определяет количество экструдеров.

#define EXTRUDERS 1


Обычно ожидаемый диаметр нити (1,75, 2,85, 3,0, ...). Используется для измерения объема, датчика ширины нити и т. Д.

#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75


Температурные настройки

Тип сенсора, если это обычный 100 киломник то ставим 1

#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_BED 1


Максимальная температура хотэнда и стола

#define HEATER_0_MAXTEMP 320
#define BED_MAXTEMP      150


Настройки PID регуляции

Рекомендуется провести тестирование и получить данные для экструдера

Команда:

M303 E0 S250 C8

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

#define DEFAULT_Kp 22.20
#define DEFAULT_Ki 1.08
#define DEFAULT_Kd 114.00


PID регуляция для стола

Включаем для стола если скорость нагрева до 110 меньше 8 минут.

#define PIDTEMPBED

Выполняем калибровку

M303 E-1 S110 C8

Вписываем результат, так же получать через экран настрок с сохранением настроек.

#define DEFAULT_bedKp 10.00
#define DEFAULT_bedKi .023
#define DEFAULT_bedKd 305.4


Предотвратите выдавливание, если температура ниже EXTRUDE_MINTEMP.

#define PREVENT_COLD_EXTRUSION
#define EXTRUDE_MINTEMP 170


Раскомментируйте одну из этих опций, чтобы включить кинематику CoreXY, CoreXZ или CoreYZ в обычном порядке или в обратном порядке.

#define COREXY


Настройка концевиков.

Нужно указать где расположены концевые выключатели. В моём случае у меня X и Y находятся в максимумах.

//#define USE_XMIN_PLUG
//#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
...
#define USE_XMAX_PLUG
#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG
...


Настройка типа концевика, нормально замкнутый (true) или нормально разомкнутый (false)

...
#define Y_MIN_ENDSTOP_INVERTING true
#define Z_MIN_ENDSTOP_INVERTING true
...
#define X_MAX_ENDSTOP_INVERTING true
#define Y_MAX_ENDSTOP_INVERTING true
...


Выбор драйверов шаговых двигателей

Раскоментровав сроки с нужными осями и вписав драйвер который устанавливаем, мы определением прошивкой работу с типом подключения. SPI, UARD, так же у разных драйверов может отличится распиловка. Настройка драйвера осуществляется как прошивкой, так и аппаратно, перемычками и регулятором тока.

Я перепробовал множество драйверов, описание и характеристики по каждому тут.

#define X_DRIVER_TYPE  TMC5160
#define Y_DRIVER_TYPE  TMC5160
#define Z_DRIVER_TYPE  TMC2130
#define E0_DRIVER_TYPE TMC2130

Шаги по оси на единицу по умолчанию (шаги / мм)

По всем осям стоят шаговые двигатели 200 шагов на оборот, 16 микро-шагов на шаг (это устанавливается перемычками на плате). Двигатель 1.8 градуса.


По осям X и Y стоит приводной ремень GT2 с шагом 2 мм и шкивы с 20 зубьями.

Получается:

(200 * 16) / (2.0 * 20) = 80

Для шкива 16 зубьев

(200 * 16) / (2.0 * 16 ) = 100


Расчет оси Z (ходовой винт)

Шпилька М8 с шагом резьбы 1,25 мм, тогда формула: 200 * 16 / 1.25 = 2560

Трапецеидальный винт диаметром 8 мм с шагом 2 мм  и заходностью 4, тогда формула: 200 * 16 / 2 * 4 = 400

У меня шаговый винт 1204, при 16 микрошаге 800 шагов на 1мм


В зависимости от выставленного микрошага , меняется число шагов на миллиметр

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 200, 200, 800, 415 }


Максимальная скорость подачи по умолчанию (мм / с)

#define DEFAULT_MAX_FEEDRATE          { 300, 300, 20, 50 }


Максимальные скорости воспринимаемые принтером

#define MAX_FEEDRATE_EDIT_VALUES    { 600, 600, 20, 50 }


Изменение максимального ускорения (изменение / с) по умолчанию = мм / с

#define DEFAULT_MAX_ACCELERATION      { 3400, 3400, 100, 3400}
#define MAX_ACCEL_EDIT_VALUES       { 6000, 6000, 200, 6800 }


По умолчанию изменение ускорения (изменение / с) = мм / с

X, Y, Z и E ускорение для печати движений

#define DEFAULT_ACCELERATION          3500
#define DEFAULT_RETRACT_ACCELERATION  3500
#define DEFAULT_TRAVEL_ACCELERATION   3500


Предел рывка по умолчанию (мм / с)

«Рывок» определяет минимальное изменение скорости, при котором требуется ускорение.

//#define CLASSIC_JERK


Рывки по умолчанию, для прочных принтеров 15 -20, для обычных до 10

#define DEFAULT_EJERK    15.0


Коэффициент отклонения соединения

Высчитывается по формуле :

d = 0.4 15 * 15 / 2200 = 0,0409

#define JUNCTION_DEVIATION_MM 0,025

S-Curve Acceleration - Эта опция устраняет вибрацию во время печати, адаптируя кривую Безье для ускорения перемещения, обеспечивая более плавное изменение направления.

#define S_CURVE_ACCELERATION


Измените направление шага. Замените (или поменяйте местами разъем двигателя), если ось идет в неправильном направлении.
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
#define INVERT_E0_DIR false


Направление упоров при наведении; 1 = МАКС, -1 = МИН

Нужно указать положительное число если у нас концевики в максимумах

#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR -1


Размер печатной платформы

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

#define X_BED_SIZE 237
#define Y_BED_SIZE 232

Но в реальности стол 220*220


Пределы хода (мм) после возврата в исходное положение, соответствующие конечным положениям.

#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE

Указываем ход ля оси Z

#define Z_MAX_POS 200


Скорость похода домой в миллиметрах в минуту, поэтому умножение на 60.

#define HOMING_FEEDRATE_XY (80*60)
#define HOMING_FEEDRATE_Z  (17*60)


Пресеты печати, можно настроить свой температурный режим

#define PREHEAT_1_LABEL       "PLA"
#define PREHEAT_1_TEMP_HOTEND 220
#define PREHEAT_1_TEMP_BED     70
#define PREHEAT_1_FAN_SPEED     0 // указывать от 0 до 255
#define PREHEAT_2_LABEL       "ABS"
#define PREHEAT_2_TEMP_HOTEND 250
#define PREHEAT_2_TEMP_BED    110
#define PREHEAT_2_FAN_SPEED     0 // указывать от 0 до 255


SD карта

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

#define SDSUPPORT


Спикер

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

#define SPEAKER


Экран

Я пользовался только RepRapDiscount FULL GRAPHIC Smart Controller, точнее устройствами его эмулирующими.

#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER