IdeaFormer IR3 V1 - переход на Klipper и новые апгрейды
Всем привет! Это четвёртая статья о моём конвейерном принтере, в которой я буду описывать свой опыт перехода на прошивку Клиппер и некоторые другие изменения в конструкции.
Ранее в цикле:
IdeaFormer IR3 V1 - обзор и первая печать
IdeaFormer IR3 V1 - решение проблемы смещающихся слоёв
IdeaFormer IR3 V1 - директ экструдер
Пройдя все вышестоящие этапы, я подобрался к следующему логичному шагу – смене управляющей электроники и прошивки.
Штатно на принтере установлена плата MKS Gen-L v2.1 с восьмибитным процессором, что по современным меркам принтерострояния уже анахронизм. Да и Марлин не может похвастаться полноценной поддержкой современных технологий улучшения качества печати (вроде того же Input Shaping) и скоростью внедрения обновлений.
С клиппером я уже знаком, ранее я применял его на двух других своих принтерах – дельте Tevo Little Monster и Кубике.
Опыт сугубо положительный – система стабильная, предсказуемая, конфигурируется легко и удобно. С этим проблем не ожидается.
Другая часть задачи – переделать кронштейн крепления вентиляторов печатающей головы, чтобы улучшить охлаждения термобарьера и добиться равномерного двухстороннего обдува печатаемой детали. Сюда же – упрочнение крепления податчика струны, т.к. взятая мной с Thingiverse моделька оказалась недостаточно крепкой.
Ну и «на сладкое» - переделка балки оси Y, которую я планирую сменить на карбон, ради некоторого облегчения подвижной части печатающей системы, что положительно сказывается на доступных ускорениях. Ну и потому, что просто могу. Прикольно же!
Итак, за работу. В смысле – за моделирование. Прежде чем лезть в «кишки» принтера хорошо бы в подробностях отрисовать новые детали.
Замеряю размеры и положение отверстий на тех частях рамы, с которыми мне предстоит стыковаться и сажусь рисовать.
В итоге получается что-то такое:
От штатной системы остаётся рельса с кареткой, узел натяжения ремней, кронштейн под радиатор термобарьера и основная крепежная пластина головы. Её тоже можно было бы заменить на карбон, но тогда я почему-то об этом не подумал.
На скриншотах уже финальная версия – в процессе примерки некоторых деталей были найдены небольшие ошибки, которые я исправлял в модели, перепечатывал и снова примерял.
Так же я смоделировал накладки на корпус управляющей электроники, в которых будет размещен тачскрин и 120мм вентилятор охлаждения. Меня так достал шум от двух мелких кулеров (40 и 60мм), что это переделка обдува контроллера была обязательной частью обновления принтера.
С корпуса я и начал.
С экраном печатные детали состыковались хорошо, а вот с верхней накладкой я слегка накосячил – не сошлись крепежные отверстия, что было тут же исправлено в модели и отправлено на перепечатку.
А пока исправленная модель печаталась – я разобрал корпус и взялся за маркировку проводов.
Провод за проводом всё было помечено.
Теперь можно устанавливать новую плату и подключать провода уже к ней.
Т.к. в корпусе места не то, чтобы очень много (а мне еще нужно уместить одноплатник для Клипера) я искал что-то компактное, но имеющее все нужные функции.
В конце концов выбор пал на Mellow Fly-D5.
К числу её достоинств можно отнести малый размер, встроенный CAN-адаптер (на будущее) и удачное для меня расположение разъёмов.
Выставив джамперы драйверов в соответствии с документацией я перешел к подключение проводов.
На мою удачу их длины хватило для достаточно удобного размещения в доступном объёме, разве что пришлось сделать два маленьких изменения:
1) Удлинить провод подключения обдува печатаемой детали
2) Подключить нагреватели стола и печатающей головы крест-накрест.
Без второго пункта можно было обойтись, но так провода ложились аккуратнее.
Теперь дело за хостом Клиппера. На других своих принтерах я использовал одноплатный компьютер Orange Pi 3 LTS, но тут для него слишком мало места.
Посмотрев доступные варианты, я остановился на Orange Pi Zero 3, у которого есть парочка важных плюсов – компактный размер и сосредоточенные на одной стороне разъёмы подключения периферии.
К минусам можно отнести отсутствие EMMC, вместо которой придётся использовать MicroSD карточку.
На флэшке экономить явно не стоит, так что я поискал что-нибудь устойчивое к большому количество записи и выбрал SanDisk Max Endurance на 32Гб.
Экран выбирался исходя из размеров фронтальной панели корпуса, так что пришлось взять достаточно маленький (по сравнению с другими принтерами) HDMI тачскрин на 4.3”
Экран подключается двумя кабелями: HDMI <> MicroHDMI для передачи изображения и MicroUSB <> USB для подачи питания и сенсорного управления.
Кстати, о USB. На Orange Pi Zero 3 три доступных USB порта – один распаянный, а два других выведены на контакты гребёнки.
На какие именно – написано в документации.
Я использую все три – в распаянный порт подключается экран, один порт гребёнки занят платой управления принтером, а другой выведен на панель через шнурок с разъёмом. Он будет использоваться для подключения внешней периферии – акселерометра или веб-камеры. Шнурок нужно перепиновать в соответствии с положением контактов на гребёнке.
После установки OS, Клиппера и первичной настройки я засунул «апельсинку» в корпус, определив её на место платки-разветвителя вентиляторов, ранее крепившейся на боковой стенке.
В этой статье установка системы остаётся «за кадром». Если для вас это в новинку – обратитесь к Klipper Wiki где есть примеры установки и подключения для разных плат.
С размещением электроники закончил, теперь пора пошуметь. В смысле, вырезать в корпусе отверстия для вывода проводов и кулера на 120мм.
Нацарапав примерные линия отреза, я взялся за дремель и минут сорок колупал верхнюю крышку корпуса.
Сглаживаю края наждачкой, чищу от пыли, примеряю.
В глубине проводов можно разглядеть желтый прямоугольник, слегка подсвеченный красным светодиодом. Это регулируемый понижающий DC-DC преобразователь LM2596, которым я получаю 5в для питания одноплатного компьютера.
К нему питание идёт с одного из разъёмов неуправляемых вентиляторов платы Fly-D5, а от него (белым проводом с USB Type-C) в Orange Pi Zero 3.
Второй такой же преобразователь используется для регулировки напряжения питания 120-го кулера, закреплённого на верхней накладке корпуса. К этому времени её исправленная версия как раз допечаталась.
Немного корректирую настройки слайсера и запускаю тестовый кубик, чтобы проверить, что всё корректно работает и не сбоит во время печати.
С первой задачей всё – принтер переведён на Клиппер и может печатать. Правда, само по себе это особого выигрыша (кроме повышения удобства за счет онлайн доступа) не даёт.
Двигаюсь дальше – теперь нужно перебрать «голову».
На фото представлены новые печатные детали балки, держатель для податчика и кронштейн вентиляторов охлаждения. Карбоновый профиль для портала (330мм), карбоновые пластины для его крепления. Жертвенный кабель для подключения новой головы (остался со времён покупки заводского «директа») и новый хотенд.
О последнем чуть подробнее: тут уже привычная для меня сборка из радиатора E3D v6, биметаллического горла «титан-медь» и керамического нагревателя TriangleLab CHC. Сопло родное – латунь с никелевым покрытием.
Радиатор, конечно, несколько архаичный по современным меркам, но дешевый и хорошо справляется с теплоотводом за счет обширного оребрения.
Разворачиваю принтер обратной стороной и берусь за работу.
Первым делом отмечаю маркером позицию крепления ремней, чтобы потом было на что ориентироваться при возвращении их на место.
Откручиваю и откладываю голову – с ней разберёмся позже.
Снимаю ремни, проверяю плавность хода портала на родных комплектующих. Это нужно для понимания не перетянул ли я что-нибудь при установке новых деталей.
Поочерёдно откручиваю крепления балки, раскладывая снятые детали на «левые» и «правые».
В случае неудачи с карбоном так будет проще вернуться к изначальной конструкции.
Отдельно фотографирую положение роликов натяжения ремня.
Снимаю ролики и оставшиеся пластины.
Теперь, когда все детали балки откручены, можно прикинуть разницу в весе:
И она, прямо скажем, невелика т.к. основной вес даёт алюминиевый профиль, а он достаточно короткий. На принтере с порталом большего размера разница была бы ощутимее.
Не то, чтобы я ожидал какого-то фантастического выигрыша от такого облегчения конструкции, но всё-таки. Мне вообще было скорее интересно попробовать – смогу ли я приделать новую балку с достаточной точностью, чтобы это всё вообще заработало.
Кстати, о точности – пока сняты ремни, я имею доступ к оптическому концевику оси Y, который давно планировал сменить. Штатно установлен LERDGE Optical Endstop-4001, и он достаточно хреновый т.к. имеет непростительную для оптики повторяемость, к тому же зависящую от скорости парковки.
Меняю его на EE-SX671WR
Новый концевик имеет другие посадочные размеры, так что я фиксирую его одним болтом, а с другой стороны поджимаю печатной деталькой (чтобы он не мог провернуться на оси).
«А чего это вы тут делаете?»
Готовлюсь к сборке портала – прикручиваю углепластиковые обкладки и фиксирую балку портала струбцинами. Теперь нужно аккуратно просверлить балку через указанные отверстия сверлом 4мм с обоих сторон. Желательно, чтобы кто-нибудь помог, направляя шланг пылесоса под точку сверления т.к. свои руки будут заняты удержанием портала и шуруповёрта.
Обратную установку портала начинаю с роликов. С моими новыми деталями расстояние между пластинами увеличилось на 4мм от штатного, так что мне нужно добавить какие-нибудь проставки для компенсации размеров.
Самый простой вариант – добавить на каждую сторону по шайбе толщиной 2мм из чего-нибудь плотного. Для этого хорошо подходят стойки для печатных плат М4х2.
Правда в магазине радиодеталей удачно нашлись латунные стойки М4х22, так что шайба будет только со стороны ролика.
Болты аналогично заменяются на более длинные.
Прикручиваю пару новых карбоновых обкладок и ставлю на них обводные ролики, сверяясь с ранее сделанным фото.
Балка фиксируется четырьмя болтами М4х50, проходящими в просверленные ранее отверстия.
На фото она установлена временно – для проверки соосности сверления. Сейчас я её снова сниму для сверления под рельс линейного подшипника.
Направляющая будет закреплена двумя закладными, вставленными внутрь углепластикового квадрата.
Выставляю рельс на балке с помощью печатных кондукторов. Изначально думал использовать алюминиевые, но из-за гуляющих размеров карбона они не налезли.
Делаю четыре отверстия сверлом 3.2мм и вставляю закладные с запрессованными гайками М3.
Прикручиваю рельс …
… и устанавливаю всё это великолепие на место.
О, чуть не забыл! До натяжения ремней нужно прикрутить упор для механического концевика оси X т.к. он ставится на те же болты, что и обводные ролики.
Вот теперь можно возвращать ремни.
Крепление у них красивое и надёжное, только не очень удобное т.к. приходится натягивать два ремня сразу из-за общей крепёжной планки. В теории, её можно распилить на две половинки и устанавливать ремни независимо, но я не стал.
Портал готов, перехожу к «голове».
Из её деталей мне нужна основная крепежная планка и кронштейн радиатора, остальное откладываю в сторону.
Примеряю планку к напечатанной детали – всё сходится хорошо, разве что одно из крепежных отверстий я нарисовал не в том месте (оно оказалось несимметрично своей паре с другой стороны).
Исправляю в модели и двигаюсь дальше.
Прикручиваю хотенд и временно ставлю голову на принтер.
Ага, хорошо. Зазор между краем напечатанной детали и столом получился даже больше, чем я предполагал – это позволяет немного сместить выходные отверстия обдува ближе к соплу.
А еще становится видно, что мне нужно какое-то крепление для провода нагревателя, иначе он может за что-нибудь зацепиться.
Вношу коррективы в модель и печатаю новую версию.
Теперь всё в порядке.
Берусь за провода. Откусываю концевик, нагреватель, термистор и вентилятор охлаждения с жертвенного кабеля, после чего снимаю силиконовый шланг и разбираю разъём.
Убираю обрубки проводов нагревателя и датчика температуры, припаивая на их место удлинители из комплекта TriangleLab CHC.
Ставлю «голову» на место и приступаю к сращиванию проводов.
Силиконовый шланг заменяется на сетчатую оплётку – она мне нравится больше, да и выглядит прикольно.
Правда, отрезать её нужно не «в размер» а с запасом, о чём я постоянно забываю.
Закончив с проводами, я до упора пропихиваю кусок PTFE трубки, которая будет направлять филамент от податчика к хотенду.
Обрезаю, оставляя примерно 6мм выступающими над платформой податчика, и прикручиваю «шерпу».
Т.к. я снова ошибся с размером куска сетчатой оплётки, прячу остатки проводов в разрезную гофру. Выглядит это стрёмно, да еще и торцом слегка цепляет алюминиевый профиль рамы. Гадость.
Перетягиваю оплётку, перемещая недостаток к разъёму подключения блока управления.
И всё, сборка завершена. Ну, почти.
Тут я вспоминаю, что у меня еще аж со времён покупки принтера лежат новые барашки регулировки стола, которые были повреждены при доставке. Вот и их время настало.
Теперь точно всё. Общий вид:
Голова отдельно:
Теперь у меня и обдув равномерный и сопло видно замечательно.
Переходим к самому «вкусному» - калибровке компенсации резонансов.
Вешаю датчик Mellow Fly-ADXL345 на «голову» и запускаю SHAPER_CALIBRATE
По Х картина относительно неплохая …
А вот на оси Y много мусора, что, как мне кажется, связано с некоторым заметным люфтом каретки MGN12C.
Надо бы попробовать её заменить и посмотреть не изменится ли чего. Кажется, у меня была запасная от KGT.
Последний штрих – проверка длительной печатью (перед которой, разумеется, калибруется PID стола и хотенда).
Корректирую настройки скорости в слайсере, нахожу катушку с остатками белого PETG и запускаю печататься прямоугольник 20х10х500.
Всё ОК – температуры «апельсина», платы управления и хотенда стабильны.
Напоследок еще раз перечислю использованные комплектующие:
Плата управления принтером
Mellow Fly-D5 - https://aliexpress.ru/item/1005006024296423.html
Одноплатный компьютер
Orange Pi Zero 3 - https://aliexpress.ru/item/1005006612641669.html
Тачскрин
TZT 4.3” 800х480 - https://aliexpress.ru/item/1005006111886326.html
Флэш карта MicroSD
SanDisk Max Endurance 32Gb - https://www.wildberries.ru/catalog/143504188/detail.aspx?size=242342401
Понижающий DC-DC преобразователь
LM2596 - https://aliexpress.ru/item/10000000656280.html
Оптический концевик
EE-SX671WR - https://aliexpress.ru/item/1005004397495488.html
Планка USB
USB 2.0 с раздельными портами - https://aliexpress.ru/item/1005006048028604.html
Акселерометр
Mellow Fly-ADXL345 - https://aliexpress.ru/item/1005006225740640.html
Радиатор хотенда
E3D v6 - https://aliexpress.ru/item/1005002814191260.html
Термобарьер
Биметалл «титан-медь» с гайкой - https://aliexpress.ru/item/1005005789951492.html
Нагревательный блок
TriangleLab CHC 24в - https://aliexpress.ru/item/32697889176.html
Сопла под IR3
Никелированная латунь - https://aliexpress.ru/item/1005004608922456.html
Карбоновая квадратная труба
20х20х18х500 - https://aliexpress.ru/item/1005006440860052.html
Карбоновые пластины крепления
Заказ резки по чертежу - https://aliexpress.ru/item/4000389892453.html
Печатные детали:
Все модели по ссылке https://ravencosplay.ru/things/info/2809-komplekt-pechatnyh-detaley-dlya-ideaformer-ir3-v1
Моя конфигурация Klipper:
[mcu adxl]
serial: /dev/serial/by-id/usb-Klipper_rp2040_E6626005A7725C34-if00
[adxl345]
cs_pin: adxl:gpio9
spi_software_sclk_pin: adxl:gpio10
spi_software_mosi_pin: adxl:gpio11
spi_software_miso_pin: adxl:gpio12
axes_map: x,-z,y
[resonance_tester]
accel_chip: adxl345
probe_points:
125,125,20
[include mainsail.cfg]
#[include accelerometer.cfg]
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f072xb_12345-if00
restart_method: command
########################################
# Printer configuration
########################################
[printer]
kinematics: corexy
max_velocity: 150
max_accel: 5000
max_z_velocity: 10
max_z_accel: 500
[virtual_sdcard]
path: /home/orangepi/printer_data/gcodes
on_error_gcode: CANCEL_PRINT
# Override to support unlimited belt size
# (homing Z simply resets its virtual position to 0.0)
[homing_override]
axes: z
set_position_z: 0
gcode:
{% if params.X is not defined and params.Y is not defined and params.Z is not defined %}G28 X0 Y0{% endif %}
{% if params.X is defined %}G28 X0{% endif %}
{% if params.Y is defined %}G28 Y0{% endif %}
G92 Z0
[idle_timeout]
timeout: 1800 # timeout in seconds (1800 = 30 minutes)
########################################
# Axis and TMC configuration
########################################
[stepper_x]
step_pin: PC15
dir_pin: PC14
enable_pin: !PC2
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PB4
position_endstop: 0
position_max: 250
homing_speed: 30
[tmc2209 stepper_x]
uart_pin: PC13
run_current: 1.1
stealthchop_threshold: 999999
[stepper_y]
step_pin: PA1
dir_pin: PA0
enable_pin: !PA2
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PB3
position_endstop: 0
position_max: 360
homing_speed: 30
[tmc2209 stepper_y]
uart_pin: PC3
run_current: 1.1
stealthchop_threshold: 999999
[stepper_z]
step_pin: PA5
dir_pin: !PA4
enable_pin: !PA6
microsteps: 16
rotation_distance: 48.324
endstop_pin: ^PD2
position_endstop: 0
position_max: 99999
position_min: -3
[tmc2209 stepper_z]
uart_pin: PA3
run_current: 1.5
stealthchop_threshold: 999999
[extruder]
step_pin: PC5
dir_pin: !PC4
enable_pin: !PB0
rotation_distance: 22.668 # for 5mm Shaft Driven Bondtech gearsets
gear_ratio: 50:10 # 50:10 for standard 10t motor, 50:8 for sherpa mini 8t motor
full_steps_per_rotation: 200 # 1.8deg Motor
microsteps: 16
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC7
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: PC1
min_temp: 0
max_temp: 250
pressure_advance: 0.08
max_extrude_only_accel: 1000
control: pid
pid_Kp: 19.046
pid_Ki: 1.000
pid_Kd: 90.705
[tmc2209 extruder]
uart_pin: PA7
run_current: 0.65
########################################
# Heater bed configuration
########################################
[heater_bed]
heater_pin: PC6
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: PC0
min_temp: 0
max_temp: 130
control: pid
pid_Kp: 70.841
pid_Ki: 1.431
pid_Kd: 876.659
########################################
# Fans configuration
########################################
[fan]
pin: PC9
[heater_fan hotend_fan]
pin: PC8
heater: extruder
heater_temp: 50.0
########################################
# Host temperature
########################################
[temperature_sensor mcu_temp]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100
[temperature_sensor orange_pi]
sensor_type: temperature_host
min_temp: 0
max_temp: 100
########################################
# Input shaper configuration
########################################
[input_shaper]
shaper_type_x: zv
shaper_freq_x: 103.2
shaper_type_y: zv
shaper_freq_y: 127.0
Документация:
Mellow Fly-D5 - https://mellow-3d.github.io/fly_d5.html
Orange Pi Zero 3 - http://www.orangepi.org/orangepiwiki/index.php/Orange_Pi_Zero_3
Klipper - https://www.klipper3d.org/Config_Reference.html
Вроде бы всё. Если что – милости просим в комменты ^_~
Ранее в цикле:
IdeaFormer IR3 V1 - обзор и первая печать
IdeaFormer IR3 V1 - решение проблемы смещающихся слоёв
IdeaFormer IR3 V1 - директ экструдер
Пройдя все вышестоящие этапы, я подобрался к следующему логичному шагу – смене управляющей электроники и прошивки.
Штатно на принтере установлена плата MKS Gen-L v2.1 с восьмибитным процессором, что по современным меркам принтерострояния уже анахронизм. Да и Марлин не может похвастаться полноценной поддержкой современных технологий улучшения качества печати (вроде того же Input Shaping) и скоростью внедрения обновлений.
С клиппером я уже знаком, ранее я применял его на двух других своих принтерах – дельте Tevo Little Monster и Кубике.
Опыт сугубо положительный – система стабильная, предсказуемая, конфигурируется легко и удобно. С этим проблем не ожидается.
Другая часть задачи – переделать кронштейн крепления вентиляторов печатающей головы, чтобы улучшить охлаждения термобарьера и добиться равномерного двухстороннего обдува печатаемой детали. Сюда же – упрочнение крепления податчика струны, т.к. взятая мной с Thingiverse моделька оказалась недостаточно крепкой.
Ну и «на сладкое» - переделка балки оси Y, которую я планирую сменить на карбон, ради некоторого облегчения подвижной части печатающей системы, что положительно сказывается на доступных ускорениях. Ну и потому, что просто могу. Прикольно же!
Итак, за работу. В смысле – за моделирование. Прежде чем лезть в «кишки» принтера хорошо бы в подробностях отрисовать новые детали.
Замеряю размеры и положение отверстий на тех частях рамы, с которыми мне предстоит стыковаться и сажусь рисовать.
В итоге получается что-то такое:
От штатной системы остаётся рельса с кареткой, узел натяжения ремней, кронштейн под радиатор термобарьера и основная крепежная пластина головы. Её тоже можно было бы заменить на карбон, но тогда я почему-то об этом не подумал.
На скриншотах уже финальная версия – в процессе примерки некоторых деталей были найдены небольшие ошибки, которые я исправлял в модели, перепечатывал и снова примерял.
Так же я смоделировал накладки на корпус управляющей электроники, в которых будет размещен тачскрин и 120мм вентилятор охлаждения. Меня так достал шум от двух мелких кулеров (40 и 60мм), что это переделка обдува контроллера была обязательной частью обновления принтера.
С корпуса я и начал.
С экраном печатные детали состыковались хорошо, а вот с верхней накладкой я слегка накосячил – не сошлись крепежные отверстия, что было тут же исправлено в модели и отправлено на перепечатку.
А пока исправленная модель печаталась – я разобрал корпус и взялся за маркировку проводов.
Провод за проводом всё было помечено.
Теперь можно устанавливать новую плату и подключать провода уже к ней.
Т.к. в корпусе места не то, чтобы очень много (а мне еще нужно уместить одноплатник для Клипера) я искал что-то компактное, но имеющее все нужные функции.
В конце концов выбор пал на Mellow Fly-D5.
К числу её достоинств можно отнести малый размер, встроенный CAN-адаптер (на будущее) и удачное для меня расположение разъёмов.
Выставив джамперы драйверов в соответствии с документацией я перешел к подключение проводов.
На мою удачу их длины хватило для достаточно удобного размещения в доступном объёме, разве что пришлось сделать два маленьких изменения:
1) Удлинить провод подключения обдува печатаемой детали
2) Подключить нагреватели стола и печатающей головы крест-накрест.
Без второго пункта можно было обойтись, но так провода ложились аккуратнее.
Теперь дело за хостом Клиппера. На других своих принтерах я использовал одноплатный компьютер Orange Pi 3 LTS, но тут для него слишком мало места.
Посмотрев доступные варианты, я остановился на Orange Pi Zero 3, у которого есть парочка важных плюсов – компактный размер и сосредоточенные на одной стороне разъёмы подключения периферии.
К минусам можно отнести отсутствие EMMC, вместо которой придётся использовать MicroSD карточку.
На флэшке экономить явно не стоит, так что я поискал что-нибудь устойчивое к большому количество записи и выбрал SanDisk Max Endurance на 32Гб.
Экран выбирался исходя из размеров фронтальной панели корпуса, так что пришлось взять достаточно маленький (по сравнению с другими принтерами) HDMI тачскрин на 4.3”
Экран подключается двумя кабелями: HDMI <> MicroHDMI для передачи изображения и MicroUSB <> USB для подачи питания и сенсорного управления.
Кстати, о USB. На Orange Pi Zero 3 три доступных USB порта – один распаянный, а два других выведены на контакты гребёнки.
На какие именно – написано в документации.
Я использую все три – в распаянный порт подключается экран, один порт гребёнки занят платой управления принтером, а другой выведен на панель через шнурок с разъёмом. Он будет использоваться для подключения внешней периферии – акселерометра или веб-камеры. Шнурок нужно перепиновать в соответствии с положением контактов на гребёнке.
После установки OS, Клиппера и первичной настройки я засунул «апельсинку» в корпус, определив её на место платки-разветвителя вентиляторов, ранее крепившейся на боковой стенке.
В этой статье установка системы остаётся «за кадром». Если для вас это в новинку – обратитесь к Klipper Wiki где есть примеры установки и подключения для разных плат.
С размещением электроники закончил, теперь пора пошуметь. В смысле, вырезать в корпусе отверстия для вывода проводов и кулера на 120мм.
Нацарапав примерные линия отреза, я взялся за дремель и минут сорок колупал верхнюю крышку корпуса.
Сглаживаю края наждачкой, чищу от пыли, примеряю.
В глубине проводов можно разглядеть желтый прямоугольник, слегка подсвеченный красным светодиодом. Это регулируемый понижающий DC-DC преобразователь LM2596, которым я получаю 5в для питания одноплатного компьютера.
К нему питание идёт с одного из разъёмов неуправляемых вентиляторов платы Fly-D5, а от него (белым проводом с USB Type-C) в Orange Pi Zero 3.
Второй такой же преобразователь используется для регулировки напряжения питания 120-го кулера, закреплённого на верхней накладке корпуса. К этому времени её исправленная версия как раз допечаталась.
Немного корректирую настройки слайсера и запускаю тестовый кубик, чтобы проверить, что всё корректно работает и не сбоит во время печати.
С первой задачей всё – принтер переведён на Клиппер и может печатать. Правда, само по себе это особого выигрыша (кроме повышения удобства за счет онлайн доступа) не даёт.
Двигаюсь дальше – теперь нужно перебрать «голову».
На фото представлены новые печатные детали балки, держатель для податчика и кронштейн вентиляторов охлаждения. Карбоновый профиль для портала (330мм), карбоновые пластины для его крепления. Жертвенный кабель для подключения новой головы (остался со времён покупки заводского «директа») и новый хотенд.
О последнем чуть подробнее: тут уже привычная для меня сборка из радиатора E3D v6, биметаллического горла «титан-медь» и керамического нагревателя TriangleLab CHC. Сопло родное – латунь с никелевым покрытием.
Радиатор, конечно, несколько архаичный по современным меркам, но дешевый и хорошо справляется с теплоотводом за счет обширного оребрения.
Разворачиваю принтер обратной стороной и берусь за работу.
Первым делом отмечаю маркером позицию крепления ремней, чтобы потом было на что ориентироваться при возвращении их на место.
Откручиваю и откладываю голову – с ней разберёмся позже.
Снимаю ремни, проверяю плавность хода портала на родных комплектующих. Это нужно для понимания не перетянул ли я что-нибудь при установке новых деталей.
Поочерёдно откручиваю крепления балки, раскладывая снятые детали на «левые» и «правые».
В случае неудачи с карбоном так будет проще вернуться к изначальной конструкции.
Отдельно фотографирую положение роликов натяжения ремня.
Снимаю ролики и оставшиеся пластины.
Теперь, когда все детали балки откручены, можно прикинуть разницу в весе:
И она, прямо скажем, невелика т.к. основной вес даёт алюминиевый профиль, а он достаточно короткий. На принтере с порталом большего размера разница была бы ощутимее.
Не то, чтобы я ожидал какого-то фантастического выигрыша от такого облегчения конструкции, но всё-таки. Мне вообще было скорее интересно попробовать – смогу ли я приделать новую балку с достаточной точностью, чтобы это всё вообще заработало.
Кстати, о точности – пока сняты ремни, я имею доступ к оптическому концевику оси Y, который давно планировал сменить. Штатно установлен LERDGE Optical Endstop-4001, и он достаточно хреновый т.к. имеет непростительную для оптики повторяемость, к тому же зависящую от скорости парковки.
Меняю его на EE-SX671WR
Новый концевик имеет другие посадочные размеры, так что я фиксирую его одним болтом, а с другой стороны поджимаю печатной деталькой (чтобы он не мог провернуться на оси).
«А чего это вы тут делаете?»
Готовлюсь к сборке портала – прикручиваю углепластиковые обкладки и фиксирую балку портала струбцинами. Теперь нужно аккуратно просверлить балку через указанные отверстия сверлом 4мм с обоих сторон. Желательно, чтобы кто-нибудь помог, направляя шланг пылесоса под точку сверления т.к. свои руки будут заняты удержанием портала и шуруповёрта.
Обратную установку портала начинаю с роликов. С моими новыми деталями расстояние между пластинами увеличилось на 4мм от штатного, так что мне нужно добавить какие-нибудь проставки для компенсации размеров.
Самый простой вариант – добавить на каждую сторону по шайбе толщиной 2мм из чего-нибудь плотного. Для этого хорошо подходят стойки для печатных плат М4х2.
Правда в магазине радиодеталей удачно нашлись латунные стойки М4х22, так что шайба будет только со стороны ролика.
Болты аналогично заменяются на более длинные.
Прикручиваю пару новых карбоновых обкладок и ставлю на них обводные ролики, сверяясь с ранее сделанным фото.
Балка фиксируется четырьмя болтами М4х50, проходящими в просверленные ранее отверстия.
На фото она установлена временно – для проверки соосности сверления. Сейчас я её снова сниму для сверления под рельс линейного подшипника.
Направляющая будет закреплена двумя закладными, вставленными внутрь углепластикового квадрата.
Выставляю рельс на балке с помощью печатных кондукторов. Изначально думал использовать алюминиевые, но из-за гуляющих размеров карбона они не налезли.
Делаю четыре отверстия сверлом 3.2мм и вставляю закладные с запрессованными гайками М3.
Прикручиваю рельс …
… и устанавливаю всё это великолепие на место.
О, чуть не забыл! До натяжения ремней нужно прикрутить упор для механического концевика оси X т.к. он ставится на те же болты, что и обводные ролики.
Вот теперь можно возвращать ремни.
Крепление у них красивое и надёжное, только не очень удобное т.к. приходится натягивать два ремня сразу из-за общей крепёжной планки. В теории, её можно распилить на две половинки и устанавливать ремни независимо, но я не стал.
Портал готов, перехожу к «голове».
Из её деталей мне нужна основная крепежная планка и кронштейн радиатора, остальное откладываю в сторону.
Примеряю планку к напечатанной детали – всё сходится хорошо, разве что одно из крепежных отверстий я нарисовал не в том месте (оно оказалось несимметрично своей паре с другой стороны).
Исправляю в модели и двигаюсь дальше.
Прикручиваю хотенд и временно ставлю голову на принтер.
Ага, хорошо. Зазор между краем напечатанной детали и столом получился даже больше, чем я предполагал – это позволяет немного сместить выходные отверстия обдува ближе к соплу.
А еще становится видно, что мне нужно какое-то крепление для провода нагревателя, иначе он может за что-нибудь зацепиться.
Вношу коррективы в модель и печатаю новую версию.
Теперь всё в порядке.
Берусь за провода. Откусываю концевик, нагреватель, термистор и вентилятор охлаждения с жертвенного кабеля, после чего снимаю силиконовый шланг и разбираю разъём.
Убираю обрубки проводов нагревателя и датчика температуры, припаивая на их место удлинители из комплекта TriangleLab CHC.
Ставлю «голову» на место и приступаю к сращиванию проводов.
Силиконовый шланг заменяется на сетчатую оплётку – она мне нравится больше, да и выглядит прикольно.
Правда, отрезать её нужно не «в размер» а с запасом, о чём я постоянно забываю.
Закончив с проводами, я до упора пропихиваю кусок PTFE трубки, которая будет направлять филамент от податчика к хотенду.
Обрезаю, оставляя примерно 6мм выступающими над платформой податчика, и прикручиваю «шерпу».
Т.к. я снова ошибся с размером куска сетчатой оплётки, прячу остатки проводов в разрезную гофру. Выглядит это стрёмно, да еще и торцом слегка цепляет алюминиевый профиль рамы. Гадость.
Перетягиваю оплётку, перемещая недостаток к разъёму подключения блока управления.
И всё, сборка завершена. Ну, почти.
Тут я вспоминаю, что у меня еще аж со времён покупки принтера лежат новые барашки регулировки стола, которые были повреждены при доставке. Вот и их время настало.
Теперь точно всё. Общий вид:
Голова отдельно:
Теперь у меня и обдув равномерный и сопло видно замечательно.
Переходим к самому «вкусному» - калибровке компенсации резонансов.
Вешаю датчик Mellow Fly-ADXL345 на «голову» и запускаю SHAPER_CALIBRATE
По Х картина относительно неплохая …
А вот на оси Y много мусора, что, как мне кажется, связано с некоторым заметным люфтом каретки MGN12C.
Надо бы попробовать её заменить и посмотреть не изменится ли чего. Кажется, у меня была запасная от KGT.
Последний штрих – проверка длительной печатью (перед которой, разумеется, калибруется PID стола и хотенда).
Корректирую настройки скорости в слайсере, нахожу катушку с остатками белого PETG и запускаю печататься прямоугольник 20х10х500.
Всё ОК – температуры «апельсина», платы управления и хотенда стабильны.
Напоследок еще раз перечислю использованные комплектующие:
Плата управления принтером
Mellow Fly-D5 - https://aliexpress.ru/item/1005006024296423.html
Одноплатный компьютер
Orange Pi Zero 3 - https://aliexpress.ru/item/1005006612641669.html
Тачскрин
TZT 4.3” 800х480 - https://aliexpress.ru/item/1005006111886326.html
Флэш карта MicroSD
SanDisk Max Endurance 32Gb - https://www.wildberries.ru/catalog/143504188/detail.aspx?size=242342401
Понижающий DC-DC преобразователь
LM2596 - https://aliexpress.ru/item/10000000656280.html
Оптический концевик
EE-SX671WR - https://aliexpress.ru/item/1005004397495488.html
Планка USB
USB 2.0 с раздельными портами - https://aliexpress.ru/item/1005006048028604.html
Акселерометр
Mellow Fly-ADXL345 - https://aliexpress.ru/item/1005006225740640.html
Радиатор хотенда
E3D v6 - https://aliexpress.ru/item/1005002814191260.html
Термобарьер
Биметалл «титан-медь» с гайкой - https://aliexpress.ru/item/1005005789951492.html
Нагревательный блок
TriangleLab CHC 24в - https://aliexpress.ru/item/32697889176.html
Сопла под IR3
Никелированная латунь - https://aliexpress.ru/item/1005004608922456.html
Карбоновая квадратная труба
20х20х18х500 - https://aliexpress.ru/item/1005006440860052.html
Карбоновые пластины крепления
Заказ резки по чертежу - https://aliexpress.ru/item/4000389892453.html
Печатные детали:
Все модели по ссылке https://ravencosplay.ru/things/info/2809-komplekt-pechatnyh-detaley-dlya-ideaformer-ir3-v1
Моя конфигурация Klipper:
accelerometer.cfg
Код
[mcu adxl]
serial: /dev/serial/by-id/usb-Klipper_rp2040_E6626005A7725C34-if00
[adxl345]
cs_pin: adxl:gpio9
spi_software_sclk_pin: adxl:gpio10
spi_software_mosi_pin: adxl:gpio11
spi_software_miso_pin: adxl:gpio12
axes_map: x,-z,y
[resonance_tester]
accel_chip: adxl345
probe_points:
125,125,20
printer.cfg
Код
[include mainsail.cfg]
#[include accelerometer.cfg]
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f072xb_12345-if00
restart_method: command
########################################
# Printer configuration
########################################
[printer]
kinematics: corexy
max_velocity: 150
max_accel: 5000
max_z_velocity: 10
max_z_accel: 500
[virtual_sdcard]
path: /home/orangepi/printer_data/gcodes
on_error_gcode: CANCEL_PRINT
# Override to support unlimited belt size
# (homing Z simply resets its virtual position to 0.0)
[homing_override]
axes: z
set_position_z: 0
gcode:
{% if params.X is not defined and params.Y is not defined and params.Z is not defined %}G28 X0 Y0{% endif %}
{% if params.X is defined %}G28 X0{% endif %}
{% if params.Y is defined %}G28 Y0{% endif %}
G92 Z0
[idle_timeout]
timeout: 1800 # timeout in seconds (1800 = 30 minutes)
########################################
# Axis and TMC configuration
########################################
[stepper_x]
step_pin: PC15
dir_pin: PC14
enable_pin: !PC2
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PB4
position_endstop: 0
position_max: 250
homing_speed: 30
[tmc2209 stepper_x]
uart_pin: PC13
run_current: 1.1
stealthchop_threshold: 999999
[stepper_y]
step_pin: PA1
dir_pin: PA0
enable_pin: !PA2
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PB3
position_endstop: 0
position_max: 360
homing_speed: 30
[tmc2209 stepper_y]
uart_pin: PC3
run_current: 1.1
stealthchop_threshold: 999999
[stepper_z]
step_pin: PA5
dir_pin: !PA4
enable_pin: !PA6
microsteps: 16
rotation_distance: 48.324
endstop_pin: ^PD2
position_endstop: 0
position_max: 99999
position_min: -3
[tmc2209 stepper_z]
uart_pin: PA3
run_current: 1.5
stealthchop_threshold: 999999
[extruder]
step_pin: PC5
dir_pin: !PC4
enable_pin: !PB0
rotation_distance: 22.668 # for 5mm Shaft Driven Bondtech gearsets
gear_ratio: 50:10 # 50:10 for standard 10t motor, 50:8 for sherpa mini 8t motor
full_steps_per_rotation: 200 # 1.8deg Motor
microsteps: 16
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC7
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: PC1
min_temp: 0
max_temp: 250
pressure_advance: 0.08
max_extrude_only_accel: 1000
control: pid
pid_Kp: 19.046
pid_Ki: 1.000
pid_Kd: 90.705
[tmc2209 extruder]
uart_pin: PA7
run_current: 0.65
########################################
# Heater bed configuration
########################################
[heater_bed]
heater_pin: PC6
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: PC0
min_temp: 0
max_temp: 130
control: pid
pid_Kp: 70.841
pid_Ki: 1.431
pid_Kd: 876.659
########################################
# Fans configuration
########################################
[fan]
pin: PC9
[heater_fan hotend_fan]
pin: PC8
heater: extruder
heater_temp: 50.0
########################################
# Host temperature
########################################
[temperature_sensor mcu_temp]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100
[temperature_sensor orange_pi]
sensor_type: temperature_host
min_temp: 0
max_temp: 100
########################################
# Input shaper configuration
########################################
[input_shaper]
shaper_type_x: zv
shaper_freq_x: 103.2
shaper_type_y: zv
shaper_freq_y: 127.0
Документация:
Mellow Fly-D5 - https://mellow-3d.github.io/fly_d5.html
Orange Pi Zero 3 - http://www.orangepi.org/orangepiwiki/index.php/Orange_Pi_Zero_3
Klipper - https://www.klipper3d.org/Config_Reference.html
Вроде бы всё. Если что – милости просим в комменты ^_~
0 543
Добавлен 9 июль 2024, 1 месяц 29 дней назад
Другие статьи
Всем привет! Пару лет назад я уже писал про изготовление механических крыльев - настала пора повторить опыт и привнести в...
В этой статье я расскажу, как делался мой косплей на Горо из Геншина и сколько бессонных ночей это заняло
Всем привет! Продолжаю цикл статей о подготовке к фестивалю Animation Zone 2022, куда мы возили групповое дефиле по Genshin Impact. В этой статье...
Войдите или зарегистрируйтесь, чтобы оставлять комментарии