관리 메뉴

elsa in mac

Klipper - 공식 홈페이지 개설 본문

3D 프린터/3D 프린터 관련 정보

Klipper - 공식 홈페이지 개설

elsa in mac 2019.04.24 11:09

Raspberry Pi 를 이용하여, 8bit 컨트롤러에서 보다 높은 step rate를 발휘할 수 있는 3D-Printer 펌웨어인 Klipper가 로고와 함께 공식 홈페이지를 개설했습니다. Marlin, RRF 등의 메이저 Firmware 사이에서 꾸준히 명맥을 유지해 온 Klipper의 의지가 엿보이는 대목 입니다. 

32-bit 컨트롤러가 대세를 이루지 못했던 시절, RPi의 힘을 빌어 8bit 컨트롤러의 한계를 극복하려는 참신한 아이디어가 Klipper에 의해 시도가 되었지만, 부가적으로 RPi가 필요하고 Marlin 펌웨어에 익숙해진 데에 따른 설정 접근성의 어려움, 다소 미비한 사용자 환경등으로 많은 사용자 층을 얻기에는 역부족이였기에 주로 Experimental 한 대안에 머물러 오고 있죠.

3D 프린터의 컨트롤러의 주된 역활이 Step Motor를 제어하는 것이고, 이론상 고속/정밀 제어를 하기 위해서는 보다 빠른 프로세싱이 필요하지만, 8-bit 컨트롤러에서는 한계가 있기 때문에, step pulse 및 Motion Control과 관련된 부분은 보다 강력한 프로세서로 무장한 Raspberry Pi 에서 수행, 그 결과를 8-bit 컨트롤러에 전달함으로써 8-bit 컨트롤러의 처리능력 한계를 극복하자는 것이 Klipper의 기본 컨셉입니다. 

Raspberry Pi 3 Model B

실제 실기에서는 Raspberry Pi 자체의 신뢰성/안정성이 확보되어 있어야 하는 문제가 있고, 올라온 수 많은 Document를 거의 다 읽어봐야하는 부담, 경쟁 펌웨어 대비 부족한 3D-Printer 부가 기능 지원등이 여전히 Klipper로의 펌웨어 전환을 망설이 만드는 요인들로 존재 합니다.  

하지만, 컨셉상으로 두 단계의 프로세스 컨트롤러 조합으로 구성되는 만큼, 단일 RPi에 상이한 MCU를 탑재한 여러 대의 컨트롤러(Multiple micro-Controller)를 연결, 실 시간 처리를 할 수 있기 때문에 다소 경제적으로 손쉽게 다 채널 컨트롤러를 구성할 수 있다는 점은 Klipper가 갖는 매우 큰 장점이자 가능성이라고 볼 수 있습니다. 

현재 홈페이지는 Document와 Github 연결 등, 기존 Github와 별반 다를 것은 없어 보입니다. 사용자들의 활발한 의견교환과 정보수집을 위해 공식적으로 다양한 주제의 Forum 이 추가된다면, 사용자 층을 넓히는데 보다 도움이 될 수 있을 것으로 보여 집니다. 

7 Comments
  • 프로필사진 클리퍼 2019.05.10 14:14 혹시 라즈대신 비글본에 설치하여 8bit 보드와 연결하여 제어되는지 아시나요?
  • 프로필사진 Favicon of https://elsainmac.tistory.com elsa in mac 2019.05.10 14:17 신고 안녕 하세요 클리퍼님.. 반갑습니다.
    음.. 비글 본에서 사용을 해보지 않아서 특별히 문제가 될 부분이나 주의해야할 점이 있는지는 확인해 드릴 수 없지만 아시다시피 Klipper는 H/W dependency가 없기 때문에, Linux가 돌아갈 수 있는 H/W라면 Klipper는 모두 돌릴 수 있습니다.

    비글 본에서 아래와 설치하시면 됩니다.

    git clone https://github.com/KevinOConnor/klipper
    ./klipper/scripts/install-beaglebone.sh

    해서 설치를 해 보시기 바랍니다.
  • 프로필사진 클리퍼 2019.05.11 00:59 답변 감사드립니다.
    저도 될 것이라 생각했는데요 https://www.klipper3d.org/Features.html 이부분에 beaglebone pru에 대한 step rate를 보고 살짝 혼동이 와서요. 여기 벤치 내용은 라즈에 클리퍼를 설치후 비글본을 제어보드로 사용한 걸까요?
  • 프로필사진 Favicon of https://elsainmac.tistory.com elsa in mac 2019.05.11 02:00 신고 Klipper org의 step rate benchmark 에 나온 테이블은 3D Printer Controller의 MCU를 의미 합니다.

    8bit ATMEGA2560을 사용하신다면, 16Mhz AVR 혹은 20Mhz AVR 에 해당됩니다.

    비글본에서 Klipper를 구동하는 것과는 별개 입니다.

    ATMEGA2560 에서 Marlin을 구동할 경우 단일 모터 기준으로 성능은 10k 수준입니다. 그러니까 Klipper를 사용할 경우 15배 정도 올라가는 셈 이니까 이론적으로는 256 마이크로 스테핑을 사용할 수 있습니다. (실제로는 구동 속도에 따라 불 가능 할 수도 있습니다)

    Klipper는 RPi나 Beagle Bone 등 Front-End에서 Gcode를 분석하여 Step을 계산하고 그 결과를 3D 프린터의 Controller(Back-End)로 보내는데, Klipper 만의 매우 압축된 메시지로 보내게 됩니다. 3D 프린터 Controller의 Klipper 펌웨어가 이를 해석하여 step pulse를 발생, 모터를 구동하게 되죠..

    따라서, 여전히 성능은 최종적으로 3D 프린터의 Controller에 의존적일 수 밖에 없고, Controller의 MCU 처리성능이 좋을 수록 Klipper의 전체적인 성능도 올라가게 될 것입니다. 말씀하신 Benchmark Table이 그것이죠..

    32bit Controller가 흔하지 않던 시절, 혹은 매우 고가이던 시절에는 그래서 Klipper가 꽤 괜찮은 아이디어였지만.. 최근에는 32bit controller들이 가격이 다운되면서, 주목 받지는 못하는 것이 현실 입니다.

    무엇보다. RPi의 성능이 꽤 안정적이지 못한 것이 또 한가지 문제이죠.. ^^
  • 프로필사진 Favicon of https://elsainmac.tistory.com elsa in mac 2019.05.11 02:06 신고 Klipper 의 Benchmark 에 나온 BeagleBone PRU는 아마 beagleBone black 보드를 add on 하여 3d printer controller로 사용하는 replicape 라는 Controller를 지칭하는 것일 겁니다. 2015년 쯤 나온 보드죠.
  • 프로필사진 클리퍼 2019.05.11 10:15 저는 저 벤치 환경이 라즈에 클리퍼를 설치하고 컨트롤 보드를 연결했을때의 step rate를 나타낸것으로 봤고 거기에 beaglebone pru가 있어서 라즈에 비글본을 컨트롤러로 사용한 것으로 이해했습니다.
    그럼 비글본에 클리퍼를 설치후 다른 컨트롤 보드를 연결해도 pru를 사용할까요? 전 현재 DUE를 사용중인데요 속도를 극한까지 올려보려고 클리퍼를 사용해보려 합니다.
  • 프로필사진 Favicon of https://elsainmac.tistory.com elsa in mac 2019.05.11 10:45 신고 우선 생각하시는 것이 맞습니다. 단, Klipper 주인장이 FrontEnd로 라즈를 사용했는지의 여부는 불분명 합니다. Klipper는 Python이 동작하는 컴퓨터면 무엇이던 상관 없습니다. PC나 Mac도 될 수 있죠..

    BenchMark 테이블에 Beaglebone PRU가 있는 것은 BeagleBone 싱글보드 컴퓨터를 의미하는 것이 아니고, BeagleBone 싱클보드 컴퓨터에 3D프린터 제어보드를 Add-on 한 "3D 프린터 컨트롤러"를 지칭하는 것 입니다. 현재까지 제가 알고 있는 BeagleBone PRU를 이용한 "3D 프린터 컨트롤러"는 Replicape가 유일 합니다. (https://www.thing-printer.com/product/replicape/)


    갖고 계신 DUE나 BeagleBone 둘 다 단지 싱글보드 컴퓨터라면.. 3D프린터의 구성요소들인 모터, Hotend, Heating Bed, Fan 등등은 어디에 연결 해야 하나요?

    만일 8bit 3D프린터 컨트롤러를 별도로 갖고 계시다면 "BeagleBone - 3D 프린터 컨트롤러" 를 선택하시면 될 것 같습니다.

    이유는 klipper는 octoprint에 의존성이 있습니다. klipper를 사용하려면 octoprint와 함께 사용해야 하죠. 따라서 싱글보드 컴퓨터가 이더넷 인터페이스와 시리얼 인터페이스를 갖고 있어야 합니다. klipper 용 FrontEnd로 라즈가 애용되는 이유가 이러한 인터페이스를 모두 갖추고 있으면서 가격이 저럼하기 때문입니다.
댓글쓰기 폼