본문 바로가기
창고/3D Printer

사파이어 플러스(V3)에 클리퍼 설정(Klipper /w Fluidd)

by 신의손길 2021. 11. 24.

!! 본 글은 계속 업데이트 되고 수정됩니다 (마지막 수정 2022/01/11)

3D 프린터 튜닝의 꽃?
클리퍼 기본설정 후 슬라이서에 속도를 올려 첫 프린트를 해보니 어? 이렇게 빨라? 라고 느꼈다.
결과를 보니 이 속도에 품질도 좋았으면 좋겠다가 되더라.. 그래서 튜닝의 필요성이 필연적이다.
클리퍼가 제공하는 기본문서에 온도PID, 모터 캘리브레이션, 진동제거 등등 세세한 튜닝들을 확인할 수 있었다.

다만, 투박한 Document 들이 꽤 필요한 내용들로 잘 정리되어 있지만, 제대로 정독하지 않으면 놓치기 쉬운 부분들도
제법있고, 과정에서 서로 연결점을 가지고 있어서 순서가 섞이기도 한다.
내 프린터에 맞는 값들을 찾는 과정이 쉽진 않지만, 최소한의 삽질을 위해 유튜브등으로 충분히 학습후에 실행에 옮기길
추천한다.

본문은 시작하는 분들을 위해 필요한 내용(URL, 팁, 순서 등)들을 타임라인에 맞춰 정리할 예정이고, 상세한 부연 설명보다는 최대한 요약하여 정리할 것이다. 필자와 같은 프린터든 아니든 과정은 거의 유사하지만, 내용을 이해하고 따라해야 차후 활용성이 높아지므로 많이 시도하고 많이 삽질해보자! : )

#참고한 사이트
Klipper  https://www.klipper3d.org
Fluidd  https://docs.fluidd.xyz/
BV3D: Bryan Vines  https://www.youtube.com/channel/UCeb9rinkpNb9VtPyx2fQ_qQ
Nero 3dp  https://www.youtube.com/channel/UCmV40QWkVeRs_nAvEOE_P-g
Teaching Tech  https://www.youtube.com/channel/UCbgBDBrwsikmtoLqtpc59Bw
랩앤팩토리 포럼  https://cafe.naver.com/labnfactory


#1 구성

#2 순서

A. Fluidd에서 img를 다운받아 Rpi SD에 구워(Echer)준 후 무선랜 설정(fluiddpi-wpa-supplicant.txt)을 미리해둠

B. 준비한 SD로 부팅시킨 후 Rpi IP주소를 브라우저에서 열어 Fluidd 설정 맨 아래의 소프트웨어 업뎃후 SSH로 Rpi에 접속 & 펌웨어 컴파일하고 프린터보드에 플래싱, 추가로 가속도센서 통신에 사용할 SPI 미리 활성화(검색하면 많이 나옴)
   B1_소프트웨어 업뎃
      apt update or apt-get update 불필요(OS 패키지 업뎃 = 효과동일)

   B2_펌웨어 컴파일
       cd home/pi/klipper
       make menuconfig
       make clean
       make
       ./scripts/update_mks_robin.py out/klipper.bin out/Robin_nano35.bin
       bin파일을 SD에 옮겨 프린터보드에 넣고 전원 리셋하면 플래싱됨.
       (사용하는 프린터의 보드에 따라 플래싱 파일이름이 다를 수 있음)

Robin_nano35.bin
0.02MB

 

C. Fluidd 설정중 print.cfg의 내용을 소유한 3D프린터에 맞춰 수정
   C1_본인의 프린터와 꼭맞는 모델이 없다면! 유사모델(기구유형과 펌웨어)을 기준으로 삽질웍스!!
       *기구유형(kinematics) : Cartesian, CoreXY, Delta 등
       *펌웨어(Firmware) : Marlin, Repetier, RepRap, Smoothieware 등.
         - 사실상 펌웨어보다는 Klipper가 지원하는 MPU인가가 중요.
   C1_아래 그림처럼 환경설정에 CONFIG에서 그림밑에 파일다운 후 업(+ 누르거나, 드래그...가 됐었나??)
     
(백업은 기본인거...알지요? : )

printer.cfg
0.00MB

 

D. 튜닝... XY모터 가속도보정(D_1), 압출거리 보정(D_2), 온도PID 보정(D_3), 압출압력보정(D_4)
   https://www.klipper3d.org/Measuring_Resonances.html
   D-1_가속도 센서 배선도

우측 사진 제품 2개 구입했는데 1개가 불량, 교환은 속시끄럽고 걍 2개 더 구입 ㅡ_-);

   D-2_압출거리 보정
       https://www.klipper3d.org/Rotation_Distance.html

   D-3_온도PID 보정
       https://www.klipper3d.org/Config_checks.html?h=pid#calibrate-pid-settings
       명령어창에 각각 아래 명령어 후 SAVE_CONFIG 해주면 끝. (타겟값은 온도이며 원하는 값으로 변경)
       !연속 실행 아님! 엔터 후 완료될 때까지 기다리면 저장하라고 나온다.
       PID_CALIBRATE HEATER=extruder TARGET=200
       PID_CALIBRATE HEATER=heater_bed TARGET=60

   D-3_압출압력 보정 (앞에 거리와 온도 먼저 보정후)
       https://www.klipper3d.org/Pressure_Advance.html

E. 라즈베리파이를 MCU로 전환
   https://www.klipper3d.org/RPi_microcontroller.html
   클리퍼 <->가상MCU(Rpi) <-> 프린터(MKS보드)
   이렇게 바꾸면 라즈베리파이의 인터페이스를 클리퍼에서 직접 사용할 수 있게 되어 확장이 용이
   *** 이 방식은 Klipper가 업데이트 될 경우 B2도 매번 다시 해줘야 하는 불편이 있음 ***
        ! 매번은 아니고 miner 업데이트 이상에서 해줘야 하는 듯~
   E1_위 링크에 따라 명령어를 수행할 때 make menuconfig 는 아래와 같이 설정 후 Q로 꼭 저장
        make flash 전에 make clean 먼저 하는게 좋음!

   E2_클리퍼 버전이 v0.10.0-xxx 이상부터 printer.cfg 내에 "default_parameter_X"와 같은 코드를
       "{% set X = params.X|default(0) %}" 로 바꿔줘야 함 (아래 첨부 파일 참고).

klipper_v0.10.0_printer.cfg.txt
0.00MB

F. 기타
   F1_필라멘트 센서 활성화 : 어느 날 필라멘트가 없는데도 그냥 돌아가는 걸 발견.. ㅡ_-)^
      이유는 클리퍼로 옮기면서 printer.cfg 기능을 정의(아래 E-1 참고)해 놓지 않아서이다.
      환경에 대한 레퍼런스(참고자료)는 클리퍼 환경설정창 우측에서 'Config_Reference.md'를 보면됨.
      https://www.youtube.com/watch?v=iE2bF-tK5ZA
      사파이어 프린터 핀 위치를 바꿔야 필라멘트 센서가 된다는 영상(나와는 무관하나 참고용으로 링크)
      참고로 이 영상에서 사파이어 플러스 펌웨어의 필라멘트 센서가 연결된 '핀번호 PA4'를 찾음 : )
      'flsw'는 임의로 정한 센서의 명칭(이름)임. 이후 명령창에서 쿼리해보면 확인가능(튜닝 메뉴에도 보임)

   F2_Rpi GPIO + 릴레이모듈로 자동 전원on/off (코드검토 완료! 릴레이 구입)
    https://moonraker.readthedocs.io/en/latest/configuration
    https://github.com/Arksine/moonraker/issues/74

   F3_BL Touch(aka 3D Touch /w clone) 자동 레벨링 (자료 검색중)
    https://www.klipper3d.org/BLTouch.html
    https://www.aliexpress.com/item/32958675206.html
    베드의 평탄도만 좋으면, 수동 레벨 한 번 잘해놓으면 크게 신경쓸일 없다.
    자동 레벨링이 추가되면, 시간을 더 잡아먹는다(고작해야 몇분 이내겠지만).
    베드 교체와 히터 추가하는 방향으로 전환!
    https://blog.naver.com/artom212/222139365952

   F3_Rpi용 3.5" 터치스크린 교체 (자료 검색중)
    https://klipperscreen.readthedocs.io/en/latest/
    https://www.youtube.com/watch?v=VNRJP9zxvbw

   F4_스텝모터 드라이버 UART모드 적용 (적용완료! 시험중)
    https://www.klipper3d.org/TMC_Drivers.html
    https://cafe.naver.com/labnfactory/8810

Klipper 개발자 답변을 찾았다. 따라서, TMC2208 자료를 참고하면 될 듯..


...계속 정리 중