Jump to content

Тонкощі прошивки Marlin 2 на SKR v1.3 з драйверами ТМС2130 SPI та "плюшками".


Recommended Posts

57889429_20190917120114.thumb.png.11f0f2fa85fb4534981fe4198a14a297.png

 

В своєму блозі я лякав Вас інструкцією з налаштуванням прошивки Марлін для цієї плати - ось Вам! 🤣

 

Ця інструкція розрахована на людей які мають досвід компіляції прошивок Marlin у середовищі Platformio.

 

Маємо материнку SKR v1.3 та драйвера TMC2130 SPI підготовлені для керувння по SPI. Як зробити з звичайних ТМС2130 драйвері керовані по SPI можно почитати за посиланням

Є бажання ще керувати освітленням принтера, вентиляторами обдуву хотенду, та обдуву материнської плати. На RAMPS все це можливо реалізувати, там і логіка на 5в і вільних пінів з можливістю керування ШИМ - вістачає, а наш пацієнт не має такої кількості вільних пінів, та й же логіка на 3.3в, але...

Все написане нижче є особистим досвідом який я збирав на різних сайтах і форумах. Все об'єднав і використав на своєї материнці, про що і Вам разкажу. 

 

Підготовка плати - за мануалом встановлюємо перемички для ТМС2130 SPI, за бажанням можно використати програмний кінцевик для вісі ХУ, в статті буде описано це.

 

1. Завантажуємо свіжий білд Marlin-bagfix

2. Відкриваємо platformio.ini та міняємо назву плати - default_envs = LPC1768

3. Відкриваємо Configuration.h та міняємо значення як написано нижче:

  • #define SERIAL_PORT -1
  • #define SERIAL_PORT_2 0
  • #define BAUDRATE 115200
  • #define MOTHERBOARD BOARD_BIGTREE_SKR_V1_3

 

4. Як що є бажання використовувати програмний кінцевик SENSORLESS_HOMING:

  • //#define ENDSTOPPULLUPS
  • #define ENDSTOPPULLUP_XMIN
  • #define ENDSTOPPULLUP_YMIN
  • #define X_MIN_ENDSTOP_INVERTING true
  • #define Y_MIN_ENDSTOP_INVERTING true

 

5. Повертаємось до подальших налаштувань:

  • #define X_DRIVER_TYPE  TMC2130
    #define Y_DRIVER_TYPE  TMC2130
    #define Z_DRIVER_TYPE  TMC2130

    #define E0_DRIVER_TYPE TMC2130
  • #define INVERT_X_DIR true
    #define INVERT_Y_DIR true
    #define INVERT_Z_DIR true
    #define INVERT_E0_DIR false
    -
    якщо екструдер Тітан, або інший редукторний - інакше ставимо true
  • #define EEPROM_SETTINGS

Також налаштовуєте свої параметри мікрошагів, дісплей, та інше під свій принтер.

 

6. Як що є бажання программно керувати яскравістю освітлення принтера, за допомогою світлодіодних стрічок, та керувати вентиляторами - треба зробити зміни у файлі \Marlin\src\pins\lpc1768\pins_BIGTREE_SKR_V1.3.h

  • #define Y_MAX_PIN          P1_26     //#define E0_AUTO_FAN_PIN -1
  • #define Z_MAX_PIN          P1_24    //#define USE_CONTROLLER_FAN
  • #if HOTENDS == 0
  • #define FAN1_PIN         P2_04    //CASE_LIGHT_PIN
  • //#define HEATER_1_PIN     P2_04

 

Відкриваємо Configuration_adv.h та продовжуємо налаштовувати прошивку.

  1. Управління вентиляторами
  • #define USE_CONTROLLER_FAN
  • #define CONTROLLER_FAN_PIN P1_24    //сигнальний пін Z_MAX  керує ввімкненням вентилятору
  • #define CONTROLLERFAN_SECS     // вимкнути вентилятор обдуву материнки, після вимкнення крокових двигунів, через 2сек.
  • #define CONTROLLERFAN_SPEED 190   // встановлюється швидкість обертання вентилятору. 255 - максимальні оберти.
  • #define E0_AUTO_FAN_PIN P1_26      //сигнальний пін Y_MAX керує ввімкненням вентилятору обдуву хотенду при нагріві до 50С
  • #define EXTRUDER_AUTO_FAN_SPEED 200   // 255 == full speed

 

       2. Управління світлодіодною стрічкою. Під'єднується до контактів плати FAN1

  • #define CASE_LIGHT_ENABLE
  • #define CASE_LIGHT_PIN P2_04  
  • #define CASE_LIGHT_DEFAULT_BRIGHTNESS 10  //інтенсивність освітлення. 255 - максимальна потужність.
  • #define CASE_LIGHT_MENU   // можливість керувати підсвіткою з дісплею принтера 

 

       3. Налаштування програмних кінцевиків ХУ

  • #define X_HOME_BUMP_MM 0
    #define Y_HOME_BUMP_MM 0
  • #define SENSORLESS_HOMING // StallGuard capable drivers only
  • #define X_STALL_SENSITIVITY  3
    #define Y_STALL_SENSITIVITY    //
    чутливість спрацьовування. Регулюється від -64 до 63 для ТМС2130!!!!

 

      4. Налаштування драйверів ТМС2130. Vref драйверів ТМС дорівнює максимальному току встановлених двигунів. Бажано встановити 80% від максимального току.

  • #define X_CURRENT     1300  // (mA) RMS current. Multiply by 1.414 for peak current.
    #define Y_CURRENT     1300
    #define Z_CURRENT     1300
    #define E0_CURRENT    1300  //
    для моїх двигунів Н4401 з током 1.7А  

  • #define TMC_USE_SW_SPI 

  • #define MONITOR_DRIVER_STATUS

  • #define TMC_DEBUG

 

       5. Як що є бажання використовувати функцію LIN_ADVANCE

  • #define LIN_ADVANCE
  • #define LIN_ADVANCE_K 0.0    //рекомендую встановити 0.0 а сам параметр прописувати у стартовому скипті командою М900 К х.хх
  • #define MINIMUM_STEPPER_PULSE 2    // як що не вказати цей параметр - перестане працювати екструдер. Поширюється на драйвер екструдера ТМС2130.

 

Доповнення УВАГА! У останніх версіях Марлін, на цій платі, не працюють параметри інтелектуального розширення точок заміру рівня столу.

  •  //#define EXTRAPOLATE_BEYOND_GRID

            //#define ABL_BILINEAR_SUBDIVISION

Як що активувати хоча б одну з цих функцій, то після команди G29 принтер або перезагрузиться, або зупинеться на місці останнього вивірювання та збросить координати на нульові, та почне їхати за межи робочого поля вправо. 

Два тиждні ковиряв прошивку, поки не розшукав це! 🧐

 

Як що є бажання встановити датчик закінчення філаменту, то його можно "прикрутити" на X_MAX_PIN P1_28 Так як на кінцевиках використовується 5в, то можно "прикрутити" ще й пристрій автоматичного налаштування діаметру філаменту, який зробив @Deniss  Але я цього не робив! 🙂 

 

 

Управління вентиляторами я зробив за допомогою плати розширення для RAMP 1.4

121809783_20190917114808.thumb.png.293cd1e99d48e26d5c48eecccb54f75d.png

 

Загалом це все що необхідно налаштувати для використання ТМС2130 SPI на цій платі. Режим HYBRID_THRESHOLD я навмисно не використовую, бо мотори починають голосно співати вже після 80мм/с і байдуже, що може бути зазначена швидкість переходу в цей режим 100мм/с, або більша.

На разі, з такими налаштуваннями чутно клацання титану, при ретрактах, та вентилятор блоку живлення. 

 

Також НЕ рекомендую використовувати програмні кінцевики SENSORLESS_HOMING 

Краще встановити оптичні кінцевики!

 

👍Бажаю всім тихого та якістьного друку з мозгами 32Біт!👍 

  • Like 2
Link to post
Share on other sites
  • 1 year later...

Доброго дня , пвідскажіть будь ласка , ви говорите що краще встановить оптичні кінцеві, у мене на платі skr 1.3 постійно горить що вони замкнуті , щоб я не робив. Підкажіть будь ласка як їх підключити

 

Link to post
Share on other sites
1 час назад, DVZV сказал:

Доброго дня , пвідскажіть будь ласка , ви говорите що краще встановить оптичні кінцеві, у мене на платі skr 1.3 постійно горить що вони замкнуті , щоб я не робив. Підкажіть будь ласка як їх підключити

 

Сам использую сенсорлес, но про оптические эндстопы на скр тоже читал для общего интереса. Проверь чтоб совпадали провода на эндстопе и на плате + - s.

Link to post
Share on other sites

@DVZV я так розумію джампери для "сенсорлесс" не встановленні? Може там проблема...

 

Тобто якщо встановленні то треба їх зняти

Link to post
Share on other sites

@DVZV те, що горить не говорить, що воно замкнене. Спочатку треба знати, що показує команда М119. 

Link to post
Share on other sites

Так , джампери зняті. Попробую вести команду відпишусь. 

 

Принтер бачить що кінцеві відпрацьовують , тобто їх статус змінюється при їх замиканні. 

Link to post
Share on other sites

Підкажіть чому при відправці додому він їх не бачить?  В прошивці стоїть false. Endstoppulldown закомегтоване , endstoppullups розкоментовано

Link to post
Share on other sites
3 минуты назад, DVZV сказал:

Підкажіть чому при відправці додому він їх не бачить?  В прошивці стоїть false. Endstoppulldown закомегтоване , endstoppullups розкоментовано

А они замыкаться при отправке домой? Флажок перекрывает светодиод и фотоэлемент?

Link to post
Share on other sites

Так індикатор гасне , тобто флажок перекриває його , але він не паркується 

Link to post
Share on other sites
Только что, DVZV сказал:

Можливо щось в прошивці?

Странно, очень странно.

Давай ещё раз проверим:

1) при не запаркованной оси даём команду М119, должно показать opened 

2)после этого руками паркуемся ось, чтоб на концевике погас светодиод и опять даём команду М119, должно быть triggered 

Link to post
Share on other sites

А ещё посмотри отключён ли в прошивке сенсорлесс

должно быть так:

//#define SENSORLESS_HOMING

 

два слеша это комментирование(отключение) опции

Link to post
Share on other sites

Це в вкладкі adv.h. то так закомегтоване .

 

Так пише open  а коли ось ставиш руками в парковку то triggered

 

Я п'ятий день сиджу над цією skr1.3 

Link to post
Share on other sites
1 час назад, DVZV сказал:

Я п'ятий день сиджу над цією skr1.3 

Посмотри ещё чтоб в прошивке был закоментированный сенсорлесс.

должно быть так:

// #define SENSORLESS_HOMING

Link to post
Share on other sites
4 минуты назад, DVZV сказал:

Закоментовано. 

А можешь выложить configuration.h сюда?? Попробую глянуть что там у тебя наконфигурено, может найду что-то.

Link to post
Share on other sites
3 години тому, DVZV сказав:

Я п'ятий день сиджу над цією skr1.3 

 

Ось так пропиши кінцевики - буде працювати. Тільки не забувай після прошивки скидати ЕЕПРОМ!

//===========================================================================
//============================== Endstop Settings ===========================
//===========================================================================

// @section homing

// Specify here all the endstop connectors that are connected to any endstop or probe.
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG

// Enable pullup for all endstops to prevent a floating state
//#define ENDSTOPPULLUPS
#if DISABLED(ENDSTOPPULLUPS)
  // Disable ENDSTOPPULLUPS to set pullups individually
  //#define ENDSTOPPULLUP_XMAX
  //#define ENDSTOPPULLUP_YMAX
  //#define ENDSTOPPULLUP_ZMAX
  //#define ENDSTOPPULLUP_XMIN
  //#define ENDSTOPPULLUP_YMIN
  //#define ENDSTOPPULLUP_ZMIN
  //#define ENDSTOPPULLUP_ZMIN_PROBE
#endif

// Enable pulldown for all endstops to prevent a floating state
//#define ENDSTOPPULLDOWNS
#if DISABLED(ENDSTOPPULLDOWNS)
  // Disable ENDSTOPPULLDOWNS to set pulldowns individually
  //#define ENDSTOPPULLDOWN_XMAX
  //#define ENDSTOPPULLDOWN_YMAX
  //#define ENDSTOPPULLDOWN_ZMAX
  //#define ENDSTOPPULLDOWN_XMIN
  //#define ENDSTOPPULLDOWN_YMIN
  //#define ENDSTOPPULLDOWN_ZMIN
  //#define ENDSTOPPULLDOWN_ZMIN_PROBE
#endif

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe.

 

Link to post
Share on other sites

Мужики Закоментував ендстоппулапс в все поїхало. Низький уклін .)

Link to post
Share on other sites
3 минуты назад, DVZV сказал:

Мужики Закоментував ендстоппулапс в все поїхало. Низький уклін .)

Урааа :)

подключайся к телеграмм каналу, в шапке сайта есть ссылки, там оперативнее можно получить ответ ;)

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...