KomAndr 355 Опубліковано: 24 грудня 2020 Поділитись Опубліковано: 24 грудня 2020 З нагоди Нового року надумався надрукувати ялинковий ліс для друзів і тут я стикнувся з проблемами паузи та відновленням друку. Ці перші дві ялинки я надрукував використовуючи стандартні функції октопринту, про що колись питався тут Треба встигнути натиснути паузу, замінити пруток, натиснути відновлення і друк продовжиться там де зупинився. Наче нічого складного, але треба контролювати друк і не прогавити момент заміни кольору прутка. Щоб цього позбавитись існує чудовий плагин до Октопринту - Multi Colors Цей плагин вставляє у готовий G-code файл, на зазначеному шарі друку, потрібну команду. У нашому випадку, універсальну команду заміни філаменту - М600 Ця команда, при певних налаштуваннях, також працює і в Марлін. Встановлюємо плагін https://github.com/MoonshineSG/Octoprint-MultiColors/archive/master.zip після перезавантаження октопринту відкриваємо вкладку Multi Colors На зображені мої налаштування. У полі Find line я написав регулярний вираз який шукає співпадіння у зазначеному файлі з Г-кодом, згенерованим слайсером Simplify3d. У моєму випадку шукається рядок з написом ; layer 6 та після нього вставляє все, що написане у полі inject GCODE тоб-то М600 Нижче зображення як це буде вставлено у коді Щоб згенерувати змінений код бажано поставити позначку Duplicate file та натиснути Process У такому випадку згенерується новий файл з вставленими командами. У кінці файлу буде допис _multi Тепер нам треба сконфігурувати правильно Кліппер. На час написання цієї статті версія кліппера - FIRMWARE_VERSION:v0.9.1-104-g39a04eac FIRMWARE_NAME:Klipper 1. Додаємо секцію паузи. Там вказуєм бажану швидкість переміщеня сопла. За замовчуванням стоїть 50мм/с [pause_resume] recover_velocity: 210. 2. Пишемо макроси виходячи з алгоритму заміни прутка на іньший кольор: зупинити друк; запаркувати сопло у зазначену та зручну, для заміни прутка, позицію; вийняти відпрацьований пруток та подати звуковий сигнал; завантажити новий пруток; при необхідності продавити ще пруток; відновити друк. Далі макроси з інтуітивно зрозумілими назвами. [gcode_macro PARKING] default_parameter_x = 50 default_parameter_y = -2 default_parameter_z = 10 gcode: G91 G1 E-2 F2400 G1 Z{Z} G90 G1 X{X} Y{Y} F12000 Паркінг: Задаємо дефолтні координати куди повинно приїхати сопло на заміну філаменту Робимо ретракт 2мм на швидкості 40мм/с Піднімаємо вісь Z на 10мм від існуючої кординати переміщуємо сопло у координати X50 Y-2 на швидкосты 200мм/с [gcode_macro UNLOAD] gcode: G91 G1 E10 F2400 G1 E-60 F7000 G90 Вивантаження прутка: Видавити 10мм прутка для прогріву кінчика філаменту Вивантажити на відстань 60мм. У моєму випадку, для директу, це відстань де пруток буде за межами зони розплаву, але не пройде подаючу шестерню. Чому так? Коли пруток, з м'яким кінчиком, вийде за межи подаючої шестерні - м'яка частина прутка буде деформована тією самою шестерню і потім буде складно вийняти філамент з екструдеру!!! [gcode_macro PAUSE_MACRO] gcode: PAUSE PARKING [gcode_macro M600] gcode: SAVE_GCODE_STATE NAME=M600_state PAUSE_MACRO UNLOAD # signal about the replacement of the filament M300 S880 P800 RESTORE_GCODE_STATE NAME=M600_state М600: Як бачимо тут ми фіксуємо координати сопла, перед всіма маніпуляціями з заміною пластику, і перераховуємо написані макроси згідно нашого алгоритма. [gcode_macro LOAD_FILAMENT] gcode: G91 G1 E150 F600 G1 E10 F1000 G1 E10 F1000 G90 Завантаження філаменту: тут ми продавлюємо необхідну довжину і два "контрольніх постріла" по 10мм. Не завжди виходить завантажити зразу пруток, є конструкції прижиму, та розташування його, не дуже зручними для ручної заміни. Тому тут принцип завантаження наступний: вставляємо пруток до упору, трохи тиснемо на ньго в сторону подаючих шестерен і натискаємо кнопку завантаження пластику - про це буде трохи далі. [gcode_macro LOAD_FILAMENT_20] gcode: G91 G1 E20 F600 G1 E-1.6 F2500 G90 Тут я створив додатковий макрос для продавлювання ще 20мм прутка і відразу ретракт 1.2мм. Для повної заміни кольору треба продавлювати пруток на більші відстані. Як що кольори радикально різні - треба набагато більше прогнати прутка з новим кольором, а з ретрактами ми не тільки проганяємо пруток, но і, нібито, вичищаемо сопло як щіткою. Це буде відображатись на кольорі у місці ретракту. Ну а друга причина, чому я використав у цьому макросі ретракт - це прибирання пластику з сопла для "чистого" переміщеня сопла у зону продовження друку. Таким чином ми позбавляємося від соплі, або павутини через всю модель. [gcode_macro RESUME_MACRO] gcode: RESUME Ну і фінішний аккорд - макрос на відновлення друку. Як я писав вище, нам потрібно у ручному режимі активувати макроси завантаження філаменту, додаткового продавлювання, відновлення друку. Ще нам, у повсякденні, може знадобитись макрос вивантаження філаменту. Так як же нам бути? А дуже просто. На вкладці кліппера є можливість прописати свої макроси і відображати їх, за бажанням, на вкладці з'єднання принтера, або кліппера, або і там і там. Як це зробити - дуже просто. Відкриваємо налаштування плагина OctoKlipper та прописуємо необхідні нам макроси та назви: Сподіваюсь на це зображення не треба робити пояснення. Як бачимо, ці макроси нам стануть у нагоді. Ось тепер можно спокійно друкувати ялинковий ліс, тощо. П.С. До речі, ці макроси можливо використати при використанні датчика кінця філаменту Гарних, красивих, цікавих, Вам, кольорових роздруківок і моделей!!! 2 1 Цитата Посилання на повідомлення Поділитися на інших сайтах
Maks 29 Опубліковано: 11 березня 2021 Поділитись Опубліковано: 11 березня 2021 що я роблю не так ? Error loading template 'gcode_macro CANCEL_PRINT:gcode': UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128) Once the underlying issue is corrected, use the "RESTART" command to reload the config and restart the host software. Printer is halted Цитата Посилання на повідомлення Поділитися на інших сайтах
KomAndr 355 Опубліковано: 11 березня 2021 Автор Поділитись Опубліковано: 11 березня 2021 @Maks А можно більш детально, що поставив і після чого почалось? По опису, щось трапилось у секції gcode_macro CANCEL_PRINT Цитата Посилання на повідомлення Поділитися на інших сайтах
Maks 29 Опубліковано: 11 березня 2021 Поділитись Опубліковано: 11 березня 2021 скопіював макроси звідси а воно почало матюкатися при збереженні конфігу Цитата Посилання на повідомлення Поділитися на інших сайтах
KomAndr 355 Опубліковано: 11 березня 2021 Автор Поділитись Опубліковано: 11 березня 2021 1 хвилину тому, Maks сказав: скопіював макроси звідси а воно почало матюкатися при збереженні конфігу Перевіряй секцію gcode_macro CANCEL_PRINT Цитата Посилання на повідомлення Поділитися на інших сайтах
Maks 29 Опубліковано: 11 березня 2021 Поділитись Опубліковано: 11 березня 2021 Шось нічого не розумію , раніше все було ок , тепер спробував обновити moonraker і все потухло ХD , бачу треба по новому все ставити (хоч конфіг залишився...) Цитата Посилання на повідомлення Поділитися на інших сайтах
KomAndr 355 Опубліковано: 11 березня 2021 Автор Поділитись Опубліковано: 11 березня 2021 @Maks явно діло не у макросах, співпадіння. Цитата Посилання на повідомлення Поділитися на інших сайтах
alexeyd 13 Опубліковано: 12 березня 2021 Поділитись Опубліковано: 12 березня 2021 Это может быть из-за того, что что-то добавлял в конфигурацию копипастом с виндового нотепада. Удали секцию и рулями впиши с консольки с редактора nano или vi/vim Цитата Посилання на повідомлення Поділитися на інших сайтах
Maks 29 Опубліковано: 12 березня 2021 Поділитись Опубліковано: 12 березня 2021 Копіпастив з сайту , потім пробував через нотепад++ , треба буде вручну спробувати , дякую Цитата Посилання на повідомлення Поділитися на інших сайтах
KomAndr 355 Опубліковано: 12 березня 2021 Автор Поділитись Опубліковано: 12 березня 2021 @Maks так помилка взагалі не з копіпасту, а у твоїй секції, яка була раніше, або скопійована з іньшого ресурсу Цитата Посилання на повідомлення Поділитися на інших сайтах
Maks 29 Опубліковано: 12 березня 2021 Поділитись Опубліковано: 12 березня 2021 Та дивно , скопіював з іншого макросу і все норм (може шось від версії кліппер залежить...) що буває коли копіюєш і толком не розумієш що Цитата Посилання на повідомлення Поділитися на інших сайтах
Рекомендовані повідомлення
Приєднуйтесь до обговорення
Ви можете опублікувати повідомлення зараз, а зареєструватися пізніше. Якщо у вас є акаунт, увійдіть в нього для написання від свого імені.