KREMEN Реклама
KREMEN Реклама

Ender 3, SKR 1.3, TMC2208, ось Z сбивается при печати

eax
Идет загрузка
Загрузка
31.07.2019
2471
8
Вопросы и ответы
Доброго времени суток!

С недавнего времени довольно громкие драйвера стокового Ender 3 перестали меня устраивать, поэтому было решено приобрести тихие TMC2208 V3, ну и плату SKR 1.3 заодно. Сказано - сделано, пару недель спустя плата у меня. Драйвера действительно тихие и я ими доволен. В целом все работает неплохо, но вот имеются пара проблем с осью Z. Дело в том, что иногда при печати эта самая ось, вместо движения наверх начинает двигаться вниз, вгрызаясь в свежепропечатанный пластик. Как итог - стоит отвлечься на пару минут, деталь уже испорчена, грубо сдернута с поверхности, а сопло неумолимо движется к самому столу. Было и такое, что сопло уперлось в стол и довольно прилично его прогнуло. Такая вот гадость происходит не всегда, например, недавно печатал кораблик Benchy и он довольно неплохо пропечатался. Всякие калибровочные кубики и мелкие детали печатаются тоже хорошо. Перерыл форум в надежде на ответы, но именно такой проблемы не увидел. Была похожая ситуация у человека, но он нашел старые профили от куры и с ними все стало работать. До SKR 1.3 я использовал klipper и был им очень доволен, как следствие все старые профили были заточены под klipper. Тут же решил опробовать Marlin 2.0, который должен отлично работать с 32 битными платами, но как то застрял с этой проблемкой.

Принтер - Ender 3, стоит 3D-Touch, на всех осях(включая экструдор) стоят TMC2208 V3 в UART режиме, имеется Octoprint, печать ведется через него. Слайсер я использую Cura 4.1.0

Печать ведется PLA пластиком 200/60

Для настройки марлина, пользовался этим гайдом https://ender3.club/Установка_SKR_1.3_%2B_TMC2208_UART

Некоторые настройки кофига Configuration.h

#define X_DRIVER_TYPE TMC2208

#define Y_DRIVER_TYPE TMC2208

#define Z_DRIVER_TYPE TMC2208

#define E0_DRIVER_TYPE TMC2208

#define S_CURVE_ACCELERATION

#define INVERT_E0_DIR true

#define HOMING_FEEDRATE_XY (30*60)

#define HOMING_FEEDRATE_Z (4*60) оставил 4, ибо пару раз когда игрался с шагами мотора, он довольно бодро протаранил стол. Сейчас спускается медленно :=)

#define BAUDRATE 115200 решил оставить так как есть, хоть и плата поддерживает 250000

всякие настройки картридера, стокового дисплея, BlTouch и его оффсеты думаю не интересны

Kp, Ki, Kd регуляторы пока не настраивал, было лень, ибо все и так неплохо на стоке работает

дальше интереснее, ковырялся с шагами двигателей, стоят 1/16 и работают в Stealthchop mode, все кроме экструдера, он работает в

#define DEFAULT_AXIS_STEPS_PER_UNIT { (200*16)/(2.0*20), (200*16)/(2.0*20), 400.00, 93.00 }

довольно долго грешил на те самые 400 по оси Z, делал расчеты именно для эндера, получалось что-то около 1600 с копейками, работало неплохо, но все же пока что остановился на дефолте, изначально конфиг был содран из папки с примерами

#define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } все оставил как есть

#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } тоже пока оставил все как есть, возможно увеличу эти значения позже, как Z ось будет стабильно работать

#define DEFAULT_ACCELERATION 500

#define DEFAULT_RETRACT_ACCELERATION 500

#define DEFAULT_TRAVEL_ACCELERATION 500

Джерки тоже стоят стандартые на 10

#define DEFAULT_XJERK 10.0

#define DEFAULT_YJERK 10.0

#define DEFAULT_ZJERK 0.3

#define DEFAULT_EJERK 5.0

В файле Configuration_adv.h

#define HOMING_BUMP_DIVISOR { 4, 4, 4 } поставил 4, для парковки осей, не думаю, что этот параметр имеет влияние на мою проблему, но все же

#define 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 5 // 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.

Так же включен Linear Advance

Был косяк с мотором Z, поэтому включил

#define MINIMUM_STEPPER_PULSE 1 и все заработало

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

if HAS_TRINAMIC

#define HOLD_MULTIPLIER 0.6 // Scales down the holding current from run current

#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256

#if AXIS_IS_TMC(X)

#define X_CURRENT 450 // (mA) RMS current. Multiply by 1.414 for peak current.

#define X_MICROSTEPS 16 // 0..256

#define X_RSENSE 0.11

#endif

#if AXIS_IS_TMC(Y)

#define Y_CURRENT 500

#define Y_MICROSTEPS 16

#define Y_RSENSE 0.11

#endif

#if AXIS_IS_TMC(Z)

#define Z_CURRENT 550

#define Z_MICROSTEPS 16

#define Z_RSENSE 0.11

#endif

#if AXIS_IS_TMC(E0)

#define E0_CURRENT 700

#define E0_MICROSTEPS 16

#define E0_RSENSE 0.11

#endif

X,Y,Z работают в режиме Stealthchop

#define STEALTHCHOP_XY

#define STEALTHCHOP_Z

//#define STEALTHCHOP_E

#define CHOPPER_TIMING CHOPPER_DEFAULT_24V ибо 24 Вольта напряжение

Включен гибридный режим

#define HYBRID_THRESHOLD

#define X_HYBRID_THRESHOLD 120

#define Y_HYBRID_THRESHOLD 120

#define Z_HYBRID_THRESHOLD 10

#define E0_HYBRID_THRESHOLD 15

Не слишком понял, что это за параметр, просто перенял из гайда, что-то с экструзией по объему, но не думаю, что в нем проблема:

#define NO_VOLUMETRICS

Как итог, принтер не может работать, когда я не дома, да и дома приходится бегать к нему каждые пару минут и смотреть, не начало ли сопло лихо бурить пластик :)

Для наглядности приложу пару фоток последней испорченной модели и настройки куры:
Ender 3, SKR 1.3, TMC2208, ось Z сбивается при печати
Ender 3, SKR 1.3, TMC2208, ось Z сбивается при печати
Ender 3, SKR 1.3, TMC2208, ось Z сбивается при печати
Ender 3, SKR 1.3, TMC2208, ось Z сбивается при печати
Ender 3, SKR 1.3, TMC2208, ось Z сбивается при печати
Ender 3, SKR 1.3, TMC2208, ось Z сбивается при печати
Ender 3, SKR 1.3, TMC2208, ось Z сбивается при печати
Ender 3, SKR 1.3, TMC2208, ось Z сбивается при печати
Вопрос получился весьма объемным, с лишней информацией, но я попытался подробно его описать с разных сторон, ибо уже нет идей куда копать и что менять.... Буду очень рад помощи и/или советам.

Спасибо, что дочитали эту стену текста :)

З.Ы. пытался оформить это все более читаемо, но все пробелы и пустые строчки были строго удалены :) осталась лишь стена текста
Ответы на вопросы
Lider 3D Реклама
Lider 3D Реклама