3D 프린터에 클리퍼 설치하기 2 (3D 프린터의 제원 확인 및 클리퍼 펌웨어 올리기)
클리퍼를 설치하기에 앞서서 가장 먼저 해야 할 것이 자신의 3D프린터에 대한 정보를 확인하는 것입니다. 모든 3D 프린터를 제가 갖고 있는 것은 아니기에 방법적인 측면을 먼저 설명드리고 킹룬 KP3S와 Ender3를 예로 설명하도록 하겠습니다.
확인해야 하는 사항은 아래와 같습니다. 하드웨어적인 차이에 따라서 클리퍼에서 사용할 printer.cfg 파일이 다르게 설정되어져야 하기 때문입니다.
1. 3D 프린터 보드의 정보
2. Touch 센서의 사용유무와 제품의 핀맵
3. 클리퍼 스크린을 사용하실 경우에 터치디스플레이의 드라이버와 세팅방법
4. 익스투르더를 순정상태에서 업그레이드한 경우의 기어비
사실 이런 것들 이외에도 더 필요할 수 있지만 나머지는 순정상태라고 가정하고 시작하겠습니다.
위의 정보들을 확인 하는 방법 부터 설명을 하겠습니다.
A. 3D 프린터 메인보드의 정보 확인방법
보통 3D프린터 하부쪽에 덮개부분을 열거나 분리 할 수 있게 되어있는데, 그렇게 하면 메인보드가 나오게 됩니다.

킹룬의 KP3S보드 사진을 검색한 것인데, 위의 사진에서 왼쪽 빨간 사각형에 보드의 이름과 버전정보가 있고 오른쪽 빨간 사각형에 있는 부분이 MCU(Micro- Controller Unit)이고 거기에 노란색 부분에 각인되어진 정보가 있습니다. STM32F103이라고 적혀있네요. 킹룬 판매사이트에서 제공하고 있는 보드 레이아웃 정보입니다.


Kingroon KP3S Mainboard
Original Kingroon KP3S Mainboard with stock firmware, Marlin firmware, Klipper firmware flashed.
kingroon.com
Creality 사의 Ender3 4.2.7 보드 판매사이트에서 정보들을 확인할 수 있습니다.
https://www.creality3dofficial.com/products/creality-silent-mainboard-v4-2-7

Official Creality V4.2.7 Silent Board TMC2225 Driver Marlin 2.0.1 For Ender-3(Pro)/Ender-3V2/Ender 5/Ender-3Max
Buy Official Creality 3D Printer Ender 3 Upgraded Silent Board Motherboard V4.2.7 with TMC2225 Driver Marlin 2.0.1 for Ender 3/ Ender 3 V2/ Ender 3 Pro/Ender 3 Max.
www.creality3dofficial.com

사진 설명을 입력하세요.
왼쪽사진에 마우스를 올리면 그부분을 확대해서 오른쪽에 보여주는데, 오른쪽 사진에서 보드의 버전 정보와 MCU정보를 확인하실 수 있습니다. 그리고 보드 레이아웃에 대한 정보는 아래와 같습니다.


Manual | antclabs
BLTouch-Smart V3.1 Manual BLTouch-Smart V3.0 Manual ( V3.0 produced since April 5th, 2019) BLTouch-Smart V3.0 Manual Creality3D CR-10S Pro Wiring (March 2019) YouTube : 3 Fixes for BLtouch V3 on Creality machines ( Teaching Tech ) Production dates can b...
www.antclabs.com
가장 최근 메뉴얼의 PDF파일에서 필요한 부분의 정보는 아래 사진의 빨간색 부분입니다.


CREALITY Ender-3 CR Touch Auto Bed Leveling Sensor Instruction Manual
Discover how to use the CR Touch Auto Bed Leveling Sensor for Creality Ender-3 and improve print quality. Download the user manual for instructions and tips.
manuals.plus
메뉴얼에서는 핀 정보를 확인할 수가 없고, 해외 community에 공유된 정보는 아래와 같습니다.

CR-Touch를 Creality사의 보드에 장착하는 방법은 매우 간편하게 되어있지만 다른 회사의 보드에 장착하기 위해서는 핀 정보를 확인하고 새롭게 구성해야 하는 단점이 있습니다. 뒤쪽에서 킹룬 KP3S에 CR-Touch를 설치하는 방법은 자세하게 설명하도록 하겠습니다.
B-3 3D-Touch
3D-Touch의 핀정보는 아래와 같습니다. 그런데, 어떤 경우에는 선 색깔이 차이가 나는 경우도 있다고 하니 그 부분은 판매자에게 확인을 해야 할 것 같습니다.

C. 터치디스플레이의 정보 확인 방법
터치디스플레이의 경우에는 대부분 판매자가 드라이버나 세팅 방법을 제시하고 있는 경우가 많고 Github에서 찾을 수 있는 경우도 많습니다. 제가 최근에 알리에서 구매한 제품을 예를 들어 설명하겠습니다. 7인치 터치디스플레이 제품입니다.

38143.0₩ 40% OFF|모니터 케이스 Cortical 쉘 포함 라즈베리 파이 디스플레이, 4 3B + 3B 터치 스크린용, 7 인치 미니 HDMI 호환, HD 1024x600| | - AliExpress
Smarter Shopping, Better Living! Aliexpress.com
ko.aliexpress.com
제품설명 하단부에 보시면 아래와 같은 설명이 있습니다.

위 사진에서 빨간색 부분을 라파의 config.txt에 추가로 넣어주면 됩니다. 넣는 방법은 라파에 접속하고 터미널에
sudo nano /boot/config.txt
을 입력하여 수정하면 됩니다.
D. 익스투루더의 업그레이드에 따른 기어비 정보
다른 글에서 자세하게 다루도록 하겠습니다.
이제 어느정도의 준비가 다 되었습니다. 앞으로 해야할 일을 순서대로 정리하면
1. 라파이미저를 이용하여 클리퍼 이미지를 마이크로SD 카드에 굽기
2. 3D프린터 보드의 MCU를 구축하고 플래싱하기
3. 클리퍼 스크린 설치하기(옵션이므로 터치디스플레이를 사용하지 않으실 분들은 4로 건너뛰시면 됩니다.)
4. 클리퍼에 자신의 3D 프린터 구성에 맞는 printer.cfg파일과 macros.cfg 파일 업로드하기
5. 웹캠 설치 하기(옵션이므로 사용하지 않으실 분들은 6으로 건너뛰시면 됩니다.)
6. 몇가지 Calibration하기(probe, bed, PID calibrationHotend, PID calibration bed)
7. Input Shaper 적용하기(옵션이므로 사용하지 않으실 분들은 8로 건너뛰시면 됩니다.)
8. Pressure Advance 적용하기
입니다.
1. 메인세일 OS기반의 Klipper 이미지 굽기

Raspberry Pi OS – Raspberry Pi
From industries large and small, to the kitchen table tinkerer, to the classroom coder, we make computing accessible and affordable for everybody.
www.raspberrypi.com
여기에 가셔서 자신의 PC OS에 맞추어서 다운 받으시고 설치하시면 됩니다.
실제 설치를 하고 나면 아주 여러가지에 특화된 OS를 다운 받으실수 있습니다.

위 화면에서 왼쪽의 운영체제 선택

아래쪽으로 스크롤 해서 Other specific-purpose OS 선택

3D printing 선택

아래쪽에 Mainsail OS 선택

64-Bit 선택하면

운영체제가 선택 완료 됩니다. 이제 저장소를 선택 하시고

16G 정도의 마이크로 SD카드를 PC에 연결하고 선택하시면 됩니다. 실제로 라즈베리파이에는 16G정도면 적당한거 같습니다.

저장소까지 선택하시고 나면 설정 아이콘을 선택합니다.

스크롤 하셔서 아래쪽에 무선 LAN 설정에서 공유기 정보 입력하시고

로케일 설정 지정 하시고 저장하시면 됩니다.

이제 쓰기를 누르시면 SD카드에 이미지가 구워집니다. 그러면 이제 클리퍼를 사용할 준비가 거의 되었습니다.

이제 라파에 기본적인 MainSail OS 기반의 클리퍼는 설치가 완료 되었습니다. SD카드를 PC에서 분리하셔서 라파의 SD카드 슬롯에 넣으시고 전원을 넣으시면 라파가 작동을 하고 리부트가 한번 됩니다. 혹시 계속 정지 상태일때에는 전원을 뽑았다가 다시 연결하시면 정상동작합니다.
잠시 기다리셨다가 Wireless Network Watcher를 실행하시면 새로운 내부 ip가 잡히는 것을 확인하실수 있습니다.

위에 빨간색 사각형 부분이 새로 잡힌 라파의 내부 ip 입니다. 웹브라우저에 위의 ip 주소를 입력하면 다음과 같은 화면 이 나옵니다.

현재 3D프린터와 연결도 되어 있지 않고 printer.cfg 파일을 업로드 하지도 않은 상황이라 Error가 표시되는데, 아무 문제 없습니다.
Putty를 실행시키고

위 그림의 빨간색 부분에 라파의 ip를 넣으시고 open을 클릭하시면 됩니다. 제 라파 경우에는 내부 ip가 192.168.0.39 입니다.

위와 같은 창이 뜨면 pi라고 입력하고 엔터를 칩니다.

패스워드는 raspberry 입니다. 입력하고 엔터 치시면

위와 같은 화면이 나오고 빨간색 사각형부분에 mainsainos라고 나오면 우선 기본적인 설치는 잘 된 것입니다.
2. 3D프린터 보드의 MCU를 구축하고 플래싱하기
이제 라파와 3D프린터를 프린터의 전원이 꺼진 상태에서 USB Cable로 연결하고 3D 프린터의 전원을 켜고 아래의 사항을 따라하시면 됩니다.

클리퍼 공식 홈페이지의 installation에 있는 내용을 보면 위와 같은데, Putty에서
cd ~/klipper/
을 입력하시고 엔터, 그리고
make menuconfig
을 입력하시고 엔터하시면 되고 아래의 사진들을 참고하시면 됩니다. 입력을 하실때, 직접입력하셔도 되지만, 영타가 익수하지 않으실 수도 있으니 클리퍼 공식 홈페이지의 내용에서 필요한 부분을 드래그 하셔서 ctrl+c 하시고 터미널에서 오른쪽마우스를 클릭하시면 붙여넣기가 됩니다.


위와 같이 실행하시면 터미널의 화면이 아래와 같은 화면으로 바뀝니다.

이제 각각의 프린터에 맞는 세팅을 하시면 되는데, 킹룬 KP3S의 설정을 먼저 설명하겠습니다.
주의사항: 킹룬에서 생산하는 KP3S등과 같이 MKS 보드에 LCD 디스플레이를 사용하는 프린터의 경우에는 클리퍼로 펌웨어를 업로드하고 나면 LCD 디스플레이가 먹통이 되어 더이상 사용할 수가 없게 됩니다. 이는 MKS쪽에서 디스플레이 소스를 공개하지 않은 상황이라 그렇다고 합니다. 만약 LCD 디스플레이가 먹통이 되는 것이 불편하신 분들은 클리퍼 펌웨어를 올리지 않으시는 걸 추천드립니다.
킹룬 공식홈페이지에 Fluiddpi OS로 설치하는 방식이 설명되어 있는데, mainsail OS로 설치하는 것도 마찬가지 이므로 이것을 따릅니다.

How to Prepare Klipper Firmware for Kingroon KP3S Using Fluiddpi
Klipper is a 3D printer firmware. It helps your 3D printers to print faster and better. Today we are going to talk about how to prepare Klipper firmware for Kingroon KP3S 3.0 3D printer by using Fluiddpi. * Please be noted the tutorial only applys to Kingroon KP3S with MCU STM32 F103 mainboard and M...
kingroon.com

1.Enable extra low-level configuration options
2.Set the Bootloader offeset as 28 KiB
3.Set the “Micro-controller Architecture” as “STMicroelectronics STM32”
4.Set the Communication interface as “USART3 PB11/PB10”
5.Enter the last option, enter “!PC6, !PD13”, the. Press enter key
Then press Q and enter “yes”, after that, the setup is done.
첫번째 파란색으로 음영이 되있는 상태에서 엔터를 치시면 앞부분에 [ * ] 가 표시됩니다. 아래 그림처럼요.

이제 커서를 한칸 아래로 내리고 Micro-controller Archtecture에서 엔터를 치시고 커서를 STM32에 위치하고 엔터를 치십니다.

그러면 화면이 아래와 같이 바뀌고

Processor model에 (STM32F103) 으로 된 것을 알수 있습니다. 만약 3D프린터 보드의 MCU가 뒤의 숫자가 103이 아닌 경우에는 위의 사진처럼 파란색으로 커서가 이동된 상태에서 엔터를 치시고 맞는 것을 선택하실 수도 있습니다.
이제 Bootloader offset으로 이동하여 엔터를 치시고

아래사진의 파란색부분으로 커서를 움직이시고 28KiB bootloader 에서 엔터치십니다.

이제 Communication Interface에서

위 그림의 파란색 부분으로 커서를 옮기시고 엔터를 치신후

위 그림의 Serial (on USART3 PB11/PB10) 부분으로 커서를 옮기시고 엔터를 치십니다.
이제 아래 그림처럼 GPIO Pins to set at micro-controller startup (NEW)부분으로 커서를 옮기시고 엔터를 치십니다.

그럼 터미널 화면이 아래처럼 바뀌고 입력하는 창이 생기게 됩니다.

위 창에 !PC6, !PD13 을 입력합니다. 아래그림 처럼요.

이제 모든 세팅을 다 했으므로 Q를 누르면 화면이 아래와 같이 바뀌고


이제 터미널에서 make 를 입력하시고 엔터를 치시면

아래 그림처럼 다소 시간이 걸리기는 하는데, 맨 마지막에 바이너리 파일인 klipper.bin 파일이 생성되었음을 알려줍니다.

빨간색 사각형 부분이 표시되면 정상적으로 펌웨어가 만들어진 것입니다. 만약 정상적으로 수행되지 않았다면, 위의 과정을 다시 수행하시면 됩니다.

이제 위 그림의 마지막 줄처럼
./scripts/update_mks_robin.py ./out/klipper.bin ./out/Robin_nano.bin
을 입력하고 엔터를 치시면 됩니다.

이제 Robin_nano.bin 파일이 klipper폴더 아래의 out폴더에 생성된 것을 위와 같이 확인할 수 있습니다.
WinSCP 프로그램을 실행시키고

호스트 이름에 자신의 라파의 내부 IP를 적어주고 포트번호는 22 사용자이름은 pi 비밀번호는 raspberry를 입력하고 로그인을 누릅니다. 그러면 처음 접속할때 다음과 같은 경고 문구가 뜨는데, "예"를 선택하시면 됩니다.

그러면 이제 아래와 같은 화면이 생성됩니다.

왼쪽이 본인이 지정한 폴더(일반적으로는 바탕화면이 뜹니다. 저는 바탕화면에 Install이라는 폴더를 만들고 그 폴더를 지정하였습니다.)이고 오른쪽이 라파의 폴더들입니다. 오른쪽의 klipper폴더를 더블클릭하고

out 폴더를 더블클릭하면

아래 그림처럼 바뀌는데, 거기서 Robin_nano.bin 파일을 왼쪽마우스로 클릭한 상태로 왼쪽으로 드래그해서 복사를 합니다.

그럼 이제 왼쪽에 복사가 되었습니다. 즉, 라파에서 Robin_nano.bin 파일을 PC에 지정한 폴더로 복사를 한것입니다. 이제 포맷된 작은 용량의 마이크로 SD카드를 준비해서 PC에서 Robin_nano.bin 파일을 복사해줍니다.

이제 마이크로 SD카드를 PC에서 제거하고 3D프린터의 전원을 끈다음 마이크로 SD카드를 3D 프린터의 SD 카드 슬롯에 넣고 3D 프린터의 전원을 넣으면 펌웨어가 3D 프린터에 자동으로 업로드 됩니다. 앞에서도 주의사항으로 안내했듯이 킹룬의 경우에 클리퍼 펌웨어를 업로드 하게 되면 본체에 있는 디스플레이는 사용할수가 없는 먹통이 됩니다. 이는 MKS 쪽에서 디스플레이 소스를 아직 공개하지 않은 상황이라 그렇다고 합니다.
펌웨어 업로딩 영상 추가
3D 프린터를 끄고 SD 카드를 제거한 뒤에 다시 3D 프린터를 켭니다. 다시 Putty 터미널로 돌아와서
ls /dev/serial/by-id/*
을 입력하고 엔터를 치면 아래 사진의 빨간색 부분에 포트정보가 나오게 됩니다.

이부분은 나중에 사용이 되니 복사하여 메모장에 저장해 놓습니다. 복사하는 방법은 복사할 부분은 드래그하고 오른쪽 마우스를 클릭하면 클립보드에 저장되고 메모장에서 붙여넣기 하시면 됩니다.

이제 마지막 부분입니다. 다시 Putty 터미널에서
sudo service klipper stop
를 입력하고 엔터치면 암호를 입력하라고 하는데, raspberry 입력하고 엔터 치시면 됩니다.

이제
make flash FLASH_DEVICE=/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
를 입력하고 엔터를 칩니다. 입력하는 것에서 밑줄친 부분은 프린터 마다 다른데, 킹룬의 KP3S의 경우는 위와 같습니다.

sudo service klipper start