Конфигурирование платы SKR 1.3 с драйверами TMC 2130 в SPI и BLtouch, для Ender 3.
И так, будем считать что плату мы благополучно подключили, ПО установили, Marlin 2.0 с оф. сайта скачали. Рекомендую взять именно с оф. сайта, так как там актуальная версия, и очень много багов допиливается, в часности стоковый дисплей Endera. Для конфигурирования я брал готовый конфиг под ender 3, он лежит сдесь:C:Marlin-bugfix-2.0.xconfigexamplesCrealityEnder-3. Для компиляции пошивки без ошибок путь не должен содержать кириллических символов.
Приступим:
1. Открываем файл platformio.ini и в нем правим:
env_default = LPC1768.Сохраняем, больше этот файл нам не понадобится.
2. Открываем файл configuration.h и в нем правим:
#define SERIAL_PORT -1
#define SERIAL_PORT_2 0 // порты для связи с пк.
#define MOTHERBOARD BOARD_BIGTREE_SKR_V1_3 // указываем тип нашей платы
#define THERMAL_PROTECTION_HOTENDS // включаем защиту от перегрева
#define THERMAL_PROTECTION_BED
#define THERMAL_PROTECTION_CHAMBER
#define X_DRIVER_TYPE TMC2130
#define Y_DRIVER_TYPE TMC2130
#define Z_DRIVER_TYPE TMC2130
#define E0_DRIVER_TYPE TMC2130 // указываем тип драйверов
#define S_CURVE_ACCELERATION // при желании указываем более плавные ускорения.
#define INVERT_E0_DIR true // направление мотора экструдера (если редукторный то пишем false)
#define LEVEL_BED_CORNERS // включаем выравнивание углов. (памяти в плате достаточно, пользуемся этим)
#if ENABLED(LEVEL_BED_CORNERS)
#define LEVEL_CORNERS_INSET 35 // (mm) An inset for corner leveling
#define LEVEL_CORNERS_Z_HOP 5 // (mm) Move nozzle up before moving between corners
#define LEVEL_CORNERS_HEIGHT 0.1 // (mm) Z height of nozzle at leveling points
#define LEVEL_CENTER_TOO // Move to the center after the last corner
#endif
#define HOMING_FEEDRATE_XY (30*60) // более адекватные скорости HOMING
#define HOMING_FEEDRATE_Z (4*60)
#define LCD_LANGUAGE ru // язык меню
#define DISPLAY_CHARSET_HD44780 CYRILLIC // отображение кириллицы на экране
#define SDSUPPORT // поддержка карты памяти
#define SPEAKER // включаем спикер
#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 0
#define LCD_FEEDBACK_FREQUENCY_HZ 0 // отключаем звук в меню (что б не пищал лишний раз)
#define CR10_STOCKDISPLAY // включаем стоковый дисплей
#define FAN_SOFT_PWMДля BLtouch:
#define SOFT_PWM_SCALE 0 // убираем свист от куллеров
#define BLTOUCH // включаем BLtouch
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // инвертируем сигал (можно оставить и false, но это влияет на точность)
#define ENDSTOPPULLUP_ZMIN_PROBE // устраняем возможный дребезг
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // включаем если подключали вместо концевика Z
#define X_PROBE_OFFSET_FROM_EXTRUDER -40 // расстояние от датчика по X
#define Y_PROBE_OFFSET_FROM_EXTRUDER -13 // расстояние от датчика по Y
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // расстояние от датчика по Z(здесь оставляем 0 )
#define MIN_PROBE_EDGE 25 // расстояние от края, чтоб не уперлось в прищепки (у вас может быть другое значение)
#define MULTIPLE_PROBING 2 // количество проб (2 достаточно)
#define Z_MIN_PROBE_REPEATABILITY_TEST // тестирование BLtouch (может пригодиться)
#define AUTO_BED_LEVELING_BILINEAR // способ выравнивания (можно и другой выбрать, но этот работает отлично)
#define GRID_MAX_POINTS_X 4 // количество точек измерения
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE // указываем позиции крайних замеров (у вас могут быть другие значения в зависимости от крепления датчика)
#define RIGHT_PROBE_BED_POSITION 170
#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
#define BACK_PROBE_BED_POSITION 170
#define Z_SAFE_HOMING // включаем для хоуминга Z в середине столаСохраняем, здесь у нас всё. Переходим к следующему файлу.
3. Открываем configuration_adv.h.
#define FAN_KICKSTART_TIME 200 // если плохо стартует вентилятор обдува модели помогаем ему
#define E0_AUTO_FAN_PIN FAN1_PIN // Если подключили вентилятор обдува радиатора печатной головы вместо нагревателя второго хотенда#
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 // температура включения и выключения
#define EXTRUDER_AUTO_FAN_SPEED 255 // максимальная скорость
define HOMING_BUMP_DIVISOR { 4, 4, 4 } // более нежные делители скорости для хоуминга (Бережом концевики )
#define DEFAULT_STEPPER_DEACTIVE_TIME 300 // время удержания ШД
#define MANUAL_FEEDRATE {100*60, 100*60, 10*60, 50*60} // более адекватные скорости для движения осей из меню принтера
#define DEFAULT_MINSEGMENTTIME 50000 // Улучшаем печать по USB#
#if ENABLED(SDSUPPORT)
#define BLOCK_BUFFER_SIZE 32
#else
#define BLOCK_BUFFER_SIZE 16
#endif
#define MAX_CMD_SIZE 96
#define BUFSIZE 32
#define TX_BUFFER_SIZE 32
define STATUS_MESSAGE_SCROLLING // Включаем прокрутку длинных статусных сообщений на экране
#define LCD_TIMEOUT_TO_STATUS 60000 // Увеличиваем задержку (в миллисекундах) перед автоматическим выходом из меню на главный экран
#define LCD_SET_PROGRESS_MANUALLY // «Чиним» прогресс-бар при печати через USB
#define SD_MENU_CONFIRM_START // включаем подтверждение при выборе файла с флешки для печати (если нужно)
#define SCROLL_LONG_FILENAMES // Включаем прокрутку длинных имен файлов на флешке в меню
#ifdef TARGET_LPC1768 // настраиваем SD карту
//#define LPC_SD_LCD // Use the SD drive in the external LCD controller.
#define LPC_SD_ONBOARD // Use the SD drive on the control board. (No SD_DETECT_PIN. M21 to init.)
//#define LPC_SD_CUSTOM_CABLE // Use a custom cable to access the SD (as defined in a pins file).
//#define USB_SD_DISABLED // Disable SD Card access over USB (for security).
#if ENABLED(LPC_SD_ONBOARD)
//#define USB_SD_ONBOARD // Данную опцию можно включить, чтоб видеть флешку с хоста, как через кард-ридер, но я не проверял
#endif
#endif
#define BABYSTEPPING // возможность вручную задавать точно оффсет оси Z во время печати из меню принтера
#if ENABLED(BABYSTEPPING)
//#define BABYSTEP_WITHOUT_HOMING
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
#define BABYSTEP_MULTIPLICATOR 2 // Babysteps are very small. Increase for faster motion.
#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
#if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
// Note: Extra time may be added to mitigate controller latency.
//#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
#define MOVE_Z_WHEN_IDLE // Jump to the move Z menu on doubleclick when printer is idle.
#if ENABLED(MOVE_Z_WHEN_IDLE)
#define MOVE_Z_IDLE_MULTIPLICATOR 1 // Multiply 1mm by this factor for the move step size.
#endif
#endif
#define MIN_STEPS_PER_SEGMENT 1 // Уменьшаем размер минимальной отрабатываемой группы шаговНастраиваем драйвера:
#if HAS_TRINAMIC
#define HOLD_MULTIPLIER 0.5 // ток в режиме удержания
#define INTERPOLATE true // интерполяция до 256 микрошагов
#if AXIS_IS_TMC(X)
#define X_CURRENT 760 // ток двигателя
#define X_MICROSTEPS 16 // микрошаги
#define X_RSENSE 0.11
#endif
#if AXIS_IS_TMC(X)
#define Y_CURRENT 760 // ток двигателя
#define Y_MICROSTEPS 16 // микрошаги
#define Y_RSENSE 0.11
#endif
#if AXIS_IS_TMC(X)
#define Z_CURRENT 760 // ток двигателя
#define Z_MICROSTEPS 16 // микрошаги
#define Z_RSENSE 0.11
#endif
#if AXIS_IS_TMC(X)При сильном нагреве ток можно уменьшить, а при пропуске шагов увеличить из меню принтера.
#define E0_CURRENT 900 // ток двигателя
#define E0_MICROSTEPS 16 // микрошаги
#define E0_RSENSE 0.11
#endif
#define TMC_USE_SW_SPI // включаем SPI режим
#define STEALTHCHOP_XY // Включаем тихий режим StealthChop
#define STEALTHCHOP_Z
#define STEALTHCHOP_E
#define CHOPPER_TIMING CHOPPER_DEFAULT_24V // Задаем режим работы чоппера SpreadCycle
#define MONITOR_DRIVER_STATUS // Включаем защиту драйверов от перегрева
#if ENABLED(MONITOR_DRIVER_STATUS)
#define CURRENT_STEP_DOWN 50 // [mA]
#define REPORT_CURRENT_CHANGE
#define STOP_ON_ERROR
#endif
define HYBRID_THRESHOLD // Включаем гибридный режим -при превышении указанной здесь скорости алгоритм будет переключаться со StealthChop на SpreadCycle (можно будет изменить из меню принтера)
#define X_HYBRID_THRESHOLD 120 // [mm/s]
#define Y_HYBRID_THRESHOLD 120
#define Z_HYBRID_THRESHOLD 10
#define E0_HYBRID_THRESHOLD 15
#define TMC_DEBUG // Включаем отладочный режим
#define TMC_ADV() { // тут ни чего не трогаем (это разширенные настройки для каждого драйвера)
stepperE0.intpol(0);
stepperZ.intpol(0);
}
#define AUTO_REPORT_TEMPERATURES // отправка температуры по usb
#define NO_VOLUMETRICS // Выключаем экструзию по объему
#define EXTENDED_CAPABILITIES_REPORT // Включаем расширенный отчет о возможностях прошивки для USB хостаНа это всё. Сохраняем, нажимаем кнопку компиляции прошивки. По окончании компиляции готовый файл firmware.bin нужно закинуть на флешку, флешку вставить в принтер. Файл firmware.bin лежит в по пути C:Marlin-bugfix-2.0.x.pioenvsLPC1768. После проверяем что все крутится куда нужно, нагревается там где нужно и останавливается там где нужно.
P.S Сильно не пинайте, статья первая.
Еще больше интересных статей
Быстрая печать ажурных стенок в Ultimaker Cura
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Подсветка для Ender 3 и Sprite Extruder с обдувом K3D
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Попросили меня подробнее написать про подсветку на моем Ender 3....
Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил я тут попробовать перейти с 8 бит на 32.
Готовы...
Комментарии и вопросы
Просто у тебя частный случай т...
Интересно бы увидеть распечатк...
В лампочках диоды многокристал...
Здравствуйте господа, у меня т...
Есть ли способ покупать пласти...
Всем доброго времени суток! 4...
Всем здравствуйте! Я печатал 2...