MCU ID 설정
이 페이지는 Klipper에서 메인보드, 툴보드, CAN 장치 및 호스트 MCU의 ID 입력 규칙을 종합적으로 설명합니다. 연결 관련 문제를 설정할 때는 먼저 통신 방식을 확인한 후 해당 serial: 또는 canbus_uuid:를 입력하세요.
MCU ID 조회
ID를 입력하기 전에 SSH로 호스트에 로그인하여 실제 장치 식별자를 얻기 위한 명령어를 실행해야 합니다.
USB 장치
ls /dev/serial/by-id/*
출력 예시 (usb-Klipper_... 는 Klipper 펌웨어 모드의 ID):
/dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
- Klipper 펌웨어 ID 예시:
usb-Klipper_stm32h723xx_12345-if00 - 플래싱 모드 ID 예시:
usb-katapult_stm32h723xx_12345-if00(katapult포함) - 플래싱 모드 ID 예시:
usb-STM32_Bootloader_xxxxxxxxxxxx(Bootloader포함)
설정 파일에는 반드시 Klipper 펌웨어 모드의 ID를 사용해야 합니다. 플래싱 모드 ID만 보인다면 툴보드가 Klipper 펌웨어 실행 상태로 진입하지 않은 것입니다.
CAN 장치
- SSH 명령줄
- FlyOS-FAST / FLY 호스트
~/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 캐시로 미리 설정되어 있어 일반적으로 수동 설정이 필요하지 않습니다.
Application이 CANBOOT 또는 Katapult로 표시되는 UUID는 플래싱 모드의 ID이므로 printer.cfg에 직접 사용할 수 없습니다. 자세한 문제 해결은 CAN 네트워크 및 ID 검색을 참조하세요.
호스트 MCU
호스트 Linux 프로세스를 MCU로 사용하는 경우 ([mcu host]), 해당 시리얼 포트는 고정되어 있습니다:
[mcu host]
serial: /tmp/klipper_host_mcu
RS232 장치
ls -l /dev/serial/by-path/
출력 예시:
/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
툴보드 설정:툴보드 MCU 추가 및 보드 간 설정
MCU ID 설정 설명
Klipper에서 MCU ID는 [mcu] 또는 [mcu xxx] 설정 구간에서 제어 보드 연결을 식별하는 정보를 의미합니다. 통신 방식에 따라 작성 방법이 다릅니다:
| 연결 방식 | 설정 항목 | 예시 |
|---|---|---|
| USB 펌웨어 | serial: | serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx |
| CAN 펌웨어 | canbus_uuid: | canbus_uuid: xxxxxxxxxxxx |
| 상위 컴퓨터 MCU | serial: | serial: /tmp/klipper_host_mcu |
작성 규칙:
- 메인보드는 기본적으로
[mcu]를 사용하며, 툴보드나 확장 보드는[mcu tool],[mcu toolboard]등 사용자 정의 이름을 사용합니다. - USB 펌웨어는
serial:만 입력하고, CAN 펌웨어는canbus_uuid:만 입력하며, 동일한[mcu]에 두 항목을 동시에 유지하지 마십시오. - 다중 MCU 기기에서는 각
[mcu xxx]가 자신의 실제 ID를 사용해야 하며, 동일한 USB ID나 CAN UUID를 복사하지 마십시오. [mcu xxx]의 이름은 핀 접두사에 영향을 미칩니다. 예를 들어[mcu tool]의 핀은tool:gpio13으로 작성해야 하며, 이름의 대소문자는 일관되게 유지해야 합니다.- 문서 예시의
xxxxxxxx는 직접 사용할 수 없으며, 실제 검색된 ID로 반드시 교체해야 합니다.
일반적인 오류:
katapult,canboot등이 포함된 굽기 모드 ID를 Klipper 펌웨어 ID로 잘못 사용하는 경우.- USB 펌웨어에
canbus_uuid:를 설정하거나, CAN 펌웨어에 기존serial:을 유지하는 경우. - 툴보드를
[mcu]로 설정하여 메인보드 MCU 설정을 덮어쓰는 경우. - 핀 접두사와 MCU 이름이 일치하지 않는 경우. 예를 들어 설정이
[mcu toolboard]인데 핀을tool:gpio13으로 작성하는 경우.
USB ID 확인: USB 펌웨어는
ls /dev/serial/by-id/*명령어를 실행하여 ID를 확인할 수 있습니다.
CAN ID 확인: CAN 네트워크 및 ID 검색
툴보드 설정: 툴보드 MCU 추가 및 보드 간 설정
다중 MCU 설정 예시
USB 메인보드 + CAN 툴보드
USB 메인보드는 serial:로 연결하고, CAN 툴보드는 canbus_uuid:로 연결합니다:
[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx
[mcu tool]
canbus_uuid: xxxxxxxxxxxx
[temperature_sensor ToolBoard]
sensor_type: temperature_mcu
sensor_mcu: tool
USB 메인보드 + USB 툴보드
둘 다 serial:을 사용하여 연결하며, 다른 ID로 구분합니다:
[mcu]
serial: /dev/serial/by-id/usb-Klipper_mainboard_xxxxxxxxxxxx
[mcu toolboard]
serial: /dev/serial/by-id/usb-Klipper_toolboard_xxxxxxxxxxxx
CAN 메인보드 + CAN 툴보드
둘 다 canbus_uuid:를 사용하며, 각 UUID는 반드시 달라야 합니다:
[mcu]
canbus_uuid: aabbccddeeff
[mcu toolboard]
canbus_uuid: 112233445566
호스트 MCU + USB 메인보드
호스트에서 Linux 프로세스 MCU를 실행하고, 메인보드는 USB로 연결합니다:
[mcu host]
serial: /tmp/klipper_host_mcu
[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx
자주 발생하는 오해
| 잘못된 방법 | 올바른 방법 |
|---|---|
| 플래싱 모드 ID를 Klipper ID로 사용 | 장치가 Klipper 펌웨어로 진입한 후 ID 조회 |
USB 펌웨어에서 serial:와 canbus_uuid:를 동시에 입력 | USB 펌웨어는 serial:만 입력, CAN 펌웨어는 canbus_uuid:만 입력 |
툴보드를 [mcu]로 작성하여 메인보드 설정 덮어씀 | 툴보드는 [mcu toolboard]와 같은 사용자 정의 이름 사용 |
| 여러 MCU가 동일한 ID 공유 | 각 MCU는 고유한 ID를 사용해야 함 |
| 핀 접두사와 MCU 이름 불일치 | [mcu toolboard]의 핀은 toolboard:PA0으로 작성, 이름 대소문자 일치 |
문서의 xxxxxxxx를 그대로 복사하여 사용 | 실제 검색된 ID로 대체해야 함 |
문제 해결 진입점
| 문제 증상 | 문제 해결 진입점 |
|---|---|
USB ID를 찾을 수 없거나 [Errno 2] 발생 | 자주 발생하는 오류 개요 |
| CAN UUID가 유효하지 않거나 장치 오프라인 | CAN 네트워크 및 ID 검색 |
| 다중 MCU 연결 끊김, 설정 업데이트 불가 | 시스템, 성능 및 서비스 오류 |
| 툴보드 추가, 보드 간 핀 설정 | 툴보드 MCU 추가 및 보드 간 설정 |
| 핀 접두사, 중복 핀 또는 MCU 이름 오류 | 설정 관련 오류 |