본문으로 건너뛰기

주변기기 및 드라이버 테스트

이 문서는 스텝 드라이버, CAN 툴 보드 등의 주변기기 모듈이 정상적으로 작동하는지 확인하기 위한 것입니다. 테스트 방식은 기본 I/O 테스트와 동일하며, 최소화된 Klipper 설정을 사용하여 개별 하드웨어를 분리합니다.

MCU 연결, 온도 센서, 팬 출력 또는 입력 포트를 테스트해야 하는 경우 먼저 하드웨어 테스트 방법을 참조하십시오.

드라이버 테스트

테스트 목적

가장 간단한 Klipper 설정을 사용하여 단일 TMC 드라이버(UART 또는 SPI 모드)가 메인보드와 정상적으로 통신할 수 있는지 확인하고, 모터가 제어되어 작동하는지 확인합니다.

사전 조건

전원 차단 작업

먼저 프린터를 완전히 종료하고 전원 공급 장치를 분리한 후 다음 작업을 진행하십시오. 드라이버 모듈 또는 스텝 모터 케이블을 전원이 켜진 상태에서 삽입하거나 분리하지 마십시오.

  1. 프린터의 전원이 완전히 차단되었습니다.
  2. 테스트할 TMC 드라이버가 메인보드의 해당 소켓에 올바르게 삽입되었으며, 방향이 올바른지 확인합니다.
  3. UART 모드 드라이버(예: TMC2209)의 경우 해당 드라이버 포트의 UART 점퍼 캡이 설치되어 있는지 확인합니다.
  4. 테스트할 드라이버 포트에 하나의 스텝 모터만 연결하고, 나머지 드라이버 포트는 비워둡니다.
  5. 테스트할 드라이버만 포함된 최소 printer.cfg 파일을 준비합니다. 기존 전체 설정 파일은 백업해 두는 것이 좋습니다.

단일 드라이버 최소 설정

다음 최소 설정을 사용하여 printer.cfg를 교체하고, [printer], [mcu], 테스트할 [manual_stepper Drive0] 및 해당 [tmcXXXX manual_stepper Drive0] 섹션만 유지합니다. [manual_stepper]는 여전히 최소 [printer] 섹션(kinematics: none)이 필요하며, 이는 모션 축 설정보다 간단하여 순수 하드웨어 검증에 적합합니다.

[printer]
kinematics: none
max_velocity: 200.00
max_accel: 40000.00

[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxx

[manual_stepper Drive0]
# 실제 메인보드 핀에 따라 다음 세 항목을 수정하십시오
step_pin: PE2
dir_pin: PC5
enable_pin: !PF11
# 다음 매개변수는 수정할 필요가 없습니다
microsteps: 16
rotation_distance: 40
velocity: 500
accel: 10000
position_min: 0
position_max: 1000

[tmc2209 manual_stepper Drive0]
# 실제 메인보드 핀에 따라 uart_pin을 수정하십시오
# 드라이버 제조업체 자료에 따라 sense_resistor를 수정하십시오
uart_pin: PC4
interpolate: False
run_current: 0.8
sense_resistor: <driver_sense_resistor>
stealthchop_threshold: 0
설정 설명
  • serial: 메인보드의 실제 직렬 포트 ID로 교체합니다(ls /dev/serial/by-id/ 명령어로 확인 가능).
  • step_pin / dir_pin / enable_pin: 테스트할 드라이버 포트에 해당하는 메인보드 핀으로 교체합니다.
  • uart_pin (UART 모드) / cs_pin + spi_bus (SPI 모드): 실제 핀과 SPI 버스 번호로 교체합니다.
  • sense_resistor: 반드시 드라이버 제조업체가 제공한 매개변수에 따라 입력해야 하며, 칩 모델만으로 추측하지 마십시오. 다른 TMC5160 드라이버 보드는 0.075, 0.033, 0.022 또는 다른 값을 가질 수 있습니다. TMC2240 등의 드라이버 샘플링 매개변수도 다를 수 있습니다. 제조업체 자료에 명시되지 않은 경우, 제조업체에 문의하거나 공식 설정 예시를 사용하십시오.
  • 설정에는 히터나 팬이 포함되어 있지 않으며, 드라이버 통신 검증만을 위한 것입니다.

다중 드라이버 테스트 방법

하나의 메인보드에 있는 여러 드라이버 포트를 개별적으로 검증해야 하는 경우, 다음 테스트 설정 명명 방식을 참조하여 각 드라이버 포트를 독립적인 Drive0, Drive1, Drive2로 작성할 수 있습니다.

[manual_stepper Drive1]
step_pin: PE3
dir_pin: PF13
enable_pin: !PF14
microsteps: 16
rotation_distance: 40
velocity: 500
accel: 10000
position_min: 0
position_max: 1000

[tmc2209 manual_stepper Drive1]
uart_pin: PF12
interpolate: False
run_current: 0.8
sense_resistor: <driver_sense_resistor>
stealthchop_threshold: 0

테스트 시에는 현재 테스트 중인 드라이버 포트의 모터만 연결하고, 하나의 포트를 확인한 후 전원을 차단한 다음 다음 포트로 변경합니다.

테스트 단계

  1. 위의 최소 설정을 printer.cfg에 저장합니다.

  2. 모터와 드라이버가 올바르게 연결되었는지 확인한 후 전원을 켜고 Klipper를 시작합니다.

  3. Mainsail / Fluidd 콘솔에서 다음 명령을 입력하여 모터를 활성화하고 현재 위치를 0으로 설정합니다.

    MANUAL_STEPPER STEPPER=Drive0 ENABLE=1
    MANUAL_STEPPER STEPPER=Drive0 SET_POSITION=0
    • 활성화 후 모터에 유지 토크가 있으면 enable_pin이 기본적으로 유효한 것입니다.
    • 모터가 여전히 자유롭게 회전할 수 있으면 전원을 차단한 후 enable_pin, 드라이버 방향, 점퍼 캡 및 전원 공급을 확인하십시오.
  4. 수동 이동 테스트를 실행합니다.

    MANUAL_STEPPER STEPPER=Drive0 MOVE=100 SPEED=100
    MANUAL_STEPPER STEPPER=Drive0 MOVE=0 SPEED=100
    • MOVE=는 목표 위치이며 상대 변위가 아닙니다. MOVE=100을 실행한 후 MOVE=0을 실행하면 모터가 반대 방향으로 시작점으로 돌아갑니다.
    • 모터가 여전히 기계의 운동 메커니즘에 연결되어 있는 경우, 첫 번째 테스트는 MOVE=10 SPEED=5로 변경하여 방향과 이동 범위의 안전성을 확인한 후 속도를 높이는 것이 좋습니다.
    • 모터가 끊김 없이 안정적으로 회전하면 드라이버, 모터 및 펄스/방향 핀이 기본적으로 정상인 것입니다.
    • 모터가 반응하지 않거나, 떨리거나, 방향이 비정상적이면 전원을 차단한 후 핀 설정, 모터 배선 순서, 드라이버 방향 및 점퍼 캡을 확인하십시오.
  5. TMC 통신 상태를 확인합니다.

    DUMP_TMC STEPPER=Drive0

    레지스터 정보가 정상적으로 반환되면 UART/SPI 통신이 기본적으로 정상인 것입니다. 레지스터를 읽을 수 없다는 메시지가 표시되면 TMC 오류 해결을 참조하십시오.

  6. 테스트가 끝나면 모터 활성화를 해제합니다.

    MANUAL_STEPPER STEPPER=Drive0 ENABLE=0

예상 결과

테스트 항목정상 결과비정상 증상
수동 이동모터가 명령에 따라 정/역방향으로 이동움직임 없음, 떨림, 걸림 또는 방향 이상
TMC 통신DUMP_TMC가 레지스터 정보 반환UART/SPI 레지스터 읽기 불가
유지 토크ENABLE=1 후 모터 축을 자유롭게 돌릴 수 없음축을 쉽게 돌릴 수 있음 (활성화되지 않음)

위 세 항목이 모두 정상이면 드라이버와 메인보드 통신 및 모터 배선에 문제가 없는 것이므로, 원래 printer.cfg를 복원하고 다른 하드웨어를 계속 확인할 수 있습니다.


CAN 툴 보드 최소 테스트

테스트 목적

CAN 툴 보드가 Klipper에 인식되었는지 확인하고, 툴 보드의 온도, 팬, 가속도계 또는 입력 포트를 확인합니다.

최소 설정

[mcu tool]
canbus_uuid: xxxxxxxxxxxx

[temperature_sensor ToolBoard]
sensor_type: temperature_mcu
sensor_mcu: tool

[output_pin tool_FAN0]
pin: tool:gpio13
pwm: True
cycle_time: 0.010
value: 0
shutdown_value: 0

테스트 단계

  1. CAN 네트워크 설정 및 ID 검색에 따라 canbus_uuid를 검색하고 입력합니다.
  2. Klipper를 재시작한 후 ToolBoard 온도가 정상적으로 표시되는지 확인합니다.
  3. SET_PIN PIN=tool_FAN0 VALUE=1을 사용하여 툴 보드 저전압 팬 출력을 테스트하고, 테스트 후 SET_PIN PIN=tool_FAN0 VALUE=0을 실행합니다.
  4. 툴 보드 가속도계 또는 입력 포트를 테스트해야 하는 경우 위의 해당 섹션에 따라 설정을 추가합니다.
CAN 문제 해결 팁

CANH/CANL 배선 순서, 종단 저항, 점퍼 캡 및 와이어 하네스 정리는 모두 전원을 차단한 상태에서 수행해야 합니다. 전원이 켜진 상태에서 CAN 케이블을 삽입/분리하거나 종단 저항을 조정하지 마십시오.


일반적인 오류 및 다음 단계

비정상 증상klippy.log 주요 키워드우선 확인 사항다음 단계
Klipper가 MCU에 연결할 수 없음Unable to connect, Connect error, Serial connection closedserial / canbus_uuid, 펌웨어, USB/CAN 연결일반 오류 개요
온도 표시 이상ADC out of range, temperature, not heatingsensor_type, sensor_pin, 서미스터 커넥터온도, 가열 및 압출 오류
히터 또는 베드 shutdownVerify heater, not heating at expected rate서미스터 접촉, PID, 히터 전력, SSR온도, 가열 및 압출 오류
팬이 회전하지 않음오류 없음 (출력 포트는 로그를 생성하지 않음)pin, 팬 전압 사양, PWM 호환성팬 교체 또는 포트 변경 교차 테스트
입력 상태 변경 없음오류 없음 (입력 포트는 로그를 생성하지 않음)풀업 ^, 배선 순서, 스위치 유형전원 차단 후 커넥터 및 포트 확인
가속도계 데이터 없음Invalid adxl345 id, Invalid lis2dw id, timeoutcs_pin, spi_bus, 와이어 하네스, 모듈 모델가속도계 테스트 및 보정
공진 테스트 실패No data, Insufficient axis data, Frequency range센서 고정, 벨트 장력, 팬 진동가속도계 테스트 및 보정
모터가 움직이지 않음Unable to read tmc uart, Unable to write tmc spistep_pin, dir_pin, enable_pin, TMC 설정TMC 오류 해결
TMC 레지스터 읽기 실패DRV_STATUS, read register, GSTATUART/SPI 핀, 점퍼 캡, 드라이버 전원 공급, 드라이버 모델TMC 오류 해결
CAN 툴 보드 오프라인bytes_invalid, Network is down, No buffer space, Timer too closeCAN 배선 순서, 종단 저항, 전원 공급, UUIDCAN 네트워크 설정 및 ID 검색
인쇄 중 무작위 끊김/손실Stepper too far in past, Rescheduled timer, Lost communication호스트 컴퓨터 부하, 통신선 간섭, 속도 가속도시스템, 성능 및 서비스 오류
설정 저장 불가Unable to write, Option conflict, CRC does not match파일 권한, 자동 저장 영역 충돌, FIRMWARE_RESTART설정 관련 오류

참조 설정 조각

테스트 설정을 유지할 때는 하드웨어 유형에 따라 해당 메인보드/툴 보드 템플릿에서 조각을 추출할 수 있습니다.

  • 메인보드 테스트: temperature_sensor, manual_stepper DriveN, tmcXXXX manual_stepper DriveN, output_pin FANx, gcode_button IOx.
  • 툴 보드 테스트: temperature_sensor, adxl345 / lis2dw, manual_stepper Drive0, output_pin FANx, gcode_button.
  • 다중 드라이버 테스트: Drive0, Drive1, Drive2와 같은 명명을 유지하고, 테스트 명령의 STEPPER=는 설정 섹션 이름과 일치해야 합니다.
  • 저전압 출력 테스트: 팬, RGB, 버저 등 저전압 부하를 우선 선택하고, 히팅 카트리지나 베드를 일반 output_pin 테스트로 사용하지 마십시오.

특정 모듈이 위의 최소 테스트를 통과하지 못하는 경우, 먼저 원래 설정을 복원하고 특정 오류와 함께 해당 FAQ 페이지에서 계속 문제를 해결하십시오.

Loading...