Klipper の導入 #1 概要

3D プリンタを制御するファームウェアとして、「marlin」というソフトウェアがあります。 3D プリンタのファームウェアとしては支配的な地位を占めており、最も使われています。

私も以前、自分の 3D プリンタようにコンパイルして書き込みました。

rn.nyaomin.info

この、marlin とは別のアプローチで印刷パフォーマンスを向上させようとしている「Klipper」というプロジェクトがあります。 今回は、Klipper firmware を 3D プリンタに導入して、marlin との違いを確認していきます。

前提条件

はじめに、ファームウェアを変更するためには設備の状況に合わせた各設定項目があります。 設備の構成を間違えて設定してしまうと上手く動かなくなるため、条件をまとめておきます。

RaspberryPi は必須です。

項目 条件
機種 ender 3 pro
基板 Creality純正 v4.2.7 ボード
プロセッサ STM32F103
BLTouch Creality純正 CRTouch を5ピンコネクタ接続
操作パネル 純正品
インストール方法 octopi をインストールした RaspberryPi
その他 なし

Klipper を導入するためには 3D プリンタとは別に制御を担うマシンが必須となります。 通常であれば RaspberryPi を使うと思います。 公式のドキュメントも octoprint を前提にした手順が最初に示されている為、RapsberryPi を使った方法で行います。

その他の部分は参考の設定ファイルが示されている為、それらを参考にします。 プロセッサと BLTouch の有無だけ気にしていればとりあえずは大丈夫です。

Klipper とは

Klipper は 3D プリンタのファームウェアです。 marlin との違いは汎用コンピュータとマイコンを組み合わせることによって、より良い印刷パフォーマンスや高性能な機能を提供しています。 つまり、RaspberryPi のようなコンピュータを利用して複雑な計算を行い、3D プリンタのメインボードが行うコマンド処理を支援することにより、速く、正確な印刷が出来るようになります。

導入手順

Klipper の導入手順を書いておきます。 個人的な感覚として、marlin と違い手順がわかりにくかった為です。

  1. octopi の導入
  2. octopi へ Klipper のソースコードをダウンロードしてインストール
  3. octopi でファームウェアの作成
  4. Klipper を使用するように octopi の設定を変更
  5. 作成したファームウェアを 3D プリンタの基板へ書き込む
  6. octopi で Klipper の構成ファイルを設定
  7. テスト印刷

大まかに上記のような流れで進めていきます。

印刷物の比較

Klipper の設定を詰めていませんが、今現在の印刷物を比較してみます。

marlin

スライサー : cura
印刷温度 : 190 ℃ 印刷速度 : 50 mm/s (その他の速度は cura に従っている)
フィラメント : OVERTURE PLA 白

marlin

marlin

冷却ファンを風量が少なく、静音の物にしているため、オーバーハングが若干弱いが出来は非常に良い

Klipper その 1

スライサー : cura
印刷温度 : 190 ℃ 印刷速度 : 50 mm/s (その他の速度は cura に従っている)
フィラメント : OVERTURE PLA 白

設定は上記 marlin と同じ gcode を使用

Klipper その 1

Klipper その 1

写真ではわかりにくいが marlin より出来が良いです。 同じ gcode を使用しているが、加速度や最大速度などの違いで Klipper の方が印刷時間が早かったです。

Klipper その 2

スライサー : cura
印刷温度 : 190 ℃ 印刷速度 : 150 mm/s (その他の速度は cura に従っている)
フィラメント : OVERTURE PLA 白

印刷速度を 150 mm/s にして印刷しています。 造形時間は速く、船の印刷に 1 時間かかっていないです。

Klipper その 2 荒い

Klipper その 2 リギング

設定を追い込んでいないため出来はイマイチです。 船首と船尾の短い R 部が乱れています。 また、若干ですが、リギングも見えます。 このあたりはオリジナルで無理やりダイレクトエクストルーダに改造していることも影響してそうです。

概要おわり

次回から Klipper の導入をまとめていきます。