배선 및 설정
버퍼 내부 배선도

설치 영상
버퍼를 메인보드에 연결하고 설정하는 방법
중요 안내
- 아래 배선 예시에서의
MMU 툴보드는 단지 인터페이스 정의를 위한 참고입니다. 실제 사용 시에는 다음을 참조하십시오:
- 케이블을 KLIPPER 메인보드의 엔드스톱 신호 포트에 직접 연결하십시오.
- 설정 파일(예:
printer.cfg)에서 PD3, PD4, PD5에 해당하는 포트 번호 설정을 수정 및 확인하십시오.
- 기본 기능
- 트리거를 이용한 급이 또는 회수 기능 사용
- MDM 센서 배선 및 설정 방법
-
본 버퍼는 필라멘트 감지 및 수동 제어 기능이 통합되어 있습니다:
-
필라멘트 감지 (FILAMENT_SENSOR)
- 신호 출력: 필라멘트 감지 시, 버퍼의
PB15핀에서 로우 레벨 신호가 출력됩니다.
- 신호 출력: 필라멘트 감지 시, 버퍼의
-
급이 버튼 (FEED)
- 단일 클릭: 버퍼의
PA2핀에서 3초 동안 하이 레벨 펄스 신호가 출력됩니다. - 길게 클릭: 버튼을 놓을 때까지 지속적으로 급이가 이루어집니다.
- 단일 클릭: 버퍼의
-
회수 버튼 (RETRACT)
- 단일 클릭: 버퍼의
PA3핀에서 3초 동안 로우 레벨 펄스 신호가 출력됩니다. - 길게 클릭: 버튼을 놓을 때까지 지속적으로 회수가 이루어집니다.
- 단일 클릭: 버퍼의
배선 안내
-
위 기능을 사용할 경우, 아래 배선도를 참고하십시오:

중요 안내
- 도식의
MMU 툴보드는 인터페이스 정의를 위한 참고입니다. 실제 사용 시에는 다음을 참조하십시오:
- 케이블을 KLIPPER 메인보드의 엔드스톱 신호 포트에 직접 연결하십시오.
- 설정 파일(예:
printer.cfg)에서 PD3, PD4, PD5에 해당하는 포트 번호 설정을 수정 및 확인하십시오.
설정 참고 사항
- MMU 툴보드 설정 예시
- 메인보드 설정 예시
[mcu LLL_PLUS]
serial:/dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
[filament_switch_sensor Material_breakage_detection]
pause_on_runout: true
switch_pin: ^LLL_PLUS:PD3 # 사용 중인 핀으로 교체
runout_gcode:
PAUSE
RESPOND MSG="material shortage"
insert_gcode:
RESPOND MSG="Detected"
event_delay: 1.0
pause_delay: 0.5
[gcode_button Load_consumables]
pin:^LLL_PLUS:PD4 # 사용 중인 핀으로 교체, 급이 핀에 연결
press_gcode:
_Load_consumables
[gcode_button RETRACT]
pin:^!LLL_PLUS:PD5 # 사용 중인 핀으로 교체, 회수 핀에 연결
press_gcode:
_RETRACT
[gcode_macro CONFIG]
description: 익스트루더 설정
variable_extruder_temp: 200 ## 온도
variable_extruder_length: 50 ## 길이
variable_extruder_speed: 5 ## 속도 (mm/s)
variable_extruder_time: 10 ## 시간 (s)
gcode:
[gcode_macro _Load_consumables] ## 급이
gcode:
{% set temp = printer["gcode_macro CONFIG"].extruder_temp %}
{% set length = printer["gcode_macro CONFIG"].extruder_length %}
{% set speed = printer["gcode_macro CONFIG"].extruder_speed %}
{% set time = printer["gcode_macro CONFIG"].extruder_time %}
{% set feedrate = speed * 60 %}
RESPOND MSG="Heat the extruder to {temp} °C"
RESPOND MSG="익스트루더를 {temp} °C로 가열"
M109 S{temp}
G4 P{time *1000}
RESPOND MSG="Start feeding {length}mm"
RESPOND MSG="{length}mm 급이 시작"
G91 ; 상대 좌표 모드
G1 E{length} F{feedrate}
G90 ; 절대 좌표 모드
RESPOND MSG="Extrusion completed"
RESPOND MSG="급이 완료됨"
M104 S0
[gcode_macro _RETRACT] ## 회수
gcode:
{% set temp = printer["gcode_macro CONFIG"].extruder_temp %}
{% set length = printer["gcode_macro CONFIG"].extruder_length %}
{% set speed = printer["gcode_macro CONFIG"].extruder_speed %}
{% set time = printer["gcode_macro CONFIG"].extruder_time %}
{% set feedrate = speed * 60 %}
RESPOND MSG="Heat the extruder to {temp} °C"
RESPOND MSG="익스트루더를 {temp} °C로 가열"
M109 S{temp}
G4 P{time *1000}
RESPOND MSG="Start material return {length}mm"
RESPOND MSG="{length}mm 회수 시작"
G91 ; 상대 좌표 모드
G1 E-{length} F{feedrate}
G90 ; 절대 좌표 모드
RESPOND MSG="Return of materials completed"
RESPOND MSG="회수 완료됨"
M104 S0
[filament_switch_sensor Material_breakage_detection]
pause_on_runout: true
switch_pin: ^PD3 # 사용 중인 핀으로 교체
runout_gcode:
PAUSE
RESPOND MSG="material shortage"
insert_gcode:
RESPOND MSG="Detected"
event_delay: 1.0
pause_delay: 0.5
[gcode_button Load_consumables]
pin:^PD4 # 사용 중인 핀으로 교체, 급이 핀에 연결
press_gcode:
_Load_consumables
[gcode_button RETRACT]
pin:^!PD5 # 사용 중인 핀으로 교체, 회수 핀에 연결
press_gcode:
_RETRACT
[gcode_macro CONFIG]
description: 익스트루더 설정
variable_extruder_temp: 200 ## 온도
variable_extruder_length: 50 ## 길이
variable_extruder_speed: 5 ## 속도 (mm/s)
variable_extruder_time: 10 ## 시간 (s)
gcode:
[gcode_macro _Load_consumables] ## 급이
gcode:
{% set temp = printer["gcode_macro CONFIG"].extruder_temp %}
{% set length = printer["gcode_macro CONFIG"].extruder_length %}
{% set speed = printer["gcode_macro CONFIG"].extruder_speed %}
{% set time = printer["gcode_macro CONFIG"].extruder_time %}
{% set feedrate = speed * 60 %}
RESPOND MSG="Heat the extruder to {temp} °C"
RESPOND MSG="익스트루더를 {temp} °C로 가열"
M109 S{temp}
G4 P{time *1000}
RESPOND MSG="Start feeding {length}mm"
RESPOND MSG="{length}mm 급이 시작"
G91 ; 상대 좌표 모드
G1 E{length} F{feedrate}
G90 ; 절대 좌표 모드
RESPOND MSG="Extrusion completed"
RESPOND MSG="급이 완료됨"
M104 S0
[gcode_macro _RETRACT] ## 회수
gcode:
{% set temp = printer["gcode_macro CONFIG"].extruder_temp %}
{% set length = printer["gcode_macro CONFIG"].extruder_length %}
{% set speed = printer["gcode_macro CONFIG"].extruder_speed %}
{% set time = printer["gcode_macro CONFIG"].extruder_time %}
{% set feedrate = speed * 60 %}
RESPOND MSG="Heat the extruder to {temp} °C"
RESPOND MSG="익스트루더를 {temp} °C로 가열"
M109 S{temp}
G4 P{time *1000}
RESPOND MSG="Start material return {length}mm"
RESPOND MSG="{length}mm 회수 시작"
G91 ; 상대 좌표 모드
G1 E-{length} F{feedrate}
G90 ; 절대 좌표 모드
RESPOND MSG="Return of materials completed"
RESPOND MSG="회수 완료됨"
M104 S0
-
펌웨어를
V1.1.0으로 업데이트해야 합니다. -
버퍼는 다음 핀의 전압 상태를 감지하여 자동으로 지속 급이/회수를 수행할 수 있습니다:
-
자동 급이:
PB5핀이 로우 레벨 신호를 감지하면, 버퍼는 지속 급이를 실행합니다. -
자동 회수:
PB6핀이 로우 레벨 신호를 감지하면, 버퍼는 지속 회수를 실행합니다.
배선 안내
- 위 기능을 사용할 경우, 아래 배선도를 참고하십시오:

중요 안내
- 도식의
MMU 툴보드는 인터페이스 정의를 위한 참고입니다. 실제 사용 시에는 다음을 참조하십시오:
- 케이블을 KLIPPER 메인보드의 엔드스톱 신호 포트에 직접 연결하십시오.
- 설정 파일(예:
printer.cfg)에서 PB5 및 PB6에 해당하는 포트 번호 설정을 수정 및 확인하십시오.
설정 예시
- 추가 설정 사항
- 이 설정은 기본 기능 설정 이후에 추가해야 합니다.
- MMU 툴보드 설정 예시
- 메인보드 설정 예시
[output_pin _feeding]
pin:LLL_PLUS:PD6 # 사용 중인 핀으로 교체
shutdown_value: 0
value:1
[output_pin _material_return]
pin:LLL_PLUS:PD7 # 사용 중인 핀으로 교체
shutdown_value: 0
value:1
[gcode_macro Buffer_feeding] ## 버퍼 급이
gcode:
{% set temp = printer["gcode_macro CONFIG"].extruder_temp %}
{% set length = printer["gcode_macro CONFIG"].extruder_length %}
{% set speed = printer["gcode_macro CONFIG"].extruder_speed %}
{% set time = printer["gcode_macro CONFIG"].extruder_time %}
{% set feedrate = speed * 60 %}
RESPOND MSG="Heat the extruder to {temp} °C"
RESPOND MSG="익스트루더를 {temp} °C로 가열"
M109 S{temp}
RESPOND MSG="Start feeding {length}mm"
RESPOND MSG="{length}mm 급이 시작"
SET_PIN PIN=_feeding VALUE=0
G91 ; 상대 좌표 모드
G1 E{length} F{feedrate}
G90 ; 절대 좌표 모드
G4 P{time *1000}
RESPOND MSG="Extrusion completed"
RESPOND MSG="급이 완료됨"
SET_PIN PIN=_feeding VALUE=1
M104 S0
[gcode_macro RBuffer_material_return] ## 버퍼 회수
gcode:
{% set temp = printer["gcode_macro CONFIG"].extruder_temp %}
{% set length = printer["gcode_macro CONFIG"].extruder_length %}
{% set speed = printer["gcode_macro CONFIG"].extruder_speed %}
{% set time = printer["gcode_macro CONFIG"].extruder_time %}
{% set feedrate = speed * 60 %}
RESPOND MSG="Heat the extruder to {temp} °C"
RESPOND MSG="익스트루더를 {temp} °C로 가열"
M109 S{temp}
RESPOND MSG="Start material return {length}mm"
RESPOND MSG="{length}mm 회수 시작"
SET_PIN PIN=_material_return VALUE=0
G91 ; 상대 좌표 모드
G1 E-{length} F{feedrate}
G90 ; 절대 좌표 모드
G4 P{time *1000}
RESPOND MSG="Return of materials completed"
RESPOND MSG="회수 완료됨"
SET_PIN PIN=_material_return VALUE=1
M104 S0
[output_pin _feeding]
pin:PD6 # 사용 중인 핀으로 교체
shutdown_value: 0
value:1
[output_pin _material_return]
pin:PD7 # 사용 중인 핀으로 교체
shutdown_value: 0
value:1
[gcode_macro Buffer_feeding] ## 버퍼 급이
gcode:
{% set temp = printer["gcode_macro CONFIG"].extruder_temp %}
{% set length = printer["gcode_macro CONFIG"].extruder_length %}
{% set speed = printer["gcode_macro CONFIG"].extruder_speed %}
{% set time = printer["gcode_macro CONFIG"].extruder_time %}
{% set feedrate = speed * 60 %}
RESPOND MSG="Heat the extruder to {temp} °C"
RESPOND MSG="익스트루더를 {temp} °C로 가열"
M109 S{temp}
RESPOND MSG="Start feeding {length}mm"
RESPOND MSG="{length}mm 급이 시작"
SET_PIN PIN=_feeding VALUE=0
G91 ; 상대 좌표 모드
G1 E{length} F{feedrate}
G90 ; 절대 좌표 모드
G4 P{time *1000}
RESPOND MSG="Extrusion completed"
RESPOND MSG="급이 완료됨"
SET_PIN PIN=_feeding VALUE=1
M104 S0
[gcode_macro RBuffer_material_return] ## 버퍼 회수
gcode:
{% set temp = printer["gcode_macro CONFIG"].extruder_temp %}
{% set length = printer["gcode_macro CONFIG"].extruder_length %}
{% set speed = printer["gcode_macro CONFIG"].extruder_speed %}
{% set time = printer["gcode_macro CONFIG"].extruder_time %}
{% set feedrate = speed * 60 %}
RESPOND MSG="Heat the extruder to {temp} °C"
RESPOND MSG="익스트루더를 {temp} °C로 가열"
M109 S{temp}
RESPOND MSG="Start material return {length}mm"
RESPOND MSG="{length}mm 회수 시작"
SET_PIN PIN=_material_return VALUE=0
G91 ; 상대 좌표 모드
G1 E-{length} F{feedrate}
G90 ; 절대 좌표 모드
G4 P{time *1000}
RESPOND MSG="Return of materials completed"
RESPOND MSG="회수 완료됨"
SET_PIN PIN=_material_return VALUE=1
M104 S0
기능 개요
FLY-MDM필라멘트 감지/막힘 감지 센서와 함께 사용하여 버퍼에 막힘 감지 기능을 구현할 수 있습니다.- 펌웨어를
V1.1.0으로 업데이트해야 합니다.
하드웨어 배선
- 버퍼의 신호선은 메인보드의 사용하지 않는 디지털 출력 핀에 연결해야 합니다. 예시:
STEP버퍼의PA5핀을 메인보드의PWM,RGB,12864중 하나에 연결합니다. BL-Touch 서보 포트도 사용 가능합니다.DIR버퍼의PB11핀을 메인보드의 엔드스톱 포트에 연결합니다.
-
이 연결은 익스트루더 모터의 작동 상태를 모니터링하여 막힘 감지를 구현하는 데 필수적입니다.
-
위 기능을 사용할 경우, 아래 배선도를 참고하십시오:

중요 안내
- 도식의
MMU 툴보드는 인터페이스 정의를 위한 참고입니다. 실제 사용 시에는 다음을 참조하십시오:
- 케이블을 KLIPPER 메인보드의 엔드스톱 신호 포트에 직접 연결하십시오.
- 설정 파일(예:
printer.cfg)에서 PD3 및 PC0에 해당하는 포트 번호 설정을 수정 및 확인하십시오.
- MDM 배선 예시

설정 예시
- 추가 설정 사항
- 이 설정은 기본 기능 설정 이후에 추가해야 합니다.
- 아래 설정의
STEP및DIR을 실제 연결한 포트 번호로 수정하십시오. - 또한 다른 설정도 사용자의 익스트루더 설정에 맞게 수정해야 막힘 감지 실패가 발생하지 않습니다.
- MMU 툴보드 설정 예시
- 메인보드 설정 예시
[extruder_stepper my_extra_stepper]
extruder = extruder
step_pin: LLL_PLUS:PE10
dir_pin: LLL_PLUS:PD4
rotation_distance: 17.472
gear_ratio:50:10
microsteps:16
full_steps_per_rotation: 200
[extruder_stepper my_extra_stepper]
extruder = extruder
step_pin: PE10
dir_pin: PD4
rotation_distance: 17.472
gear_ratio:50:10
microsteps:16
full_steps_per_rotation: 200
버퍼 파라미터 설정
시리얼 툴 다운로드- 모듈을 컴퓨터에 USB 케이블로 연결하고, 시리얼 툴을 열어 해당 포트를 선택하고, 보드레이트를 115200으로 설정한 후 연결 버튼을 클릭합니다.

주의사항
- 익스트루더 설정에
gear_ratio가 없다면구동 기어 수와피동 기어 수를 모두1로 설정하십시오.
Loading...
매개변수 설명
| 기능 설명 | 설정 명령어 (시리얼 툴에 입력하세요) | 기본값 | 단위 | 비고 |
|---|---|---|---|---|
| 현재 모든 파라미터 확인 | Loading... | - | - | 명령어 전송으로 현재 모든 설정을 읽어옵니다. |
| 모터 펄스 수 설정 | Loading... | 916 | - | 모터가 1mm 이동하기 위해 필요한 펄스 수를 설정합니다. |
| 인코더 감지 거리 설정 | Loading... | 1.73 | mm | 각 인코더 신호가 대표하는 소모품 이동 거리를 설정합니다. |
| 작동 타임아웃 시간 설정 | Loading... | 60000 | ms | 트리거가 없는 상태에서 자동 정지를 위한 시간을 설정하여 지속적인 압출을 방지합니다. |
| 오차 배율 계수 설정 | Loading... | 2.0 | - | 허용 오차 = encoder 값 X scale 값.예: 1.73 * 2.0 = 3.46 mm |
| 속도 제어 명령어 설정 | Loading... | 260 | mm | 버퍼 작동 속도를 설정합니다. 최대 600(회/분), 펌웨어는 V1.1.1로 업데이트 필요. |
작업 안내:
- 명령어 형식: 위 표의 "설정 명령어" 열에서, 전체 명령어(예:
steps 916)를 그대로 정확하게 입력해야 합니다. - 전송 방법: 시리얼 어시스턴트의 송신 구역에 명령어를 입력한 후, 전송 버튼을 클릭합니다.
- 자동 저장: 명령어 전송이 성공하면 파라미터는 즉시 적용되고 자동 저장되며, 별도의 저장 작업은 필요하지 않습니다.
- 설정 확인: 모든 파라미터 변경 후,
info명령어를 전송하여 현재 모든 파라미터를 조회함으로써 설정이 올바른지 검증할 수 있습니다.
Loading...