守谷工房のMachineへ                守谷工房Topへ

「Prusa i-3」の不具合と対処(ホットエンド温度制御の問題

 
組み立て段階で好感触を得ていた2台目の3Dプリンタ「Prusa i-3」、実際の出力段階に入り問題が噴き出ています。
ネット上の製作記事にも多く見られるように、開発・発展途上のテクノロジーには未知の課題が伴い、自力で解決するしかありません。

直交座標系のPrusaは、X・Y・Z軸の制御がデルタ型に比べてシンプルなので、3軸は調整の必要もなく快調に動作しています。
フィラメントエクストルーダからフィラメントチューブ、ホットエンドに至るフィラメント出力系にトラブルが続出しています。
写真左のようにフィラメントの射出が成形途中で停止し、写真右のグラフが示すようにホットエンドの温度が不安定です。

既に組み立て作業に要した数倍の時間を、これらの問題の解決に費やしています。

 
1.ホットエンド温度の制御不良

 3Dプリンタに組み込まれているコントローラボードは「RepRapMelzi2.0」(http://reprap.org/wiki/Melzi)、ボードのファームウェアは「Repetier-0.91」、PC側のアプリは「RepetierHost_0.95F」です。ファーム・アプリともプリンタの製造会社(ZONESTAR)でカスタマイズされているそうで、VerUPや設定変更をしないよう注意書きがあります。

 「RepetierHost_0.95F」は評判通り非常に高機能なアプリで、ホットエンドやヒーテッドテーブルの温度推移をグラフ表示してくれます。Prusaではホットエンドに通電開始後、設定温度に達するまでに3分以上と、時間があまりにも長くかかります。1台目のデルタ型は2分以内に到達しており、両者の加熱ヒータはほぼ同型なので明らかに制御がうまくいっていません。設定温度手前では電流が徐々に絞られ、しかも設定温度を超過しないと出力が開始されないため、実際には5分以上経過してようやく3軸が動き出します。
 さらに、出力が開始された後、ホットエンドはゆっくりと温度を下げてきます。概ね、設定温度200度に対して190度~180度まで、10~20%ほど低下します。

 以下に、目標温度を200度に設定した場合の温度推移グラフのスクリーンショットを示します。グラフをクリックすると拡大して表示されます。グラフ中赤色のラインがホットエンドの温度を表示しています。
  

通電開始
 

30秒後
 

60秒後
 

90秒後
 

120秒後
 

180秒後
 

210秒後
 

270秒後
 

300秒(5分)後
 
 

390秒(6分30秒)
約3分かかってほぼ200度に達しているが、完全に
200度を超えるにはさらに1分ほどかかっています。
 

450秒(7分30秒)
 200度を超えた以降、赤色のラインは200度と
190度の中間あたりまで漸減します。
 

リスのマスコットを出力してみると、足部分のみ出力して
あるいは頭部を残してフィラメントの射出が停止しています。
 

10mm立法のテスト用キューブを出力すると
上部4分の1ほどを残してフィラメントが停止。
 

フィラメントエクストルーダの部品作成ではフィラメントの
積層や結合が不十分で、部品としての強度が出ません。

 

マスコットの底部を確認すると、密着性が求められる
第1層に広範囲の隙(巣)が生じています。

 
2.クーリングファン(フィラメント冷却用)ブラケットの再加工

 
設定した通りに温度が推移しない原因を探し始めました。最初に疑ったのはコントローラボード「RepRapMelzi2.0」です。回路図・実装図・スペックいずれもネットから容易に入手できます。
 RAMPSに比べ全体的に貧弱なつくりで、ホットエンドヒーターのドライバ周りも配線容量が心許ない印象です。念のためドライバの出力電圧を確認すると、ヒーターのOFF時で12.2V(電源電圧と同等)、ヒーターをONにすると11.8Vを下回ります。ただしパワーユニットの出力は12V代なので、途中配線での電圧降下が考えられます。
 パワーユニットは出力端子を複数備えているので、ヒーターへの電力供給用に別途配線を追加しました。ヒーターON時でも12Vを下回ることはなくなり電圧降下の問題が解決しました。

 組み立て時にフィラメント冷却用のクーリングファンブラケットに簡単な加工を加えました。エアの吹き出し口がヒートブロックに接触しかかっていたため、少し間隔を設けるためでありました。あらためて組み立て状態を確認すると、エアの吹き出し先にヒートブロックが入っており、僅かながらも気流が吹き付けられているようです。ホットエンドの温度がなかなか上昇しない、上昇後に漸減するといった現象は、いわばホットエンドが冷却されているからであり、一部とは言えエアが吹き付けていることはその原因として疑う必要があります。
 

キットに付属のパーツに若干の修正を加え、
本来の設計通りに組み上げた状態です。
 

修正加工によりエアの吹き出し口はヒート
ブロックから離して取り付けられています。
 

この角度から観察するとエアの吹き出し先が一部
ヒートブロックにかかっていることが分かります。
 

ブラケットを取り外し、レザーカッターで上下に切断
した後、スペーサを入れて上下長を増やしました。
 

ブラケットの上下が長くなったことでエアの
吹き出し口の位置がかなり下がりました。

 

吹き出し口がヒートブロック方向を避けて開いて
おり、エアに晒される可能性が低下します。

 
3.PID制御パラメータの最適化

 3Dプリンタのホットエンドやテーブルの温度制御には、多くの場合PWM制御が用いられています。小型のサーミスタを温度センサーにして、ソフトウェア的にかなり高精度の温度制御を実現しています。ヒーターやヒートブロックの熱容量、フィラメントの熱特性等によってプリンタの性能は個体差を持つので、PWM制御にいくつかの制御パラメータ(kp・ki・kd)を与えて最適化を図ります。PID制御パラメータはコントローラーボードのファームウェアに書き込まれ、LCDインタフェースあるいはPC側アプリから書き換えることができます。

 「M303 E* S* C*」コマンドにより自動的にkp・ki・kdの最適値が得られるので、ホットエンド周りに何か変更を加える度に新しいパラメータを取得してファームに書き込んできました(下表)。コントローラボードに書き込まれていた初期値kp=7.00、ki=2.00、kd=40.00に対して、最終的にkp=27.36、ki=4.24、kd=44.14ですのでかなりの乖離があります。
 
PIDパラメータ 初期値
kp 7.00 17.79 16.91 27.66 37.00 27.45 27.89 32.89 27.36
ki 2.00 1.25 1.16 4.44 6.63 4.30 4.45 5.40 4.24
kd 40.00 63.13 61.67 43.08 51.60 43.85 43.69 50.11 44.14
     

LCDの初期画面
 

(→)を押してメニューに入る
 
 

(↓)でConfigrationへ
 

(→)でConfigrationメニューへ
 
 

(↓)でExtruderへ
 
 

(→)でExtruderメニューへ
 
 

(↓)でPID各P・I・Dへ。
 
 

自動測定された最適値を設定する
 
 

一つ手前のメニューに戻り
 
 

設定値をEEPROMに書き込む
 


 

再度ヒーターに通電してみます
 


 

PID変更前とあまり変わりません
 


 
4.PID制御パラメータの有効化

 
PIDパラメータの設定値がコントローラボードの初期設定値とかなり違っていたため、ホットエンドの温度制御不良はここに原因があるものと思い込んでいました。その後、ホットエンド以外の部分についてあれこれ原因を探っていたが、特に前進もなくしばらく作業を中断していたある時、重大な点を見落としていることに気づきました。PID制御パラメータは、PWM制御がPID方式に設定されていないと意味を為さないのです。
 これまでPWM制御がPID方式に設定されていないことは、実は上のPID設定画面に既に表示されていました。PWMの制御方式は「PID」の他に「SlowBang」・「BangBang」、および上の設定画面にある「Dead Time」を加えて計4方式あります。Controlで(→)を押してアクティブにし(↑・↓)で切り替えます。
 

SlowBang

  
 

BangBang

 

PID

 
5.クーリングファン(フィラメント冷却用)ブラケットの新規製作

 2回にわたりブラケットに修正を加えてきましたが、プリンタの製造元に問い合わせたところブラケットの3Dデータ(stl形式)がメールで送られてきました。
 プリンタ本体やクーリングファンとの取り付け方は同じですが、エアの吹き出し口のデザインが変更されています。現在のものよりも吹き出し方向が下を向いており、ノズルの先端よりもさらに下の造形物(射出直後のフィラメント)に当たるようになっています。射出後のフィラメントは、極力短時間のうちに(できれば瞬間的に)冷却され固化することが望ましいとされています。水平に近い角度で造形物の外側に向かってレイヤーがせり出して来るような場合、正確で平滑な造形面を得るためにはこの性能が重要です。一部の高性能機では複数のクーリングファンを装備し、サポートなしで水平面を成形するのは驚異的です。
 

ほとんどのstlデータはMESHで構成されて
いるのでNURBに変換する必要があります。
 

改良途中のため出力品質が十分ではありませんが
ブラッケットのようなパーツでは問題ありません。
 

出力の完了したブラケットをホットエンドに取り付け
ました。製造側で設計変更が行われていたようです。
 

エアの吹き出し先がノズルの直下、射出フィラメントの
位置を向き、かつヒートブロックを避けています。
 

ホットエンド周りの構造全体を再度確認すると、放熱フィンに
向かうエアが左右・上・前方の半分で遮られています。
 

エアの一部が下方に向かいヒートブロックに当たって
います。結果、ヒーターから熱を奪い温度を下げそうです。
 

簡単な方法で改善を図ります。ケント紙をバレルの
形状に合わせてカットし両面テープで取り付けました。
 

これだけでヒートブロックの温度低下をくい止め、
安定した温度制御ができるようになりました。
 

複数の改良を加えたホットエンド部の全景です。ヒートブロックをカプトンテープで簡単に
保温しています。グラスウールなどを巻き付けるとさらに効果が高いでしょうけれど、
ホットエンドとクールエンドの境界設定の問題があり、非常に難しいものです。

 
6.これまでの成果

 
様々な改良を加えた結果を検証します。制御の不具合はまず温度推移のグラフに顕著に表れていました。温度特性がどのくらい改善されたのか、あらためてグラフを確認してみます。
 

通電開始
 

90秒後 160度
 

120秒後 190度
 

150秒後 200度付近でバウンド
 

240秒後 バウンド幅が収束
 

300秒後 ほぼ200度で安定
 

改良前よりも加熱の立ち上がりが早く、180秒程度で
プリント開始が可能になり、以後も一定温度に保たれます。
 

LCDパネルの温度表示も、199~201度と±2度以内に
収束しています。本来通りのPWM制御が機能しています。
 

フィラメントが途切れず最後まで出力されるようになりました。
レイヤー間に隙(巣)は見られませんが横筋が目立ちます。
 

壁面の積層が3レイヤーでは頂上部分の封印処理が十分では
ありません。フィラメントの吐出し量や溶融温度を調整します。
 

 ヒータドライバへの配線容量の向上、ノズル用クーリングファンの取り付けブラケット改造、同じくブラケットの新規製作、PIDパラメータの測定と再設定、ホットエンド冷却フィン用クーリングファンの気流調整、他にもフィラメントエクストルーダのバネ圧調整、フィラメントの押し出し量乗数の調整・・など、様々な改善策を考え試行錯誤してきました。

 ようやくフィラメントが最後まで射出される最低限のところ(出発点?)まで辿り着きました。この段階に至ったことで、フィラメントの温度特性やエクストルーダの押し出し速度の最適化といった、3Dプリンタにとってより高次の調整作業に移行することができます。

 また、最後に明らかになった横筋の問題について、いずれ原因の究明と解決を図らなければなりません。
 

守谷工房のMachineへ                守谷工房Topへ