MCU 연결 가이드
본 가이드는 MCU가 Klipper와 정상적으로 연결되지 않는 문제를 해결하기 위해 사용됩니다.
사전 준비 및 주의사항
- 비추천 상위 기기: 레드미 휴대폰, WiFi 동글, 셋톱박스 등의 기기는 사용을 피하세요. 이들은 일반적으로 맞춤형 또는 수정된 시스템을 사용하여 MCU를 올바르게 인식하지 못할 수 있습니다.
- 하위 기기 수 확인: 사용 중인 하위 기기(예: 툴보드)의 수를 미리 확인하세요. 여러 하위 기기가 연결에 영향을 줄 수 있습니다.
- 배선 간소화: 간섭을 배제하기 위해 메인보드와 툴보드에서 데이터 케이블을 제외한 모든 배선을 일시적으로 제거하고, 필요한 데이터 연결만 남겨두는 것이 좋습니다.
- 추천 운영 인터페이스: Fluidd 인터페이스 사용을 추천합니다. MCU 연결 상태를 더 직관적으로 표시할 수 있습니다.
첫 번째 단계: 설정 파일 백업 및 초기화
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가 설정을 저장하고 서비스를 재시작합니다.
- 오류가 발생하면 일단 무시하세요.
- 이후, 모든 기기(상위 기기 및 모든 하위 기기 포함)의 전원을 완전히 차단하세요.
- 중요: 반드시 완전히 전원이 차단되어야 합니다. 그렇지 않으면 다음 단계를 진행할 수 없습니다.
두 번째 단계: 장치 감지 및 펌웨어 유형 확인
전제 조건
- 주 장치 순서: 첫 번째
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 펌웨어:
- 구워 넣은 펌웨어에 따라,
세 번째 단계: 장치 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
네 번째 단계: 주 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 서비스를 재시작하세요.
다섯 번째 단계: 주 MCU 연결 확인
주 MCU 구성을 완료한 후, 연결이 성공했는지 확인해야 합니다:
- Fluidd 인터페이스를 열고, 왼쪽 메뉴에서
System을 클릭합니다. - MCU 정보 확인:
Mcu Information아래에서Micro-Controller정보를 찾습니다. - 주 컨트롤러 모델 확인: 표시된 모델이 사용자의 메인보드 실제 주 컨트롤러 모델과 일치하는지 확인합니다.
- 주 컨트롤러가 STM32H723인 경우,
Micro-Controller는 반드시 H723 관련 모델로 표시되어야 합니다. - 올바르게 표시되지 않거나 인식되지 않으면, 앞선 구성 단계를 확인하세요.
여섯 번째 단계: 툴보드 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 서비스를 재시작하세요.
일곱 번째 단계: 모든 MCU 연결 확인
툴보드를 추가하고 Klipper를 재시작한 후, 모든 MCU의 연결 상태를 다시 확인해야 합니다:
- Fluidd 인터페이스를 열고, 왼쪽 메뉴에서
System을 클릭합니다. - MCU 정보 확인:
Mcu Information아래에서 모든 MCU가 올바르게 인식되었는지 확인합니다. - 각 MCU 상태 확인: 주 MCU와 툴보드 모두 연결 상태로 표시되는지 확인합니다.
- 주 MCU와 모든 툴보드가 목록에 표시되어야 합니다.
- 각 MCU의 연결 상태는 "연결됨"이어야 합니다.
- 특정 MCU가 표시되지 않거나 연결에 실패하면, 해당 구성과 물리적 연결을 확인하세요.
여덟 번째 단계: 펌웨어 버전 확인
모든 MCU 연결을 완료한 후, 펌웨어 버전 호환성을 확인해야 합니다:
- Fluidd 인터페이스를 열고, 왼쪽 메뉴에서
System을 클릭합니다. - 버전 정보 확인:
Mcu Information아래에서Version필드를 찾습니다. - 버전 일관성 확인: 모든 MCU의 펌웨어 버전이 상위 기기 Klipper 버전과 일치하는지 확인합니다.
- 사용자 정의 컴파일 펌웨어: 사전 구성된 맞춤형 장치를 제외하고, 자체 컴파일한 모든 펌웨어는 상위 기기 Klipper 버전과 일치해야 합니다.
- Fly-FAST 시스템: FAST 시스템의 펌웨어 버전은 시스템 버전과 일치하며, 컴파일된 Klipper 펌웨어는 시스템 버전과 일치합니다.
- 버전 불일치의 결과: 다른 버전의 펌웨어는 기능 이상, 통신 실패 또는 시스템 불안정을 초래할 수 있습니다.
확인 포인트:
- 주 MCU와 모든 툴보드의
Version정보가 표시되고 버전이 일치해야 합니다. - 버전이 일치하지 않으면, 해당 펌웨어를 다시 구워 넣어야 합니다.
아홉 번째 단계: 설정 파일 복원 및 업데이트
모든 MCU 연결이 정상인지 확인한 후, 원본 설정 파일을 복원하고 MCU 구성을 업데이트해야 합니다:
-
현재 설정 파일 삭제
- 설정 파일 관리 인터페이스에서 현재의
printer.cfg파일을 찾아 삭제합니다.
- 설정 파일 관리 인터페이스에서 현재의
-
백업 설정 복원
- 이전에 백업한
printer_Backup.cfg파일의 이름을printer.cfg로 변경합니다.
- 이전에 백업한
-
MCU 구성 업데이트
- 복원된
printer.cfg파일을 엽니다. - 기존의
[mcu]구성 섹션을 찾아, 앞선 단계에서 얻은 ID로 업데이트합니다:
USB 연결 구성:
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
# 실제 검색된 주 MCU USB ID로 교체CAN 연결 구성:
[mcu]
canbus_uuid: 688e89f0e401
# 실제 검색된 주 MCU CAN UUID로 교체 - 복원된
-
툴보드 구성 업데이트(해당되는 경우)
- 설정 파일에서 툴보드에 해당하는
[mcu]섹션을 찾습니다. - 연결 방식에 따라 실제 검색된 툴보드 ID로 업데이트합니다:
USB 툴보드:
[mcu toolboard]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00CAN 툴보드:
[mcu toolboard]
canbus_uuid: 688e89f0e402RS232 툴보드:
[mcu toolboard]
serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
baud: 250000
restart_method: command - 설정 파일에서 툴보드에 해당하는
-
저장 및 재시작
- 모든 MCU 구성 업데이트를 완료한 후, SAVE & RESTART을 클릭하여 저장하고 Klipper를 재시작합니다.
- 다시
System페이지로 들어가, 모든 MCU 연결 상태가 정상인지 확인합니다.
- 이번 연결 테스트에서 실제 검색된 올바른 ID를 사용하는지 확인하세요.
- 여러 툴보드를 구성하는 경우, 각
[mcu]섹션의 ID를 하나씩 업데이트하세요. - RS232 툴보드는 반드시
baud: 250000및restart_method: command매개변수를 포함해야 합니다. - 설정을 복원한 후, 기존 프린터 매개변수(예: 스테퍼 모터, 리미트 스위치 등의 설정)는 그대로 유지됩니다.
이로써, MCU 연결 장애 해결 및 구성 복원이 모두 완료되었습니다.