3Dプリンターで印刷するときの注意事項を考えてみた。

3Dプリンターを3年近く運用してみて色々なことがわかってきました。
自分なりの注意メモです。

1.造形物の途中でスライサーを変更しない。
微妙にサイズが変わるのか嵌め合いとかが合わなくなります。

2.エクストルーダーの温度は高ければいいわけではない。

素材はPLAですが右が210℃、左は200℃で印刷したものです、温度が高すぎるとヒゲなどのごみができやすく後処理が大変になります。
フィラメントを変えたら、最適な温度を探すところから始めたほうがいいのかもしれません。

3.1層目がはがれるときはステックノリをベッドに塗布する
これは、いろいろなサイトで紹介されていますが結構使えるテクニックだと思います。
ただ、ベッドに直接だと掃除が面倒になるのでベッドの上に専用のマットを引いて造形したほうが、取り外せるので掃除が楽です。
液体のりだと使いづらいので半固形のステックノリがおすすめです。
マスキングテープを張る手段もあるそうです。

プリントサーバー用RaspberryPIに電源用ボタンを設置する

プリントサーバー用のRaspberryPI 3B+にシャットダウンボタン・再起動ボタンを追加した。

私の3DプリンターにはRaspberryPI 3B+(以下PI)を搭載しています。
このPIですが現状、プリンター本体と電源を共用し、プリンター本体の電源断と同時にPIも電源供給が止まるようになっています。しかしながらこの場合PIにセットアップされているMicroSDカードの破損の可能性が低確率ですが存在します。今回、このリスク対処を行いました。

なぜMicroSDが破損するの?

PIはセットアップされたMicroSDカードに記録されているOSに常時アクセスをしているため、電源断のタイミングによってはMicroSDカードにアクセス中に電源が落ちる可能性があります。アクセス中に電源が落ちると最悪カードが破壊されることがあります。

ではどうやって破損を回避するのか。

意図的にMicroSDカードにアクセスしていない状況を作り出したのちに電源を切断すればほぼ問題ありません。具体的にはOSをシャットダウン後に電源を落とすわけです。

OSをシャットダウンするにはGUI画面からシャットダウンを実行するかbashからシャットダウンコマンドを実行することになります。すが毎回キーボードもしくはマウスをつないで(もしくはつないだまま)シャットダウンを実行するのは手間ですので3Dプリンターにシャットダウンボタンを搭載することにしました。

ボタン追加の概要

今回は、PIに標準搭載されているGPIOピンに押しボタンスイッチを配線し、OS上でボタンのON/OFFを監視。2秒以上ボタンが押されたときにシャットダウンコマンドが実行させるようにしました。
工程としては、

1.ボタンの設置
2.ボタンON/OFF検出プログラムの作成
3.起動・再起動時に自動的に2.のプログラムが起動するよう設定
4.ボタンを3Dプリンターに設置する取り付け具のデザイン・設置

以上4工程になります。
追加で、あったほうが運用上便利ということで再起動ボタンも実装しました。

続きを読む

Repetier-ServerからJavaScriptで情報を受け取る。


普段、Repetier-ServerをWebブラウザより利用させていただいております。
しかし、実際の調整作業が終わり印刷を開始するとブラウザを開いたままにしておくのは邪魔。でも印刷進捗のモニターはしたいと感じ下画像のようなガジェット風アプリを作成してみました。


製作にはNode.js+Electronを利用しました。
Repetier-ServerにWebSocketで接続してWeb APIを利用して各種情報を取得。ガジェット上に表示しています。 続きを読む

3Dプリントをするときにあると便利なもの(個人的意見)

ご無沙汰しております。
久々の更新となりますがよろしくお願いいたします。

約1年半3Dプリンターを運用してきました。
その過程・経験から後付けで購入したものがいくつかあります。
なくてもプリントは可能なのですが、作業がはかどると感じたものを紹介してみたいと思います。

1.スティックのり
色々なところで紹介されていますが、プラットフォーム(ベッド)に塗布して造形物とベッドの密着を促すために利用します。
経験上、糊を塗らないとシビアにベッドとノズル先端の隙間調整をしても高確率で造形中に造形物がベッドからはがれて印刷不良となるように思います。
色々なメーカーさんのものを試しましたがトンボ鉛筆さんの「シワなしPiT」を愛用しています。

2.デザインナイフ
造形後のラフト除去、ひげの除去などの細かい作業をするときにあると便利です。
一般的なカッターでも作業可能ですが細かい作業には向かないと感じたためデザインナイフを愛用しています。刃が容易に交換できるのもデザインナイフの利点です。刃は頻繁にダメになりますので替え刃が容易に入試できるものを選ばれると良いと思います。 3.スクレイパー
造形物をベッドから外す際にあると便利です。プリンターによっては付属している場合もあるようですが、私が購入したプリンターには付属していなかったため別に購入しました。
また、ベッドの上に造形プラットフォームが乗っていてかつ、取り外し可能なタイプのプリンターによってはスクレーバーはなくとも取り外したぶらっとフォームを折り曲げで剥がすことができるものもあるようです。

4.各種工具
プリンターの調整、メンテナンスをするうえでプラスマイナスのドライバー・六角レンチ、スパナ各種、はんだごてとはんだ程度はあったほうが困らないと思います。

以上、参考になればと思います。
それでは、皆さんも楽しい3Dプリントライフをお過ごしください。

サイトメンテナンスいたしました。

長らくメンテを実施できていませんでした。申し訳ありません。
わたしが利用させていただいている、さくらインターネットでもPHP7.3へアップデートされたため、大量のワーニングメッセージが表示されている状態でした。
本日、メンテナンスを実施しワーニングが表示されないようにいたしました。
なかなか時間がとれませんが今後もサイトは続けてまいります。
よろしくお願いします。

Slic3r設定詳細【Support material】

Slic3rの設定項目を詳しく見ていく本シリーズ。今回はPrint Settings内にある「Support material」について調べました。

Support material

・Generate support material — サポートマテリアルを生成する

造形物に部分的に下層がなく中空に浮いている部分などがある場合、最下層から積み上げながら出力する積層型3Dプリンターではその部分にフィラメントを出力できません。回避するためにはサポートマテリアル(支持材)を作成するひつようがあります。

 

・Overhang threshold — サポートマテリアルを必要と判断する角度

サポートマテリアルの生成を開始する角度を入力します。

 

・Max layer count for supports — サポートマテリアル生成上限レイヤー

0を超える数値を入力すると、入力したレイヤー以上の位置においてサポートマテリアル生成は行われなくなります。

 

・Enforce support for the first — サポートマテリアル強制生成

設定画面にて表示される説明を見る限り、本項目に0を超える値を入力した場合、入力したレイヤー数だけ強制的にサポートマテリアルを生成するということのようです。フットプリントが小さい場合などでプレートと造形物の密着を強化する場合などにもちいるとの説明になっていました。ですが、生成には特徴があるようです。

 

例としてサンプルを作成しスライス結果を確認してみました。下図のサンプルは下の段からφ15/φ10/φ5を10㎜づつ積み上げた形状になっています。

まず、Generate support material チェックなし、Enforce support for the first を150に設定しスライスしてみました。少量だけ、サポートマテリアル(薄緑色の部分)が生成されています。

サンプル1


次にサンプルを上下逆さまにし、中空にオブジェクトがある状態でスライスしてみました(Example 1)。サポート材は中空部を造形するのに十分な形に作られているように見えます。これだけなら、問題ないと思われるのですがGenerate support material チェックあり、Enforce support for the first を0にしても同じ結果が得らるように見えます。(Example 2)

Example 1

Example 2

 

次にφ5mm/φ10㎜/φ15㎜、高さ10㎜の形状のものを別々な造形物として作成。Generate support material チェックなし、Enforce support for the first 150にしスライスしてみました。ある一定の設置面積を超えるとサポートマテリアルは生成されないように見えます。


細かく調べてみるために5mm~15mm、高さ10㎜の形状のものを並べてスライスしてみました。サポートマテリアルは生成されたりされなかったりとまばらになりました。同条件で何度かスライスしてみましたが結果は変わりませんでした。

 

本項目は調査を続けて、進展があり次第更新したいと思います。

Slic3r設定詳細【Skirt and brim】

更新間隔が年単位で空いてしまいました。ご迷惑をおかけしました。 更新再開初回投稿は、Print Settings内にある「Skrit and brim」について調べました。

SkritとBrim

Skirt

Skirtとは造形物本体を、出力する前に予備段階として出力されるものです。なぜ予備出力するのかと言いますと、ノズル昇温中などに液状化したフィラメントがノズルから垂れてしまい、結果ノズル内が一時的に空になることで本体出力開始すぐにフィラメントが出てこないことがあるためです。
・Loops(minimum) — skirt周回数指定
スカート周回数の指定スカートは本体の外周を加工用に出力されますがそれを何回繰り返すかを指定します。
・Distance from object — skirt出力位置指定
周回位置の指定スカートを本体の外周何mmの位置に出力するかを指定します。
・Skirt height — skirt積層数指定
スカートのX-Z方向の周回数はLoopsで指定しますが、Y方向(積み重ね)のレイヤー数はSkirt heightにして指定します。
・Minimum extrusion length — skirt最低出力長
スカート出力長の最小値本体が十分な大きさを持っている場合はSkirtはその外周に出力される特性上、必然的にノズル内部を充てんするに足りる出力を行えることが想定されます。ですが、本体が小さい場合Skirtの出力が短くなってしまいノズル内部を充てんしきれない状況も想定されます。その場合を防ぐため設定した数値分はスカートを吐出します。

Brim

Brimとは最初のLayerのみ本体の周りに本体と繋がるように出力される部分です。本体形状などでベッドとの接触面積が小さい場合、造形中にベットから造形物がはがれることを防止する目的があるようです。
・Exterior brim width — 外側方向のBrimの幅
・Interior brim width — 造形物内の穴の内側のBrimの幅

Eagleが気づかないうちに進化を遂げていた

自作、改造問わず電子回路を自分で作る必要があるときが多々あります。
そんなときは、まずは回路図を考慮し基板・部品を調達して作ることになりますがこの分野も昔から電子化・自動化が取り入れられてきた分野です。
フリーの電子工作ファンの間で有名(だと聞いています)な電子回路系のCADにEagleがあります。
ソフトウェアが外国製であるため利用には英語の知識は必要ですが、Eagleは最大基板サイズの制限と多層基板の層の数に制限を問題にならなければ無料で利用させていただけたける非常にありがたい存在でした。購入しとしても当時は200ドル程度のバージョンで十分オーバースペックな状況でした。そして数千円程度でEagleのPCBファイルで実際の基板を1枚から製造してくれるメーカーもこれまた海外ですがあり、非常に重宝したものでした。(*1)

そしてこのEagle,しばらくご無沙汰している間に進化を遂げていました。
まず、製造元(メーカー)Autodeskにかわっていました。Autodeskさんに変わっても条件によっては引き続き無料で使わせていただけるようです。条件は変更なく、1プロジェクトあたり回路図2ファイル(シートという記載ですが)・信号レイヤ2点(両面基板までOK、多層基板はNG)・作る基板が80cm^2以下となるようです。
それ以上の大規模プロジェクトになると有償版もしくは条件が合えば教職員・学生向け3年ライセンスを選択する必要がありそうです。

そして何よりびっくりしたのが、Autodeskに変更になってアップデートされた結果、基板を3Dモデルで自動で作成しFusion360等のCADに自動的にインポートしてくれる機能が追加されておりました。この恩恵は非常に大きいと思います。ためしに自身の環境でチュートリアルプロジェクトを試したところ、シルク印刷・ランド・信号パターンまで再現された立体的(3D)な部品実装済み基板が自動的にFusion360側にインポートされておりました。

注意事項としては、初期状態ではEagleのライブラリ内には基本的な電子パーツしか登録されていないため、日本メーカの部品はあまりありません。そのため自身でフットプリント・3D形状を作るもしくはメーカーサイトから入手するなどの方法で持ち込む必要があります。また、電子回路CADの自動配線機能(*2)は結構なCPUパワーを要求しますし、出来上がる配線パターンが必ずしも理想形で出来上がらない可能性もあります。このあたりは慣れが必要になります。参考にならないとは思われますが、チュートリアルにあるdemo2.schをXeon2699 メモリ64GBの環境で両面自動配線させると条件によりますが数十秒から1分程度ルーティング時間が必要でした。ただし、この結果はCPUメモリともにかなり強力なパワーを持っての結果ですので、多層化や基板サイズ増加、部品点数増加によってはかなりの時間を必要にする場合があると思います。
現在はかなり性能が向上したようですが、オートルーターの性能もあまりよくなく、数時間がんばってみて自動配線が終わりませんでしたということもよくありました。

いずれにしても、このようなすごいソフトを無料で利用させてくださる前メーカーおよびAutodeskさまには非常に多謝です。

 

*1)基板作成も、一般的に大量生産の恩恵を受けられる分野です。現在は職を離れて久しいため相場はわかりませんが、当時基板を作る必要がある仕事をしていたころは1品ものの基板は安くて数万円、ものによっては十数万円しました。

*2) 回路図から実際のプリント基板の銅箔パターン・その上に載るレジスト・シルク印刷を自動的に計算し作成する機能のこととなります。

3Dプリンター用の小型PCを用意してみる

家庭用の3DプリンターといえばGコードの入ったSDカードをプリンターに挿入したり、USB経由でPCから直接印刷するといった方法が一般的だと思います。
我が家ではUSB経由で3Dプリンターを接続し、Repetier-Hostというソフトウェアで3Dプリンター操作/印刷/Gコード作成を行っています。
この方法で問題はないのですが、PCでブログも書けばばCADも操作しRepetierも動いているため印刷の安定性(PCの意図しないフリーズやメモリ不足)という意味ではあまりよくない状況のような気がします。少なくてもCADの再計算実行中に少なくても5回は印刷停止してしまい復旧できずに最初からということはありました。途中で印刷が止まってしまうと最低でもフィラメントは無駄になり、印刷の時間も電気代も無駄になってしまいます。

今回、この無駄を少なくするために一計を案じました。
Repetier-Hostは優秀なフリーウェア(Proバージョンは有料)ですが、Repetier-Serverというソフトウェアも同梱されています。このソフトを利用すれば3Dプリントサーバーを構築することが可能になります。プリントサーバーとは一種の3Dプリント用専用PCを用意することが可能になるということです。(もちろん普段使いのPCに入れても動作しますが、わざわざ同一PC上でサーバーを立てるメリットは少ないのではないかと思います)普段使いのPCとサーバーPCを別々のPCに分ければCAD操作でフリーズしても関係ありません。なぜなら別なパソコン(みたいなもの)で3Dプリンターは動いているからです。

Repetier-ServerはLinux/Windows/Macいずれかのハードウェアで動作します。今回は廉価Linux PCとして利用可能なRaspberryPI 3を利用することにしました。
RaspberryPIは一般的にワンボードマイコンに分類されるら商品ですが、5千前後で購入可能であり公式HPに掲載されている専用OSをインストールすればLinuxPCとしても動作します。USB/HDMI/イーサーネットポート/WIFIが標準搭載されています。OSをインストールするには8GBの容量のMicroSDが別途必要です。
また、インターネット上に3Dプリントサーバーとしての運用やOSのインストール方法などの各種情報も豊富にあるため非常に便利なマイコンボードといえると思います。

USBポートは4ポートあり、HDIMIポートもありますので3Dプリンター・マウス・キーボードをつなげばスタンドアロン3Dプリンターとしても運用できます。また、家庭内LANなどを組んでネットワーク上から操作すればモニターやキーボード・マウスをRaspberryPI用に用意する必要もありません。ただしネット経由操作の場合、OSの設定・操作にはSSHクライアントというソフトウェアが必要になります。Repetier-Serverのインストール・初期設定さえ完了すれば3Dプリンターの操作・印刷はPC上のブラウザから可能になります。
※RaspberryPIのOSインストールから3Dプリント完了までの流れは膨大になりますのでご要望が多ければ記事にしたいと思います。

我が家では、ネットワークから操作する前提で、RaspberryPI用のマウス・キーボードは用意せずブラウザで操作する方針でOSインストール・Repetier-Serverインストール+設定をこなし、無事に3Dプリンターサーバーを作ることができました。これで、少しは安定性が向上すればと願うばかりです。
1点、注意としてRaspberryPIはHDDの代わりにSDカードが記憶媒体となります。そのため記憶容量が格段に少なく、印刷が終わったGコードファイルはこまめに消さないとSDカードがすぐに一杯になります。Linuxとしてのログファイルも同様にメンテナンスしないと容量が足りなくなります。

3Dプリンターにオートレベルセンサーをつけてみた

更新、期間が開きまして申し訳ないです。
いろいろとごたごたしており、ご無沙汰してしまいました。

3Dプリンターの出力精度ですが、パラメーター設定もさることながら ベッドの水平レベルというものも非常に重要なようです。
我が家のプリンターはベッド4隅にスプリングを挟んだ螺子が設置されておりスプリングのテンションを上げたり下げたりすることで水平調整をする仕組みになっています。
この調整ですが、朝プリンターを利用始める前に必ずするようにしているのですが、治具をつけていても手回しで毎朝ねじ高さ調整をやるのは実は結構な手間です。

いい手はないかと調べたところ、エクストルーダーに取り付けしベットとセンサーの間の距離を測定。測定結果から自動的にレベリングの補正をするセンサーがあるということがわかりましたので早速センサーを取り付けてみました。このセンサー、海外の情報は非常に豊富なのですが、結構面倒な作業をする必要があるためか日本ではあまり情報がないようです。

続きを読む