[ トップページ ]
DIY (日曜大工) とものづくり・実験:3 次元印刷 (3D printing)・CAD

AnyCubic Kossel のホットエンドの PID 制御パラメタ決定

AnyCubic Kossel 3D プリンタの調整の 1 項目として,ホットエンドの PID 制御パラメタを調整した. プリンタに M303 というコマンドをおくると自動でパラメタの値をきめてくれることになっているが,この方法で適切なパラメタがきめられるとはおもえない. 結局,Kp = 2, Ki = 0, Kd = 0 という単純な値におちついた.

これまでつかってきた Rostock MAX は最初に M303 コマンドで PID パラメタの値をきめた. その後は再調整していないこともあって,適切な値になっているとはおもえない. 温度上昇がおそいにもかかわらずヒータ出力が低下してしまう.

AnyCubic Kossel でもまず M303 コマンドで値をもとめてみた. 温度が 200℃ のとき,280℃ のときの値をもとめてみた結果,Kp = 10〜17, Ki = 1.3〜3, Kd = 14〜60 くらいになった. まずこの範囲の値を設定してみたが,温度上昇が必要以上におそくなっているようにみえる. 最初の図は (Kp, Ki, Kd) の組が (14, 2, 14) で設定温度が 210℃,ヘッドを静止させ風もないときのときのようすだ. 210℃ にちかづくにつれて温度上昇の速度が低下していることがわかる. 温度が 210℃ に達したあとの変動幅は非常にちいさくて,よく制御されていることがわかる.

AnyCubicExtrude210-14-2-14-nowind.png AnyCubicExtrude210-2-0-0-nowind.png

そこで,温度上昇がもっとはやくなるように,パラメタを手動できめてみた. その結果,Ki, Kd は 0 のほうがよい (つまり,積分項や微分項は不要) こと,Kp も 0 にちかい値のほうがよいことがわかった. Kp = 0 だと設定温度が 210℃ のときはやや振動的なふるまいがみられる (それでも振動の幅は ±2度 くらいなので問題はない) ので,Kp = 2 にした. これで温度上昇はそれほどおそくならず,かつ振動がちいさくなる. 上の 2 番めの図がそのようすだ. 理論とこれだけ差がでるのは,ヒータ出力がかぎられていることと,設定温度より 20度 ひくいところでヒータ出力が 90% になることによっているとかんがえられる. 差分項だけでオーバーシュートがおこらないのはそのためだとかんがえられる.

設定温度を 280℃ にすると,Kp = 0 でも設定温度には達しなくなる. 3 番めの写真 (左下) が (14, 2, 14) のときのようすであり,4 番めの写真が (2, 0, 0) のときのようすだ. (14, 2, 14) のときは,あきらかに 280℃ よりひくい温度で安定している. (2, 0, 0) のときは振動的なふるまいをしているが,温度の平均値ではなく上限が 280℃ だ. ヒータ出力を 90% にするだけでも過剰な制御をしているということができるが,210℃ のときのことをかんがえて,Kp = 2 のままにしておく. それでも M303 でもとめた値をつかうより,はるかにはやく設定温度にちかづくし,設定温度ちかくに達する.

AnyCubicExtrude280-14-2-14-nowind.png AnyCubicExtrude280-2-0-0-nowind.png

ヘッドが静止したままでもファンでノズル付近に風をあてると,さらにひくい温度で安定するようになる (下の図は (14, 2, 14) のときのようす).

AnyCubicExtrude280-14-2-14-wind.png

キーワード:

トラックバック

このエントリーのトラックバックURL:
http://www.kanadas.com/mt/mt-tb.cgi/7173

コメントを投稿

dasyn_1101-25

方向指定 3D デザイン・印刷技術を使用してつくったこのような作品を デイシン Yahoo! Japan ショップで売っています.

Google でブログを検索:

メインページアーカイブページも見てください.
Creative Commons License
このブログはつぎのライセンスで保護されています. クリエイティブ・コモンズ・ライセンス.
Powered by
Movable Type