スタンドアローン出力とOctoPrint比較

Ender-3改良(?)の施策として、Thingiverseで見つけたケーブルチェーンを付けてみようと思い、OctoPrintからパーツを数個出力してみたのですが、観察していると、造形の細かいところで動作が遅くなっています。結果として、細かい関節部分の造形がイマイチで、その結果、動きもイマイチな感じでした。そこで、部品作成はOctoPrintではなく、MicroSDにGcodeデータをコピーして、スタンドアローンで出力してみました。

上の写真はスタンドアローンで出力中の写真です。こちらの方は関節部分もよりきれいに出力されました。この後、他の部品も出力して無事に組み立てはできて、非常にいい感じです。動作上も問題なさそうなので、余った部品を見比べてみました。

左の写真は、一番上がOctoPrintで出力したもの。真ん中と下がスタンドアローンで出力したものです。

材料はPLA、積層厚はどちらも0.2mm、Infillは20%(あまり関係ないですが)、ノズル温度200度、ベッド温度60度で、Curaでスライスした際の条件は同じです。(ファイル自体は数個出力か、35個出力かという違いがあります)

真ん中のものが積層割れっぽいのがあるのは置いといて、回転軸となる穴の周囲が違うのがわかりますでしょうか?

右の写真も一番上がOctoPrint、真ん中と下がスタンドアローンで出力したものです。

やはり回転軸となる穴の内側に差がみられます。この部分はOctoPrintでのプリント時にはノズルの移動速度が落ちていて、同じところにノズルが滞留する時間が長くなっています。

そのため、樹脂が余分に出てきてしまっているのか、あるいは、加わる熱量が大きくなって周囲を融かしているのかわかりませんが、影響を与えていそうな感じがします。なにか良い対策があればいいのですが・・。

OctoPrint(OctPi)をセットアップしてみた

Ender3はスタンドアローンでMicroSDに格納したgcodeデータを出力できるのですが、あちこちググっているとOctoPrintというソフトウェアでネットワークに接続して遠隔で状態を監視したりしている人が多いことに気が付きます。

そこで、このOctoPrintを導入してみました。

用意したものは以下の通りです。

  • Raspberry Pi Model B+(公式サイトではRaspberry Pi3推奨という表現もありましたが、手持ちの関係で・・・。WiFiで接続する場合には、Pi Zero Wだとパフォーマンス上かなり問題があるようですので、今回は有線LANでの接続としています。)
  • MicroSDカード8GB
  • 電源供給用のACアダプタと、USBタイプA-MicroBケーブル
  • Raspberry PiとEnder3を接続するためのUSBタイプA-MiniBケーブル
  • 余っていたUVC接続可能なUSBカメラ
  • 適当なLANケーブル

セットアップの手順は以下の通りでした。

  1. OctoPrintのサイトからOctoPi(OctoPrint組込済のRaspbianイメージ)をダウンロード。MD5SUMをチェックして、ファイルを展開します。
  2. ホストのWindows10のUDPポート5353(mDNS)を解放。通常はWindowsファイアウォールの設定ですが、自分はカスペルスキーインターネットセキュリティを導入しているので、カスペルスキーで設定します。
  3. USBイメージライタ(LinuxMintの場合)で展開したイメージファイルをMicroSDカードに書き込み。書き込み完了後、Raspberry Piに取り付け。その他のケーブル、カメラも適宜取り付けます。
  4. Raspberry PiとEnder3の電源を投入します。電源は連動して投入できるよう工夫するのがいいようです。Edner3の電源(+24V)から+5Vを得るような改造を結構見かけますが、今回はスイッチ付きのテーブルタップで連動するにとどめます。
    電源投入後、Raspberry Piが起動している様子は見えないですが、初回はディスク領域の拡張等を行うはずなので、10分くらい適当に放置します。
  5. Webブラウザ(自分はChromeを利用)にて、アドレスバーに「octopi.local」と入れて、しばらく待つと・・・OctoPrintの画面にアクセスできるはず・・・なのですが、アクセスできず。しかし、そのまま10分くらい、放置して置いたら画面が更新されてSetup Wizardとなっていました。
  6. Wizardに従って初期設定を行います。
    Access Controlのところで、OctoPrintにアクセスするためのユーザー名とパスワードを入力して、Keep Access Control Enabledをクリックした後、Nextをクリックします。パスワードを設定しておかないと、誰かが勝手にプリンタの温度を変えたりして火災などの原因になるかもしれません。
  7. Online Connectivity Checkはインターネットへの接続性をGoogleのDNSサーバ(8.8.8.8)にアクセスして確認するようです。Test host & port をクリックしてテストした後、Enable Connectivity Checkをクリック、さらにNextをクリック。
  8. Configure plugin blacklist processingはそのままEnable Plugin Blacklist Processingをクリックして、Nextをクリック。
  9. CureEngineのところは、Profileをインポートするスライス処理をRaspberry Pi側で行えるようですが、ググってもあまり情報が見つかりません。よくわからないので、そのままNextをクリック。
  10. Default Printer Profileはプリンタが1台の場合は名前は気にしなくても大丈夫そう。Print bed & build volumeのところは、Form FactorはRectangular、OrigineはLower Left、Heated Bedはチェックが入ったまま、Print volumeはXとYは220、Zは250を入力、Axesは軸の移動速度ですが、マニュアルでの移動速度にのみ関係するので放置、Hotend & extruder もそのままで、Nextをクリック。
  11. 最後に注意事項を読んで、Finishをクリック。
  12. しばらく(1分くらい)放置すると画面が変わりますが、さらに少しすると、Updateがあるという表示が出ましたので、Update Nowをクリックすると警告が表示されるのでProceedをクリックして先に進めます。アップデートの経過がゆっくり表示されるのを眺めながら待ちます。5分か10分か経過してアップデートが終わると、勝手に再起動しました。再起動後、勝手に画面が更新される旨、表示されているのですが、5分くらい待っても一向に変わらないので、Reloadを押してみましたが、更新されず。そのまま待ちます。
  13. その間に、TeraTermでsshでログインして、デフォルトユーザー(ユーザー名pi/パスワードraspberry)のパスワードを変更しておきます。
  14. しばらくすると、画面が更新されました。

完了すると、以下のような画面となりました。

引き続き、プリンタに接続しますが、特に設定することなく、左上のConnectを押すとしばらくして接続されました。現在の状況(ベッドやノズルの温度)が表示されるのですが、Controlをクリックするとグラフの部分がUSBカメラの画像に切り替わります。TimelapseをクリックするとTimelapse録画のパラメータが設定できるようです。

温度の画面でTargerのところのチェックマークをクリックすると、PLAやABSにあわせたプレヒートができます。

プレヒートしたら、gcodeファイルをWeb画面上の左半分にドロップするとファイルをアップロードできます。(右半分にドロップするとSDカードにアップロードできようなのですが、きわめて遅いです)
アップロードすると、左下のFileの部分にアップロードしたファイルが表示されるので、プリンタのアイコンをクリックすると、出力が始まります。

使用したのがRaspberry Pi(2でも3でもなく)のためか、全体に動きがもっさりです。

実際にgcodeファイルを出力してみると、Curaでスライスした際には12分と出たデータが30分以上かかるケースもあります。どうやら、内部でのArduinoベースのコントローラとのUART接続がボトルネックになっている気がします。Ender3単体で出力した時よりも細かい動きがある(≒大量のgcodeデータのやり取りがある)ところでテーブルの動きが遅くなっていて、出力品質にも現れています。

Fusion360でモニターアーム用アタッチメント作成

自分の部屋は狭く、ラックをいくつか並べて物を縦に積んでいます(地震が来たらやばいかも・・)。

で、もともとモニターも1台はモニターアームを使ってラックに取り付けて、必要のないときにはラックに添わせる形で場所を有効利用(かなー?)していました。しかし、最近3Dプリンタの導入場所を作るためにラックを入れ替えた際に、どうやっても元のモニターアーム(サンワサプライ CR-LA354、パイプ径40mm~60mm用)が別のラック(パイプ系25mm)につかず、新たにCR-LA352(パイプ系25mm~40mm用)を購入して取り付けていました。

で、元のモニターアームはうまく取り付けられる場所がなく廃棄処分(というかHARD OFF行き)しようかと思っていました。一方で、液晶モニタの方も表示サイズが1400×900と中途半端で処分しようかと思っていたものが余っていました。

なんかもったいないなーと思って、ふとひらめいたのが「アタッチメント作ればいいんじゃない?」ということで、作ってみました。

ちなみに、設計ツールは、当初はLinuxで動くものということで、FreeCADでがんばっていたのですが、単純な形状はなんとかなるものの、ちょっと複雑な形状になると思うようにいかず、Windows10上でAutodeskのFusion360(趣味の範囲では無料で使えるので)を使ってみたら、あっさりいろんな形状が作れるようになりました。

形状としては、左のような形のものを2つ作って、モニターアームの取り付け部分とパイプの間に挟む形にしました。

モニターアームがずり落ちてこないよう、端の部分は一段径を太くしてあります。

内側の部分は直接パイプに取り付けるのではなく、パイプラックに棚をつける際に使うスリーブ(今回はルミナス用を使用)を50mm間隔で2つ取り付けてからその外側に取り付けるようにしました。ですので、内面はスリーブの外側の形状に合わせたテーパーをつけてあります。このため、固定後はまったく下にずれてくる気配なくガッチリとしたものとすることができました。

なお、スリーブなしで直接パイプラックに取り付けるための形状も作ってみたのですが、パイプに刻まれた溝が非常に細く、Ender3ではきちんとはまる形では再現できそうにありませんでした。

出力に際しては、材料はPLAを使用(ABSのフィラメントはまだ持ってないので)しました。上下面と壁の厚みは力がかかるところですので2mmの設定としています。Infillは40%にしましたが、力のかかるところなので80%くらいにしておけばよかったかな、とも思います。でも、今のところ問題は起きていません。

写真の青の部分が今回作成したアタッチメントです。

インシュロックで一旦仮固定して、その上にモニターアームをつける形になりました。

黒で作ればもっと目立たないようにできたのですが、細かいところを修正するために仮のつもりで出した青のものがピッタリ決まってしまったので、そのまま本番設置してしまっています。

LinuxMint19にLTSpiceをインストールしてみる(2)

どうも、wineの最新版は、WineHQを公式ページからインストールするのが良さそうです。ですので、まずsynapticでwineで検索して、wine1.6、wine32など、関連しそうなパッケージを削除した後、

で不要と思われるパッケージを一掃して出直します。

公式ページの記載に従って、

とするのですが、最後のupdateで、

E: リポジトリ https://dl.winehq.org/wine-builds/ubuntu/sudo bionic Release には Release ファイルがありません。
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。

となってエラーになってしまいます。うーん、ローカル側の感じがしないので、どうしたものか。
後戻りしてしまいました。

LinuxMint19にLTSpiceをインストールしてみる(1)

【注意:Synapticに初めから出てくるのは古いバージョンの可能性があるので、wineとwine32を削除後、$ sudo apt-get autoremove とした後、現在違う方法でやり直しています。】

ちょっと回路シミュレーションをしてみたくなったのですが、できればLinuxでやりたい。でも、GUIで簡単にやりたい。そして、今動かすならLTSpiceでしょう、というところなのですが、残念ながら、LTSpiceはWindowsとMacOS X用しか用意されていない。・・・となれば、Wineでトライしてみます。

いつものようにSynapticパッケージマネージャを起動、「Wine」で検索するとでてくる「wine1.6」を選択して依存パッケージとともにインストールします。

引き続き、LTSpiceのWindows版をダウンロードして、ダウンロードしたファイルに実行属性を付けます。

引き続き、Wineで実行してみます。

ということで、エラーになってしまいました。LTSpiceが32bit版のためのようです。

として大量のライブラリをインストールしてから、改めてトライしてみます。

とすると、しばらく沈黙したあと、以下のようなインストーラのウインドウが表示されるのだが、

ご覧の通り、文字化けしている。検索するとよくある現象の模様。
こちらのページを見ると、winetricksというツールで解消できる模様。

で起動して、「Select the default wineprefix」⇒「Install a font」⇒「cjkfonts」であとは従っていくとインストールできる。途中、警告がいくつか出るが、実行中のWineプログラムが終了されるというもののようなので、はじめから何も実行していなければそのままOKでよいはず。

$ wine LTspiceXVII.exe

でインストーラが起動し、まだ一部文字化けはあるもののなんとかインストール、起動まではたどり着きました。

以下のあたりも参考になりそうです。https://forums.ubuntulinux.jp/viewtopic.php?pid=118386

 

NanoPi NEO2セットアップ(Armbian編)

一旦は公式ディストリビューション?であるFriendlyCoreをインストールしたのですが、できるだけオープン系ということでArmbianをインストールし直しました。

OSイメージは Armbian の NanoPi NEO2 のページから Armbiean Stretch をダウンロードしました。ダウンロードしたイメージファイルを展開して、USBイメージライタでMicroSDカードに書き込むのは同じです。

書き込んだMicroSDカードをNanoPi NEO2に挿入します。ローカルPCで

を電源投入前後で実行、増えたIPアドレスを調べます。(注:電源投入後の実行はしばらく待ってから行います)
調べたIPアドレスに対して、

として、パスワード「1234」でログインします。ログインすると、rootのパスワードの設定変更を求められ、引き続きユーザーアカウントの作成を求められますので、適当に作成します。作成完了後、そのまま、

としてアップデートとavahi-daemonのインストール、カーネルバージョンアップ後の再起動を行います。以降は

でリモートログインできます。リモートログイン後、

として、Personalの項目内の Timezone、Locale、Hostname を適当に設定しておしまいです。

NanoPi NEO2セットアップ(FriendlyCore編)

何回やってるんだという感じのNanoPi NEO2のセットアップです。

公式イメージが置いてある http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO2#Boot_from_TF のリンク先の Google Drive のURL https://drive.google.com/drive/folders/1w7eMluHWo3ezwKBdaJcDUcCtM9qVaaVv から「nanopi-neo2_friendlycore-xenial_4.14.52_20180628.img.zip」をダウンロードしてきて、イメージを展開、USBイメージライタでMicroSDカードに書き込みます。書き込んだMicroSDカードをNanoPi NEO2に挿入します。ローカルPCで

を電源投入前後で実行、増えたIPアドレスを調べます。(注:電源投入後の実行はしばらく待ってから行います)
調べたIPアドレスに対して、

として、パスワード「pi」でログインします。

でセットアップ。パスワードの変更、ロケール(ja_JP.UTF-8)の追加、タイムゾーンの変更(Asia/Tokyo)して、再起動。
再起動後、再度 ssh でログインして、

完了すると、以降は

でログインできるようになります。(ローカル側にも avahi-daemon が必要)