MCU 연결 가이드
본 가이드는 MCU가 Klipper와 정상적으로 연결되지 않는 문제를 해결하기 위해 사용됩니다.
사전 준비 및 주의사항
- 비추천 상위 기기: 레드미 휴대폰, WiFi 동글, 셋톱박스 등의 기기는 사용을 피하세요. 이들은 일반적으로 맞춤형 또는 수정된 시스템을 사용하여 MCU를 올바르게 인식하지 못할 수 있습니다.
- 하위 기기 수 확인: 사용 중인 하위 기기(예: 툴보드) 수를 미리 확인하세요. 여러 하위 기기가 연결에 영향을 줄 수 있습니다.
- 배선 간소화: 메인보드와 툴보드에서 데이터 케이블을 제외한 모든 배선을 일시적으로 제거하고, 필요한 데이터 연결만 남겨 간섭을 배제하는 것이 좋습니다.
- 추천 운영 인터페이스: Fluidd 인터페이스 사용을 추천합니다. MCU 연결 상태를 더 직관적으로 표시할 수 있습니다.
1단계: 구성 파일 백업 및 재설정
1. 상위 기기 인터페이스 접속
브라우저에 상위 기기의 IP 주소(예: 192.168.101.179)를 입력하여 접속합니다.
2. 구성 파일 위치 찾기
WEB 인터페이스에 들어가 왼쪽 사이드바에서 구성 옵션을 찾습니다:
Fluidd 사용자: Loading... | Mainsail 사용자: Loading... |
3. 구성 파일 백업
printer.cfg 파일을 마우스 오른쪽 버튼으로 클릭하고 Duplicate를 선택하여 복사한 후, 복사본의 이름을 다음과 같이 변경합니다:
printer_Backup.cfg
Fluidd 작업 예시: Loading... | Mainsail 작업 예시: Loading... |
4. 구성 파일 재설정
printer.cfg를 다시 열어 모든 내용을 지우고, 다음 기본 구성을 붙여넣습니다:
[mcu]
serial: /tmp/klipper_host_mcu
[printer]
kinematics: none
max_velocity: 200
max_accel: 1000
5. 저장 및 재시작
- 오른쪽 상단의 SAVE & RESTART을 클릭하면 Klipper가 구성을 저장하고 서비스를 재시작합니다.
- 오류가 발생하면 일단 무시하세요.
- 이후, 상위 기기와 모든 하위 기기를 포함한 모든 장치의 전원을 완전히 차단하세요.
- 중요: 반드시 완전히 전원을 차단해야 합니다. 그렇지 않으면 다음 단계를 진행할 수 없습니다.
2단계: 장치 감지 및 펌웨어 유형 확인
전제 조건
- 주 장치 순서: 첫 번째
MCU는 반드시 메인보드여야 하며, 툴보드가 될 수 없습니다. - 펌웨어 유형: 사용 중인 FLY 메인보드 펌웨어가 USB 펌웨어 또는 USB 브리지 CAN 펌웨어인지 확인하세요. 본 가이드는 다른 유형에는 적용되지 않습니다.
- 연결 방식: 먼저 SSH 연결을 수행하세요. 이 작업은 네트워크를 통해 진행해야 합니다.
작업 단계
-
장치 감지 실행
- SSH 연결에 성공한 후 다음 명령을 실행합니다:
lsusb
- 시스템이 인식된 모든 USB 장치를 나열합니다.
- SSH 연결에 성공한 후 다음 명령을 실행합니다:
-
명령어 예외 처리
lsusb명령어가 존재하지 않는다는 메시지가 표시되면 먼저 설치하세요:sudo apt-get install usbutils- 실행 후 아무 장치도 표시되지 않으면 상위 기기를 교체하는 것이 좋습니다.
-
장치 정보 식별 아래 그림을 참고하여
lsusb출력 결과에서 장치를 식별하세요:Loading...Loading... -
펌웨어 유형 확인
- 구워 넣은 펌웨어에 따라
lsusb결과에서 다음 주요 정보를 확인하세요:- USB 펌웨어:
1d50:614e가 표시되어야 합니다. - USB 브리지 CAN 펌웨어:
1d50:606f가 표시되어야 합니다. - USB Katapult 펌웨어:
1d50:6177가 표시되어야 합니다. - RS232 어댑터 (UTOR와 함께 사용하거나 D8 및 D8PRO 메인보드 사용 시):
1a86:7523이 표시되어야 합니다 (G2T와 함께 사용 시 이 단계는 필요 없음).
- USB 펌웨어:
- 구워 넣은 펌웨어에 따라
3단계: 장치 ID 검색
중요 설명
- USB ID 검색: USB 펌웨어에만 적용되며, CAN 또는 RS232에는 사용할 수 없습니다.
- CAN ID 검색: CAN 버스 장치에만 적용되며, USB 또는 RS232에는 사용할 수 없습니다.
- RS232 ID 검색: RS232 펌웨어에만 적용되며, USB 또는 CAN에는 사용할 수 없습니다.
- RS232 전용성: RS232 펌웨어는 일반적으로 툴보드에만 사용되며, 주 MCU에는 적용되지 않습니다.
펌웨어 유형에 따른 방법 선택
USB 펌웨어 장치 다음 명령을 실행하여 USB 장치 ID를 검색합니다:
ls /dev/serial/by-id/*
USB 브리지 CAN 장치 시스템 유형에 따라 해당 명령을 선택하여 CAN ID를 검색합니다:
- 일반 상위 기기
- Fly_FAST 시스템
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
python ~/klipper/scripts/canbus_query.py can0
RS232 펌웨어 장치 다음 명령을 실행하여 RS232 장치 경로를 검색합니다:
ls /dev/serial/by-path/*
결과 해석 및 처리
USB ID 검색 결과
명령 실행 후 터미널에 다음과 유사한 장치 ID가 표시됩니다(예시):
-
✅ 직접 사용 가능: ID의
usb-필드 뒤에Klipper로 표시된 경우 -
⚠️ 펌웨어 구워 넣기 필요: ID의
usb-필드 뒤에katapult로 표시된 경우Loading...
CAN ID 검색 결과
명령 실행 후 실제 상황에 따라 판단하세요:
- ✅ 직접 사용 가능: 표시된 ID의 끝
Application:필드에Klipper로 표시된 경우. - ⚠️ 펌웨어 구워 넣기 필요: 표시된 ID의 끝
Application:필드에CANBOOT또는Katapult로 표시된 경우. - ❌ 장치를 찾을 수 없음:
Total 0 uuids found가 표시되는 경우, 가능한 원인은 다음과 같습니다:- CAN 네트워크 구성 오류
- CAN 속도 불일치(상위 기기, 메인보드, 툴보드의 속도가 일치하는지 확인하세요)
- 해당 ID가 이미 사용 중임(구성에서 차단한 후 종료, 전원 차단 및 재시작 필요)
RS232 ID 검색 결과
명령 실행 후 터미널에 RS232 장치 경로가 표시됩니다(예시):
/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
RS232 장치는 구성 시 반드시 보드레이트와 재시작 방법을 지정해야 합니다:
[mcu toolboard]
serial: <여기에 검색된 RS232 장치 경로로 교체>
baud: 250000
restart_method: command
4단계: 주 MCU의 ID 구성
구성을 시작하기 전에 툴보드와 상위 기기 또는 메인보드의 연결이 끊어졌는지 확인하세요, 장치 인식 충돌을 피하기 위함입니다.
printer.cfg 파일을 다시 열어 [mcu] 섹션의 serial: /tmp/klipper_host_mcu 구성 행을 찾습니다.
연결 방식에 따라 아래 해당 방법을 참고하여 구성을 진행하세요:
- USB 연결 구성
- CAN 연결 구성
serial: 뒤의 /tmp/klipper_host_mcu를 검색된 USB ID로 교체합니다.
구성 예시:
# 검색된 USB ID:
# /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
# 구성을 다음과 같이 수정:
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
serial: /tmp/klipper_host_mcu 구성 항목을 canbus_uuid:로 교체하고 검색된 CAN ID를 입력합니다.
구성 예시:
# 검색된 CAN ID:
# 688e89f0e401
# 구성을 다음과 같이 수정:
[mcu]
canbus_uuid: 688e89f0e401
구성을 저장하고 Klipper 서비스를 재시작하세요.
5단계: 주 MCU 연결 확인
주 MCU 구성 완료 후 연결이 성공했는지 확인해야 합니다:
- Fluidd 인터페이스를 열고 왼쪽 메뉴에서
System을 클릭합니다. - MCU 정보 확인:
Mcu Information아래에서Micro-Controller정보를 찾습니다. - 주 컨트롤러 모델 확인: 표시된 모델이 실제 메인보드의 주 컨트롤러 모델과 일치하는지 확인합니다.
- 주 컨트롤러가 STM32H723인 경우,
Micro-Controller는 반드시 H723 관련 모델로 표시되어야 합니다. - 올바르게 표시되지 않거나 인식되지 않으면 앞선 구성 단계를 확인하세요.
6단계: 툴보드 MCU 추가
주 MCU 확인이 성공한 후 툴보드를 추가할 수 있습니다:
- 툴보드 재연결: 툴보드의 데이터 케이블을 상위 기기 또는 메인보드에 다시 연결합니다.
- 구성 파일 편집:
printer.cfg파일의 가장 아래에 툴보드 구성을 추가합니다. - 툴보드 ID 구성: 툴보드의 펌웨어 유형에 따라 새 구성 섹션에 해당 ID를 추가합니다.
구성의 mcu1, mcu2 등의 이름은 단지 다른 장치를 임시로 구분하기 위한 것으로, 이러한 이름은 완전히 사용자 정의할 수 있으며 구성 파일 내에서 고유성을 유지하기만 하면 됩니다.
구성 형식:
[mcu mcu1]
# 여기에 툴보드의 ID 구성을 추가하세요.
구성 예시:
- USB 툴보드
- CAN 툴보드
- RS232 툴보드
[mcu mcu1]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00
[mcu mcu1]
canbus_uuid: 688e89f0e402
[mcu mcu1]
serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
baud: 250000
restart_method: command
주의사항:
- 각 MCU는 고유한 ID를 사용해야 하며, 툴보드 ID가 주 MCU 및 다른 장치와 모두 다르게 설정되었는지 확인하세요.
- MCU 이름은 완전히 사용자 정의할 수 있습니다(예:
toolboard,extruder_mcu등). 구성 내에서 고유성을 유지하기만 하면 됩니다. - 반드시 앞선 단계에서 유효성이 확인된 툴보드 ID를 사용하세요.
- RS232 장치는
baud: 250000및restart_method: command매개변수를 구성해야 합니다. - 여러 툴보드를 구성할 때는 각 장치에 다른 이름을 설정하여 구분하세요.
구성 완료 후 저장하고 Klipper 서비스를 재시작하세요.
7단계: 모든 MCU 연결 확인
툴보드를 추가하고 Klipper를 재시작한 후 모든 MCU의 연결 상태를 다시 확인해야 합니다:
- Fluidd 인터페이스를 열고 왼쪽 메뉴에서
System을 클릭합니다. - MCU 정보 확인:
Mcu Information아래에서 모든 MCU가 올바르게 인식되었는지 확인합니다. - 각 MCU 상태 확인: 주 MCU와 툴보드 모두 연결 상태로 표시되는지 확인합니다.
- 주 MCU와 모든 툴보드가 목록에 표시되어야 합니다.
- 각 MCU의 연결 상태는 "연결됨"이어야 합니다.
- 특정 MCU가 표시되지 않거나 연결에 실패하면 해당 구성과 물리적 연결을 확인하세요.
8단계: 펌웨어 버전 확인
모든 MCU 연결 완료 후 펌웨어 버전 호환성을 확인해야 합니다:
- Fluidd 인터페이스를 열고 왼쪽 메뉴에서
System을 클릭합니다. - 버전 정보 확인:
Mcu Information아래에서Version필드를 찾습니다. - 버전 일관성 확인: 모든 MCU의 펌웨어 버전이 상위 기기 Klipper 버전과 일치하는지 확인합니다.