Примеры платы расширения Bambu Lab # Обзор Плата расширения — это плата разработки, предназначенная для добавления расширенных и настраиваемых функций для Bambu Lab. Она в первую очередь совместима с серией P1P, и все обновления и итерации продукта отдают приоритет совместимости с серией P1P. Ниже приведены несколько примеров добавления функций, которые могут служить ориентиром для других моделей.
Что вам понадобится Комплект платы расширения - Светодиодная подсветка (опционально) - Охлаждающий вентилятор (опционально) - Камера и совместимый кабель затвора (опционально) Для реализации функций может потребоваться несколько строк G-кода. Следуйте приведенным ниже инструкциям и скопируйте пример кода или обратитесь к нашей странице WIKI для продвинутого программирования.
Как применить G-код к плате расширения
- Включите настройку «Дополнительно» в Bambu Studio.
- Нажмите значок «Редактировать», чтобы настроить G-код.
- В G-коде комментарии к документации ставятся после точки с запятой. Вы можете вставить свой код в начале печати, в конце печати, во время смены слоя/филамента и т. д. При запуске задания печати информация о конфигурации будет записана на плату расширения.
Интерфейс платы расширения На фото показана схема расположения контактов платы расширения Bambu Lab:
Предустановки платы расширения Плата имеет следующие предустановки: - Переключатель № 0 может одновременно управлять включением/выключением двух интерфейсов светодиодной подсветки. Ползунковый потенциометр № 0 может управлять яркостью двух светодиодных огней, цвет светодиодов по умолчанию — белый.
- Переключатель № 1 управляет включением/выключением четырех вентиляторов. Ползунковый потенциометр № 1 управляет скоростью двух 4-контактных вентиляторов.
- Если вы хотите управлять только одним каналом, например, использовать переключатель № 0 и ползунковый потенциометр № 0 для управления светодиодом № 0, вы можете применить следующий код в начале G-кода машины. Вы можете внести дальнейшие изменения, просмотрев обширную документацию по G-коду платы расширения.
; M1004 — команда для платы расширения. Настроить переключатель № 0 (I=0) для управления светодиодом (F=1) № 0 (D=0) M1004 S7 I0 F1 D0 ; Настроить ползунок № 0 (I=0) для управления светодиодом (F=0) № 0 (D=0) M1004 S6 I0 F0 D0# Примеры
Использование переключателя для управления реле включения/выключения - Подключите реле к электрическим компонентам или устройствам, которыми вы хотите управлять.
- Вставьте
M1004 S7 I0 F3 D0в конец G-кода начала машины.I0означает переключатель № 0,F3управляет реле,D0означает реле № 0 (D0можно опустить). Кроме того, если вы хотите сохранить конфигурацию после выключения питания, вставьтеM1004 S0 P1.M1004 S7 I0 F3 D0 M1004 S0 P1
Управление затвором камеры для создания таймлапс-видео Если вы хотите создать идеальное таймлапс-видео с помощью своей камеры, вам нужно делать один снимок после завершения печати печатающей головкой на каждом слое.
- Подключите камеру и плату расширения с помощью кабеля дистанционного спуска затвора камеры.
- Вставьте код в G-код смены слоя, чтобы сделать снимок. Перед съемкой необходимо установить затвор в ручной режим и не допускать автоматического перехода камеры в спящий режим. Обратите внимание, что может возникнуть конфликт между командой съемки камеры и логикой кода таймлапса с использованием встроенной камеры. Выберите место вставки кода в соответствии со следующими условиями. Встроенные команды для таймлапса следующие. Оператор if-else будет выполняться каждый раз при смене слоя. Если режим таймлапса равен 0 (традиционный режим), встроенная камера немедленно сделает снимок (M971 управляет встроенной камерой). Если режим равен 1 (плавный режим), печатающая головка переместится в определенную позицию, и встроенная камера сделает снимок.
M622.1 S1 ; для предыдущей прошивки, включено по умолчанию M1002 judge_flag timelapse_record_flag M622 J1 {if timelapse_type == 0} ; таймлапс без башни для очистки {elsif timelapse_type == 1} ; таймлапс с башней для очистки G92 E0 G1 E- F1800 G17 G2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; немного спирально поднять G1 X65 Y245 F12000 ; переместиться в безопасную позицию G17 G2 Z{layer_z} I0.86 J0.86 P1 F10000 G1 Y265 F3000 M400 P100 M971 S11 C10 O0 G92 E0 G1 E F300 G1 X100 F5000 G1 Y255 {endif} M623
Случай 1 Если вы не используете встроенную камеру (плавный режим таймлапса P1P еще не выпущен), вы можете вставить следующий код в начало кода смены слоя: Случайная съемка ; сделать снимок M1004 S5 P1 Таймлапс, пока печатающая головка находится у башни для очистки ; таймлапс с башней для очистки G92 E0 G1 E- F1800 G17 G2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; немного спирально поднять G1 X65 Y245 F12000 ; переместиться в безопасную позицию G17 G2 Z{layer_z} I0.86 J0.86 P1 F10000 G1 Y265 F3000 M400 P100 ; подождать 100 мс M1004 S5 P1 ; сделать снимок G92 E0 G1 E F300 G1 X100 F5000 G1 Y255
Случай 2 Если вы хотите использовать встроенную камеру вместе с вашей камерой одновременно, вы можете вставить код (выделенный зеленым) в существующие операторы if-else в зависимости от фактических условий. В этом случае функция таймлапса должна быть включена в Bambu Studio. M622.1 S1 ; для предыдущей прошивки, включено по умолчанию M1002 judge_flag timelapse_record_flag M622 J1 {if timelapse_type == 0} ; таймлапс без башни для очистки M971 S11 C10 O0 {elsif timelapse_type == 1} ; таймлапс с башней для очистки G92 E0 G1 E- F1800 G17 G2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; немного спирально поднять G1 X65 Y245 F12000 ; переместиться в безопасную позицию G17 G2 Z{layer_z} I0.86 J0.86 P1 F10000 G1 Y265 F3000 M400 P100 M971 S11 C10 O0 M1004 S5 P1; выполняется только при включенном плавном таймлапсе и съемке во время нахождения печатающей головки у башни для очистки G92 E0 G1 E F300 G1 X100 F5000 G1 Y255 {endif} M623
Программирование пользовательских светодиодных огней Светодиодные огни будут постепенно менять цвет на каждом слое.
- Подключите светодиодную подсветку к плате расширения.
- Вставьте строки в начало G-кода смены слоя.
; немного изменить цвет светодиода в зависимости от количества слоев M1004 S1 L0 M0 B{30 + layer_num 200 / total_layer_count} ; установить красный в диапазоне 30-200 M1004 S1 L1 M0 B{255 - layer_num 200 / total_layer_count} ; установить зеленый в диапазоне 255-55 M1004 S1 L2 M0 B{55 + layer_num * 100 / total_layer_count} ; установить синий в диапазоне 55-155