ホットエンドPID制御値の自動調整機能

Reprapで使われているファームウェアはほとんどの方はMarlin の系列を使用していると思います。
機種ごとにカスタムされている場合もあるとは思いますが…。)

ホットエンドのヒーターのPID制御(フィードバック制御)に関しては”PID settings”セクションで設定されています。機種ごとの基準値で使用していると思いますが、制御値はヒーターとサーミスタの組み合わせで変わってしまいます

そのため、機能として自動調整機能が実装されているので設定方法について記載します。試した限りでは、設定値までホットエンドの温度が上昇するまでの時間が短くなる、温度の変動幅が少ない等の効果が確認できています。

  1. 以下の行をコメントアウトしてからファームを書き込み
    ”PID settings”セクション
    #define PIDTEMP

    ”EEPROM”セクション
    #define EEPROM_SETTINGS #define EEPROM_CHITCHAT

    ”LCD and SD support”セクション
    #define ULTRA_LCD //general lcd support, also 16×2
    #define SDSUPPORT // Enable SD Card Support in Hardware Console
    #define ULTRA_LCD //general lcd support, also 16×2
    #define SDSUPPORT // Enable SD Card Support in Hardware Console
    #define ULTIMAKERCONTROLLER //as available from the ultimaker online store.
    #define ULTIPANEL //the ultipanel as on thingiverse
    #define REPRAP_DISCOUNT_SMART_CONTROLLER

  2. ホットエンドが冷えた状態であることを確認する。(常温程度)
  3. 「Printrun」の右下のコマンド入力窓より”M303”を入力して”send”をクリックする。

この後、自動的にホットエンドが150℃まで温まる過程で制御値の自動調整が行われます。

★設定終了画面

Printerface_4

「PID Autotune finished ! Place the Kp, Ki and Kd constants in the configuration.h」が表示されたら設定値の調整が終了。” Clasic PID Kp: 41.02 Ki: 2.60 Kd: 161.98」の所の値を”PID settings”セクションの以下に設定して書き込めば終了です。(「1.」でコメントアウトした部分は復帰させるのを忘れずに)

#define  DEFAULT_Kp  XX.X ←画面表示
#define  DEFAULT_Ki  XX.XX ←画面表示
#define  DEFAULT_Kd  XX.XX ←画面表示

出来れば、ファームは最新版を使ったほうがいいとは思いますが最新版だとうまく動かなかったりする場合もありますのでそのあたりは自己責任でお願いします。
※:今回の画面キャプチャは「Dec 19, 2012」版のファームを使って出力された画面です。

■参考情報

ErikZalm/Marlin ・ GitHub

ErikZalm/Printrun ・ GitHub

    • ryuzer
    • 2015年 5月 12日

    自動制御のブログ見させていただきました。大変参考になりました。ファームウェア見ていて、なんとなく自動でできるんだろうなーと思っていたんですが、それほど熱心に探していなかったんですが、徘徊していてここにたどり着きました。私の場合は、ホットエンドを買ったんですが、そちらについているものが,thomocupleだったんですよ、サーミスタと違うんですねーさらに、アンプがいるとは思いませんでしたが、とりあえず、購入してつないだんですが、常温で48度ぐらいになっていて、補正の仕方がわかんねーと思っていたら、丁寧に解説してくれているではありませんかーというわけで、Clasic  PID Kp: 5.34 Ki: 0.99  Kd: 7.18これが私の結果でした、常温の表示も大丈夫ですねー大体25度ぐらいとなっていたので大丈夫です。ブログがんばってください

  1. 参考になってよかったです。最近、少しプリンタから遠ざかり気味なのですが似たような機械で復帰予定です。

  1. トラックバックはまだありません。


Warning: Undefined variable $user_ID in /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/comments.php on line 172

Fatal error: Uncaught Error: Undefined constant "cs_print_smilies" in /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/comments.php:185 Stack trace: #0 /home/r3087696/public_html/blog.eldhrimnir.com/wp-includes/comment-template.php(1617): require() #1 /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/single.php(57): comments_template() #2 /home/r3087696/public_html/blog.eldhrimnir.com/wp-includes/template-loader.php(106): include('/home/r3087696/...') #3 /home/r3087696/public_html/blog.eldhrimnir.com/wp-blog-header.php(19): require_once('/home/r3087696/...') #4 /home/r3087696/public_html/blog.eldhrimnir.com/index.php(17): require('/home/r3087696/...') #5 {main} thrown in /home/r3087696/public_html/blog.eldhrimnir.com/wp-content/themes/monochrome/comments.php on line 185