Jump to content

Linear Advance на Creality 4.2.2/4.2.7, або LA для бідних


Recommended Posts

Одного прекрасного моменту мене дістали круглі випуклі кутики принтів, а тратитись на "круту" плату керування не хотілось, та і не було можливості. Тому я почав ритись на всяких форумах в пошуках вирішення проблеми, суть якої заключається в тому, що драйвери степерів на моїй платі 4.2.2 розпаяні, і працюють в режимі Standalone. Вирішення проблеми було знайдено - фізична модифікація плати. Суть вирішення полягала в тому, що потрібно припаяти провідник до "ноги" STM32 провідник до піна драйвера екструдера який відповідає за використання режиму UART. Ну і, очевидно, модифікація прошивки для утилізації змін, ну і щоб магічний димок залишався на своїх місцях.

 

Знайшов в інтернеті інструкцію від пана Wong Sy Ming, в якій він описав метод даної модифікації. Лейаут плати 4.2.2, звичайно з того часу не змінився, але прошивка Marlin не стояла на місці, і зміна файлів для коректної роботи даної модифікації (відповідно інструкції) створювали помилки і прошивка відмовлялась компілюватись. Після трьох днів невдалих спроб компіляції, я був готовий купити нову плату, але ЗП ще не близько, а їсти хочеться, тому я ще трошки порився на просторах і знайшов модифіковану інструкцію для новішої версії прошивки. Там, правда описувався інший метод фізичної модифікації, але суть залишалась та сама. Нажаль, і та інструкція була описана не досить детально, і прошивка все одно не генерилась. Але, на щастя, у коментах під постом людина з цим всім розібралась і виставила свої результати у відкритий доступ (за що йому дуже дякуємо).

 

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

 

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

 

З юридичною частиною закінчили, перейдемо до самого процесу.

 

Для початку, вам потрібно буде: тонкий провідник (я маю на увазі ТОНКИЙ, свій я дістав з юсб подовжувача data провідник), паяльник з тонким жалом, тонкий припой (для контролю скільки ви його використовуєте) і всякі розхідні матеріали які вам потрібні для пайки (у мене це припой, кислота для пайки, мідна стружка), хороше освітлення робочої зони, лупа, або інший пристрій що дозволить вам краще бачити те що ви паяєте, "третя рука", ну і інше що на вашу думку вам допоможе.

 

Витягаємо плату з принетра, бажано запам'ятовувати що куди підключене, щоб нічого не перепутати, і не випустити магічний димок.

 

Фіксуємо у зручне положення для пайки та індентифікуємо місця де потрібно припаяти. Лудимо провідник, припаюємо на місце. Важливо припаяти до резистора R19 на контакт ближче до драйвера, це на платі 4.2.2, на 4.2.7 там трошки по іншому, там 2 резистора,паятись потрібно до R52 (не провірено мною).  Готово. Перевірте правильність виконання, чи кінці не торкаються інших відкритих контактів, чи не замостували ноги контролера, це дуже важливо для зберігання диму!

 

фото моєї модифікації на платі 4.2.2: 

image.thumb.png.1ab873a1c4e0c856632b9cfcc3f48bbe.png

 

фото з інструкції для плати 4.2.7:

image.thumb.png.825ac7b2237a0084a5571b67970bd76a.png

 

Збираємо все на місце, підключаємо все туди, звідки воно було витягнуте.

 

Тепер, модифікації прошивки. Надіюсь ви вмієте генерити прошивку з вихідного коду, якщо ні, то самий час навчитись! Є невеликий ньюанс, з Marlin 2.0.9.х. Компіляція проходить без помилок, але при прошивці просто чорний екран. Пояснення тут. Використовуємо Marlin 2.0.8.х або Jyers 1.3.4 (особисто я користуюсь цим). Пишуть, що якщо хочете використовувати версію вищу потрібно при компіляції прошивки вибирати STM32F103RET6_creality_maple а не як зазвичай STM32F103RET6_creality. Нижче наведені модифікації до файлів які виконав я (без урахування особистих)

 

platformio.ini

на початку файлу, після #targets

[env:my_build_env]
platform = infineonxmc
framework = arduino
lib_deps =
fysetc/SoftwareSerialM @ ^1.0.0

скролимо вниз, шукаємо build_flags, і там пілся = пишемо -DHAVE_SW_SERIAL.

Зберігаєм, закриваєм.

 

Configuration.h

#define TMC_UART_PIN_E PA3 - вставляємо це на початку файлу, після #programa once. Це для прошивки від Jyers, для Marlin можливо треба буде написати Е0, так як у файлі з пінами (Marlin/src/pins/stm32f1/pins_CREALITY_V4.h) може бути прописано #define E0_SERIAL_(TX|RX)_PIN TMC_UART_PIN_E0. Звичайно при компіляції воно вас запитає чи може ви мали на увазі Е0 чи Е. Достатньо просто дописати чи видалити 0 у файлі Configuration.h.

#define E0_DRIVER_TYPE TMC2208_STANDALONE - потрібно видалити STANDALONE так як ми хочемо що він працював у режимі SpreadCycle (читаємо опис вище у файлі).

+ зміни які потрібні особисто вам

Зберігаєм, закриваєм.

 

Configuration_adv.h

#define STEALTHCHOP_E - шукаємо цей рядок і закоментовуєм його 
#define LIN_ADVANCE - розкоментовуєм (заради цього все це і влаштовувалось)
#define CHOPPER_TIMING CHOPPER_DEFAULT_12V - тут 12в заміняємо на 24
#define TMC_DEBUG - це розкоментовуєм для ввімкнення команди м122 яка нам потрібна буде пізніше

 

Тепер витсавляємо струми для кожної в вісей (я поставив для всіх, ви можете поставити лише для Е, так як ми не модифікували всі драйвери а лише Е, тому для для інших вісей це не потрібно)

 

#define STEALTHCHOP_E - шукаємо цей рядок і закоментовуєм його 
#define LIN_ADVANCE - розкоментовуєм (заради цього все це і влаштовувалось)
#define CHOPPER_TIMING CHOPPER_DEFAULT_12V - тут 12в заміняємо на 24
#define TMC_DEBUG - це розкоментовуєм для ввімкнення команди м122 яка нам потрібна буде пізніше
#if AXIS_IS_TMC(X)
#define X_CURRENT 850
#if AXIS_IS_TMC(Y)
#define Y_CURRENT 780
#if AXIS_IS_TMC(Z)
#define Z_CURRENT 850
#if AXIS_IS_TMC(E0)
#define E0_CURRENT 990

+ зміни які потрібні особисто вам

Зберігаєм, закриваєм.

 

Прошиваємо плату. Підключаємся до принтера за допомогою софта з терміналом (у мому випадку окто). пишемо команду M122 і дивимося що напише:

Recv: 		E
Recv: Enabled		false
Recv: Set current	990
Recv: RMS current	939
Recv: MAX current	1324
Recv: Run current	16/31
Recv: Hold current	8/31
Recv: CS actual	8/31
Recv: PWM scale
Recv: vsense		0=.325
Recv: stealthChop	false ⟸  ЗВЕРНІТЬ УВАГУ
Recv: msteps		16
Recv: interp		true
Recv: tstep		max
Recv: PWM thresh.
Recv: [mm/s]
Recv: OT prewarn	false
Recv: pwm scale sum	10
Recv: pwm scale auto	0
Recv: pwm offset auto	36
Recv: pwm grad auto	14
Recv: off time	4
Recv: blank time	24
Recv: hysteresis
Recv:  -end		2
Recv:  -start		1
Recv: Stallguard thrs
Recv: uStep count	40
Recv: DRVSTATUS	E
Recv: sg_result
Recv: stst
Recv: olb		*
Recv: ola		*
Recv: s2gb
Recv: s2ga
Recv: otpw
Recv: ot
Recv: 157C
Recv: 150C
Recv: 143C
Recv: 120C
Recv: s2vsa
Recv: s2vsb
Recv: Driver registers:
Recv: 		E	0x80:08:00:C0
Recv: 
Recv: 
Recv: Testing E connection... OK ⟸ ЗВЕРНІТЬ УВАГУ
Recv: ok

 

Звертаємо увагу на те що позначено стрілками, якщо все так як у мене, то все гуд, модифікація успішна. Залишилось тестовий принт на визначення К. Але для початку не забудьте настроїти принтер, Z Offset, E-Steps, PID. Тепер можна і згенерувати і друканути тестовий принт. У мене тест виглядав так:

Велике фото

photo_2021-10-27_23-24-59222.thumb.jpg.c3193dd542195080ec549dd3487d42b5.jpg 

 

 

Після визначення К, друканув кубик:

З ЛА. Велике фото

photo_2021-10-28_01-10-35.thumb.jpg.5beef61c271e8d97fd717a6df7c88ba7.jpg

 

 

Credit & Sourse:

Перше що було знайдено - пост у соц мережі Фейсбук

- Пост на порталі Reddit від користувача LookAtDaShinyShiny та комент користувача greenbue_2020 під тим жеж постом

Файли з інструкціями від їх авторів (англійською):

 

Linear Advance Modification for Creality 4.2.2 boards v2.pdf

Creality4.2.2_4.2.7_TMC_UART_Mod.pdf

 

 

  • Like 1
  • Thanks 2
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...