본문으로 건너뛰기

MCU 연결 가이드

적용 설명

이 가이드는 MCU가 Klipper와 정상적으로 연결되지 않는 문제를 진단하고 해결하기 위한 것입니다.

준비 사항 및 주의 사항

  • 권장하지 않는 호스트 장치: 홍미 휴대폰, WiFi 동글, 셋톱박스 등의 사용을 피하십시오. 이러한 장치는 일반적으로 맞춤형 또는 수정된 시스템을 사용하여 MCU를 올바르게 인식하지 못할 수 있습니다.
  • 슬레이브 장치 수 확인: 사용 중인 슬레이브 장치(예: 툴 보드)의 수를 미리 확인하십시오. 여러 슬레이브 장치는 연결에 영향을 줄 수 있습니다.
  • 배선 단순화: 메인보드와 툴 보드에서 데이터 케이블을 제외한 모든 배선을 일시적으로 제거하고, 간섭을 배제하기 위해 필요한 데이터 연결만 유지하는 것을 권장합니다.
  • 권장 인터페이스: Fluidd 인터페이스 사용을 권장합니다. MCU 연결 상태를 보다 직관적으로 표시합니다.

1단계: 설정 백업 및 초기화

1. 호스트 인터페이스에 접속

브라우저에 호스트의 IP 주소(예: 192.168.101.179)를 입력하여 접속합니다.

Loading...

2. 설정 파일 찾기

WEB 인터페이스에 접속하여 왼쪽 사이드바에서 설정 옵션을 찾습니다:

Fluidd 사용자: ...를 클릭한 다음 printer.cfg를 찾습니다.

Loading...

Mainsail 사용자: 기계를 클릭한 다음 printer.cfg를 찾습니다.

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에 연결하십시오. 이 작업은 네트워크를 통해 수행해야 합니다.

작업 단계

  1. 장치 감지 실행

    • SSH에 성공적으로 연결한 후 다음 명령을 실행합니다:
      lsusb
    • 시스템이 인식된 모든 USB 장치를 나열합니다.
  2. 명령어 예외 처리

    • lsusb 명령이 없다는 메시지가 표시되면 먼저 설치하십시오:
      sudo apt-get install usbutils
    • 실행 후 장치가 전혀 표시되지 않으면 호스트를 교체하는 것이 좋습니다.
  3. 장치 정보 식별 아래 그림을 참조하여 lsusb 출력 결과에서 장치를 식별하십시오:

    Loading...
    Loading...
  4. 펌웨어 유형 확인

    • 플래시한 펌웨어에 따라 lsusb 결과에서 다음 핵심 정보를 확인하십시오:
      • USB 펌웨어: 1d50:614e가 표시되어야 함
      • USB 브리지 CAN 펌웨어: 1d50:606f가 표시되어야 함
      • USB Katapult 펌웨어: 1d50:6177이 표시되어야 함
      • RS232 어댑터(UTOR 사용 또는 D8 및 D8PRO 메인보드): 1a86:7523이 표시되어야 함 (G2T 사용 시 이 단계 불필요)

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를 검색합니다:

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

RS232 펌웨어 장치 다음 명령을 실행하여 RS232 장치 경로를 검색합니다:

ls /dev/serial/by-path/*

결과 해석 및 처리

USB ID 검색 결과

명령 실행 후 터미널에 다음과 유사한 장치 ID가 표시됩니다(예시):

  • 직접 사용 가능: usb- 필드 뒤에 Klipper라고 표시된 ID

  • ⚠️ 펌웨어 플래싱 필요: usb- 필드 뒤에 katapult라고 표시된 ID

    Loading...

CAN ID 검색 결과

명령 실행 후 실제 상황에 따라 판단하십시오:

  • 직접 사용 가능: 표시된 ID의 끝 Application: 필드에 Klipper라고 표시된 경우
  • ⚠️ 펌웨어 플래싱 필요: 표시된 ID의 끝 Application: 필드에 CANBOOT 또는 Katapult라고 표시된 경우
  • 장치를 찾을 수 없음: Total 0 uuids found가 표시되면 가능한 원인은 다음과 같습니다:
    • CAN 네트워크 구성 오류
    • CAN 속도 불일치 (호스트, 메인보드, 툴 보드의 속도가 일치하는지 확인)
    • 해당 ID가 이미 사용 중 (설정에서 차단한 후 종료, 전원 차단 및 재시작 필요)
Loading...

RS232 ID 검색 결과

명령 실행 후 터미널에 RS232 장치 경로가 표시됩니다(예시):

  • /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
RS232 설정 특수 요구 사항

RS232 장치를 설정할 때는 반드시 보드레이트와 재시작 방법을 지정해야 합니다:

[mcu toolboard]
serial: <여기에 검색된 RS232 장치 경로를 입력>
baud: 250000
restart_method: command

4단계: 메인 MCU ID 설정

준비 사항

설정을 시작하기 전에 툴 보드와 호스트 또는 메인보드의 연결을 분리하여 장치 식별 충돌을 방지하십시오.

printer.cfg 파일을 다시 열고 [mcu] 부분에서 serial: /tmp/klipper_host_mcu 설정 행을 찾습니다.

연결 방식에 따라 아래 해당 방법을 참조하여 설정합니다:

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

설정을 저장하고 Klipper 서비스를 재시작합니다.


5단계: 메인 MCU 연결 확인

메인 MCU 설정을 완료한 후 연결이 성공했는지 확인해야 합니다:

  1. Fluidd 인터페이스를 열고 왼쪽 메뉴에서 System을 클릭합니다.
  2. MCU 정보 확인: Mcu Information 아래에서 Micro-Controller 정보를 찾습니다.
  3. 메인 컨트롤러 모델 확인: 표시된 모델이 메인보드의 실제 메인 컨트롤러 모델과 일치하는지 확인합니다.
확인 사항
  • 메인 컨트롤러가 STM32H723인 경우 Micro-Controller에 H723 관련 모델이 표시되어야 합니다.
  • 올바르게 표시되지 않거나 인식할 수 없는 경우 이전 설정 단계를 확인하십시오.
Loading...

6단계: 툴 보드 MCU 추가

메인 MCU가 성공적으로 확인되면 툴 보드를 추가할 수 있습니다:

  1. 툴 보드 다시 연결: 툴 보드의 데이터 케이블을 호스트 또는 메인보드에 다시 연결합니다.
  2. 설정 파일 편집: printer.cfg 파일의 맨 아래에 툴 보드 설정을 추가합니다.
  3. 툴 보드 ID 설정: 툴 보드의 펌웨어 유형에 따라 새로 추가된 설정 섹션에 해당 ID를 추가합니다.
MCU 이름 지정 설명

설정에서 mcu1, mcu2 등의 이름은 다른 장치를 임시로 구분하는 데만 사용됩니다. 이러한 이름은 완전히 사용자 정의할 수 있으며 설정 파일에서 고유성만 유지하면 됩니다.

설정 형식:

[mcu mcu1]
# 여기에 툴 보드의 ID 설정을 추가합니다.

설정 예시:

[mcu mcu1]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00

주의 사항:

  • 각 MCU는 고유한 ID를 사용해야 하며, 툴 보드 ID가 메인 MCU 및 다른 장치와 다르도록 하십시오.
  • MCU 이름은 완전히 사용자 정의할 수 있습니다(예: toolboard, extruder_mcu 등). 설정에서 고유성만 유지하면 됩니다.
  • 앞서 설명된 단계를 통해 확인된 유효한 툴 보드 ID를 반드시 사용하십시오.
  • RS232 장치는 baud: 250000restart_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:gpio9
dir_pin: toolboard1:gpio10
enable_pin: !toolboard1:gpio7
heater_pin: toolboard1:gpio6 # 가열봉은 toolboard1에
# 온도 센서는 메인보드 핀 사용 (gpio 또는 mcu:gpio 직접 입력)
sensor_type: ATC Semitec 104GT-2
sensor_pin: PA0 # 온도 센서는 메인보드에 연결
# 기타 매개변수
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:gpio6
  • 메인 MCU 핀: 핀 이름을 직접 쓸 수 있음 (예: PA0)
  • 동일한 설정 섹션의 핀은 다른 MCU에서 올 수 있으며 Klipper가 보드 간 통신을 자동으로 처리합니다.

더 많은 보드 간 설정 예시

가열봉은 첫 번째 툴 보드에, 온도 센서는 두 번째 툴 보드에 있는 경우:

[extruder]
step_pin: toolboard1:gpio9
heater_pin: toolboard1:gpio6 # 가열은 첫 번째 툴 보드에
sensor_type: ATC Semitec 104GT-2
sensor_pin: toolboard2:gpio26 # 온도 센서는 두 번째 툴 보드에
# ... 나머지 압출기 매개변수
주의 사항
  • 보드 간 핀을 참조할 때는 해당 MCU가 설정 파일에서 [mcu <이름>]을 통해 올바르게 정의되었는지 확인하십시오.
  • 최상의 응답 속도와 안정성을 위해 가열봉과 온도 센서와 같이 기능적으로 밀접하게 관련된 장치는 동일한 툴 보드에 연결하는 것이 좋습니다.

설정을 완료한 후 저장하고 Klipper 서비스를 재시작합니다.


7단계: 모든 MCU 연결 확인

툴 보드를 추가하고 Klipper를 재시작한 후 모든 MCU의 연결 상태를 다시 확인해야 합니다:

  1. Fluidd 인터페이스를 열고 왼쪽 메뉴에서 System을 클릭합니다.
  2. MCU 정보 확인: Mcu Information 아래에서 모든 MCU가 올바르게 인식되었는지 확인합니다.
  3. 각 MCU 상태 확인: 메인 MCU와 툴 보드가 모두 연결 상태로 표시되는지 확인합니다.
확인 사항
  • 메인 MCU와 모든 툴 보드가 목록에 표시되어야 합니다.
  • 각 MCU의 연결 상태는 "연결됨"으로 표시되어야 합니다.
  • 특정 MCU가 표시되지 않거나 연결에 실패한 경우 설정 및 물리적 연결을 확인하십시오.
Loading...

8단계: 펌웨어 버전 확인

모든 MCU 연결을 완료한 후 펌웨어 버전 호환성을 확인해야 합니다:

  1. Fluidd 인터페이스를 열고 왼쪽 메뉴에서 System을 클릭합니다.
  2. 버전 정보 확인: Mcu Information 아래에서 Version 필드를 찾습니다.
  3. 버전 일관성 확인: 모든 MCU의 펌웨어 버전이 호스트 Klipper 버전과 일치하는지 확인합니다.
버전 호환성 설명
  • 커스텀 컴파일 펌웨어: 사전 설정된 커스텀 장치를 제외하고 직접 컴파일한 모든 펌웨어는 호스트 Klipper 버전과 일치해야 합니다.
  • Fly-FAST 시스템: FAST 시스템의 펌웨어 버전은 시스템 버전과 일치하며, 컴파일된 Klipper 펌웨어는 시스템 버전과 일치합니다.
  • 버전 불일치의 결과: 다른 버전의 펌웨어는 기능 이상, 통신 실패 또는 시스템 불안정을 초래할 수 있습니다.

확인 사항:

  • 메인 MCU와 모든 툴 보드의 Version 정보가 표시되고 버전이 일치해야 합니다.
  • 버전이 일치하지 않으면 해당 펌웨어를 다시 플래시해야 합니다.

9단계: 설정 파일 복원 및 업데이트

모든 MCU 연결이 정상임을 확인한 후 원래 설정 파일을 복원하고 MCU 설정을 업데이트해야 합니다:

  1. 현재 설정 파일 삭제

    • 설정 파일 관리 인터페이스에서 현재 printer.cfg 파일을 찾아 삭제합니다.
  2. 백업 설정 복원

    • 이전에 백업한 printer_Backup.cfg 파일의 이름을 printer.cfg로 변경합니다.
  3. 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로 바꾸기
  4. 툴 보드 설정 업데이트(해당하는 경우)

    • 설정 파일에서 툴 보드에 해당하는 [mcu] 섹션을 찾습니다.
    • 연결 방식에 따라 실제 검색된 툴 보드 ID로 업데이트합니다:

    USB 툴 보드:

    [mcu toolboard]
    serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00

    CAN 툴 보드:

    [mcu toolboard]
    canbus_uuid: 688e89f0e402

    RS232 툴 보드:

    [mcu toolboard]
    serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
    baud: 250000
    restart_method: command
  5. 저장 및 재시작

    • 모든 MCU 설정 업데이트를 완료한 후 SAVE & RESTART를 클릭하여 Klipper를 저장하고 재시작합니다.
    • System 페이지에 다시 들어가 모든 MCU 연결 상태가 정상인지 확인합니다.
중요 알림
  • 이번 연결 테스트에서 실제로 검색된 올바른 ID를 사용해야 합니다.
  • 여러 툴 보드를 설정하는 경우 각 [mcu] 섹션의 ID를 하나씩 업데이트하십시오.
  • RS232 툴 보드는 baud: 250000restart_method: command 매개변수를 반드시 포함해야 합니다.
  • 설정을 복원하면 기존 프린터 매개변수(예: 스테퍼 모터, 리미트 스위치 설정 등)는 그대로 유지됩니다.

이로써 MCU 연결 문제 해결 및 설정 복원이 모두 완료되었습니다.

Loading...