Skivaks 3 Posted October 28, 2021 Share Posted October 28, 2021 Одного прекрасного моменту мене дістали круглі випуклі кутики принтів, а тратитись на "круту" плату керування не хотілось, та і не було можливості. Тому я почав ритись на всяких форумах в пошуках вирішення проблеми, суть якої заключається в тому, що драйвери степерів на моїй платі 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: фото з інструкції для плати 4.2.7: Збираємо все на місце, підключаємо все туди, звідки воно було витягнуте. Тепер, модифікації прошивки. Надіюсь ви вмієте генерити прошивку з вихідного коду, якщо ні, то самий час навчитись! Є невеликий ньюанс, з 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. Тепер можна і згенерувати і друканути тестовий принт. У мене тест виглядав так: Велике фото Після визначення К, друканув кубик: З ЛА. Велике фото 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 1 2 Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.