Voron V0제작를 본격적으로 시작하기 앞서, 클리퍼 환경에서 라즈베리파이와 SKR Pico 보드 연결하고, 간단한 동작 테스트를 하고자 한다.
목차
1. 보론(Voron) 디자인이란..
Vonon 프로젝트는 2015년에 시작되었다. 소개글을 보면 이 프로젝트가 어떻게 시작되었는지 잘 설명되어 있어 그대로 가져왔다.
3D 프린터를 직접 만들기로 결심한 것은 단순한 호기심에서 비롯되었지만, 그 여정의 출발점에는 항상 ‘왜 이걸 만들려고 하지?’라는 질문이 따라온다. 그리고 그 질문에 가장 멋진 답을 제시한 프로젝트가 바로 VORON(보론)이다.
보론 프로젝트는 2015년에 시작되었다. 이 프로젝트의 초기 목표는 명확했다.
타협 없는 3D 프린터, 그리고 조립하는 재미와 사용하는 즐거움이 공존하는 기계를 만드는 것이었다.
보론이 추구한 것은 단순히 출력 성능이 좋은 기계가 아니었다.
• 조용하고
• 깔끔하며
• 미려한 디자인을 갖추고
• 하루 24시간 연속 동작해도 문제가 없는그야말로 진정한 홈 마이크로 제조기가 목표였다.
그리고 무엇보다도, 가격은 누구나 접근할 수 있는 수준이어야 했다.1인 개발에서 커뮤니티 프로젝트로…
이러한 목표를 실현하기 위해, 개발자는 1년 이상을 들여 모든 부품을 처음부터 다시 설계하고, 스트레스 테스트를 거쳐 최적화하였다.
첫 번째 버전이 공개된 이후, 전 세계의 메이커들과 3D 프린터 사용자들이 프로젝트에 모이기 시작했고,
현재의 활발한 보론 커뮤니티가 형성되었다.보론은 이제 단순한 개인 프로젝트가 아니라, 공통된 디자인 철학을 공유하는 소규모 개발자 집단이 운영하는 커뮤니티 중심의 프로젝트로 성장하였다.
이들은 부엌에서도 조립이 가능한 생산품 수준의 3D 프린터를 만든다는 목표 아래 함께 작업하고 있다.보론 개발진은 이렇게 말한다.
“우리는 원예 도구로 우주선을 만든다. 누구나 자신만의 우주선을 가질 수 있도록.”
2. 보론(Voron) 제어 보드
보론 제어보드는 라즈베리파이와 SKR Pico 보드 관련 자료는 아래 사이트를 참고하도록 한다
보론은 클리퍼가 설치된 Raspberry Pi4 보드로 gcode 연산, 프린터 웹 인터페이스을 제어한다. SKR Pico 보드는기계적인 모션 제어, 베드/노즐 가열과 센싱을 관할한다.
본글에서는 클리퍼가 설치된 라즈페이파이 보드와 프린터 제어 보드인 BTT SKR Pico 보드를 연결하한다. 본글에서는 이 보드에 연결된 X축 스텝 모터를 움직이는 단계까지만 정리를 했다.
Y축, Z축, 압출기, 히터, 쿨링팬, 센서 등 3D프린터를 동작하기 위해 필요한 복잡한 부분들에 대한 내용은 이후 추가하도록 하겠다.
또한 라즈베리파이 보드에 OS와 클리퍼를 설치하는 부분은 이 글에서 다루지 않는다. 이전에 작성한 아래 두 글을 참고하면 된다
2.1 SKR Pico 보드용 펌웨어 빌드
라즈베리파이와 Pico 보드가 협업을 하기위해서는 Pico 보드에 설치할 펌웨어를 만들고 업로드해야된다. 라즈베리파이와 Pico보드 통신은 USB 혹은 Serial 통신으로 가능하다. 각각의 경우 펌웨어를 만드는 옵션이 다르다.
먼저 라즈베리파이에서 아래 명령을 실행하고 펌웨어를 생성한다
make menuconfig # 혹은 kiauh에서도 실행 : kiauh - 4.Advanced - 1.Build를 선택
Bash그러면 아래 화면이 나온다. SKR Pico는 Raspberry Pi RP2040 MCU를 사용한다.
[*] Enable extra low-level configuration options
Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
Processor model (rp2040) --->
Bootloader offset (No bootloader) --->
Flash chip (W25Q080 with CLKDIV 2) --->
Communication Interface (USBSERIAL) --->
USB ids --->
[*] Optimize stepper code for 'step on both edges' (NEW)
() GPIO pins to set at micro-controller startup (NEW)
Bash다음으로 Build를 수행해서 SKR Pico MCU에 업로드할 펌웨어를 생성한다. 생성하는 방법은 command line에서 “make“실행하는 방법과 kiauh에서 “Advanced – Build” 선택해도 빌드가 진행된다.
빌드가 완료되면 “klipper.uf2” 파일이 생성됨을 확인할 수 있다. 이제 이 파일을 SKR Pico 보드에 업로드하면 된다.
minodori@boronpi:~/klipper/out$ ls -al
total 2148
drwxr-xr-x 5 minodori minodori 4096 Mar 23 00:38 .
drwxr-xr-x 12 minodori minodori 4096 Mar 23 00:37 ..
-rw-r--r-- 1 minodori minodori 11797 Mar 23 00:37 autoconf.h
lrwxrwxrwx 1 minodori minodori 33 Mar 23 00:37 board -> /home/minodori/klipper/src/rp2040
drwxr-xr-x 2 minodori minodori 4096 Mar 23 00:37 board-generic
-rw-r--r-- 1 minodori minodori 27 Mar 23 00:37 board-link
-rw-r--r-- 1 minodori minodori 68396 Mar 23 00:38 compile_time_request.c
-rw-r--r-- 1 minodori minodori 356 Mar 23 00:38 compile_time_request.d
-rw-r--r-- 1 minodori minodori 161868 Mar 23 00:38 compile_time_request.o
-rw-r--r-- 1 minodori minodori 18474 Mar 23 00:38 compile_time_request.txt
-rw-r--r-- 1 minodori minodori 9788 Mar 23 00:38 klipper.dict
-rwxr-xr-x 1 minodori minodori 1893496 Mar 23 00:38 klipper.elf
-rw-r--r-- 1 minodori minodori 78848 Mar 23 00:38 klipper.uf2
drwxr-xr-x 5 minodori minodori 4096 Mar 23 00:37 lib
drwxr-xr-x 5 minodori minodori 4096 Mar 23 00:38 src
Bash2.2 빌드한 펌웨어를 SKR Pico 보드에 업로드
PC와 SKR Pico 보드를 USB로 연결하면 자동으로 RPI-RP2와 같은 드라이브 명으로 인식이 된다.
SKR Pico 보드의 “RESET” 버튼을 누르면 드라이브가 인식된다고 나와있지만 USB를 연결하자마자
자동으로 인식되었다. 또한 “RESET” 버튼을 누를때 마다 드라이브가 다시 인식됨을 확인할 수 있었다.


위에서 저장한 파일(klipper.uf2)을 RPI-RP2 드라이브(Skr Pico 보드)에 복사한다. 파일을 복사하자마자 파일탐색기가 닫히면서 SKR Pico가 자동으로 재부팅되면서 klipper.uf2가 SKR Pico 보드에 업로드된다.
다시 RPI-RP2 드라이브를 열어도 위와 같이 2개만 보인다. klipper.uf2이 보이지 않는 것은 정상이다.
이제 SKR Pico를 PC에서 분리하고 점퍼를 제거한 다음 PC에 연결된 USB를 다시 Raspberry Pi에 연결한다.
(중요 : 라즈베리파이와 SKR Pico 보드를 연결하기 전에 Pico 보드의 점퍼를 제거한다.)
- 부트 점퍼 : 반드시 제거한다.
- USB 파워 점퍼 : Pico 보드에 외부 12V 전원이 연결할 경우 제거한다.
외부 전원이 연결되어 있지 않으면 그대로 두어야 USB 전원이 Pico 보드에 공급되어 보드가 동작한다.
펌웨어 업로드는 아래 문서를 참고하면 된다.
제어보드 제조사인 Bigtreetech 보다 Voron의 문서가 이해하기 쉬웠다
3. 라즈베리파이 클리퍼 설정(printer.cfg)
라즈베리파이와 SKR Pico 보드에 클리퍼 설치는 이미 완료된 상태여야 한다. 이제 클리퍼 설정하는 단계로 라즈베리파이 /printer_data/config/printer.cfg에 있는 파일을 편집하면 된다.
클리퍼 설치시 printer.cfg를 기본적으로 생성할 수 있다. 하지만 연결할 프린터에 맞게 설정을 해야하므로 아래 첫번째 voron 사이트나 SKR Pico 제조사 사이트에서 복사해서 /printer_data/config/printer.cfg로 업로드한다.
- klipper3D config file
- Voron0.2r1 SKR Pico Klipper config file
- Bigtreetech SKR Pico Klipper config file
Voron 설정 파일은 corexy 방식이고, bigtechtree 설정 파일은 cartesian(직교) 방식이라 차이점은 있다. 본인의 프린터에 맞추서 수정이 필요하다.
복사한 파일을 printer.cfg로 이름을 변경한 후 ./printer_data/config/printer.cfg에 업로드한다.
Mainsail-Machine 메뉴에서 업로드하거나 FTP/SSH를 통해서 업로드할 수 있다.
라즈베리파이 Klipper에 접속하기 전에 printer.cfg 파일을 열면 수정해야할 부분을 확인할 수 있다.
## *** THINGS TO CHANGE/CHECK: ***
## MCU path
## Z and Extruder motor currents
## Full steps per rotation for Extruder
## Thermistor types
## Motor currents
## PID tune
## Fine tune E steps
## For more info
Bash먼저 MCU path는 라즈베리파이에서 아래 명령으로 확인한다. 이 주소를 복사해서 prnter.cfg [mcu] 세션에 복사한다.
minodori@voronpi:~$ ls /dev/serial/by-id/*
/dev/serial/by-id/usb-Klipper_rp2040_504434031060BA1C-if00
Bash본 글에서는 스텝모터만 연결해서 동작 여부를 확인하는 것이 목표이므로 이것과 관련 없는 부분들은 모두 주석(‘#’)처리해서 비활성화 한다.
- [extruder]
- [heater_bed]
- [heater_fan hotend_fan],[fan],[controller_fan MCU_fan]
- [filament_switch_sensor Filament_Runout_Sensor]
- 매크로 명령 : [gcode_macro … ] 형식
[tmc2209 …] 부분의 “run_current” 에 모터 구동 전류 규격을 확인하고 전류값을 입력한다. 스텝 모터는 통상 구동 전류가 0.4~1A수준이다.
run_current: 0.8
Bash다음으로 [home_override]부분은 수정이 필요하다. 이 부분은 Home 버튼을 눌르면 실행되는 코드를 삽입한다. 기본 코드는 주석처리하고 아래 코드로 대체한다.
Toolhead 메뉴의 Home, X,Y,Z를 누르면 Home 위치로 이동하려고 한다. 하지만 현재 Endstop 센서가 연결되어 있지않으므로(Sensorless) 에러가 발생한다.
3D 프린터는 기본적으로 Home에서 시작한다. 아래 명령은 현재 위치를 강제로 ‘0’으로 하기 때문에 에러 발생없이 각 축 모터 동작 여부를 테스트할 수 있다.
[homing_override]
axes: xyz
set_position_x: 0
set_position_y: 0
set_position_z: 0
gcode:
G92 X0 Y0 Z0
Bash모든 설정이 완료되었으면 “Firmware Restart”를 누르면 아래와 같이 정상적으로 접속된 화면을 확인할 수 있다.

Skr Pico 보드 X축에 모터를 연결한 후 Toolhead 메뉴에서 X축 이동을 테스트하면 이동거리 만큼 모터가 회전하는 것을 확인할 수 있다.
4. 결론
Voron V0 제작하기전에 먼저 Voron용 제어 보드를 준비했고, 제어 보드에 펌웨어를 빌드하고 업로드했다. 다음으로 메인세일에서 클리퍼에 접속해서 X축 모터 제어까지 확인했다.
제어보드 제조사인 Bigtreetech과 Voron Printer 사이트에서 SKR Pico Klipper 설정 문서를 같이 참고하면 펌웨어 업로드까지 성공할 수 있었다.
클리퍼로 모터 제어하는 것은 Klipper3D, Voron, Bigtreetech 사이트의 printer config 파일을 참고해서 기본적인 모터 동작까지 성공할 수 있었다.
다음에는 X,Y,Z 까지 같이 제어하고 리미터센서(Endstop) 설정까지 진행할 계획이다.
Discover more from 이루고닷컴
Subscribe to get the latest posts sent to your email.