여러분은 가만히 계세요 제가 모두 고장낼게요

IT 지식, PC 모바일 문제 해결 그리고 종종 애니 게임 일상생활 근황을 종종 올리고 있어요!

냐.한국 자세히보기

카테고리 없음

Klipper 인풋 쉐이퍼 설정

Kamilake 2023. 2. 5. 15:47
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

가속도계를 설치하지 않고도 인풋 쉐이퍼 설정을 할 수 있지만, 가속도계를 사용하여 자동으로 공명 측정을 수행하는 것은 더 간단하고 쉽습니다! 

먼저, 저는 Raspberry Pi를 호스트로 사용하고 여기에 가속도계를 연결할 것이기 때문에 호스트를 MCU 대용으로 사용하기 위한 간단한 구성을 추가하겠습니다.

cd ~/klipper/
sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/
sudo systemctl enable klipper-mcu.service
make menuconfig

SSH에서 위 명령을 수행하면 호스트용 MCU 펌웨어를 만들 수 있습니다.

위 구성은 Ender-3 무한 프린터를 만들 때 사용했던 건데, 리눅스용으로 변경해볼게요.

리눅스 프로세스로 돌아가는 가상 MCU를 만들려면 그저 아키텍처를 "리눅스 프로세스"로 설정하기만 하면 됩니다.

저장하고 나와서 빌드해주세요.

sudo service klipper stop
make flash
sudo service klipper start

클리퍼 서비스를 잠시 멈추고 make flash 명령으로 빌드한 다음 다시 켜면 됩니다.

빌드가 끝나면 마이크로컨트롤러 바이너리가 어디에 있는지 알려주는데, 일단 기억해두세요.

저는 /usr/local/bin/klipper_mcu 위치에 설치되었습니다.  저 바이너리를 마운트하지 마세요. 저 바이너리가 소켓을 tmp에 만들도록 되어 있습니다. 그 소켓을 마운트해야 합니다.

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

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

 

그런 다음, 위 명령으로 Klipper에 필요한 종속성을 설치해주세요.

저는 i2C로 가속도계를 연결할 것이기 때문에 /boot/config.txt를 편집하겠습니다. ADXL345와 같은 SPI 가속도계를 사용하시는 분은 아래 가이드를 따라하지 마세요.

 sudo nano /boot/config.txt

dtparam=i2c_arm=on,i2c_arm_baudrate=400000

다음과 같이 i2c를 켜고 속도를 40000bps로 설정하면 됩니다.

모두 끝났습니다. 재부팅하세요.

재부팅한 다음 Moonraker 대시보드에 가서(저는 Fluidd를 사용중입니다) i2c 가속도계에 대한 설정을 구성하면 됩니다.

printer.cfg 구성하기

 

 

[mcu rpi]
serial: /tmp/klipper_host_mcu

[mpu9250]
i2c_mcu: rpi
i2c_bus: i2c.1

[resonance_tester]
accel_chip: mpu9250
probe_points:
    100, 100, 20  # an example

다음 설정으로 Pi에 있는 가속도계를 가져오면 됩니다. 칩 종류는 mpu9250으로 설정해주세요. Probe Points는 테스트를 수행할 x y z 좌표인데, 장애물에 걸리지 않는 위치로 설정하면 됩니다. 저는 110, 50, 30으로 설정했는데 보드에 출력물 이젝터가 붙어있어 서로 부딛히지 않는 곳으로 설정했습니다.

i2c address라는 파라미터도 있는데, 기본값은 104지지만 저는 105로 설정했습니다. HEX로 각각 0x68 , 0x69인데 공장 기본값은 0x68이기 때문에 아마 대부분 변경할 필요가 없지만 저는 자작 커스텀 보드를 사용해 테스트할 것이기 때문에 0x69로 설정하겠습니다.

주소를 모르더라도 i2cdetect -y 1 명령으로 손쉽게 찾을 수 있습니다. 

이제 저장하고 나가서 콘솔에 ACCELEROMETER_QUERY를 입력해보세요!

만약 재시작했는데, 프린터가 정상적으로 실행되지 않는다면 MCU 프로세스가 실행되지 않고 있거나 소켓 권한 문제일 수 있습니다.

/usr/local/bin/klipper_mcu를 sudo에서 실행하고 /tmp/klipper_host_mcu에게 모든 권한을 주세요

 

Measuring Resonances - Klipper documentation

Measuring Resonances Klipper has built-in support for ADXL345 accelerometer, which can be used to measure resonance frequencies of the printer for different axes, and auto-tune input shapers to compensate for resonances. Note that using ADXL345 requires so

www.klipper3d.org