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

설치 영상
버퍼를 메인보드에 연결 및 설정 방법
중요 안내
- 아래 배선 예시의
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 값 × scale 값.예: 1.73 * 2.0 = 3.46 mm |
작업 안내:
- 명령 형식: 위 표의 "설정 명령어" 열에서, 해당 행 전체(예:
steps 916)를 그대로 입력해야 합니다. - 전송 방법: 시리얼 어시스트의 송신 창에 명령어를 입력한 후 송신 버튼을 클릭합니다.
- 자동 저장: 명령어 전송이 성공하면 파라미터는 즉시 적용되고 자동 저장되므로 별도로 저장 작업을 수행할 필요가 없습니다.
- 설정 확인: 파라미터를 수정한 후에는
info명령어를 전송하여 현재 모든 파라미터를 조회하고 설정이 올바른지 확인할 수 있습니다.
Loading...