!! 본 글은 계속 업데이트 되고 수정됩니다 (마지막 수정 2025/05/30)
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 구성
- 3D 프린터 : 사파이어 플러스 (Two Trees Sapphire Plus V3) 2대, 사파이어 플러스 V4(업글키트) 1대
- CoreXY 형
- MKS Robin nano v1.2(/w TMC2225), MKS Robin nano v3.1(/w TMC2209)
*구매처 : 국내총판 랩앤팩토리 - 슬라이서 : Orca Slicer,
Ultimaker Cura,Mattercontrol(24년쯤 부터 Orca로 완전히 변경) - SBC : Raspberry pi 3B+ /w SD카드 32GiB
- Klipper : Fluidd
Rpi imgkiauh(Klipper Installation And Update Helper)로 설치
* Fluidd 이미지를 통한 설치는 업데이트가 중단되었고, 홈페이지에서도 kiauh를 통한 설치를 권장함.
* 이미지를 쓰는 방식이 편했는데, kiauh는 설치과정(꽤 걸림)을 거쳐야해서 다소 복잡해졌지만 천천히
잘 따라하면 오히려, 다양한 환경에서 Klipper를 구성할 수 있음.
* 순정 클리퍼는 별도의 OS설치후에 Octoprint를 Front-end로 설정해야 사용할 수 있다.
(요약! 귀찮다. 안이쁘다.) - ADXL345(3축 가속도센서)
#2 순서(추후, kiauh 사용방식으로 업데이트 예정)
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에 옮겨 프린터보드에 넣고 전원 리셋하면 플래싱됨.
(사용하는 프린터의 보드에 따라 플래싱 파일이름이 다를 수 있음)
C. Fluidd 설정중 print.cfg의 내용을 소유한 3D프린터에 맞춰 수정
참조용(기본 뼈대) https://github.com/Klipper3d/klipper/tree/master/config
C1_본인의 프린터와 꼭맞는 모델이 없다면! 유사모델(기구유형과 펌웨어)을 기준으로 삽질웍스!!
*기구유형(kinematics) : Cartesian, CoreXY, Delta 등
*펌웨어(Firmware) : Marlin, Repetier, RepRap, Smoothieware 등.
- 사실상 펌웨어보다는 Klipper가 지원하는 MPU인가가 중요(에지간하면 다 지원됨).
왜냐하면, 클리퍼 펌웨어를 통해 STM32F는 통신보드로 쓰고 처리는 Rpi가 할 것이기 때문.
C1_아래 그림처럼 환경설정의 CONFIG에서 그림밑에 파일다운 후 업(+ 누르거나, 드래그...가 됐었나??)
(백업은 기본인거...알지요? : )
D. 튜닝... XY모터 가속도보정(D_1), 압출거리 보정(D_2), 온도PID 보정(D_3), 압출압력보정(D_4)
https://www.klipper3d.org/Measuring_Resonances.html
D-1_가속도 센서 배선도
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) %}" 로 바꿔줘야 함 (아래 첨부 파일 참고).
F. TZ V6(aka. 짭뱀부) 핫엔드 업그레이드(추후 작성! 결과로는 대~~~만족!)
https://www.aliexpress.com/item/1005006049615976.html
G. 카메라 추가(Fluidd도 Mainsail 가이드 따라하면 끝)
https://www.aliexpress.com/item/1005007016396802.html
https://crowsnest.mainsail.xyz/setup/installation
G1_깃 클론해주고 컴파일(make install) : Rpi 3B 기준 대략 10분? 정도 걸린 듯~
! 업데이트 매니저 추가는 마지막에 추가할 건지 물어보니 미리 안해도 됨.
G2_설치완료 되면 업뎃관련 추가 질문 후에 리부팅(물론, '~할래?'라고 물어봄)
G3_설정파일(~~.conf 보이는 메뉴) 오른쪽에 log중 'crowsnest.log'에 카메라 잡힌 부분 확인
[05/22/25 17:55:26] crowsnest: INFO: Detect available Devices
[05/22/25 17:55:26] crowsnest: INFO: Found 1 total available Device(s)
[05/22/25 17:55:26] crowsnest: INFO: Found 1 available v4l2 (UVC) camera(s)
[05/22/25 17:55:26] crowsnest: /dev/v4l/by-id/usb-ZC_RGB_RGB_Camera_200901010001-video-index0 -> /dev/video0
/dev/video0로 링크됨
G4_'crowsnest.conf'는 기본값으로 써도 무방함.
G5_ '설정-카메라'에 'crowsnest.conf' 카메라 섹션명과 같은 이름으로 카메라 추가
G6_대시보드에서 'CAM 1'카메라 선택해주면 라이브 스트리밍 출력됨. 끝!
H. 기타
H1_필라멘트 센서 활성화 : 어느 날 필라멘트가 없는데도 그냥 돌아가는 걸 발견.. ㅡ_-)^
이유는 클리퍼로 옮기면서 printer.cfg 기능을 정의(아래 E-1 참고)해 놓지 않아서이다.
환경에 대한 레퍼런스(참고자료)는 클리퍼 환경설정창 우측에서 'Config_Reference.md'를 보면됨.
https://www.youtube.com/watch?v=iE2bF-tK5ZA
사파이어 프린터 핀 위치를 바꿔야 필라멘트 센서가 된다는 영상(나와는 무관하나 참고용으로 링크)
참고로 이 영상에서 사파이어 플러스 펌웨어의 필라멘트 센서가 연결된 '핀번호 PA4'를 찾음 : )
'flsw'는 임의로 정한 센서의 명칭(이름)임. 이후 명령창에서 쿼리해보면 확인가능(튜닝 메뉴에도 보임)
H2_ 사플V4(업글킷트 포함)는 익스트루더에 필라멘트 센서(사실상 리미트 스위치)가 작은 모듈형태로
내장되어 있는데, 스위치 접촉부가 작다보니 가끔 필라멘트 위치에 따라 스위치가 오작동해서 필라
멘트가 지나고 있는데도 없는 것으로 인식되서 프린트가 중지되는 경우가 종종 있음.
이를 해결하고자 해당 세션에 사용할 수 있는 옵션을 찾아보니 아니나 다를까 있음!
https://www.klipper3d.org/Config_Reference.html?h=debounce_delay#gcode_button
#debounce_delay:
# A period of time in seconds to debounce events prior to running the
# button gcode. If the button is pressed and released during this
# delay, the entire button press is ignored. Default is 0.
그래서, 수정한 내용은 아래와 같음.
*switch_pin 값 PA4앞에 느낌표 ' ! '는 상태 반전.
사플V4(업글킷 포함) 직결식에 적용되는 값. 사플V3의 보우덴은 느낌표 없는 값으로 적용.
[filament_switch_sensor flsw]
switch_pin: !PA4
debounce_delay: 3.0
#runout_gcode: BEEP P=1500
runout_gcode: {action_respond_info("Filament runout!!")}
H3_Rpi GPIO + 릴레이모듈로 자동 전원on/off (코드검토 완료! 릴레이 구입)
https://moonraker.readthedocs.io/en/latest/configuration
https://github.com/Arksine/moonraker/issues/74
H4_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
H5_Rpi용 3.5" 터치스크린 교체 (자료 검색중) https://klipperscreen.readthedocs.io/en/latest/ https://www.youtube.com/watch?v=VNRJP9zxvbw
* Rpi가 오락가락해서 'Makerbase MKS PI'로 대체하려고 구입해둠.
LCD와 카메라도 같이. 가성비는 Rpi보다 좋은 듯~
https://www.aliexpress.com/item/1005005392455246.html
H6_스텝모터 TMC드라이버 UART모드 적용 (적용완료! 시험중)
https://www.klipper3d.org/TMC_Drivers.html
https://3dprinting.stackexchange.com/questions/16499/unable-to-read-tmc-uart-extruder-register-ifcnt-klipper-and-robin-nano
* 사플v3(TMC2225)와 사플v4(TMC2209) 환경설정
X-Y는 stealthchop을 적용하고(소음 때문에), Z와 익스트루더는 spreadCycle로 적용
* Unable to read TMC UART 'extruder' register IFCNT 에러 관련
TMC 적용시 간간히 나타나는 에러인데, 이런 저런 조치를 해봤으나 사라지지 않아서
해당 증상이 나타나는 모터축은 UART TMC 설정을 disable(해당라인 주석처리) 해버리는게
정신건강에 유리
...계속 정리 중
'창고 > 3D Printer' 카테고리의 다른 글
AstroBox 와 OctoPrint ...3D 프린터 클라우드(Raspberry Pi) (0) | 2015.03.18 |
---|---|
오토데스크 인벤터 2012 DXF 내보내기( Inventor DXF Export ) (0) | 2013.09.06 |
3D 프린터 무료 소프트웨어 (2) | 2013.09.01 |
Printrbot Simple 조립기 (부제:조립은 시작에 불과했다..Orz) (0) | 2013.08.08 |