툴보드 MCU 추가 및 크로스보드 설정
이 페이지는 메인 MCU가 연결된 후 툴보드를 추가하고, 다중 MCU 상태를 확인하며 크로스보드 핀을 구성하는 방법을 다룹니다. 아직 메인 MCU 연결 확인을 완료하지 않았다면 먼저 MCU 연결 가이드를 완료하세요.
사전 조건
툴보드 추가를 시작하기 전에 다음을 확인하세요:
- 메인 MCU가 MCU 연결 가이드에 따라 연결 확인을 완료했는지 확인합니다.
- 툴보드에 펌웨어가 플래시되었는지 확인합니다.
- 툴보드의 데이터 케이블이 호스트 컴퓨터 또는 메인보드의 해당 인터페이스(CAN/USB/RS232)에 연결되어 있는지 확인합니다.
툴보드 ID 조회
툴보드 ID 조회 방법은 통신 인터페이스에 따라 다릅니다. MCU ID의 전체 작성 규칙은 MCU ID 설정을 참조하세요. 다음은 빠른 작업 가이드입니다:
USB 툴보드
SSH로 호스트에 로그인하고 다음 명령을 실행하여 모든 USB 직렬 장치를 확인합니다:
ls /dev/serial/by-id/*
출력 예:
/dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00
플래시 모드의 ID는 일반적으로 katapult 또는 stm32duino가 포함됩니다(예: usb-katapult_stm32f446xx_...). 플래시 모드 ID가 아닌 Klipper 펌웨어 모드의 ID를 사용하고 있는지 확인하세요.
CAN 툴보드
- SSH 명령줄
- FlyOS-FAST / FLY 호스트
SSH로 호스트에 로그인하고 다음 명령을 실행하여 CAN 장치 UUID를 검색합니다:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
출력 예:
Found canbus_uuid=688e89f0e402, Application: Klipper
FAST 또는 FLY 호스트는 python3를 직접 사용하여 검색합니다:
python3 ~/klipper/scripts/canbus_query.py can0
FAST 시스템의 CAN0은 1M 속도, 1024 캐시로 사전 설정되어 있어 일반적으로 수동 설정이 필요하지 않습니다.
CAN 툴보드의 Klipper 펌웨어 UUID와 CANBoot 플래시 UUID는 다릅니다. Application이 CANBOOT 또는 Katapult로 표시되면 장치가 플래시 모드에 있음을 의미합니다. 자세한 문제 해결은 CAN 네트워크 및 ID 검색을 참조하세요.
RS232 툴보드
SSH로 호스트에 로그인하고 다음 명령을 실행하여 USB-직렬 장치 경로를 확인합니다:
ls -l /dev/serial/by-path/
출력 예:
/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
RS232 통신 툴보드는 baud: 250000 및 restart_method: command 매개변수를 추가로 구성해야 합니다. 그렇지 않으면 정상적으로 통신할 수 없습니다.
툴보드 MCU 추가
툴보드 ID를 가져온 후 printer.cfg 끝에 해당 MCU 구성 섹션을 추가합니다:
- USB 툴보드
- CAN 툴보드
- RS232 툴보드
[mcu toolboard]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00
[mcu toolboard]
canbus_uuid: 688e89f0e402
[mcu toolboard]
serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
baud: 250000
restart_method: command
- MCU 이름은 완전히 사용자 정의할 수 있습니다. 예:
toolboard,tool,extruder_mcu등 구성에서 고유하기만 하면 됩니다. - MCU 이름은 크로스보드 핀의 접두사로 사용됩니다. 예:
[mcu toolboard]를 참조할 때toolboard:PA0로 작성합니다. 이름의 대소문자는 일관되어야 합니다. - 각 MCU의 이름과 ID는 고유해야 하며 메인 MCU나 다른 툴보드와 중복될 수 없습니다.
- 여러 툴보드를 구성할 때는 각 장치에 서로 다른 이름을 설정하여 구분하세요.
구성이 완료되면 SAVE & RESTART를 클릭하여 저장하고 Klipper를 다시 시작합니다.
모든 MCU 연결 확인
툴보드를 추가하고 Klipper를 다시 시작한 후 모든 MCU가 온라인 상태인지 확인해야 합니다:
- Fluidd 인터페이스를 열고 왼쪽 메뉴에서
System을 클릭합니다. Mcu Information아래에서 메인 MCU와 모든 툴보드가 올바르게 인식되고 연결 상태로 표시되는지 확인합니다.
펌웨어 버전 확인
모든 MCU 연결이 완료되면 펌웨어 버전 호환성을 확인해야 합니다:
- Fluidd 인터페이스를 열고 왼쪽 메뉴에서
System을 클릭합니다. Mcu Information아래에서Version필드를 찾습니다.- 모든 MCU의 펌웨어 버전이 호스트 Klipper 버전과 일치하는지 확인합니다.
- 사전 구성된 맞춤형 장치를 제외하고, 모든 자체 컴파일된 펌웨어는 호스트 Klipper 버전과 일치해야 합니다.
- FAST 시스템의 펌웨어 버전은 시스템 버전과 동일하며, 컴파일된 Klipper 펌웨어는 시스템 버전과 일치합니다.
- 펌웨어 버전이 다르면 기능 이상, 통신 실패 또는 시스템 불안정이 발생할 수 있습니다.
메인 설정 파일 업데이트
MCU 연결 가이드의 절차에 따라 printer_Backup.cfg를 백업했다면, 이 섹션은 확인된 MCU ID를 전체 설정에 다시 기록하는 데 사용됩니다. 현재 사용 중인 설정이 이미 최종 설정 파일이라면 이 섹션을 건너뛰어도 됩니다.
모든 MCU 연결이 정상임을 확인한 후:
- 설정 파일 관리 인터페이스에서 현재 임시
printer.cfg를 삭제합니다. - 이전에 백업한
printer_Backup.cfg의 이름을printer.cfg로 변경합니다. - 복원된
printer.cfg를 열고 기존[mcu]및[mcu <이름>]구성 섹션을 찾아 확인된 실제 ID로 업데이트합니다. - SAVE & RESTART를 클릭하여 저장하고 Klipper를 다시 시작합니다.
- 이번 연결 테스트에서 실제로 검색된 올바른 ID를 사용하세요.
- RS232 툴보드에는
baud: 250000및restart_method: command매개변수가 포함되어야 합니다. - 설정을 복원하면 기존 프린터 매개변수(스테퍼 모터, 리미트 스위치 등 설정)는 변경되지 않습니다.
다중 툴보드 크로스보드 핀 설정
여러 툴보드를 사용할 때 핀 크로스보드 할당이 필요할 수 있습니다. 예: 가열 기능은 첫 번째 툴보드의 히터 포트를 사용하지만 온도 센서는 메인보드 또는 두 번째 툴보드에 연결됩니다.
Klipper 다중 MCU 설정에서 모든 구성 섹션의 핀은 <mcu 이름>:<핀 번호> 형식을 사용하여 정의된 모든 MCU의 핀을 직접 참조할 수 있으며 추가 설정이 필요하지 않습니다. Klipper는 통신 버스(CAN/USB/직렬)를 통해 자동으로 명령을 해당 MCU로 전송합니다.
일반적인 시나리오: 히터는 툴보드에, 온도 센서는 메인보드에
다음과 같은 시스템 설정을 가정해 보겠습니다:
- 메인 MCU: 호스트 Klipper 펌웨어를 실행하며 온도 센서가 메인보드에 연결됩니다.
- toolboard1: 툴보드로 히터와 압출기 스테퍼가 툴보드에 연결됩니다.
1단계: 모든 MCU 정의
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
[mcu toolboard1]
canbus_uuid: e51d5c71a901
2단계: 설정에서 직접 크로스보드 핀 참조
[extruder]
# 스테퍼와 히터는 툴보드 핀 사용
step_pin: toolboard1:<step_pin>
dir_pin: toolboard1:<dir_pin>
enable_pin: !toolboard1:<enable_pin>
heater_pin: toolboard1:<heater_pin>
# 온도 센서는 메인보드 핀 사용
sensor_type: ATC Semitec 104GT-2
sensor_pin: <sensor_pin>
rotation_distance: 22.44
gear_ratio: 50:17
microsteps: 16
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.75
min_temp: -235
max_temp: 350
max_power: 1.0
min_extrude_temp: 170
control: watermark
- 툴보드 핀 형식은
<mcu 이름>:<핀 번호>입니다. 예:toolboard1:<heater_pin>. - 메인 MCU 핀은 실제 핀 이름을 직접 작성할 수 있으며 접두사가 필요 없습니다.
- 동일한 구성 섹션의 핀은 다른 MCU에서 올 수 있으며 Klipper가 크로스보드 통신을 자동으로 처리합니다.
추가 크로스보드 설정 예시
- 온도 센서가 두 번째 툴보드에
- 다중 압출기가 다른 툴보드에 분산
- 팬 크로스보드 제어
히터는 첫 번째 툴보드, 온도 센서는 두 번째 툴보드:
[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin>
sensor_type: ATC Semitec 104GT-2
sensor_pin: toolboard2:<sensor_pin>
두 압출기가 각각 다른 툴보드에 연결:
[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin>
sensor_pin: toolboard1:<sensor_pin>
[extruder1]
step_pin: toolboard2:<step_pin>
heater_pin: toolboard2:<heater_pin>
sensor_pin: toolboard2:<sensor_pin>
압출기는 툴보드에, 모델 팬은 메인보드에 연결:
[fan]
pin: <fan_pin>
[heater_fan throat_fan]
pin: toolboard1:<fan_pin>
heater: extruder
heater_temp: 50
fan_speed: 1.0
- 크로스보드 핀을 참조할 때는 해당 MCU가 설정 파일에서
[mcu <이름>]을 통해 올바르게 정의되었는지 확인하세요. - MCU 이름의 대소문자는 일관되어야 합니다.
[mcu ToolBoard]와toolboard:PA0참조는 오류를 발생시킵니다. - 최상의 응답 속도와 안정성을 위해 히터와 온도 센서 같이 기능적으로 밀접하게 관련된 장치는 동일한 툴보드에 연결하는 것이 좋습니다.
자주 묻는 질문
| 문제 증상 | 조치 방향 |
|---|---|
| 툴보드가 오프라인 상태 | 데이터 케이블 연결 확인, ID가 올바른지 확인, Klipper 펌웨어 ID와 플래시 모드 ID 구분 |
| 다중 툴보드 이름/ID 충돌 | 각 [mcu]의 이름과 ID는 고유해야 함, MCU ID 설정 참조 |
| 핀 접두사 불일치 | [mcu toolboard]의 핀 접두사는 toolboard:여야 하며, 이름 대소문자 일치 필요 |
| 펌웨어 버전 불호환 | 펌웨어를 다시 컴파일하여 호스트 Klipper 버전과 일치시킴 |
| CAN UUID를 찾을 수 없음 | CAN 네트워크 및 ID 검색 참조 |
| RS232 통신 실패 | baud: 250000 및 restart_method: command가 설정되었는지 확인 |