Буфер с управлением по сигналу материнской платы
Обзор функций
Буфер FLY-LLL PLUS поддерживает дистанционное управление через GPIO-контакты материнской платы 3D-принтера. Плата отправляет определенный сигнал уровня на назначенные контакты буфера, что автоматически запускает выполнение буфером операции подачи или отвода филамента, реализуя полностью автоматическое управление расходным материалом без ручного вмешательства.
Принцип работы
Когда GPIO-контакт материнской платы выдает сигнал низкого уровня, буфер обнаруживает этот сигнал и выполняет соответствующее действие:
| Контакт буфера | Триггерный сигнал | Выполняемое действие | Длительность |
|---|---|---|---|
| PB5 | Низкий уровень | Непрерывная подача филамента буфером | Выполняется, пока удерживается сигнал |
| PB6 | Низкий уровень | Непрерывный отвод филамента буфером | Выполняется, пока удерживается сигнал |
Примечание: После восстановления сигнала до высокого уровня буфер прекращает действие.
Способ подключения
Шаги подключения
-
Определите доступные контакты на плате:
- Выберите два свободных контакта концевика для управления подачей и отводом
- Убедитесь, что контакты поддерживают функцию вывода (могут быть настроены как output_pin)
-
Подключите сигнальные провода:
Материнская плата 3D-принтера → Буфер FLY-LLL PLUS
GPIO-контакт (например, PG13) → PB5 (вход сигнала подачи)
GPIO-контакт (например, PG14) → PB6 (вход сигнала отвода)
Любой контакт GND → GND (земля)
Примечания по подключению
- Тип контактов: Убедитесь, что выбраны контакты концевиков, а не контакты специального назначения.
- Совпадение напряжений: Выходное сигнальное напряжение платы должно быть 3.3В или 5В, буфер поддерживает оба напряжения.
Настройка Klipper
1. Базовая конфигурация
Добавьте следующую конфигурацию в файл конфигурации Klipper (например, printer.cfg):
# Определение контакта управления подачей буфера
[output_pin _buffer_feed]
pin: PG13 # Замените на фактически подключенный контакт (подключен к PB5 буфера)
value: 1 # Начальное состояние - высокий уровень (не триггер)
shutdown_value: 1 # Сохранять высокий уровень при остановке Klipper
# Определение контакта управления отводом буфера
[output_pin _buffer_retract]
pin: PG14 # Замените на фактически подключенный контакт (подключен к PB6 буфера)
value: 1 # Начальное состояние - высокий уровень (не триггер)
shutdown_value: 1 # Сохранять высокий уровень при остановке Klipper
2. Описание параметров конфигурации
| Параметр | Описание | Пример значения |
|---|---|---|
pin | Физический номер контакта на плате | PG13, PA0, PC5 и т.д. |
value | Начальное состояние контакта (0=низкий уровень, 1=высокий уровень) | 1 (высокий уровень) |
shutdown_value | Состояние контакта при остановке Klipper | 1 (высокий уровень) |
3. Создание управляющих макросов
Для удобства использования можно создать специальные G-код макросы:
# Макрос подачи буфера
[gcode_macro BUFFER_FEED]
description: Управление подачей буфера
gcode:
# Установить контакт подачи в низкий уровень, чтобы запустить подачу буфера
SET_PIN PIN=_buffer_feed VALUE=0
M118 "Буфер начал подачу"
# Опционально: автоматическая остановка после ожидания
# G4 P3000 # Подождать 3 секунды
# SET_PIN PIN=_buffer_feed VALUE=1
# M118 "Буфер остановил подачу"
# Макрос отвода буфера
[gcode_macro BUFFER_RETRACT]
description: Управление отводом буфера
gcode:
# Установить контакт отвода в низкий уровень, чтобы запустить отвод буфера
SET_PIN PIN=_buffer_retract VALUE=0
M118 "Буфер начал отвод"
# Опционально: автоматическая остановка после ожидания
# G4 P2000 # Подождать 2 секунды
# SET_PIN PIN=_buffer_retract VALUE=1
# M118 "Буфер остановил отвод"
# Макрос остановки всех действий
[gcode_macro BUFFER_STOP]
description: Остановить все действия буфера
gcode:
SET_PIN PIN=_buffer_feed VALUE=1
SET_PIN PIN=_buffer_retract VALUE=1
M118 "Буфер остановлен"
Способ использования
1. Основные команды управления
Выполните следующие команды в терминале Klipper:
# Начать подачу (буфер подает филамент непрерывно до остановки сигнала)
SET_PIN PIN=_buffer_feed VALUE=0
# Начать отвод (буфер отводит филамент непрерывно до остановки сигнала)
SET_PIN PIN=_buffer_retract VALUE=0
# Остановить все действия
SET_PIN PIN=_buffer_feed VALUE=1
SET_PIN PIN=_buffer_retract VALUE=1