본문으로 건너뛰기

가속도계 사용

메인보드 배선

인터페이스 충돌 경고

TFT 화면과 SPI 가속도계 인터페이스를 동시에 사용할 수 없습니다!

  • 물리적 충돌: TFT 화면(FPC-TFT 인터페이스 통해), SPI 가속도계 인터페이스(ZH1.5-7P) 및 RRF 확장 인터페이스는 하드웨어적으로 동일한 SPI 리소스 그룹을 공유합니다.
  • 결과: 동시에 연결할 경우 화면 표시 이상가속도계 측정 데이터 심각한 오차가 발생합니다.
  • 해결 방법: 사용 시 반드시 둘 중 하나만 연결하십시오.
Loading...

설정

[mcu host]
serial: /tmp/klipper_host_mcu

[adxl345]
cs_pin: host:gpiochip0/gpio263
spi_bus: spidev1.2

[resonance_tester]
accel_chip: adxl345
#accel_chip_y: adxl345 bed
probe_points:
100, 100, 20 # 예시

사용법

가속도계 테스트 및 보정

의존성 패키지 설치

주의사항
  • 기기에 FlyOS-FAST 시스템이 이미 실행 중인 경우, 필요한 의존성이 사전 설치되어 있으므로 이 단계를 건너뛸 수 있습니다.
  • 비 FLY 상위 컴퓨터를 사용하는 경우, 아래 설치 작업을 반드시 완료하세요.
  • MobaXterm, PuTTY 등 SSH 도구로 연결한 후 작업을 진행하는 것을 권장합니다.
  • 본 튜토리얼은 라즈베리파이를 기준으로 하며, 다른 플랫폼은 참고용으로만 제공됩니다.

설치 단계

  1. 아래 명령어를 순서대로 실행하여 의존성 패키지를 설치합니다.
  2. 설치 시간은 CPU 성능과 네트워크 상태에 따라 다르며, 일반적으로 10–20분이 소요되므로 설치가 완료될 때까지 기다려 주세요.
  3. 기기 메모리(RAM)가 너무 작으면 설치가 실패할 수 있습니다.

1단계: 시스템 의존성 패키지 설치

sudo apt install python3-numpy python3-matplotlib libatlas-base-dev

2단계: Klipper 가상 환경 의존성 패키지 설치

~/klippy-env/bin/pip install matplotlib numpy

가속도계 테스트

사전 조건

  • 프린터가 귀환(Homing) 작업을 완료했을 것.
  • Klipper 구성 파일에 가속도계가 올바르게 활성화되어 있을 것.

테스트 명령어

Klipper 콘솔에서 다음 명령어를 입력합니다:

ACCELEROMETER_QUERY

여러 개의 가속도계가 연결된 경우, 칩을 지정하여 테스트할 수 있습니다:

ACCELEROMETER_QUERY CHIP=<ADXL칩 이름>

<ADXL칩 이름>을 실제 가속도계 식별자(예: adxl345)로 교체하세요.

일부 구형 Klipper 버전은 ACCELEROMETER_QUERY를 두 번 실행해야 가속도 데이터를 얻을 수 있습니다.

일반적인 문제 해결

전원 차단 작업

가속도계 배선을 점검, 재장착 또는 교체하기 전에 프린터 전원을 완전히 끄고 전원 공급을 차단하세요. 전원이 켜진 상태에서 ADXL/LIS2DW/MPU/ICM 모듈을 연결/분리하거나 노출된 핀을 만지지 마세요.

  1. 첫 실행 실패: 일부 Klipper 버전은 명령 인식 지연이 있을 수 있습니다. 첫 실행 시 데이터가 반환되지 않으면 동일한 명령을 한 번 더 실행하세요.
  2. 명령 인식 불가: 여러 번 실행해도 알 수 없는 명령으로 표시되면 Klipper 버전이 너무 낮을 수 있습니다. 다음을 권장합니다:
    • Klipper를 최신 버전으로 업데이트
    • 또는 최신 시스템을 다시 플래시(예: FlyOS-FAST 최신 버전)
  3. Invalid adxl345 id: Invalid adxl345 id (got xx vs e5) 오류가 표시되면 먼저 ACCELEROMETER_QUERY를 즉시 한 번 더 실행하세요. 그래도 오류가 지속되면 완성된 가속도계 배선, 어댑터 보드 또는 센서 모듈을 교체하여 교차 테스트하는 것을 우선 권장하며, 일반 사용자가 직접 납땜하거나 납땜 부위를 수리하는 것은 권장하지 않습니다.
  4. Invalid lis2dw / mpu / icm id: LIS2DW, MPU9250, ICM20948 등 센서를 사용하는 경우 구성 섹션 이름, 통신 버스 및 칩 모델이 실제 하드웨어와 일치하는지 확인하세요.
  5. Unable to obtain response / timeout: 일반적으로 상위 컴퓨터와 가속도계 MCU 간 통신 오류를 의미합니다. USB/CAN 연결, [mcu] ID, cs_pin, spi_bus 또는 i2c_bus를 확인하세요.

BatchBulkHelper / spi_transfer_response

오류 메시지: ACCELEROMETER_QUERY, TEST_RESONANCES 또는 SHAPER_CALIBRATE 실행 시 다음이 나타납니다:

BatchBulkHelper start callback error
BatchBulkHelper stop callback error
Unable to obtain 'spi_transfer_response' response

오류 특성: spi_transfer_response는 Klipper가 SPI 요청에 대한 응답을 받지 못했음을 의미하지만, 이것이 반드시 최초 원인은 아닙니다. 최근 로그 사례에서 MCU가 먼저 Timer too close로 인해 shutdown된 후, ADXL 배치 수집 시 SPI 응답을 얻지 못했다는 오류가 표시되었습니다. 이 경우 먼저 앞선 shutdown을 처리해야 하며, 가속도계가 손상되었다고 바로 판단해서는 안 됩니다.

조사 방법:

  1. 전체 klippy.log에서 첫 번째 BatchBulkHelper를 찾은 후, 더 이른 시점의 Timer too close, Lost communication with MCU, MCU shutdown 또는 Serial connection closed를 위쪽으로 검색하세요.
  2. 더 이른 shutdown이 존재하는 경우, 먼저 시스템 및 타임아웃 오류에 따라 근본 원인을 처리하세요. 이후의 spi_transfer_response는 일반적으로 연결이 복구되면 사라집니다.
  3. 더 이른 shutdown이 없고 매번 ACCELEROMETER_QUERY 실행 시 즉시 오류가 발생하는 경우, 가속도계의 [mcu], cs_pin, spi_bus 및 칩 유형을 확인하세요.
전원 차단 작업

가속도계 배선, 어댑터 보드 또는 모듈을 재장착하거나 교체하기 전에 프린터 전원을 완전히 끄고 전원 공급을 차단하세요. 전원이 켜진 상태에서 SPI/I2C 배선을 연결/분리하거나 노출된 핀을 만지지 마세요.

  1. 전원 차단 후 완성된 배선, 어댑터 보드 또는 센서 모듈을 교체하여 교차 테스트하세요. 일반 사용자가 직접 납땜하거나 점퍼선을 연결하도록 하지 마세요.
  2. 공진 테스트 시작 또는 종료 시에만 오류가 발생하는 경우, 카메라, 화면 및 기타 고부하 서비스를 임시로 끈 후 다시 테스트하고, 추가 분석을 위해 전체 로그를 보관하세요.

결과 판단

  • 정상 출력: 연속적인 데이터 흐름이 반환되면(아래 그림 참조), 가속도계가 정상 작동하는 것이므로 공진 보상 측정을 진행할 수 있습니다.
  • 오류 출력: 시간 초과, 데이터 없음 또는 통신 오류가 표시되면 다음 순서로 확인하세요:
    1. 전원 차단 후 가속도계 배선이 견고한지 확인
    2. 구성 파일의 센서 설정과 SPI가 올바른지 확인
    3. 완성된 배선, 어댑터 보드 또는 센서 모듈 교체를 우선적으로 통해 전원/통신 문제 판단
Loading...

공진 테스트 일반적인 오류

오류 메시지일반적인 원인처리 방법
No data received from accelerometer가속도계 미연결, SPI/I2C 배선 순서 오류, 전원 공급 이상먼저 ACCELEROMETER_QUERY를 실행하여 통신이 정상인지 확인한 후 다시 테스트
Insufficient axis data for shaper calibration이동 범위가 너무 작음, 가속도가 너무 낮음, 센서 판독 노이즈가 너무 큼테스트 범위 또는 accel_per_hz를 늘리고, 가속도계가 단단히 고정되었는지 확인
Frequency range too narrow벨트가 너무 느슨함, 기계 공진 주파수가 측정 범위를 벗어남벨트 장력, 기계 구조 고정 확인; 필요한 경우 max_freq를 낮추거나 accel_per_hz를 높임
공진 그래프가 모두 노이즈이고 뚜렷한 피크 없음센서가 단단히 고정되지 않음, 팬 진동 간섭, 배선 흔들림전원 차단 후 센서 재고정, 테스트 시 팬 끄기, 신호선과 모터선을 분리배선
SHAPER_CALIBRATE 실행 후 출력 없음 또는 오류 종료Python 의존성 누락(numpy/matplotlib), 메모리 부족문서 시작 부분의 의존성 설치 단계에 따라 보완 설치; 대형 공진 그래프 계산에는 더 많은 메모리가 필요할 수 있음
Cannot test Z axis together with other axesTEST_RESONANCES에 Z축과 X/Y축이 동시에 지정됨Z축은 별도로 테스트해야 하며 X/Y와 혼합하지 마세요
Invalid POINT parameterPOINT= 좌표 형식 오류 또는 x,y,z 세 값 누락POINT=100,100,20 형식으로 입력
Invalid NAME parameter출력 이름이 비어 있거나 특수 문자가 포함되거나 명령 요구 사항과 불일치영어, 숫자, 밑줄 또는 하이픈으로 이름 지정
No accelerometer measurements found테스트 과정에서 유효한 가속도 데이터를 수집하지 못함먼저 ACCELEROMETER_QUERY를 실행한 후, 센서 고정 및 통신 확인
Unsupported outputOUTPUT= 매개변수에 지원되지 않는 유형 입력Klipper가 지원하는 출력 유형에 따라 입력, 일반적으로 resonances 사용

ACCELEROMETER_QUERY가 정상인데 공진 테스트가 계속 실패하는 경우, 다음 순서로 우선적으로 확인하세요:

  1. 전원 차단 후 가속도계 표면이 테스트 대상 부품에 밀착되어 있고 완충재나 양면테이프가 느슨하지 않은지 확인.
  2. 테스트 중 모델 냉각 팬, 핫엔드 팬 및 챔버 팬을 임시로 끄기.
  3. 테스트 중 배선이 센서를 당기거나 운동 축에 걸리지 않는지 확인.
  4. 테스트 진폭 증가: [resonance_tester]에서 accel_per_hz를 기본값 75에서 100–150으로 점진적으로 높이기.
  5. 툴보드(USB/CAN)의 가속도계를 사용하는 경우, 통신선이 모터선이나 히트베드선 근처에 있지 않은지 확인.

가속도계 보정

보정 단계

  1. 프린터가 귀환되었는지 확인.

  2. 콘솔에 다음 명령어를 입력하여 X, Y축 자동 보정을 시작합니다:

    SHAPER_CALIBRATE
  3. 보정 완료 후 구성을 저장합니다:

    SAVE_CONFIG

단일 축 보정

단일 축만 보정해야 하는 경우 다음을 사용할 수 있습니다:

SHAPER_CALIBRATE AXIS=X

또는 XY로 교체합니다.

안전 주의사항

보정 과정에서 프린터가 심하게 진동할 수 있습니다. 진동이 과도한 경우 즉시 비상 정지 버튼을 누르거나 M112 명령을 보내 긴급 정지하세요.

진동 강도 조절

테스트 시 진동이 너무 강한 경우 accel_per_hz 매개변수 값(기본값 75)을 적절히 낮출 수 있습니다:

[resonance_tester]
accel_per_hz: 50

설정 및 튜닝 문제: 가속도계 하드웨어는 정상이지만 공진 보상 활성화 후 효과가 좋지 않거나, shaper_freq 설정이 부적절하거나, Pressure Advance와 Input Shaper 간 충돌 등의 문제는 공진 보상 및 압력 전진 설정 문제를 참조하십시오.

설명: 위 단계는 대부분의 Klipper 기반 3D 프린터 공진 보상 설정에 적용됩니다. 실제 하드웨어 및 시스템 환경에 따라 조정하십시오.

Loading...