ラズパイで3Dプリンターを遠隔操作しよう AstroPrintかOctoPrint導入でWifi接続

3Dプリンター

3DプリンターはそのままではSDカードやUSB接続で有線でパソコンと接続して3Dデータを送信してプリントするのですが、AstroPrintやOctoPrintなどをRaspberry Pi(以下ラズパイ)に導入して3DプリンターとUSB接続すると遠隔操作できるようになります。

これが、かなり便利で3Dプリンターのある部屋を行ったり来たりする必要もなく、別の部屋のPCやスマホ・タブレットのWebブラウザから3Dプリンターを操作できるのが最高です。

さらに今までは3DプリンターのMarlinのコントローラー(8Bit)でGcodeをプリントしていましたが、klipperを導入すると32bit(OctoPrint)のラズパイから直接Gcodeを指示してプリントするので速度とプリント精度のパフォーマンスが向上して時短+完成品の品質向上になります。

(Klipperはたしかにすごいのですが、Anycubic i3 Megaは古くてうまく動かなかったのでもとに戻した様子も書きました。)

3Dプリンターを持っている方でまだラズパイで遠隔操作していない方はぜひ試してください!この便利さパフォーマンス向上は別次元です。

オシャレなAstroPrintの画面
  • AstroPrint:シンプル・オシャレで軽い、カメラ機能もシンプルなのが弱点(klipper導入しない場合)
  • OctoPrint:高機能でPlugin拡張性あるが重い、タイムラプスなどカメラ機能充実(klipper導入する場合)

3Dプリンター初心者な方はAstroPrintがオススメ、3Dプリンターに慣れてきていじくり回したい方はOctoPrintがオススメ。

AstroPrintのほうはklipperを導入できないので3Dプリンターのコントローラー依存でプリントすることになります。

OctoPrintでFullHDカメラを全画面で表示

どちらも別のMicroSDカードにインストールしておいて差し替えて遊ぶのも楽しいですね。

ここでご注意いただきたいのですがラズパイから3Dプリンターを操作している時は、3Dプリンター本体の操作パネルは使えません。(本当は連動して動作している様子を操作パネルが表示してくれるとなお素敵だったのですが、)

なので、ラズパイから司令を出している間は3Dプリンターの操作パネルからは操作不可。ラズパイからなにも操作していない時は操作可能ですのでご安心ください。(ただKlipperでファームウェアを書き換えたら操作不可になります・・・)

ラズパイと3DプリンターはUSBケーブルで、ラズパイの標準USBから3DプリンターのUSBポートをつなぎます。

  1. シンプルでオシャレ 操作感が心地よい AstroPrint
    1. Astroprintのサイト
    2. ローカルのページ・クラウドのページ
      1. ローカルページ
      2. クラウドのページ
    3. ダウンロード
    4. AstroPrintのダッシュボード
    5. アップデート
    6. カメラ機能が弱い
  2. OctoPrint ラズパイにインストール
    1. OctoPrint
    2. Raspberry Pi OSをDL
    3. PCにRaspberry Pi OS Imagerインストール
      1. Raspberry Pi Imager起動
      2. OSを選ぶ(OctoPiを選ぶ)
      3. piユーザーパスワードとWifi設定+SSH 設定
      4. 書き込み成功
      5. 書き込み失敗 エラーが出た!
    4. 初期設定
    5. アップデート
    6. 日本語化
    7. テストプリント
      1. 3DプリンターとOctoPrint接続
      2. Curaで作ったgcodeファイルをアップロード
      3. 電力不足と言われる
    8. テストプリント
  3. ラズパイタッチディスプレイで3Dプリンターを操作できるOctoDashを導入
    1. OctoDashインストール
    2. OctoDash ディスプレイを接続して初期設定しないといけない
    3. タッチパッドディスプレイ用意するの面倒なのでリモートデスクトップ接続で設定
      1. VNCを有効にする
      2. リモートデスクトップ接続を使えるようにxrdpをインストール
      3. リモートデスクトップ接続
    4. VNCクライアント
      1. 使わないので削除する
  4. OctoPrintの見た目を良くするOctoPrint-Dashboard
    1. OctoPrint-Dashboardのサイト
    2. プラグインマネージャーからインストール
      1. OctoPrint-Dashboard表示された
    3. Themeifyでページの色を変える
  5. OctoPrint 使用編
    1. 3Dプリンターのプロファイルを追加
    2. OctoPrintはSDカードのデータも表示してくれる
    3. シリアルポート・ボーレートはAUTOが良さそう
    4. ATOMSTACK Cambrian Proはなぜかベッドが170度前後でプリント開始してしまいうまくできない
  6. OctoPrintにklipperを導入する
    1. Klipper インストール
    2. OctoPrint からプラグインOctoKlipperをインストール
    3. ファームウェア コンパイル・フラッシュ
      1. make
      2. パスを取得
      3. フラッシュ
    4. 3Dプリンター固有の設定ファイル
    5. CURAの設定はそのままでOK
  7. Klipperではうまく3Dプリントできない
    1. プリント途中でエラーになる??
    2. Unknown command:”M205″の問題
    3. 接続が不安定でコントロール不能
  8. 3Dプリンターのファームウェアをもとに戻す
    1. オリジナル ファームウェアのダウンロード
    2. CURAのOctoPrint プラグインでファームウェア書き込みはできなかった
    3. OctoPrintプラグイン Firmware Updaterを使ってファームウェアをもとに戻す
      1. avrdudeを導入してOctoPrint から操作する
      2. OctoPrint Firmware Updater

シンプルでオシャレ 操作感が心地よい AstroPrint

まずはAstroPrintを紹介します。AstroPrintはRaspberry Pi OSを3Dプリンター向けに改良したLinux OSになります。

Astroprintのサイト

Anycubic i3 MEGAで2年ほどAstroPrintで遠隔操作していました。インストールも簡単ですぐに使い始められるのが良い部分。

逆にデメリットはプラグインなどの機能を拡張できず、有料なサービスもある点で、シンプルだけど機能が限られているので玄人にはちょっと物足りないのかもしれません。

The Cloud Platform For Your Desktop 3D Printer | AstroPrint®
Wireless 3D Printing and Monitor and network user management permissions

ただ、無料の範囲で十分に3Dプリンターを遠隔操作できて、操作のデザインもおしゃれなので基本的な3Dデータのgcodeファイルアップロード・プリントは全く問題なくスムーズに操作できます。

シンプルイズベストが好きな方はこちらのAstroPrintをオススメします。

ローカルのページ・クラウドのページ

ローカルページ

WebブラウザからラズパイのIPアドレスにアクセスすると3Dプリンターを操作できるようになります。

クラウドのページ

こちらのページにユーザー登録するとログインできるようになります。

Log in · AstroPrint®

コチラからもある程度は3Dプリンターを操作可能で一部有料のサービスもあり。

Log in · AstroPrint®

こちらはシンプルなOSのようでOctoPiと比べて起動も速いし操作もシンプルでサクサク動く印象、弱点はカメラ機能もシンプルでタイムラプスもありますが、画質をFullHDに変更できませんでした。撮影をする時はOctoPiに切り替えてカメラを使ったほうが良いかもしれません。

ダウンロード

Download 3D printer Software | AstroPrint®
Download best 3D printer software operating system

AstroBoxというラズパイにAstroPrintが入った製品が販売されていますが、AstroPrintのOSのみダウンロード可能です。

こちらはインストールにEtcherを使います。インストール方法(英語)は以下に書いてあります。

https://astroprint.zendesk.com/hc/en-us/articles/202638365-Step-2-Flashing-AstroBox-Gateway-Software

AstroPrintをダウンロードしてEtcherで焼くだけなので特に難しい部分はないと思います。

AstroPrintをラズパイで起動したらWifiルーターなどでラズパイのローカルIPアドレスをチェックしておきましょう。

AstroPrintのダッシュボード

直感的に操作できるので初めての操作でも問題なく使いこなせるダッシュボード

PCから見ると↓こんな感じで、普段使うのは「File Manager」からgcodeファイルをアップロードしてプリントするだけ。

アップデート

ちょうどアップロードが来たので実行していきます。

AstroPrintのアップデートが来たらまずは以下のようにaptをアップデートしておきましょう。そうしないとアップデート失敗しました。

sudo apt update -y

その後、「A new software update is available」を押してアップデートすると成功します。

カメラ機能が弱い

AstroPrintはシンプルでアイコンなどもオシャレですが、カメラ機能もシンプルで手持ちのWebカメラはFullHD対応なのですが解像度Low 640x480までしか選べませんでした。FullHDにするとエラーになって保存できない。

まぁ、3Dプリントにカメラは無くても十分にプリントできますので、必要ないといえばその通りなのですが、ちゃんとプリントしているか隣の部屋などから確認したい時には便利ですね。

ううん・・・あまり良いとはいえない画質。

あんまり良い映像を撮ってくれませんでした。OctoPrint のほうが良い映像になります。

OctoPrint ラズパイにインストール

OctoPrint

AstroPrintでは操作や機能が物足りない場合はOctoPrintのほうがプラグインもあって設定ももりだくさんで3Dプリンターをいろいろといじって遊びたい方にはこちらのほうが良いですね。

OctoPrint.org
OctoPrint is the snappy web interface for your 3D printer that allows you to control and monitor all aspects of your printer and print jobs, right from your bro...

ただ、デフォルトの画面はAstroPrintに比べてダサいのでOctoDashの見た目をカスタマイズできるプラグインを導入する必要があります。

自分もOctoPrintは最近始めたところなので、次の項目からインストールやおすすめの設定・プラグインなど紹介していきます。

Raspberry Pi OSをDL

OctoPrint はRaspberry Pi OSのインストーラからインストールすることができて簡単です。

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.

例としてWindowsでダウンロードしてMicroSDにインストールしていきます。

PCにRaspberry Pi OS Imagerインストール

まずはパソコンにImagerをインストールします。

Raspberry Pi Imagerがインストールされたので起動する。

Raspberry Pi Imager起動

インストール方法は以下のページで説明(英語)してありますので、そのとおりに作業しました。

Download & Setup OctoPrint
Learn how to setup OctoPrint using the preinstalled OctoPi image for Raspberry Pi, or how to install from source on Windows, Linux and Mac.

OSを選ぶ(OctoPiを選ぶ)

「OSを選ぶ」から始めましょう。

3D Printingを選びます。

OctoPrintが表示されるので選択。他にも3Dプリンター用のOSがいくつかあるようですね。気が向いたら試してみます。

piユーザーパスワードとWifi設定+SSH 設定

ここでWifiとSSHの設定もついでにしましょう。右下の歯車アイコンを押す。

SSHを有効化にチェックを入れてパスワード認証にする。

Wi-Fiを設定するにチェックを入れてWifiルーターのSSIDとパスワードを入力

書き込み成功

最後に書き込むボタンを押してMicroSDカードにOCTOPIをインストールしていきます。

書き込み完了したら↑上記のような表示のほかに、Windowsのアラートでフォーマットする画面がでますが、それはキャンセルします。

書き込み失敗 エラーが出た!

新品なのにUSBアダプタと相性が悪いのか?うまく書き込みできないMicroSDカードは以下のようなエラーになって書き込めませんでした。

解決方法探すの面倒なので・・・他のMicroSDカードで回避した。

初期設定

ラズパイ3BにMicrosDを指して↓ローカルIPアドレス192.168.31.204(自分の場合です)にブラウザからアクセスすると以下のように表示されて、ラズパイが緑LEDランプを点灯させっぱなしで一生懸命初期設定しているようなのでしばらく待つことにします。

しばらく経ってブラウザリロードすると以下のような表示になる。

OptoPrintの初期設定をしていきましょう。

後ほど設定から変更できるので特に気にすることはありません。適当にすすめていくと初期設定は完了します。

アップデート

OctoPrint のダッシュボードの画面、AstroPrintと比べるとかなりダサいですね。

それにスマホやタブレットに最適化(レスポンシブ化)されていないので、スマホで操作すると画面がかなり小さくなります・・・

それと、どうやらラズパイの電源用USBアダプターの電圧が足りないようでUndervoltageのアラートが表示される。USBアダプターを変えたけどまだ表示される。

(Raspberry Pi 3B+を使っています。)

USBケーブルもダメっぽいので今更ながら2.4A出力するMicroUSB導入したらUndervoltageアラートが消えた。

Undervoltageアラートが表示されっぱなしだとプラグインのインストールができない時がありました。

日本語化

日本語化もできるというのでついでにやってみます。以下からファイルをPCにダウンロード

OctoPrint-JA-LangPack/OctoPrint-i18n-jp_20191129162000.zip at master · Osawa-Yoshiki/OctoPrint-JA-LangPack
Japanese Language Pack for OctoPrint. Contribute to Osawa-Yoshiki/OctoPrint-JA-LangPack development by creating an account on GitHub.

WebブラウザでOctoPrintにアクセスして右上のほうにあるスパナアイコン(設定)、Appearanceの項目で「Language Pack」のManageボタンを押すと↓アップロードする画面になるのでZipファルを選んでアップドーロする。

再起動すると日本語が表示されました。

テストプリント

3DプリンターとOctoPrint接続

左上の「接続」の「シリアルポート」はAutoになっていますが、3DプリンターとラズパイをUSB接続すると/dev/ttyUSB0などを選べるようになります。1台だったら1択。

ボーレートは適当に250000を選択しました。Autoでもいいかな?

プリンタプロファイルもDefaultのまま。

AstroPrintには最初からAnycubic i3 MEGAのプロファイルがあったので選ぶだけでしたが、OctoPrintは手動で設定する必要がある、というよりDefaultのままでいいのかな?プロファイルがどこかにあるのかもしれません。

Curaで作ったgcodeファイルをアップロード

アップロードはアップロードアップロードボタンを押してファイルを選んでもできますし、Webブラウザにファイルを投げ込んでもアップロードできます。

プリントしたいファイルのプリンタアイコンをクリックすると3Dプリント スタート

電力不足と言われる

USBケーブルが電力流さないタイプなのか?電力不足と言われます。

USBアダプタは2.5Aのもので、2.4AのMicroUSBケーブルを買って交換したらアラートが出なくなりました。

テストプリント

プリントスタートすると左側のステータスでプリント状況が表示される。

GCode Viewerタブでプリントのレイヤーを確認できます。CURAでも確認できるのでこの機能は必要ないかもしれません。

ページの左側には↓大きく進行状況が表示される。

ラズパイタッチディスプレイで3Dプリンターを操作できるOctoDashを導入

自分はラズパイにディスプレイなしで遠隔操作したかったのですが、間違えてディスプレイの見た目をよくするOctoDashを導入してしまいました・・・ドジです。

なので、ラズパイに小さいディスプレイを装着して3Dプリンターをタッチ操作したい方のみこの項目をみてくださいね。

OctoDashインストール

OctoDashは3.5~7インチのタッチ対応ディスプレイをラズパイに接続して3Dプリンターを操作するプラグインです。

OctoDash

こちら↓にソースがあります。

GitHub - UnchartedBull/OctoDash: OctoDash is a simple, but beautiful dashboard for OctoPrint.
OctoDash is a simple, but beautiful dashboard for OctoPrint. - GitHub - UnchartedBull/OctoDash: OctoDash is a simple, but beautiful dashboard for OctoPrint.

インストールはSSHで以下のようにする。

bash <(wget -qO- https://github.com/UnchartedBull/OctoDash/raw/main/scripts/install.sh)

実際にSSHでOptoPiにアクセスしてインストールします。

ラズパイ3B+でのインストールはかなり長く(1時間弱くらい)で、途中でいろいろと質問されてプラグインはすべて選択してEnter、その他も全てYesにしました。

  • Plugin 全部選択
  • CORS:Yes
  • OctoDash自動起動:Yes
  • アップデートスクリプト:Yes

OctoDash ディスプレイを接続して初期設定しないといけない

ブラウザから↓OctoDashの設定にアクセスしても、初期設定完了してないので無理っぽい。

タッチパッドディスプレイ用意するの面倒なのでリモートデスクトップ接続で設定

VNCでディスプレイなしで初期設定してみます。

(注:こちらはラズパイにタッチディスプレイを装着している場合は設定不要です)

VNCを有効にする

sudo raspi-config

3 Interface Options > VNC を選んでYESにするとダウンロードが始まり10分ほどかかる。

念のために起動時にサービスが開始されるようにする。

sudo systemctl enable vncserver-virtuald.service

うまく起動してない時はStatusをチェックする。

sudo systemctl status vncserver-virtuald.service

リモートデスクトップ接続を使えるようにxrdpをインストール

sudo apt-get install xrdp
sudo service xrdp restart

ここまでできたら再起動する。

リモートデスクトップ接続

リモートデスクトップ接続は?なぜかだめで真っ黒な画面になった。

VNCクライアント

VNCビューアーをインストールした。

Download VNC Viewer | VNC® Connect
Control VNC® enabled computers with VNC® Viewer.

VNCクライアントでやったら表示されたので、初期設定をしてみる。

うまく初期設定できたけど・・・

いや、これラズパイにディスプレイ付けてないので必要なかったんです・・・間違えた。

ラズパイにディスプレイ付けてタッチで3Dプリンターを操作したい方はOctodashを導入してみてください。

使わないので削除する

Octodashのページ(Uninstallで検索してください)に書いてあるようにとりあえず使わないのでOctoDashは削除しておきます。

wget -qO- https://github.com/UnchartedBull/OctoDash/raw/main/scripts/remove.sh | bash

OctoPrintの見た目を良くするOctoPrint-Dashboard

必要なのは、OctoPrintのWebブラウザの操作パネルをカスタマイズするOctoPrint-Dashboardだった!Dashがついているので紛らわしい、ドジだから間違えちゃったじゃないの。

OctoPrint-Dashboardのサイト

OctoPrint-Dashboard
This plugin adds a dashboard tab in Octoprint that displays the most relevant info regarding the state of the printer and any on-going print job.

Githubがメインのページみたい。

GitHub - j7126/OctoPrint-Dashboard: A dashboard for Octoprint
A dashboard for Octoprint. Contribute to j7126/OctoPrint-Dashboard development by creating an account on GitHub.

プラグインマネージャーからインストール

Githubからもダウンロードできますが、OctoPrint設定のプラグインマネージャーからインストールしたほうが手っ取り早い。

ただラズパイの電圧が低いとプラグインインストールできないので電圧の出るUSBアダプターとケーブルを使うようにします。

+GetMoreボタンを押してOctoPrint-Dashboardと検索すると出てくるのでインストールを押すだけ。

こんな画面↓が表示されてしばらくするとインストール完了するのでOctoPiを再起動する。

OctoPrint-Dashboard表示された

OctoPiを再起動したら↓タブにDashboardの項目が追加された!

設定 > Dashboardですべての項目を表示してみる。

プリント中↓はこんな感じで表示される。ラズパイにカメラを接続していない状態。

とりあえずダッシュボードが表示されるようになったので、今度はカラーを変更したい。

Themeifyでページの色を変える

OctaDash操作ページ全体の色を変えるには別のプラグインが必要。

Themeify
A small OctoPrint plugin to change the looks of OctoPrint! Features a beautiful Dark Theme inspired by Discord’s color palette, along with a handful of others t...

こちらもプラグインマネージャーの+ Get Moreボタンを押して「Themeify」と検索すると出てきます。

インストールしてOctoPrintを再起動したら↓このようなダークな画面になりました。

主にテーマを変更するとダッシュボードの見た目が良くなります。

フォントカラーなど細かく設定できますが、面倒な場合はテーマを変更するだけで一発で素敵なカラーに変更できます。

OctoPrint 使用編

ここからはOctoPrintを3Dプリンターで使ってみて気づいた点などを書いていきます。

3Dプリンターのプロファイルを追加

各3Dプリンター特有の設定は追加ボタンからできる。

いろいろと設定があるようですが?特に3Dプリンター特有の設定はしないでもプリントはできるようかな?

「プリントベッドと造形サイズ」でX・Y・Zのベッドサイズとプリントできる高さだけは設定したほうがよさそう。

OctoPrintはSDカードのデータも表示してくれる

3Dプリンターに直接さしたSDやMicroSDカードもOctoPrint 側で認識して表示してくれるのも便利。

「ファイル一覧」の右側のSDカード内のスパナアイコンから「SDに保存されたファイルのみ表示」など

シリアルポート・ボーレートはAUTOが良さそう

Autoを選んでおくとOctoPrintが最適なのを選んでくれました。

あとはAstroPrintと大して変わりなく、普通にプリントしてくれます。

ATOMSTACK Cambrian Proはなぜかベッドが170度前後でプリント開始してしまいうまくできない

後ほど紹介しますが、新しく来たATOMSTACK Cambrian Proはマイナーな3Dプリンターだからか?OctoPrint でプリントするとベッドの温度を200度に設定しても170~175度前後でプリント開始してしまって、フィラメントが詰まって正常にプリントできませんでした。

AstroPrintでプリントしても同様に170度付近でプリント開始してしまう。未解決

ATOMSTACK Cambrian Proのタッチパネルで操作してプリントしたら正常でした。

OctoPrintにklipperを導入する

最近はラズパイにKlipperを導入して3Dプリンターの高速化・高品質化が流行っているようなので、自分も導入してみました。

3Dプリンターで直接Gcodeファイルを読み込むのにはMarlinを使いますが、3Dプリンターのコントローラを使わずに、ラズパイから直接Gcodeを指示するのでパフォーマンスが速くなり造形品質もアップするというもの。

現在は設定が悪いのか?トラブルで最後までうまくプリントできませんでしたが、速くプリントしてくれるのが魅力的♪

Klipperはこちらの公式サイトにインストールなどの説明があります。

Welcome - Klipper documentation

Klipper インストール

Klipper本体をラズパイにSSHでアクセス インストールして、その後OctoPrint からOctoKlipperをインストールしていきます。

PuttyなどのSSHでラズパイに接続して以下のGithubからダウンロードします。

git clone https://github.com/KevinOConnor/klipper

以下のようにしてインストール、10~20分くらいかかる。

./klipper/scripts/install-octopi.sh

OctoPrint からプラグインOctoKlipperをインストール

Klipper本体のインストールが完了したらOctoPrintにアクセスしてプラグインもインストールしていきます。

設定 > プラグインマネージャー >+Get Moreで「Klipper」と検索すると以下のようにOctoKlipperが出てきますのでインストール。

インストールが終わったらOctoPrint再起動。

ファームウェア コンパイル・フラッシュ

make

cd ~/klipper/
make menuconfig

Anycubic i3 Megaの場合ですがコントローラーatmega2560のようなので選んで行く、

最後に一番上のEnable extra low-level configuration options選択(スペースキーを押す)して「Q」キーを押して「Y」キーを押してセーブします。

Saveできたらmakeする。

make

パスを取得

続いてSSHでちょっとした作業

以下のように3Dプリンターに接続しているポート固有のパスを取得します。

 ls /dev/serial/by-id/*
/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0

出てきたパス(例:/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0)を以下のようにして追加してフラッシュする。

フラッシュ

makeで出来上がったファームウェアを3Dプリンターに書き込む作業です。失敗すると3Dプリンターが動かなくなる場合があるのでご注意ください。

sudo service klipper stop
make flash FLASH_DEVICE=/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
sudo service klipper start

FLASH_DEVICE=の部分に固有パスを貼り付けます。

3Dプリンター固有の設定ファイル

こちらのページに各3Dプリンターの設定ファイルが置いてあります。

klipper/config at master · Klipper3d/klipper
Klipper is a 3d-printer firmware. Contribute to Klipper3d/klipper development by creating an account on GitHub.

Anycubic i3 Megaは以下に設定がありましたのでコピペします。

klipper/printer-anycubic-i3-mega-2017.cfg at master · Klipper3d/klipper
Klipper is a 3d-printer firmware. Contribute to Klipper3d/klipper development by creating an account on GitHub.

ATOMSTACK Cambrian Proについてはサンプル設定ファイルがなかったので使っていません。

cd /home/pi/klipper/config
cp printer-anycubic-i3-mega-2017.cfg ~/printer.cfg

先ほど「ls /dev/serial/by-id/*」で取得したパスをserial: の次に上書きします。自分の場合は以下のようにしました。

cd ~
vi printer.cfg
下のほうにある[mcu]のserial: の部分を以下のように編集する
serial: /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0

CURAの設定はそのままでOK

3DデータをスライスしてGcodeファイルにするには主にCURAを使っていますが、Klipperを使っていてもMarlinを指定しておけば良いようですのでCURAのプリンター設定はそのままにしました。

Klipperではうまく3Dプリントできない

以下、Anycubic i3 Megaとラズパイを接続してKlipperで造形物をプリントしたときの不具合です。

やはりAnycubic i3 Megaが古いからか?プリントは一応しますが、コントロールでヘッド・ベッドともに動かせず、プリント完成時に100%になるとその位置で止まる不具合があります。

プリント途中でエラーになる??

3Dプリンターに接続してプリントしても切断されてしまう場合は、Firmwareボタンを押して再スタートするとうまくプリントスタートしましたが・・・途中でエラーになるヨ

Klipperで接続しても毎回 再スタートのFirmwareボタンを押さないといけないみたい。面倒。

1回目のエラーは、以下のようになってプリント途中で止まる・・・

Your printer's firmware reported an error. Due to that OctoPrint will disconnect. Reported error: Must home axis first: 143.487 104.757 15.400 [4635.716]

2回目のエラーはヒーターがちゃんと指定の温度まで加熱してないからみたい。

ただ、途中までプリントして途中でストップするのはちょっと困るなぁ、

ABSでヘッドの温度を240度にしたのが良くなかったのかな?235度にしたら最後までプリントしたけどホームに戻らずそのままでヘッドの痕がつく。

Klipperもう少しちゃんと使えるまでprinter.cfgなどの修正が必要みたい。使えるかなぁ、

Unknown command:”M205″の問題

Klipperはm205を無効なコマンドとしてエラーを吐き出します(Klipperこちらが解決方法)。なのでprinter.cfgに以下を追加するとエラーを出力しないようになりました。

vi ~/printer.cfg
#下のほうに以下を追加
[gcode_macro m205]
gcode:

最後に「G4」を指定するとエラーになって動かなかった。

その他、「Unknown command:”M117 23%”」とプリント中もM117が%が上がるたびに表示されるが無視でOKみたい。

接続が不安定でコントロール不能

ベッドもヘッド操作しても全く動かずに押したらエラーになって接続解除される・・・ホームのみ正常に動いた。

操作できるように解決しないとまともに3Dプリントできなさそう。

Anycubic i3 MegaでKlipperを使うには能力不足と判断してファームウェアをもとにもどします。

Klipper導入したら3Dプリンターの画面が全部操作不能になるのは他の3Dプリンターも同様だとしたら使いにくいなぁ

ただ、速度アップと品質向上は魅力的なのでもう少し勉強します。

3Dプリンターのファームウェアをもとに戻す

プリント途中で止まってしまってなんかうまくいかず、3Dプリンターの画面も操作不可(泣)になってしまったので3Dプリンターのファームウェアをもとに戻す方法をいくつかやってみます。

最悪の場合はPCと3Dプリンターを直接つないでファームウェアを元に戻せば良いのですが、3Dプリンターは別の部屋にあるのでできれば遠隔操作でファームウェアを書き込みたい。

結果、OctoPrint のプラグインFirmware Updaterで元に戻せました。

オリジナル ファームウェアのダウンロード

Anycubic i3 Megaになりますが、以下のページからダウンロードできました。

i3 Mega
The Anycubic i3 Mega is a solid, metal-framed 3D printer that comes mostly assembled.It is capable of producing high quality prints. Stable construction and fin...

hexファイルがダウンロードできた。これを使ってもとに戻します。

CURAのOctoPrint プラグインでファームウェア書き込みはできなかった

CURAのOctoPrint プラグインがあったので導入します。

右上のマーケットプレイスでプラグインを見ていくとOctoPrint Connectionがあるのでインストールする。

CURAを再起動して設定 > プリンター > プリンターを管理するを選んでいく。

CURAからOctoPrint に接続します。

OctoPrint のAPIキーが必要なので、設定 > APIのGlobal API Keyから文字列をコピーする。

先ほどのCURAのウィンドウのAPI Keyに貼り付けてConnectボタンを押す。

無事OctoPrint に接続できたら「ファームウェアアップデート」を選択。

古い機種のAnycubic i3 Megaではファームウェアのアップデートはできないみたい(泣)

ただ、OctoPrintに接続できたので、GcodeファイルをそのままOctoPrintにアップロードできるのが便利。

保存する時にPrint with OctoPrintを選べがアップロードしてくれる。これは便利ですね。

CURAからダイレクトにGcodeをOctoPrint に送るとすぐにプリントが始まる。

CURAからはファームウェアをもとに戻せなかったので違う方法を試します。

OctoPrintプラグイン Firmware Updaterを使ってファームウェアをもとに戻す

下準備としてOctoKlipperプラグインを解除してシリアルポート・ボーレートともにAUTOにして3Dプリンターと接続。

avrdudeを導入してOctoPrint から操作する

SSHでavrdudeを導入しておく。

sudo apt-get install avrdude

OctoPrint Firmware Updater

OctoPrint でFirmware Updaterプラグインをインストールして、OctoPrintをリロード。

設定 > Firmware Updaterの項目ができるのでシリアルポートと先ほどダウンロードしたhexファイルを参照しておいて、右上のスパナアイコンをクリック。

ここで以下のように選択して、avrdudeのパスを指定。ラズパイならば/usr/bin/avrdudeになっているはず。

Testボタンを押してValidの表示がでたらOKでSaveボタンを押す。

念のためにFirmware Updaterの右下の保存ボタンも押して、再度Firmware Updaterの画面を表示させてFlash from Fileボタンを押してファームウェアを書き込みます。

Flashing successfulが表示されたらファームウェア書き込み完了。

ふぅ、元に戻った。

3Dプリンターは奥が深いですね。まだまだ勉強する必要がありそうです。

Anycubic i3 Megaは古くて音がうるさいので新しい3Dプリンター導入してみます。

3Dプリンターを日頃使っていてまだ遠隔操作したことが無い方は、ぜひラズパイにAstroPrintかOctoPrintを導入して遊んでみてください。3Dプリンター遊びがさらに楽しくなりますヨ♪

コメント

タイトルとURLをコピーしました